├── .eslintrc.js ├── .eslintrc.json ├── .gitignore ├── .prettierrc ├── MIT-LICENSE ├── README.md ├── TODO.md ├── app ├── client │ ├── notes-cache.ts │ └── notes.ts ├── components │ ├── header.tsx │ ├── layout.tsx │ ├── note-backlink.tsx │ ├── note-links.tsx │ ├── note-markdown.tsx │ ├── note-preview-popover.tsx │ ├── note-preview.tsx │ ├── notes-browser-item.tsx │ ├── notes-browser.tsx │ ├── notes-fallback.tsx │ ├── notes.tsx │ └── portal-body.tsx ├── helpers │ ├── array.ts │ ├── markdown.tsx │ └── screen-size.ts └── interfaces │ └── note.ts ├── next-env.d.ts ├── next.config.js ├── notes ├── AI.md ├── About.md ├── Anthropocentric.md ├── Anti-rational Meme.md ├── Arrow's theorem.md ├── Bad Explanation.md ├── Beginning of Infinity.md ├── Blind Optimism.md ├── Blind Pessimism.md ├── Conjecture.md ├── Constructor.md ├── Creativity.md ├── Criticism.md ├── Culture.md ├── David Deutsch.md ├── Dynamic Societies.md ├── Emergent phenomena.md ├── Empiricism.md ├── Enlightenment.md ├── Error Correction.md ├── Evolution.md ├── Explanation.md ├── Fallibilism.md ├── Fallible.md ├── Good Explanation.md ├── Governing.md ├── Hard to vary.md ├── Inductivism.md ├── Infinity.md ├── Jump to Universality.md ├── Knowledge Creation.md ├── Knowledge Streams.md ├── Knowledge.md ├── Memes.md ├── Morality.md ├── Multiverse.md ├── Neo-Darwinism.md ├── Optimism.md ├── Parochial.md ├── People.md ├── Person.md ├── Popper.md ├── Preface.md ├── Principle of Mediocrity.md ├── Problems.md ├── Progress.md ├── Qualia.md ├── Rational Meme.md ├── Reach.md ├── Replicators.md ├── Science.md ├── Spaceship Earth.md ├── Static Societies.md ├── Sustainability.md ├── Technology.md ├── Testability.md ├── Universal Computation.md ├── Universal Constructor.md ├── Universal Explainers.md ├── Universal System.md ├── Universality.md ├── Unsustainable.md └── Wealth.md ├── package.json ├── pages ├── [...paths].tsx ├── _app.tsx ├── _document.tsx ├── api │ └── note.ts └── index.tsx ├── postcss.config.js ├── public ├── favicon.ico ├── twitter-card.png └── twitter-summary-card.png ├── server └── helpers │ ├── notes-cache.ts │ └── notes.ts ├── styles └── globals.css ├── tailwind.config.js ├── tsconfig.json └── yarn.lock /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | 'env': { 3 | 'browser': true, 4 | 'es2021': true, 5 | 'node': true 6 | }, 7 | 'extends': [ 8 | 'eslint:recommended', 9 | 'plugin:react/recommended', 10 | 'plugin:@next/next/recommended', 11 | 'plugin:@typescript-eslint/recommended', 12 | ], 13 | 'parser': '@typescript-eslint/parser', 14 | 'parserOptions': { 15 | 'ecmaFeatures': { 16 | 'jsx': true 17 | }, 18 | 'ecmaVersion': 12, 19 | 'sourceType': 'module' 20 | }, 21 | 'plugins': [ 22 | 'react', 23 | '@typescript-eslint' 24 | ], 25 | 'rules': { 26 | 'linebreak-style': [ 27 | 'error', 28 | 'unix' 29 | ], 30 | 'semi': [ 31 | 'error', 32 | 'never' 33 | ], 34 | '@typescript-eslint/no-extra-semi': 'off', 35 | 'no-extra-semi': 'off', 36 | '@typescript-eslint/no-explicit-any': 'off', 37 | '@typescript-eslint/explicit-module-boundary-types': 'off', 38 | '@typescript-eslint/no-non-null-assertion': 'off', 39 | 'react/jsx-no-target-blank': 'off', 40 | 'react/prop-types': 'off', 41 | '@next/next/no-html-link-for-pages': 'off', 42 | '@next/next/missing-preload': 'off', 43 | }, 44 | 'ignorePatterns': ['public/*.js'], 45 | 'settings': { 46 | 'import/resolver': { 47 | 'alias': [ 48 | ['app', './app'], 49 | ['models', './app/models'], 50 | ['components','./components'], 51 | ['pages','./pages'], 52 | ['plugins','./plugins'], 53 | ['server','./server'], 54 | ['services','./services'], 55 | ['site','./site'], 56 | ['site-v2','./site-v2'], 57 | ['styles','./styles'], 58 | ] 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # next.js 12 | /.next/ 13 | /out/ 14 | 15 | # production 16 | /build 17 | 18 | # misc 19 | .DS_Store 20 | *.pem 21 | 22 | # debug 23 | npm-debug.log* 24 | yarn-debug.log* 25 | yarn-error.log* 26 | 27 | # local env files 28 | .env.local 29 | .env.development.local 30 | .env.test.local 31 | .env.production.local 32 | 33 | # vercel 34 | .vercel 35 | 36 | # typescript 37 | *.tsbuildinfo 38 | 39 | .obsidian -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "printWidth": 90, 3 | "semi": false, 4 | "trailingComma": "all", 5 | "singleQuote": true, 6 | "bracketSpacing": false, 7 | "jsxBracketSameLine": false, 8 | "arrowParens": "always" 9 | } 10 | -------------------------------------------------------------------------------- /MIT-LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Reflect App, LLC 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # The Beginning of Infinity 2 | 3 | This is the source-code powering [thebeginningofinfinity.xyz](https://thebeginningofinfinity.xyz) 4 | 5 | # The book 6 | 7 | We believe the [Beginning of Infinity](https://www.amazon.com/Beginning-Infinity-Explanations-Transform-World/dp/0143121359) to be one of the most important books ever written. However, it's quite dense and can be a tough read for the layman. We created this website in order to share our high level notes, spread David's ideas, and encourage more people to read his book. 8 | 9 | We obviously don't take any credit for the ideas written here - they're directly taken from David's book or interviews with him. In fact we don't even take credit for this website's UX, it was inspired by [Andy Matuschak's notes](https://notes.andymatuschak.org/About_these_notes). Thank you David and Andy! 10 | 11 | We have open-sourced the code behind this site so you can use it for your own notes. 12 | 13 | Created by the team behind [Reflect](https://reflect.app), the networked note-taking app. 14 | 15 | ## Getting Started 16 | 17 | Clone the repo and install the dependencies. 18 | 19 | Then, run the development server: 20 | 21 | ```bash 22 | npm run dev 23 | # or 24 | yarn dev 25 | ``` 26 | 27 | Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. 28 | -------------------------------------------------------------------------------- /TODO.md: -------------------------------------------------------------------------------- 1 | - Finish docs 2 | - README 3 | - Open source 4 | 5 | Missing pieces: 6 | 7 | - Jump to universality 8 | - Static societies 9 | - How knowledge is made (how empiricism is false) 10 | - Compelling argument on the enlightenment 11 | -------------------------------------------------------------------------------- /app/client/notes-cache.ts: -------------------------------------------------------------------------------- 1 | import {Note} from 'app/interfaces/note' 2 | import {getNote as uncachedGetNote} from './notes' 3 | 4 | interface PathNotes { 5 | [path: string]: Note | null 6 | } 7 | 8 | const notes: PathNotes = {} 9 | 10 | export const getNote = async (path: string): Promise => { 11 | if (!(path in notes)) { 12 | notes[path] = await uncachedGetNote(path) 13 | } 14 | 15 | return notes[path] 16 | } 17 | 18 | export const populateCache = async (newNotes: Note[]) => { 19 | for (const note of newNotes) { 20 | notes[note.path] = note 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /app/client/notes.ts: -------------------------------------------------------------------------------- 1 | import {Note} from 'app/interfaces/note' 2 | 3 | export const getNote = async (path: string): Promise => { 4 | const request = await fetch(`/api/note?path=${path}`) 5 | 6 | switch (request.status) { 7 | case 200: 8 | return await request.json() 9 | case 404: 10 | return null 11 | default: 12 | throw new Error(`Unknown status code: ${request.status}`) 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /app/components/header.tsx: -------------------------------------------------------------------------------- 1 | import Link from 'next/link' 2 | import React from 'react' 3 | 4 | export const Header: React.FC = () => ( 5 |
6 |

7 | 8 | The Beginning of Infinity 9 | 10 |

11 | 12 |

13 | 14 | About these notes 15 | 16 |

17 |
18 | ) 19 | -------------------------------------------------------------------------------- /app/components/layout.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | 3 | export const Layout: React.FC = ({children}) => ( 4 |
{children}
5 | ) 6 | -------------------------------------------------------------------------------- /app/components/note-backlink.tsx: -------------------------------------------------------------------------------- 1 | import React, {MouseEvent} from 'react' 2 | import {NotePreview} from './note-preview' 3 | 4 | interface Props { 5 | path: string 6 | onClick?: (event: MouseEvent) => void 7 | onMouseEnter?: (event: MouseEvent) => void 8 | onMouseLeave?: (event: MouseEvent) => void 9 | } 10 | 11 | export const NoteBacklink: React.FC = ({ 12 | path, 13 | onClick, 14 | onMouseEnter, 15 | onMouseLeave, 16 | }) => { 17 | return ( 18 | 19 | 26 | {path} 27 | 28 | 29 | ) 30 | } 31 | -------------------------------------------------------------------------------- /app/components/note-links.tsx: -------------------------------------------------------------------------------- 1 | import {Note} from 'app/interfaces/note' 2 | import React from 'react' 3 | import {NoteMarkdown} from './note-markdown' 4 | 5 | interface Props { 6 | note: Note 7 | onClickBacklink?: (event: React.MouseEvent, path: string) => void 8 | } 9 | 10 | export const NoteLinks: React.FC = ({note, onClickBacklink}) => { 11 | if (!note.linkedFromNotes?.length) return null 12 | 13 | return ( 14 |
15 |

Links to this note

16 | 17 |
18 | {note.linkedFromNotes.map((note) => ( 19 |
onClickBacklink?.(event, note.path)} 22 | className="text-gray-600 cursor-pointer block space-y-2" 23 | > 24 |

{note.title}

25 | 26 | 37 |
38 | ))} 39 |
40 |
41 | ) 42 | } 43 | -------------------------------------------------------------------------------- /app/components/note-markdown.tsx: -------------------------------------------------------------------------------- 1 | import {marked} from 'marked' 2 | import React, {MouseEvent} from 'react' 3 | import {markdownToTokens} from 'app/helpers/markdown' 4 | import {NoteBacklink} from './note-backlink' 5 | import clsx from 'clsx' 6 | 7 | interface Props { 8 | markdown: string 9 | style?: React.CSSProperties 10 | size?: 'sm' | 'md' 11 | onClickBacklink?: (event: MouseEvent, path: string) => void 12 | } 13 | 14 | export const NoteMarkdown: React.FC = ({ 15 | markdown, 16 | onClickBacklink, 17 | style, 18 | size = 'md', 19 | }) => { 20 | return ( 21 |
25 | {markdownToElements(markdown, {onClickBacklink})} 26 |
27 | ) 28 | } 29 | 30 | interface MarkdownOptions { 31 | onClickBacklink?: (event: MouseEvent, path: string) => void 32 | } 33 | 34 | const elementWithKey = (element: React.ReactElement, key: string | number) => ( 35 | {element} 36 | ) 37 | 38 | const tokensToElements = (tokens: marked.Tokens.Generic[], options: MarkdownOptions) => { 39 | return tokens.map((token, index) => 40 | elementWithKey(tokenToElement(token, options), index), 41 | ) 42 | } 43 | 44 | const textTokenToElement = (token: marked.Tokens.Text, options: MarkdownOptions) => { 45 | if (token.tokens?.length) { 46 | return {tokensToElements(token.tokens, options)} 47 | } else { 48 | return 49 | } 50 | } 51 | 52 | const tokenToElement = (token: marked.Tokens.Generic, options: MarkdownOptions) => { 53 | switch (token.type) { 54 | case 'heading': 55 | return React.createElement('h' + token.depth, {}, token.text) 56 | case 'text': 57 | return textTokenToElement(token as marked.Tokens.Text, options) 58 | case 'paragraph': 59 | return

{tokensToElements(token.tokens || [], options)}

60 | case 'link': 61 | return ( 62 | 63 | {tokensToElements(token.tokens || [], options)} 64 | 65 | ) 66 | case 'backlink': 67 | return ( 68 | options.onClickBacklink?.(event, token.path)} 71 | /> 72 | ) 73 | case 'em': 74 | return {tokensToElements(token.tokens || [], options)} 75 | case 'blockquote': 76 | return
{tokensToElements(token.tokens || [], options)}
77 | case 'hr': 78 | return
79 | case 'list': 80 | return token.ordered ? ( 81 |
    {tokensToElements(token.items || [], options)}
82 | ) : ( 83 |
    {tokensToElements(token.items || [], options)}
84 | ) 85 | case 'list_item': 86 | return
  • {tokensToElements(token.tokens || [], options)}
  • 87 | case 'space': 88 | return <> 89 | case 'code': 90 | return ( 91 |
     92 |           
     93 |             {textTokenToElement(token as marked.Tokens.Text, options)}
     94 |           
     95 |         
    96 | ) 97 | case 'strong': 98 | return {tokensToElements(token.tokens || [], options)} 99 | default: 100 | console.error('Unknown token type:', token.type) 101 | return <> 102 | } 103 | } 104 | 105 | const markdownToElements = (markdown: string, options: MarkdownOptions = {}) => { 106 | const tokens = markdownToTokens(markdown) 107 | const elements = tokens.map((token) => tokenToElement(token, options)) 108 | 109 | return elements.map((element, index) => elementWithKey(element, index)) 110 | } 111 | -------------------------------------------------------------------------------- /app/components/note-preview-popover.tsx: -------------------------------------------------------------------------------- 1 | import {Transition} from '@headlessui/react' 2 | import {getNote} from 'app/client/notes-cache' 3 | import {Note} from 'app/interfaces/note' 4 | import React, {useEffect, useState} from 'react' 5 | import {NoteMarkdown} from './note-markdown' 6 | import {PortalBody} from './portal-body' 7 | import truncate from 'lodash/truncate' 8 | import {usePopper} from 'react-popper' 9 | 10 | export interface Props { 11 | path: string 12 | offset?: number 13 | referenceElement: HTMLElement | null 14 | } 15 | 16 | export const NotePreviewPopover: React.FC = ({ 17 | path, 18 | referenceElement, 19 | offset = 15, 20 | }) => { 21 | const [note, setNote] = useState() 22 | 23 | const [popperElement, setPopperElement] = useState(null) 24 | const [arrowElement, setArrowElement] = useState(null) 25 | 26 | const {styles, attributes} = usePopper(referenceElement, popperElement, { 27 | strategy: 'fixed', 28 | placement: 'bottom-start', 29 | modifiers: [ 30 | { 31 | name: 'offset', 32 | options: { 33 | offset: [offset, offset], 34 | }, 35 | }, 36 | 37 | {name: 'arrow', options: {element: arrowElement}}, 38 | ], 39 | }) 40 | 41 | const fetchNote = async () => setNote(await getNote(path)) 42 | 43 | useEffect(() => { 44 | fetchNote() 45 | }, [path]) 46 | 47 | return ( 48 | 49 | 59 |
    65 |
    70 | 71 | {note && ( 72 | 73 | )} 74 |
    75 | 76 | 77 | ) 78 | } 79 | -------------------------------------------------------------------------------- /app/components/note-preview.tsx: -------------------------------------------------------------------------------- 1 | import React, {MouseEvent, useState} from 'react' 2 | import {NotePreviewPopover} from './note-preview-popover' 3 | 4 | interface Props { 5 | path: string 6 | } 7 | 8 | export const NotePreview: React.FC = ({children, path}) => { 9 | const [referenceElement, setReferenceElement] = useState(null) 10 | 11 | const [open, setOpen] = useState(false) 12 | 13 | return ( 14 | <> 15 | {open && } 16 | 17 | setOpen(true)} 20 | onMouseLeave={() => setOpen(false)} 21 | > 22 | {children} 23 | 24 | 25 | ) 26 | } 27 | -------------------------------------------------------------------------------- /app/components/notes-browser-item.tsx: -------------------------------------------------------------------------------- 1 | import clsx from 'clsx' 2 | import React from 'react' 3 | import {Note} from 'app/interfaces/note' 4 | import {NoteMarkdown} from './note-markdown' 5 | import {Transition} from '@headlessui/react' 6 | import {NoteLinks} from './note-links' 7 | 8 | interface Props { 9 | note: Note 10 | index: number 11 | onClickBacklink?: (event: React.MouseEvent, path: string) => void 12 | collapsed?: boolean 13 | overlay?: boolean 14 | } 15 | 16 | export const NoteBrowserItemWidth = 625 17 | export const NoteBrowserItemCollapsedWidth = 40 18 | export const NoteBrowserItemWidthWithoutCollapsed = 19 | NoteBrowserItemWidth - NoteBrowserItemCollapsedWidth 20 | 21 | export const NotesBrowserItem: React.FC = ({ 22 | note, 23 | onClickBacklink, 24 | index, 25 | collapsed = false, 26 | overlay = false, 27 | }) => { 28 | return ( 29 |
    40 | 50 |
    51 | {note.title} 52 |
    53 |
    54 | 55 | 65 |
    66 | 67 | 68 |
    69 |
    70 |
    71 | ) 72 | } 73 | -------------------------------------------------------------------------------- /app/components/notes-browser.tsx: -------------------------------------------------------------------------------- 1 | import React, {useEffect, useMemo, useRef, useState} from 'react' 2 | import {Note} from 'app/interfaces/note' 3 | import { 4 | NoteBrowserItemWidthWithoutCollapsed, 5 | NotesBrowserItem, 6 | } from './notes-browser-item' 7 | import {getNote} from 'app/client/notes-cache' 8 | interface Props { 9 | initialNotes?: Note[] 10 | } 11 | 12 | export const NotesBrowser: React.FC = ({initialNotes = []}) => { 13 | const ref = useRef(null) 14 | const [scrollLeft, setScrollLeft] = useState(0) 15 | 16 | const [viewNotes, setViewNotes] = useState(initialNotes) 17 | 18 | const setStackedQuery = (notePaths: string[]) => { 19 | const [firstPath, ...stackedPaths] = notePaths 20 | 21 | const newUrl = new URL(location.origin + `/${firstPath}`) 22 | 23 | for (const stackedPath of stackedPaths) { 24 | newUrl.searchParams.append('stacked', stackedPath) 25 | } 26 | 27 | history.replaceState({}, '', newUrl) 28 | } 29 | 30 | const onClickBacklink = async ( 31 | event: React.MouseEvent, 32 | path: string, 33 | index: number, 34 | ) => { 35 | event.preventDefault() 36 | 37 | const appendNote = await getNote(path) 38 | 39 | // Note doesn't exist 40 | if (!appendNote) return 41 | 42 | // We're already displaying this note 43 | if (viewNotes.map((n) => n.path).includes(appendNote.path)) return 44 | 45 | // Find all notes that are stacked on top of this new index 46 | const newNotes = [...viewNotes.slice(0, index + 1), appendNote] 47 | setViewNotes(newNotes) 48 | 49 | // Set the stacked query (excluding the initial note - usually index) 50 | setStackedQuery(newNotes.map((note) => note.path)) 51 | } 52 | 53 | const onScroll = () => { 54 | setScrollLeft(ref.current?.scrollLeft || 0) 55 | } 56 | 57 | const scrollToIndex = (index: number) => { 58 | ref.current?.children[index]?.scrollIntoView?.({ 59 | block: 'start', 60 | inline: 'start', 61 | behavior: 'smooth', 62 | }) 63 | } 64 | 65 | useEffect(() => { 66 | scrollToIndex(viewNotes.length - 1) 67 | }, [viewNotes]) 68 | 69 | return ( 70 |
    75 | {viewNotes.map((note, index) => ( 76 | (index + 1) * NoteBrowserItemWidthWithoutCollapsed - 60} 81 | overlay={scrollLeft > (index - 1) * NoteBrowserItemWidthWithoutCollapsed} 82 | onClickBacklink={(event, path) => onClickBacklink(event, path, index)} 83 | /> 84 | ))} 85 |
    86 | ) 87 | } 88 | -------------------------------------------------------------------------------- /app/components/notes-fallback.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import {Note} from 'app/interfaces/note' 3 | import {NoteMarkdown} from './note-markdown' 4 | import {NoteLinks} from './note-links' 5 | import {useRouter} from 'next/router' 6 | 7 | interface Props { 8 | initialNotes?: Note[] 9 | } 10 | 11 | export const NotesFallback: React.FC = ({initialNotes = []}) => { 12 | const router = useRouter() 13 | 14 | const [note] = initialNotes 15 | 16 | if (!note) return null 17 | 18 | const onClickBacklink = (event: React.MouseEvent, path: string) => { 19 | event.preventDefault() 20 | router.push(path) 21 | } 22 | 23 | return ( 24 |
    25 | 26 | 27 |
    28 | ) 29 | } 30 | -------------------------------------------------------------------------------- /app/components/notes.tsx: -------------------------------------------------------------------------------- 1 | import React, {useEffect, useMemo, useState} from 'react' 2 | import {Note} from 'app/interfaces/note' 3 | import {screenIs} from 'app/helpers/screen-size' 4 | import {NotesFallback} from './notes-fallback' 5 | import {NotesBrowser} from './notes-browser' 6 | 7 | interface Props { 8 | initialNotes?: Note[] 9 | } 10 | 11 | export const Notes: React.FC = ({initialNotes = []}) => { 12 | const [mode, setMode] = useState<'browser' | 'fallback'>('browser') 13 | 14 | useEffect(() => { 15 | setMode(screenIs('md') ? 'browser' : 'fallback') 16 | }, []) 17 | 18 | return mode === 'browser' ? ( 19 | 20 | ) : ( 21 | 22 | ) 23 | } 24 | -------------------------------------------------------------------------------- /app/components/portal-body.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import * as ReactDOM from 'react-dom' 3 | 4 | export const PortalBody: ({children}: any) => React.ReactPortal = ({children}: any) => 5 | ReactDOM.createPortal(children, document.body) 6 | -------------------------------------------------------------------------------- /app/helpers/array.ts: -------------------------------------------------------------------------------- 1 | export function castArray(value: any) { 2 | return Array.isArray(value) ? value : [value] 3 | } 4 | -------------------------------------------------------------------------------- /app/helpers/markdown.tsx: -------------------------------------------------------------------------------- 1 | import React, {ReactElement} from 'react' 2 | import {marked} from 'marked' 3 | 4 | const BacklinkTokenizerExtension: marked.TokenizerExtension = { 5 | name: 'backlink', 6 | level: 'inline', 7 | 8 | start: (src: string) => src.match(/\[\[/)?.index || -1, 9 | 10 | tokenizer: (src: string) => { 11 | const rule = /^\[\[([^\]]+)\]\]/ 12 | const match = rule.exec(src) 13 | 14 | if (match) { 15 | const text = match[0] 16 | 17 | return { 18 | type: 'backlink', 19 | raw: text, 20 | path: match[1], 21 | tokens: [ 22 | { 23 | type: 'text', 24 | raw: text, 25 | text, 26 | }, 27 | ], 28 | } 29 | } 30 | }, 31 | } 32 | 33 | const BacklinkRendererExtension: marked.RendererExtension = { 34 | name: 'backlink', 35 | 36 | renderer: (token: marked.Tokens.Generic) => { 37 | return `${token.path}` 38 | }, 39 | } 40 | 41 | marked.use({ 42 | extensions: [BacklinkTokenizerExtension, BacklinkRendererExtension], 43 | }) 44 | 45 | export const markdownToHtml = (markdown: string) => { 46 | return marked.parse(markdown) 47 | } 48 | 49 | export const markdownToTokens = (markdown: string) => { 50 | return marked.lexer(markdown) 51 | } 52 | -------------------------------------------------------------------------------- /app/helpers/screen-size.ts: -------------------------------------------------------------------------------- 1 | type ScreenSize = 'sm' | 'md' | 'lg' | 'xl' 2 | 3 | const Dimensions: {[key: string]: number} = { 4 | sm: 640, 5 | md: 768, 6 | lg: 1024, 7 | xl: 1280, 8 | } 9 | 10 | export const screenIs = (size: ScreenSize) => { 11 | if (typeof window === 'undefined') return undefined 12 | 13 | const dimension = Dimensions[size] 14 | 15 | if (!dimension) { 16 | throw new Error(`Unknown screen size: ${size}`) 17 | } 18 | 19 | const mediaQuery = `(min-width: ${dimension}px)` 20 | 21 | return window.matchMedia(mediaQuery).matches 22 | } 23 | -------------------------------------------------------------------------------- /app/interfaces/note.ts: -------------------------------------------------------------------------------- 1 | export interface NotePreview { 2 | path: string 3 | title: string 4 | snippet: string 5 | } 6 | export interface Note { 7 | path: string 8 | title: string 9 | snippet: string 10 | markdown: string 11 | linkedFromNotes: NotePreview[] 12 | } 13 | 14 | export const NOTE_INDEX_NAME = 'Preface' 15 | -------------------------------------------------------------------------------- /next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | 4 | // NOTE: This file should not be edited 5 | // see https://nextjs.org/docs/basic-features/typescript for more information. 6 | -------------------------------------------------------------------------------- /next.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('next').NextConfig} */ 2 | const nextConfig = { 3 | reactStrictMode: true, 4 | } 5 | 6 | module.exports = nextConfig 7 | -------------------------------------------------------------------------------- /notes/AI.md: -------------------------------------------------------------------------------- 1 | # Artificial Intelligence 2 | 3 | A computer-program with creativity, a type of [[Person]] 4 | 5 | The field of artificial (general) intelligence has made no progress because there is an unsolved philosophical problem at its heart: we do not understand how creativity works. Once that has been solved, programming it will not be difficult. Even artificial evolution may not have been achieved yet, despite appearances. There the problem is that we do not understand the nature of the universality of the DNA replication system. 6 | -------------------------------------------------------------------------------- /notes/About.md: -------------------------------------------------------------------------------- 1 | We believe the [Beginning of Infinity](https://www.amazon.com/Beginning-Infinity-Explanations-Transform-World/dp/0143121359) to be one of the most important books ever written. However, it's quite dense and can be a tough read for the layman. We created this website in order to share our high level notes, spread David's ideas, and encourage more people to read his book. 2 | 3 | We obviously don't take any credit for the ideas written here - they're directly taken from David's book or interviews with him. In fact we don't even take credit for this website's UX, it was inspired by [Andy Matuschak's notes](https://notes.andymatuschak.org/About_these_notes). Thank you David and Andy! 4 | 5 | We have open-sourced the [code behind this site](https://github.com/team-reflect/beginning-of-infinity) so you can use it for your own notes. 6 | 7 | Created by the team behind [Reflect](https://reflect.app), the networked note-taking app. -------------------------------------------------------------------------------- /notes/Anthropocentric.md: -------------------------------------------------------------------------------- 1 | # Anthropocentric 2 | 3 | Centered on humans, or on persons. 4 | 5 | -------------------------------------------------------------------------------- /notes/Anti-rational Meme.md: -------------------------------------------------------------------------------- 1 | # Anti-rational Meme 2 | 3 | An idea that relies on disabling the recipients’ critical faculties to cause itself to be replicated. 4 | 5 | Often these ideas tap into base human emotions (fear and anger) to seduce people into believing and replicating them. 6 | 7 | For example, using the threat of terrorism to justify passing laws that censor free speech. -------------------------------------------------------------------------------- /notes/Arrow's theorem.md: -------------------------------------------------------------------------------- 1 | # Arrow's theorem 2 | An impossibility theorem proving that no rank-order electoral system can be designed that always satisfies these three "fairness" criteria: 3 | 4 | - If every voter prefers alternative X over alternative Y, then the group prefers X over Y. 5 | - If every voter's preference between X and Y remains unchanged, then the group's preference between X and Y will also remain unchanged (even if voters' preferences between other pairs like X and Z, Y and Z, or Z and W change). 6 | - There is no "dictator": no single voter possesses the power to always determine the group's preference. 7 | 8 | Essentially proving that no systems of government are mathematically fair. 9 | 10 | See also: 11 | - [Wikipedia](https://en.wikipedia.org/wiki/Arrow%27s_impossibility_theorem) -------------------------------------------------------------------------------- /notes/Bad Explanation.md: -------------------------------------------------------------------------------- 1 | # Bad Explanation 2 | 3 | A bad explanation is unspecific. You can change any or all of the details without destroying it. 4 | 5 | Examples of bad explanations: 6 | 7 | - Thunder is caused by Thor's anger 8 | - Day and nights were created by God dividing the light on the first day of creation 9 | - Summer is caused by [Persephone](https://en.wikipedia.org/wiki/Persephone)'s annual re-uniting with her mother Demeter. 10 | 11 | In the above examples you could change any of the variables and the explantation would make sense. 12 | 13 | - Thunder is caused by Zeus' anger 14 | - Day and nights were created by God dividing the light on the last day of creation 15 | - Hades is distracted when Persephone leaves, and forgets to cool the planet. 16 | 17 | 18 | See also: 19 | - [[Hard to vary]] 20 | - [[Good Explanation]] -------------------------------------------------------------------------------- /notes/Beginning of Infinity.md: -------------------------------------------------------------------------------- 1 | # The Beginning of Infinity 2 | 3 | A book by [[David Deutsch]]. 4 | 5 | > In this groundbreaking book, award-winning physicist David Deutsch argues that explanations have a fundamental place in the universe—and that improving them is the basic regulating principle of all successful human endeavor. Taking us on a journey through every fundamental field of science, as well as the history of civilization, art, moral values, and the theory of political institutions, Deutsch tracks how we form new explanations and drop bad ones, explaining the conditions under which progress—which he argues is potentially boundless—can and cannot happen. Hugely ambitious and highly original, The Beginning of Infinity explores and establishes deep connections between the laws of nature, the human condition, knowledge, and the possibility for progress. 6 | 7 | Buy it on [Amazon here](https://www.amazon.com/Beginning-Infinity-Explanations-Transform-World/dp/0143121359). -------------------------------------------------------------------------------- /notes/Blind Optimism.md: -------------------------------------------------------------------------------- 1 | # Blind Optimism 2 | 3 | Proceeding as if one knew that bad outcomes will not happen. 4 | 5 | -------------------------------------------------------------------------------- /notes/Blind Pessimism.md: -------------------------------------------------------------------------------- 1 | # Blind Pessimism 2 | 3 | Avoiding everything not known to be safe. Often found in [[Static Societies]] -------------------------------------------------------------------------------- /notes/Conjecture.md: -------------------------------------------------------------------------------- 1 | # Conjecture 2 | 3 | The act of using [[Creativity]] to come up with new [[Explanation]]s. 4 | 5 | See also: 6 | 7 | - [[Criticism]] 8 | - [[Enlightenment]] -------------------------------------------------------------------------------- /notes/Constructor.md: -------------------------------------------------------------------------------- 1 | # Constructor 2 | 3 | A device capable of causing other objects to undergo transformations without undergoing any net change itself. 4 | 5 | Deutsch, David. The Beginning of Infinity (p. 76). Penguin Publishing Group. Kindle Edition. -------------------------------------------------------------------------------- /notes/Creativity.md: -------------------------------------------------------------------------------- 1 | # Creativity 2 | 3 | The capacity to create new explanations. 4 | -------------------------------------------------------------------------------- /notes/Criticism.md: -------------------------------------------------------------------------------- 1 | # Criticism 2 | The growth of [[Knowledge]] consists of correcting misconceptions in our theories. Ever since the [[Enlightenment]] this had happened through a tradition of criticism. New explanations are proposed, criticized, and then refined. 3 | 4 | Since the tradition of [[Conjecture]] and criticism has created all [[Knowledge]] and [[Progress]] it's absolutely imperative that we keep it. Free speech is critical. No idea should be beyond criticism. 5 | 6 | See also: 7 | 8 | - [[Error Correction]] 9 | - [[Enlightenment]] -------------------------------------------------------------------------------- /notes/Culture.md: -------------------------------------------------------------------------------- 1 | # Culture 2 | 3 | A collection of [[Memes]]. -------------------------------------------------------------------------------- /notes/David Deutsch.md: -------------------------------------------------------------------------------- 1 | # David Deutsch 2 | 3 | The author of the [[Beginning of Infinity]]. 4 | 5 | David is a British physicist at the University of Oxford. He is a Visiting Professor in the Department of Atomic and Laser Physics at the Centre for Quantum Computation (CQC) in the Clarendon Laboratory of the University of Oxford. He pioneered the field of quantum computation by formulating a description for a quantum Turing machine, as well as specifying an algorithm designed to run on a quantum computer. He has also proposed the use of entangled states and Bell's theorem for quantum key distribution and is a proponent of the many-worlds interpretation of quantum mechanics. 6 | 7 | See more: 8 | 9 | - [Wikipedia profile](https://en.wikipedia.org/wiki/David_Deutsch) 10 | -------------------------------------------------------------------------------- /notes/Dynamic Societies.md: -------------------------------------------------------------------------------- 1 | # Dynamic Societies 2 | 3 | A society that is dominated by rational memes. 4 | 5 | Dynamic societies celebrate the ideals of the [[Enlightenment]] such as tolerance, free speech, and a willingness to change. 6 | 7 | Dynamic societies tend to change and improve quite rapidly. 8 | 9 | See also: 10 | - [[Static Societies]] 11 | - [[Anti-rational Meme]] 12 | - [[Rational Meme]] -------------------------------------------------------------------------------- /notes/Emergent phenomena.md: -------------------------------------------------------------------------------- 1 | # Emergent phenomena 2 | 3 | The existence of emergent phenomena, and the fact that they can encode knowledge about other emergent phenomena. 4 | 5 | -------------------------------------------------------------------------------- /notes/Empiricism.md: -------------------------------------------------------------------------------- 1 | # Empiricism 2 | The theory that all knowledge is derived from sense-experience (i.e. from experimentation). 3 | 4 | When empiricism was first introduced it played a positive role for [[Progress]] by providing a defence against traditional authorities and dogma. All claims of the supernatural now had to be backed up by hard evidence, which meant that 'provable' science superseded religious mysticism and superstition. 5 | 6 | This worked for a while because none of the scientists took it literally. Because, if they had, they wouldn't have made much progress. 7 | 8 | The reason that testability is not sufficient is that prediction is not, and cannot be, the purpose of science. You can test that a rabbit comes out of a hat during a conjuring trick, and predict that it'll happen every time the trick is performed, but that gets you no closer to understanding how the trick works. 9 | 10 | In other words strictly applied empiricism is a threat to [[Progress]] and indeed has held many fields back, such as quantum physics. 11 | 12 | The real source of our theories is [[Conjecture]], and the real source of our [[Knowledge]] is conjecture alternating with [[Criticism]]. We create theories by rearranging, combining, altering and adding to existing ideas with the intention of improving upon them. The role of experiment and observation is to choose between existing theories, not to be the source of new ones. 13 | 14 | See also: 15 | 16 | - [[Inductivism]] -------------------------------------------------------------------------------- /notes/Enlightenment.md: -------------------------------------------------------------------------------- 1 | # Enlightenment 2 | 3 | An entire political, moral, economic and intellectual culture – roughly what is now called ‘the West’ – grew around the values entailed by the quest for good explanations, such as tolerance of dissent, openness to change, distrust of dogmatism and authority, and the aspiration to progress both by individuals and for the culture as a whole. 4 | 5 | With the enlightenment: In all those cases, [[Universality]] was being sought deliberately, as a desirable feature in its own right–even a necessary feature for an idea to be true–and not just as a means of solving a [[Parochial]] problem. 6 | -------------------------------------------------------------------------------- /notes/Error Correction.md: -------------------------------------------------------------------------------- 1 | # Error Correction 2 | 3 | Finding faults in [[Knowledge]] creation or replication. -------------------------------------------------------------------------------- /notes/Evolution.md: -------------------------------------------------------------------------------- 1 | # Evolution 2 | 3 | The change in the characteristics of a species over several generations through the process of natural selection. 4 | 5 | See also: 6 | 7 | - [[Neo-Darwinism]] 8 | - [Wikipedia](https://en.wikipedia.org/wiki/Evolution) -------------------------------------------------------------------------------- /notes/Explanation.md: -------------------------------------------------------------------------------- 1 | # Explanation 2 | 3 | A statement about what is there, what it does, and how and why. 4 | 5 | Predictions about what is going to happen next are insufficient explanations. 6 | 7 | The quest for good explanations is the basic regulating principle not only of science, but of the [[Enlightenment]] generally. 8 | 9 | See also: 10 | 11 | - [[Good Explanation]] 12 | - [[Bad Explanation]] -------------------------------------------------------------------------------- /notes/Fallibilism.md: -------------------------------------------------------------------------------- 1 | # Fallibilism 2 | 3 | The recognition that there are no authoritative sources of knowledge, nor any reliable means of justifying knowledge as true or probable. 4 | -------------------------------------------------------------------------------- /notes/Fallible.md: -------------------------------------------------------------------------------- 1 | # Fallible 2 | Error prone. 3 | 4 | See also: 5 | - [[Fallibilism]] -------------------------------------------------------------------------------- /notes/Good Explanation.md: -------------------------------------------------------------------------------- 1 | # Good Explanation 2 | 3 | A good explanation is [[Hard to vary]] while still 4 | accounting for what it purports to account for. 5 | 6 | See also: 7 | 8 | - [[Hard to vary]] 9 | - [[Bad Explanation]] -------------------------------------------------------------------------------- /notes/Governing.md: -------------------------------------------------------------------------------- 1 | # Governing 2 | 3 | There's a class of questions that [[Popper]] called 'Who should rule?'. For example, 'Who should hold power?', and then lots of derived questions like 'How should they be educated?.' These are questions that have been asked ever since history begun and are at the root of all squabbles around governing. 4 | 5 | Popper pointed out that this class of questions is rooted in the same misconception as the question ‘How are scientific theories derived from sensory data?’ which defines [[Empiricism]]. It is seeking a system that derives or justifies the right choice of leader or government, from existing data – such as inherited entitlements, the opinion of the majority, the manner in which a person has been educated, etc. 6 | 7 | The same misconception also underlies [[Blind Optimism]] and [[Blind Pessimism]]: they both expect progress to be made by applying a simple rule to existing knowledge, to establish which future possibilities to ignore and which to rely on. In other words, *explanation-less progress*. 8 | 9 | If the political process is seen as an engine for putting the right rulers in power, then it justifies violence, for until that right system is in place, no ruler is legitimate; and once it is in place, and its designated rulers are ruling, opposition to them is opposition to rightness. The problem then becomes how to thwart anyone who is working against the rulers or their policies. 10 | 11 | Popper therefore applies his basic ‘how can we detect and eliminate errors?’ to political philosophy in the form how can we rid ourselves of bad governments without violence? 12 | 13 | No leader is perfect, and [[Arrow's theorem]] proves that no system of governing is completely fair. 14 | 15 | Therefore systems of government are not to be judged by the quality of their leaders or policies, but by how easily bad leaders or policies are removed. 16 | 17 | The only way to remove bad leaders or policies, without using violence, is through cultivating a culture of free-speech and [[Criticism]]. 18 | 19 | See also: 20 | - [[Arrow's theorem]] -------------------------------------------------------------------------------- /notes/Hard to vary.md: -------------------------------------------------------------------------------- 1 | # Hard to vary 2 | 3 | A hard-to-vary explanation provides specific details that fit together so tightly that it is impossible to change any detail without affecting the whole theory. 4 | 5 | A [[Good Explanation]] is hard-to-vary whereas a with a [[Bad Explanation]] you could vary the details without affecting the explanation. -------------------------------------------------------------------------------- /notes/Inductivism.md: -------------------------------------------------------------------------------- 1 | # Inductivism 2 | 3 | The misconception that scientific theories are obtained by generalizing or extrapolating repeated experiences, and that the more often a theory is confirmed by observation the more likely it becomes. 4 | 5 | Another way of thinking about this is that: ‘The future will resemble the past’. -------------------------------------------------------------------------------- /notes/Infinity.md: -------------------------------------------------------------------------------- 1 | # Infinity 2 | 3 | We can understand infinity through the infinite reach of some explanations. It makes sense, both in mathematics and in physics. But it has counter-intuitive properties. One of them is that, if unlimited progress really is going to happen, not only are we now at almost the very beginning of it, we always shall be. -------------------------------------------------------------------------------- /notes/Jump to Universality.md: -------------------------------------------------------------------------------- 1 | # Jump to Universality 2 | The tendency of gradually improving systems to undergo a sudden large increase in functionality, becoming universal in some domain. 3 | 4 | The first [[Universal System]] we know of was DNA. All organisms on earth are encoded with the same alphabet of DNA bases, just using different combinations. 5 | 6 | Universal systems have been invented a few times throughout history but always by accident. Nobody realized their significance until decades, sometimes centuries later. Only since the [[Enlightenment]] has the significance of universal systems been recognised and sought after. 7 | 8 | Take Egyptian hieroglyphics for instance. Every word is represented by its own hieroglyph. To invent new words you need to invent new hieroglyphs (and then teach everyone what they mean). It's a non-universal system. 9 | 10 | As the rules for writing systems were improved we moved from specific word-level abstractions to letter-level abstractions. Latin-based alphabets were capable of representing every word in the language. Thus, a jump to universality. 11 | 12 | Roman numerals were an improvement upon tally systems for performing basic arithmetic, but they weren't universal. The number one thousand was represented by the symbol ↀ, and that was their highest number. To calculate anything higher than that means appending ↀ's to each other, and then you're back to tallying. The only way to progress arithmetic beyond tallying is with rules of universal reach. 13 | 14 | As with alphabets, a small set of rules is enough. 15 | 16 | The numeric system we used today has ten symbols, the digits 0 to 9, and its universality is due to a rule that the value of a digit depends on its position in the number. For instance, the digit 2 means two when written by itself, but means two hundred in the numeral 204. Such ‘positional’ systems require ‘placeholders’, such as the digit 0 in 204, whose only function is to place the 2 into the position where it means two hundred. 17 | 18 | The power in universal systems comes from their [[Reach]]. They can do a lot more than they were intended to do. A clear example of this is the computer in your washing machine. Given enough memory and time there is nothing preventing it doing astrophysics calculations. 19 | 20 | Our brains are universal systems. We are capable of explaining anything. 21 | 22 | See also: 23 | - [[Universal System]] 24 | - [[Universal Explainers]] 25 | - [[Universal Computation]] -------------------------------------------------------------------------------- /notes/Knowledge Creation.md: -------------------------------------------------------------------------------- 1 | ## Knowledge creation 2 | 3 | There are only two known sources of knowledge creation: Biological [[Evolution]] and the thoughts of [[People]]. They have some key differences. 4 | 5 | In the case of human knowledge, the variation is by [[Conjecture]], and the selection is by [[Criticism]] and experiment. In the biosphere, the variation consists of mutations (random changes) in genes, and natural selection favors the variants that most improve the ability of their organisms to reproduce, thus causing those variant genes to spread through the population. 6 | 7 | Both sources are abstract replicators which means they're forms of information that are embodied in a physical system and tend to remain so (in DNA strands, books, hard-disks etc). 8 | 9 | But the two sources have some key differences. Evolution is bounded and parochial. It tends to make slow iterative changes. People's creativity is unbounded and has [[Reach]]. -------------------------------------------------------------------------------- /notes/Knowledge Streams.md: -------------------------------------------------------------------------------- 1 | # Knowledge Streams 2 | 3 | Almost all environments, suitably primed, could play host to knowledge creation. Even in the vacuum of space you could feasibly hoover up hydrogen atoms and transmute them into a space station. This space-station could then start receiving evidence about the universe by the light of the stars around it, while also performing physics experiments, generating new streams of knowledge. 4 | 5 | We would normally regard a lunar colony, even after it has become self-sufficient, as having originated on Earth. But what, exactly, will have originated on Earth? In the long run, all its atoms have originated on the moon (or the asteroids). All the energy that it uses has originated in the sun. Only some proportion of its knowledge came from Earth, and, in the hypothetical case of a perfectly isolated colony, that would be a rapidly dwindling proportion. 6 | 7 | -------------------------------------------------------------------------------- /notes/Knowledge.md: -------------------------------------------------------------------------------- 1 | # Knowledge 2 | 3 | Knowledge is information which when physically embodied in an environment tends to cause itself to remain so. 4 | 5 | Examples of Knowledge: 6 | - DNA strands 7 | - Payprus scrolls 8 | - Wikipedia stored on a hard disk 9 | 10 | See also: 11 | - [[Knowledge Creation]] 12 | - [[Knowledge Streams]] 13 | 14 | -------------------------------------------------------------------------------- /notes/Memes.md: -------------------------------------------------------------------------------- 1 | # Memes 2 | 3 | Biological evolution was merely a finite preface to the main story of evolution, the unbounded evolution of memes. 4 | 5 | Cultures consist of memes, and they evolve. In many ways memes are analogous to genes, but there are also profound differences in the way they evolve. The most important differences are that each meme has to include its own replication mechanism, and that a meme exists alternately in two different physical forms: a mental representation and a behaviour. Hence also a meme, unlike a gene, is separately selected, at each replication, for its ability to cause behaviour and for the ability of that behaviour to cause new recipients to adopt the meme. The holders of memes typically do not know why they are enacting them: we enact the rules of grammar, for instance, much more accurately than we are able to state them. There are only two basic strategies of meme replication: to help prospective holders or to disable the holders’ critical faculties. The two types of meme – rational memes and anti-rational memes – inhibit each other’s replication and the ability of the culture as a whole to propagate itself. Western civilization is in an unstable transitional period between stable, static societies consisting of anti-rational memes and a stable dynamic society consisting of rational memes. Contrary to conventional wisdom, primitive societies are unimaginably unpleasant to live in. Either they are static, and survive only by extinguishing their members’ creativity and breaking their spirits, or they quickly lose their knowledge and disintegrate, and violence takes over. Existing accounts of memes fail to recognize the significance of the rational/anti-rational distinction and hence tend to be implicitly anti-meme. This is tantamount to mistaking Western civilization for a static society, and its citizens for the crushed, pessimistic victims of memes that the members of static societies are. 6 | 7 | -------------------------------------------------------------------------------- /notes/Morality.md: -------------------------------------------------------------------------------- 1 | # Morality 2 | Moral philosophy is basically about the problem of what to do next–and, more generally, what sort of life to lead, and what sort of world to want. 3 | 4 | Morality is a type of [[Knowledge]]. This means that moral 'truths' can be discovered by the usual methods of reason, which are essentially the same as those of science (although there are important differences). 5 | 6 | Because morality is a type of [[Knowledge]] this means that it is also [[Fallible]] and can only improve over time through [[Conjecture]] and [[Criticism]]. As knowledge, morality cannot be sourced from a source of authority (e.g. governments, social-movements, religions). 7 | 8 | Morality iterates and improves over time. So, given that, there is only one transcendent morality: protect the means of improving knowledge. In other words maintaining a culture where people are free to conjecture and criticize each other ideas is the most important moral decree. 9 | 10 | See also: 11 | - [[Static Societies]] 12 | - [[Dynamic Societies]] -------------------------------------------------------------------------------- /notes/Multiverse.md: -------------------------------------------------------------------------------- 1 | # Multiverse 2 | 3 | The physical world is a multiverse, and its structure is determined by how information flows in it. In many regions of the multiverse, information flows in quasi-autonomous streams called histories, one of which we call our ‘universe’. Universes approximately obey the laws of classical (pre-quantum) physics. But we know of the rest of the multiverse, and can test the laws of quantum physics, because of the phenomenon of quantum interference. Thus a universe is not an exact but an emergent feature of the multiverse. One of the most unfamiliar and counter-intuitive things about the multiverse is fungibility. The laws of motion of the multiverse are deterministic, and apparent randomness is due to initially fungible instances of objects becoming different. In quantum physics, variables are typically discrete, and how they change from one value to another is a multiversal process involving interference and fungibility. 4 | -------------------------------------------------------------------------------- /notes/Neo-Darwinism.md: -------------------------------------------------------------------------------- 1 | # Neo-Darwinism 2 | 3 | The central idea of neo-Darwinism is that evolution favors the genes that spread best through the population. 4 | 5 | A common misconception about Darwinian [[Evolution]] is that it maximizes ‘the good of the species’. In reality evolution promotes the propagation of individual genes (sometimes to the detriment of the species). 6 | 7 | Evolution does not especially promote the ‘welfare’ of species or individual organisms. It does not promote the ‘welfare’ of genes either: it adapts them not for survival in larger numbers, nor indeed for survival at all, but only for spreading through the population at the expense of rival genes, particularly slight variants of themselves. 8 | 9 | Organisms are the slaves, or tools, that genes use to achieve their ‘purpose’ of spreading themselves through the population. 10 | 11 | So, while evolution explains biological progress not all evolution constitutes progress, and no (genetic) evolution optimizes progress. 12 | 13 | See more: 14 | 15 | - [The Selfish Gene](https://en.wikipedia.org/wiki/The_Selfish_Gene) -------------------------------------------------------------------------------- /notes/Optimism.md: -------------------------------------------------------------------------------- 1 | # Optimism 2 | 3 | The theory that all failures (all evils) are due to insufficient knowledge. 4 | This is the key to the rational philosophy of the unknowable. 5 | 6 | Optimism would be futile if there were fundamental limitations to the creation of knowledge, but there are not. It would be futile if there were fields – especially philosophical fields such as morality – in which there were no such thing as objective progress. But truth does exist in all those fields, and progress towards it is made by seeking good explanations. 7 | 8 | [[Problems]] are inevitable, because our knowledge will always be infinitely far from complete. Some problems are hard, but it is a mistake to confuse hard problems with problems unlikely to be solved. Problems are soluble, and each particular evil is a problem that can be solved. 9 | 10 | An optimistic civilization is open and not afraid to innovate, and is based on traditions of [[Criticism]]. Its institutions keep improving, and the most important knowledge that they embody is knowledge of how to detect and eliminate errors. 11 | 12 | Optimism also infers that we should not fear extra terrestrial civilisations. For them to travel across the vast expanses of space to us necessitates a certain degree of progress. Most likely they would have had to figure out atomic transmution, for example, and would have no need for our resources. 13 | 14 | See also: 15 | - [[Dynamic Societies]] 16 | - [[Static Societies]] 17 | -------------------------------------------------------------------------------- /notes/Parochial.md: -------------------------------------------------------------------------------- 1 | # Parochial 2 | 3 | Mistaking appearance for reality, or local regularities for universal laws. 4 | 5 | Anthropocentric errors are examples of parochialism, but not all parochialism is anthropocentric. 6 | -------------------------------------------------------------------------------- /notes/People.md: -------------------------------------------------------------------------------- 1 | # People 2 | 3 | Entities that can create explanatory knowledge. 4 | 5 | People don't necessary need to be human. The term also encompasses creative aliens and in the future, artificial general intelligence. 6 | 7 | People are a form of a [[Universal Explainers]] and [[Universal Constructor]]. 8 | -------------------------------------------------------------------------------- /notes/Person.md: -------------------------------------------------------------------------------- 1 | # Person 2 | 3 | An entity that can create explanatory knowledge. 4 | 5 | A person is a form of a [[Universal Explainers]]. 6 | 7 | See [[People]]. 8 | -------------------------------------------------------------------------------- /notes/Popper.md: -------------------------------------------------------------------------------- 1 | # Popper 2 | 3 | Karl Popper is generally regarded as one of the greatest philosophers of science of the twentieth century. 4 | 5 | See also: 6 | 7 | - https://plato.stanford.edu/entries/popper/ -------------------------------------------------------------------------------- /notes/Preface.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: The Beginning of Infinity 3 | --- 4 | 5 | The [[Beginning of Infinity]] contains an inspiring message for humanity. Author [[David Deutsch]] describes the processes through which our species has emerged from a dirt-scratching purgatory to today's towering technological heights. And how, in the future, we have the potential to achieve our wildest possible dreams. 6 | 7 | Deutsch shows that, if we choose, no problem is beyond us. With the right [[Knowledge]] humanity can have a cosmically-sized impact upon our universe. We can solve all of our problems from hunger, to global-warming, to disease, to interstellar travel. We are limited solely by the laws of nature. Our progress is but at the start of a road to infinity. 8 | 9 | These are some notes on the book, but we encourage you to [read the real thing](https://www.amazon.com/Beginning-Infinity-Explanations-Transform-World/dp/0143121359). 10 | 11 | --- 12 | 13 | We have made virtually no [[Progress]] over the vast majority of human history. Only recently (mostly since the European [[Enlightenment]]) has progress been discernible inside a human lifetime. 14 | 15 | The [[Enlightenment]] showed us progress is both achievable and desirable. It instituted a culture of [[Conjecture]] and [[Criticism]], the two key components for any kind of rapid progress across any discipline from [[Science]] to [[Morality]]. 16 | 17 | [[Science]] is the practice of finding [[Good Explanation]]s, statements about what is there, what it does, and how and why. [[Morality]] is about the problem of what to do next and, more generally, what sort of life to lead, and what sort of world to want. Both disciplines are explanatory, rational, and objective. 18 | 19 | There are many misconceptions about where scientific theories are derived from. A popular one is [[Empiricism]], that we derive theories from our senses. Another is [[Inductivism]], that the future will resemble the past. [[Testability]] is also generally accepted as a defining characteristic of the scientific method. All of these are wrong - there are many examples of valid theories that violate them. In reality, theories are a form of knowledge and thus born from [[Conjecture]] and honed through [[Criticism]]. Not all theories can be tested. Instead, they can only be evaluated by whether or not they're [[Good Explanation]]s. 20 | 21 | [[Good Explanation]]s objectively differ from [[Bad Explanation]]s because they are [[Hard to vary]]. Explanations are inherently error prone (see [[Fallibilism]]) which is why we need [[Criticism]] and [[Error Correction]]. Explanations can have unbounded [[Reach]] (i.e. apply to solve unforeseen problems). 22 | 23 | All [[Problems]] can be solved with the right explanations limited only by the laws of nature. However the search for [[Explanation]]s will create new problems. Hence problems are inevitable. 24 | 25 | Once those explanations are recorded somewhere they become [[Knowledge]]. For billions of years [[Knowledge Creation]] was limited to our biological [[Evolution]], slow and random changes over time inscribed in our DNA. Then 7,000 years ago we invented language, 5,000 years ago writing, 582 years ago printing-presses, and very recently computers and hard-drives. Each stage has been a step change in the rate of knowledge creation, especially the jump from biological evolution to the thoughts of [[People]]. 26 | 27 | [[Explanation]]s are a form of information, and information can only be processed in basically one way, with [[Universal Computation]] of the kind invented by Babbage and Turing. 28 | 29 | A [[Universal System]] is one capable of representing all states. Our DNA was the first known universal system. With a combination of ATG and C you can encode a chicken or a T-Rex. Jumps from non-universal to universal systems are the milestones on the road of human progress. For example moving from hieroglyphics to the alphabet, or from tally systems to the Indian numeral system. In each case we upgraded from an inefficient and unscalable system, where each step was customized, to an efficient scalable universal system, leapfrogging human progress. 30 | 31 | Universal Systems have [[Reach]], unintended potential. For example the computer in your washing machine could, given enough memory and time, do astrophysics calculations. Oddly most jumps to [[Universality]] have been accidents. Only since the [[Enlightenment]] has their significance been understood and sought after. 32 | 33 | Both the [[Principle of Mediocrity]] (we are nothing special in this universe) and [[Spaceship Earth]] (Earth provides the ideal environment for us) are mistaken. Earth no more provides us with a life-support system than it supplies us with radio telescopes. And [[People]], as [[Universal Explainers]], can have a cosmically sized impact upon the universe. 34 | 35 | [[Knowledge]] creating entities (aka [[People]]) can exist almost anywhere in the universe. With the right knowledge [[People]] could feasibly create an ideally suited environment in an empty area of space by hoovering up and transmuting hydrogen atoms into a space-station. 36 | 37 | [[Technology]], once created, is automatic. We will not have to think about vacuums or the complexities around surviving in space (the same way you don't think about your house's insulation). 38 | 39 | Biological [[Evolution]] was a precursor to the main story of evolution, the unbounded evolution of [[Memes]]: ideas that cause themselves to replicate (aka [[Replicators]]). In many ways memes are analogous to genes, but there are also profound differences in the way they evolve. 40 | 41 | Think of [[Memes]] as any ideas that are passed between lots of people. For example, a language, scientific theory, or religious belief are all memes. Memes have to be actively replicated to survive (i.e. spoken or written and distributed). A [[Rational Meme]] is a [[Good Explanation]] that relies on the recipient's critical faculties to cause itself to be replicated. An [[Anti-rational Meme]] is a [[Bad Explanation]] and invariably relies on hijacking base emotions for replication (tapping into fear or anger). A collection of [[Memes]] forms a [[Culture]]. 42 | 43 | Deustsch defines [[Optimism]] as the theory that all failures are due to lack of [[Knowledge]]. That doesn't mean proceeding as if there won't be bad outcomes (since problems are inevitable) - he calls that [[Blind Optimism]]. In contrast [[Blind Pessimism]] is avoiding everything not known to be safe. 44 | 45 | [[Dynamic Societies]] tend towards [[Optimism]] and [[Rational Meme]]s. Because they embody the principles of the [[Enlightenment]] they make rapid progress. [[Static Societies]] fear change, are dominated by [[Anti-rational Meme]]s, and stifle [[Conjecture]] and [[Criticism]]. 46 | 47 | There are no mathematically provably fair forms of [[Governing]] and therefore the most important aspect to get right is to be able to remove leaders (see [[Criticism]] and [[Error Correction]]) when necessary. 48 | 49 | Humanity was never sustainable. It is a myth that there ever was a time of tranquility where we lived peacefully at one with nature and each other. Existence was absolutely brutal until very recently. And eventually, unless we choose otherwise, we will be wiped out by an extinction event. Only by creating the right [[Knowledge]] can we be saved. 50 | 51 | We should not use (the semblance of) [[Sustainability]] as an aspiration or a constraint on planning. For example, we shouldn't just try and solve the 'human' part of global warming. If the earth goes into a new ice-age, or warms dangerously, we should solve that regardless of how much of the problem is man-made or not. 52 | 53 | Since all problems can be solved with the right [[Knowledge]] and we humans, as [[Universal Explainers]], have the potential to obtain any knowledge, we can have a cosmically sized impact upon the universe. Not only can we survive, but we can explore, learn, and thrive throughout our galaxy and more. If we so choose. 54 | -------------------------------------------------------------------------------- /notes/Principle of Mediocrity.md: -------------------------------------------------------------------------------- 1 | # Principle of Mediocrity 2 | 3 | The misconception that there is nothing significant about humans (cosmically speaking) and anything claiming the opposite (e.g. sun revolves around the earth) is wrong. 4 | 5 | While this philosophy has been a useful rule of thumb to refute [[Anthropocentric]] explanations of the universe it is ultimately wrong because humans are [[Knowledge]] creating [[People]] (thus have infinite potential). -------------------------------------------------------------------------------- /notes/Problems.md: -------------------------------------------------------------------------------- 1 | # Problems 2 | 3 | Problems are inevitable because the search for [[Good Explanation]]s will create new problems and our [[Knowledge]] will always be incomplete. 4 | 5 | Some problems are hard, but it is a mistake to confuse hard problems with problems that can't be solved. 6 | 7 | All problems are soluble given the right knowledge, limited only by the laws of physics. 8 | 9 | Edison famously said that genius is 1% inspiration and 99% perspiration. But once a problem has been solved and a [[Technology]] created, the perspiration aspect is automated. 10 | 11 | -------------------------------------------------------------------------------- /notes/Progress.md: -------------------------------------------------------------------------------- 1 | # Progress 2 | 3 | We have made virtually no progress over the vast majority of human history. Our species has existed for 200,000 years and for the vast majority of that time, people were alive, they were thinking, they were suffering, and they wanted things. But nothing ever improved. The improvements that did happen happened so slowly that archaeologists can’t distinguish between artifacts from eras separated by thousands of years. 4 | 5 | Then there was slow improvement, and then faster improvement. Then there were attempts to institutionalize a tradition of [[Criticism]], which is the key to rapid progress—that is, progress discernible in a human lifetime—and there was also [[Error Correction]], so that regression was less likely. That happened several times and failed every time except once—in the European [[Enlightenment]] of the seventeenth and eighteenth centuries. 6 | 7 | For almost the whole of human existence we had the ability to be creative and make progress yet we didn't. Why? Because our culture was wrong. It wasn't our fault. Cultural evolution has a nasty tendency to suppress the growth of what we would consider science or anything important that would improve their lives. But it is entirely possible this static purgatory could happen again. Nothing can prevent it except our working to prevent it. 8 | 9 | See also: 10 | 11 | - [[Static Societies]] 12 | - [[Dynamic Societies]] -------------------------------------------------------------------------------- /notes/Qualia.md: -------------------------------------------------------------------------------- 1 | # Qualia 2 | 3 | The subjective aspect of a sensation (e.g. Consciousness). -------------------------------------------------------------------------------- /notes/Rational Meme.md: -------------------------------------------------------------------------------- 1 | # Rational Memes 2 | 3 | An idea that relies on the recipients’ critical faculties to cause itself to be replicated. 4 | 5 | -------------------------------------------------------------------------------- /notes/Reach.md: -------------------------------------------------------------------------------- 1 | # Reach 2 | 3 | The ability of some explanations to solve problems beyond those that they were created to solve. -------------------------------------------------------------------------------- /notes/Replicators.md: -------------------------------------------------------------------------------- 1 | # Replicators 2 | 3 | An entity that contributes causally to its own copying. 4 | 5 | Ideas are a type of replicator. For example a convincing religion, or a good joke, cause themselves to get replicated. We call this category of replicators [[Memes]]. 6 | -------------------------------------------------------------------------------- /notes/Science.md: -------------------------------------------------------------------------------- 1 | # Science 2 | 3 | Science is the practice of finding good [[Explanation]]s. 4 | 5 | Science is a way of dealing with theories regardless of whether or not one believes them. They are judged according to whether or not they’re good explanations. And if a particular explanation ends up being the only explanation that survives the intense criticism that reason and science can apply, then it’s not so much adopted at that point as just not discarded. It has survived for the moment. 6 | 7 | There is a common misconception that science reduces to what is testable. Although much of science consists of testable theories, testability is not a requirement. Rather we should look at if a theory is a [[Good Explanation]]. 8 | 9 | The is also another common misconception that there exists a bright line between science and every other discipline where we purport to describe reality (e.g. philosophy). But ultimately they're all disciplines looking to find [[Good Explanation]]s. -------------------------------------------------------------------------------- /notes/Spaceship Earth.md: -------------------------------------------------------------------------------- 1 | # Spaceship Earth 2 | 3 | The misconception that the earth is a unique biosphere that humans are limited to, and that nature readily presents us with all our needs (food, shelter, water, etc). 4 | 5 | In reality earth never had our priorities in mind. Since the earliest times we had to create technology to survive. Even today, without such technology, we would only survive a few hours in say Oxford's winter. 6 | 7 | So you are already an astronaut. Your condition is as precarious as that of the people in a well-established colony on Mars who can take certain technological advances for granted. And there’s no reason to think that such a future beyond Earth does't await us, barring some catastrophe, whether of our own making or not. 8 | 9 | [[Technology]], once created, is automatic. We don't have to think about it. Take your shirt for instance. Once fabricated it warms you ever-day; it's not something you have to configure every morning or devote any mental energy towards. 10 | 11 | The reality is, with the right knowledge, we could survive in almost any part of the universe. Not only survive, but thrive, creating a beautiful environment perfectly tailored to our requirements. 12 | 13 | Even in completely empty areas of space we could feasibly build a space-station by hoovering up hydrogen atoms (which sprinkle the universe), transmuting them into the materials we'd need. 14 | 15 | Such space-stations could then perform experiments based on the physics of the area and the 'evidence' streaming in from starlight, creating more [[Knowledge]] and expanding [[People]]'s impact on the universe. 16 | 17 | -------------------------------------------------------------------------------- /notes/Static Societies.md: -------------------------------------------------------------------------------- 1 | # Static Societies 2 | 3 | One whose changes happen on a timescale longer than its members can notice. Such cultures are dominated by anti-rational memes. 4 | 5 | See also: 6 | - [[Dynamic Societies]] 7 | - [[Rational Meme]] 8 | - [[Anti-rational Meme]] 9 | -------------------------------------------------------------------------------- /notes/Sustainability.md: -------------------------------------------------------------------------------- 1 | # Sustainability 2 | 3 | The term has two almost opposite, but often confused, meanings: to provide someone with what they need, and to prevent things from changing. 4 | 5 | Homo-sapiens was never sustainable. No species is - 99% of them have gone extinct. Eventually the human-race will be, unless we choose otherwise, wiped out by some ice age, a meteor, a supernova, etc. 6 | 7 | The idea that we can harken back to some prehistoric time where life was sustainable and we all lived in tranquility like hobbits isn’t grounded in reality. Only [[Knowledge]] can save us. Only [[Progress]] is sustainable. 8 | 9 | -------------------------------------------------------------------------------- /notes/Technology.md: -------------------------------------------------------------------------------- 1 | # Technology 2 | Everything humans have created is a form of technology. This ranges from laptops, to shirts, to windows. 3 | 4 | Once technology is created the use of it can be automated. For example, you don't have to think about your shirt every morning for it to keep you warm. 5 | 6 | This automation extends all the way to extremely complex technologies like keeping the vacuum out of space-stations. Set it and forget it. 7 | 8 | See also: 9 | - [[Spaceship Earth]] -------------------------------------------------------------------------------- /notes/Testability.md: -------------------------------------------------------------------------------- 1 | # Testability 2 | 3 | Testability is now generally accepted as the defining characteristic of the scientific method. Popper called it the ‘criterion of demarcation’ between science and non-science. Nevertheless, testability cannot have been the decisive factor in the scientific revolution either. Contrary to what is often said, testable predictions had always been quite common. Every traditional rule of thumb for making a flint blade or a camp fire is testable. Every would-be prophet who claims that the sun will go out next Tuesday has a testable theory. So does every gambler who has a hunch that ‘this is my lucky night – I can feel it’. So what is the vital, progress-enabling ingredient that is present in science, but absent from the testable theories of the prophet and the gambler? The reason that testability is not enough is that prediction is not, and cannot be, the purpose of science. 4 | 5 | -------------------------------------------------------------------------------- /notes/Universal Computation.md: -------------------------------------------------------------------------------- 1 | # Universal Computation 2 | Anything that can be written down as a program can be computed given the right memory and enough time. 3 | 4 | [[Explanation]]s are a form of information, and information can only be processed in basically one way—with computation of the kind invented by Babbage and Turing. 5 | 6 | Computers are universal, in the sense that given the right program, they can perform any transformation of information whatsoever, including the creation of explanations and other knowledge. 7 | 8 | Now, there are only two possible limitations to that. One is the lack of computer memory (i.e. of information-storage capacity) and the other is the lack of speed (or the lack of time). 9 | 10 | We've been improving our memory capacity and our speed of computation for thousands of years with the invention of things like writing, writing implements, even language itself, which enables more than one person to work on the same problem and coordinate their understanding of it. Nowadays, we use computers, and in the future we can use computer implants and so on. 11 | 12 | See also: 13 | - [[Universal System]] 14 | 15 | 16 | -------------------------------------------------------------------------------- /notes/Universal Constructor.md: -------------------------------------------------------------------------------- 1 | # Universal Constructor 2 | 3 | A constructor that can cause any raw materials to undergo any physically possible transformation, given the right information. 4 | -------------------------------------------------------------------------------- /notes/Universal Explainers.md: -------------------------------------------------------------------------------- 1 | # Universal Explainers 2 | 3 | The only uniquely significant thing about humans vs other animals is our ability to create new explanations. We are universal explainers. 4 | 5 | In other words there is no problem that cannot, with sufficient [[Knowledge]], be explained by a human. 6 | 7 | See also: 8 | - [[Universal Constructor]] 9 | - [[People]] -------------------------------------------------------------------------------- /notes/Universal System.md: -------------------------------------------------------------------------------- 1 | # Universal System 2 | A system that is capable of representing all states. 3 | 4 | The first universal system we know of was DNA. We still don't understand its universal nature, but with it you can encode a chicken or a T-Rex. 5 | 6 | Both brains and computers are universal systems. 7 | 8 | Examples of none-universal systems: 9 | - Hieroglyphics 10 | - Tally systems (tallying is universal only if digital) 11 | - Roman numerals 12 | 13 | Examples of universal systems: 14 | - Indian numeric system (0-9) 15 | - Alphabet 16 | - DNA (ATGC) 17 | - Computers (binary) 18 | 19 | See also: 20 | 21 | - [[Jump to Universality]] -------------------------------------------------------------------------------- /notes/Universality.md: -------------------------------------------------------------------------------- 1 | # Universality 2 | Representation of every possible state. 3 | 4 | See also: 5 | - [[Universal System]] 6 | - [[Jump to Universality]] 7 | - [[Universal Computation]] -------------------------------------------------------------------------------- /notes/Unsustainable.md: -------------------------------------------------------------------------------- 1 | # Unsustainable 2 | 3 | A practice or lifestyle that cannot able to be maintained at the current rate or level. Often used in an environmental context: e.g. human population growth is not sustainable. 4 | 5 | In practice, nothing is sustainable. Problems are inevitable and eventually one big enough will come along to prevent you from sustaining an existing course of action. 6 | 7 | For example, it doesn't matter how 'green' the dinosaurs were, that they didn't burn fossil fuels, or massively grow their population. Eventually an astroid wiped them out because they didn't create sufficient technology to prevent it happening. 8 | 9 | [[Static Societies]], such as the inhabitants of Easter Island, eventually fail not because they use up all their resources, but because they fail to create the [[Knowledge]] to solve their problems and save themselves. 10 | 11 | In other words, the only way to keep riding this wave of unsustainability is by creating more [[Knowledge]] to solve our problems. 12 | 13 | See also: 14 | 15 | - [[Sustainability]] 16 | - [[Wealth]] -------------------------------------------------------------------------------- /notes/Wealth.md: -------------------------------------------------------------------------------- 1 | # Wealth 2 | 3 | The repertoire of physical transformations that one is capable of causing. 4 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "beginning-of-infinity", 3 | "private": true, 4 | "scripts": { 5 | "dev": "next dev", 6 | "build": "next build", 7 | "start": "next start", 8 | "lint": "next lint" 9 | }, 10 | "dependencies": { 11 | "@headlessui/react": "^1.4.3", 12 | "@popperjs/core": "^2.11.5", 13 | "clsx": "^1.1.1", 14 | "front-matter": "^4.0.2", 15 | "lodash": "^4.17.21", 16 | "marked": "^4.0.12", 17 | "next": "12.0.10", 18 | "react": "17.0.2", 19 | "react-dom": "17.0.2", 20 | "react-popper": "^2.3.0" 21 | }, 22 | "devDependencies": { 23 | "@tailwindcss/typography": "^0.5.2", 24 | "@types/lodash": "^4.14.178", 25 | "@types/marked": "^4.0.2", 26 | "@types/node": "17.0.18", 27 | "@types/react": "17.0.39", 28 | "@types/react-dom": "^17.0.11", 29 | "autoprefixer": "^10.4.2", 30 | "eslint": "8.9.0", 31 | "eslint-config-next": "12.0.10", 32 | "postcss": "^8.4.6", 33 | "tailwindcss": "^3.0.22", 34 | "typescript": "4.5.5" 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /pages/[...paths].tsx: -------------------------------------------------------------------------------- 1 | import {Header} from 'app/components/header' 2 | import {Layout} from 'app/components/layout' 3 | import {Notes} from 'app/components/notes' 4 | import {castArray} from 'app/helpers/array' 5 | import {Note} from 'app/interfaces/note' 6 | import type {GetServerSideProps, NextPage} from 'next' 7 | import {getHydratedNote as getNote} from 'server/helpers/notes' 8 | 9 | export const getServerSideProps: GetServerSideProps = async (context) => { 10 | const path = castArray(context.query.paths || []).join('/') 11 | const stackedPaths = castArray(context.query.stacked || []) 12 | const notes = await Promise.all([path, ...stackedPaths].map(getNote)) 13 | const initialNotes = notes.filter((note) => note) 14 | 15 | return { 16 | props: {initialNotes}, 17 | } 18 | } 19 | 20 | const NotesShow: NextPage<{initialNotes: Note[]}> = ({initialNotes}) => { 21 | return ( 22 | 23 |
    24 | 25 | 26 | ) 27 | } 28 | 29 | export default NotesShow 30 | -------------------------------------------------------------------------------- /pages/_app.tsx: -------------------------------------------------------------------------------- 1 | import '../styles/globals.css' 2 | import type {AppProps} from 'next/app' 3 | import Head from 'next/head' 4 | 5 | function MyApp({Component, pageProps}: AppProps) { 6 | return ( 7 | <> 8 | 9 | The Beginning of Infinity 10 | 11 | 15 | 19 | 20 | 21 | 22 | 23 | 24 | 28 | 29 | 33 | 34 | 35 | 36 | ) 37 | } 38 | 39 | export default MyApp 40 | -------------------------------------------------------------------------------- /pages/_document.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import Document, {Html, Head, Main, NextScript, DocumentContext} from 'next/document' 3 | 4 | class MyDocument extends Document { 5 | static async getInitialProps(ctx: DocumentContext) { 6 | const initialProps = await Document.getInitialProps(ctx) 7 | return {...initialProps} 8 | } 9 | 10 | render() { 11 | return ( 12 | 13 | 14 | 18 | 19 | 20 | 21 |
    22 | 23 | 24 | 25 | ) 26 | } 27 | } 28 | 29 | export default MyDocument 30 | -------------------------------------------------------------------------------- /pages/api/note.ts: -------------------------------------------------------------------------------- 1 | import {Note} from 'app/interfaces/note' 2 | import type {NextApiRequest, NextApiResponse} from 'next' 3 | import {getHydratedNote as getNote} from 'server/helpers/notes' 4 | 5 | interface ErrorResponse { 6 | error: { 7 | message: string 8 | } 9 | } 10 | 11 | export default async function handler( 12 | req: NextApiRequest, 13 | res: NextApiResponse, 14 | ) { 15 | const path = req.query.path as string | undefined 16 | 17 | if (!path) { 18 | return res.status(404).json({error: {message: 'path not supplied'}}) 19 | } 20 | 21 | const note = await getNote(path) 22 | 23 | if (note) { 24 | res.setHeader('Cache-Control', `max-age=0, s-maxage=${86400}`) 25 | 26 | res.status(200).json(note) 27 | } else { 28 | res.status(404).json({error: {message: 'unknown note'}}) 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /pages/index.tsx: -------------------------------------------------------------------------------- 1 | import {Header} from 'app/components/header' 2 | import {Layout} from 'app/components/layout' 3 | import {Notes} from 'app/components/notes' 4 | import {Note, NOTE_INDEX_NAME} from 'app/interfaces/note' 5 | import type {GetStaticProps, NextPage} from 'next' 6 | import {getNote} from 'server/helpers/notes' 7 | 8 | export const getStaticProps: GetStaticProps = async (context) => { 9 | const notes = [await getNote(NOTE_INDEX_NAME)] 10 | 11 | return { 12 | props: {notes}, 13 | } 14 | } 15 | 16 | const IndexPage: NextPage<{notes: Note[]}> = ({notes}) => { 17 | return ( 18 | 19 |
    20 | 21 | 22 | ) 23 | } 24 | 25 | export default IndexPage 26 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/team-reflect/beginning-of-infinity/ff9b4807128541ca205c261f9cec23df9b90ac0f/public/favicon.ico -------------------------------------------------------------------------------- /public/twitter-card.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/team-reflect/beginning-of-infinity/ff9b4807128541ca205c261f9cec23df9b90ac0f/public/twitter-card.png -------------------------------------------------------------------------------- /public/twitter-summary-card.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/team-reflect/beginning-of-infinity/ff9b4807128541ca205c261f9cec23df9b90ac0f/public/twitter-summary-card.png -------------------------------------------------------------------------------- /server/helpers/notes-cache.ts: -------------------------------------------------------------------------------- 1 | import {Note} from 'app/interfaces/note' 2 | import {getNotes as uncachedGetNotes} from 'server/helpers/notes' 3 | 4 | let notes: Note[] = [] 5 | 6 | export const getNotes = async () => { 7 | if (!notes.length) { 8 | notes = await uncachedGetNotes() 9 | } 10 | 11 | return notes 12 | } 13 | 14 | export const getNote = async (path: string) => { 15 | const notes = await getNotes() 16 | 17 | return notes.find((note) => note.path === path) 18 | } 19 | -------------------------------------------------------------------------------- /server/helpers/notes.ts: -------------------------------------------------------------------------------- 1 | import fs from 'fs/promises' 2 | import path from 'path' 3 | import parseFrontMatter from 'front-matter' 4 | import {Note, NotePreview, NOTE_INDEX_NAME} from 'app/interfaces/note' 5 | 6 | const notesPath = path.join(process.cwd(), 'notes') 7 | 8 | export const getNotes = async () => { 9 | const dir = await fs.readdir(notesPath) 10 | 11 | const noteNames = dir 12 | .filter((name) => name.endsWith('.md')) 13 | .map((name) => name.replace('.md', '')) 14 | 15 | return Promise.all(noteNames.map((name) => readNote(name))) 16 | } 17 | 18 | const readNote = async (name: string): Promise => { 19 | const escapedName = path.basename(name) 20 | 21 | const file = await fs.readFile(path.join(notesPath, escapedName + '.md'), 'utf8') 22 | 23 | const {attributes, body} = parseFrontMatter<{ 24 | title: string | undefined 25 | snippet: string | undefined 26 | }>(file.toString()) 27 | 28 | return { 29 | path: name, 30 | title: attributes?.title || name, 31 | snippet: attributes?.snippet || markdownToSnippet(body), 32 | markdown: body, 33 | linkedFromNotes: [], 34 | } 35 | } 36 | 37 | const markdownToSnippet = (markdown: string): string => { 38 | return markdown 39 | .replace(/^#.+/g, '') 40 | .split('\n') 41 | .filter((l) => l.trim()) 42 | .slice(0, 2) 43 | .join(' ') 44 | } 45 | 46 | const noteToNotePreview = (note: Note): NotePreview => { 47 | return { 48 | path: note.path, 49 | title: note.title, 50 | snippet: markdownToSnippet(note.markdown), 51 | } 52 | } 53 | 54 | export const getHydratedNote = async (name: string): Promise => { 55 | const allNotes = await getNotes() 56 | const note = allNotes.find((n) => n.path === name) 57 | 58 | if (!note) return null 59 | 60 | const linkedFromNotes = allNotes 61 | .filter((n) => n != note && n.path != NOTE_INDEX_NAME) 62 | .filter((n) => n.markdown.includes(`[[${name}]]`)) 63 | .map(noteToNotePreview) 64 | 65 | return { 66 | ...note, 67 | linkedFromNotes, 68 | } 69 | } 70 | 71 | export const getNote = async (name: string): Promise => { 72 | try { 73 | return await readNote(name) 74 | } catch (error) { 75 | console.error(error) 76 | return null 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /styles/globals.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | 5 | html, 6 | body { 7 | padding: 0; 8 | margin: 0; 9 | font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, 10 | Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; 11 | } 12 | 13 | a { 14 | color: inherit; 15 | text-decoration: none; 16 | } 17 | 18 | * { 19 | box-sizing: border-box; 20 | } 21 | 22 | .note-preview-popover { 23 | @apply hidden sm:block absolute rounded-md max-w-[420px] ring-1 ring-gray-200 ring-opacity-50 bg-white px-5 py-4; 24 | 25 | filter: drop-shadow(0 -5px 10px rgb(0 0 0 / 0.08)) 26 | drop-shadow(0 10px 10px rgb(0 0 0 / 0.1)); 27 | } 28 | 29 | .note-preview-popover-arrow, 30 | .note-preview-popover-arrow::before { 31 | position: absolute; 32 | width: 22px; 33 | height: 22px; 34 | background: inherit; 35 | } 36 | 37 | .note-preview-popover[data-popper-placement^='top'] > .note-preview-popover-arrow { 38 | bottom: -4px; 39 | } 40 | 41 | .note-preview-popover[data-popper-placement^='bottom'] > .note-preview-popover-arrow { 42 | top: -4px; 43 | } 44 | 45 | .note-preview-popover[data-popper-placement^='left'] > .note-preview-popover-arrow { 46 | right: -4px; 47 | } 48 | 49 | .note-preview-popover[data-popper-placement^='right'] > .note-preview-popover-arrow { 50 | left: -4px; 51 | } 52 | 53 | .note-preview-popover-arrow { 54 | visibility: hidden; 55 | } 56 | 57 | .note-preview-popover-arrow::before { 58 | visibility: visible; 59 | content: ''; 60 | transform: rotate(45deg); 61 | } 62 | -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | const plugin = require('tailwindcss/plugin') 2 | 3 | module.exports = { 4 | content: ['./app/**/*.{js,ts,jsx,tsx}'], 5 | theme: { 6 | extend: { 7 | boxShadow: { 8 | 'left-xl': '-20px 0px 25px -5px rgb(0 0 0 / 0.05)', 9 | }, 10 | 11 | typography: ({theme}) => ({ 12 | DEFAULT: { 13 | css: { 14 | h1: { 15 | fontSize: '1.4rem', 16 | fontWeight: 500, 17 | }, 18 | 19 | h2: { 20 | fontSize: '1.1rem', 21 | fontWeight: 500, 22 | }, 23 | 24 | hr: { 25 | margin: '1.5rem 0', 26 | }, 27 | 28 | '--tw-prose-hr': theme('colors.gray[100]'), 29 | '--tw-prose-links': theme('colors.gray[600]'), 30 | }, 31 | }, 32 | 33 | sm: { 34 | css: { 35 | h1: { 36 | fontSize: '1rem', 37 | fontWeight: 500, 38 | }, 39 | }, 40 | }, 41 | }), 42 | }, 43 | }, 44 | plugins: [ 45 | require('@tailwindcss/typography'), 46 | plugin(function ({addUtilities}) { 47 | addUtilities({ 48 | '.writing-vertical': { 49 | writingMode: 'vertical-lr', 50 | }, 51 | }) 52 | }), 53 | ], 54 | } 55 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": ".", 4 | "target": "es5", 5 | "lib": ["dom", "dom.iterable", "esnext"], 6 | "allowJs": true, 7 | "skipLibCheck": true, 8 | "strict": true, 9 | "forceConsistentCasingInFileNames": true, 10 | "noEmit": true, 11 | "esModuleInterop": true, 12 | "module": "esnext", 13 | "moduleResolution": "node", 14 | "resolveJsonModule": true, 15 | "isolatedModules": true, 16 | "jsx": "preserve", 17 | "incremental": true 18 | }, 19 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], 20 | "exclude": ["node_modules"] 21 | } 22 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@^7.0.0": 6 | version "7.16.7" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" 8 | integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== 9 | dependencies: 10 | "@babel/highlight" "^7.16.7" 11 | 12 | "@babel/helper-validator-identifier@^7.16.7": 13 | version "7.16.7" 14 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" 15 | integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== 16 | 17 | "@babel/highlight@^7.16.7": 18 | version "7.16.10" 19 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" 20 | integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw== 21 | dependencies: 22 | "@babel/helper-validator-identifier" "^7.16.7" 23 | chalk "^2.0.0" 24 | js-tokens "^4.0.0" 25 | 26 | "@babel/runtime-corejs3@^7.10.2": 27 | version "7.17.2" 28 | resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.17.2.tgz#fdca2cd05fba63388babe85d349b6801b008fd13" 29 | integrity sha512-NcKtr2epxfIrNM4VOmPKO46TvDMCBhgi2CrSHaEarrz+Plk2K5r9QemmOFTGpZaoKnWoGH5MO+CzeRsih/Fcgg== 30 | dependencies: 31 | core-js-pure "^3.20.2" 32 | regenerator-runtime "^0.13.4" 33 | 34 | "@babel/runtime@^7.10.2", "@babel/runtime@^7.16.3": 35 | version "7.17.2" 36 | resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.2.tgz#66f68591605e59da47523c631416b18508779941" 37 | integrity sha512-hzeyJyMA1YGdJTuWU0e/j4wKXrU4OMFvY2MSlaI9B7VQb0r5cxTE3EAIS2Q7Tn2RIcDkRvTA/v2JsAEhxe99uw== 38 | dependencies: 39 | regenerator-runtime "^0.13.4" 40 | 41 | "@eslint/eslintrc@^1.1.0": 42 | version "1.1.0" 43 | resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.1.0.tgz#583d12dbec5d4f22f333f9669f7d0b7c7815b4d3" 44 | integrity sha512-C1DfL7XX4nPqGd6jcP01W9pVM1HYCuUkFk1432D7F0v3JSlUIeOYn9oCoi3eoLZ+iwBSb29BMFxxny0YrrEZqg== 45 | dependencies: 46 | ajv "^6.12.4" 47 | debug "^4.3.2" 48 | espree "^9.3.1" 49 | globals "^13.9.0" 50 | ignore "^4.0.6" 51 | import-fresh "^3.2.1" 52 | js-yaml "^4.1.0" 53 | minimatch "^3.0.4" 54 | strip-json-comments "^3.1.1" 55 | 56 | "@headlessui/react@^1.4.3": 57 | version "1.4.3" 58 | resolved "https://registry.yarnpkg.com/@headlessui/react/-/react-1.4.3.tgz#f77c6bb5cb4a614a5d730fb880cab502d48abf37" 59 | integrity sha512-n2IQkaaw0aAAlQS5MEXsM4uRK+w18CrM72EqnGRl/UBOQeQajad8oiKXR9Nk15jOzTFQjpxzrZMf1NxHidFBiw== 60 | 61 | "@humanwhocodes/config-array@^0.9.2": 62 | version "0.9.3" 63 | resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.3.tgz#f2564c744b387775b436418491f15fce6601f63e" 64 | integrity sha512-3xSMlXHh03hCcCmFc0rbKp3Ivt2PFEJnQUJDDMTJQ2wkECZWdq4GePs2ctc5H8zV+cHPaq8k2vU8mrQjA6iHdQ== 65 | dependencies: 66 | "@humanwhocodes/object-schema" "^1.2.1" 67 | debug "^4.1.1" 68 | minimatch "^3.0.4" 69 | 70 | "@humanwhocodes/object-schema@^1.2.1": 71 | version "1.2.1" 72 | resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" 73 | integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== 74 | 75 | "@next/env@12.0.10": 76 | version "12.0.10" 77 | resolved "https://registry.yarnpkg.com/@next/env/-/env-12.0.10.tgz#561640fd62279218ccd2798ae907bae8d94a7730" 78 | integrity sha512-mQVj0K6wQ5WEk/sL9SZ+mJXJUaG7el8CpZ6io1uFe9GgNTSC7EgUyNGqM6IQovIFc5ukF4O/hqsdh3S/DCgT2g== 79 | 80 | "@next/eslint-plugin-next@12.0.10": 81 | version "12.0.10" 82 | resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-12.0.10.tgz#521ab5d05a89e818528668df8a3edb8f9df2c547" 83 | integrity sha512-PbGRnV5HGSfRGLjf8uTh1MaWgLwnjKjWiGVjK752ifITJbZ28/5AmLAFT2shDYeux8BHgpgVll5QXu7GN3YLFw== 84 | dependencies: 85 | glob "7.1.7" 86 | 87 | "@next/swc-android-arm64@12.0.10": 88 | version "12.0.10" 89 | resolved "https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-12.0.10.tgz#fd9d716433cc9d361021b0052f8b002bcaff948d" 90 | integrity sha512-xYwXGkNhzZZsM5MD7KRwF5ZNiC8OLPtVMUiagpPnwENg8Hb0GSQo/NbYWXM8YrawEwp9LaZ7OXiuRKPh2JyBdA== 91 | 92 | "@next/swc-darwin-arm64@12.0.10": 93 | version "12.0.10" 94 | resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.0.10.tgz#34b2d0dc62eb89efb9176af111e3820a11fdb3f0" 95 | integrity sha512-f2zngulkpIJKWHckhRi7X8GZ+J/tNgFF7lYIh7Qx15JH0OTBsjkqxORlkzy+VZyHJ5sWTCaI6HYYd3ow6qkEEg== 96 | 97 | "@next/swc-darwin-x64@12.0.10": 98 | version "12.0.10" 99 | resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-12.0.10.tgz#a4306795159293c7d4d58a2c88ce1710ff0a8baa" 100 | integrity sha512-Qykcu/gVC5oTvOQoRBhyuS5GYm5SbcgrFTsaLFkGBmEkg9eMQRiaCswk4IafpDXVzITkVFurzSM28q3tLW2qUw== 101 | 102 | "@next/swc-linux-arm-gnueabihf@12.0.10": 103 | version "12.0.10" 104 | resolved "https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.0.10.tgz#1ad15af3d5fca2fef57894d61e16f73aee61ec2e" 105 | integrity sha512-EhqrTFsIXAXN9B/fiiW/QKUK/lSLCXRsLalkUp58KDfMqVLLlj1ORbESAcswiNQOChLuHQSldGEEtOBPQZcd9A== 106 | 107 | "@next/swc-linux-arm64-gnu@12.0.10": 108 | version "12.0.10" 109 | resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.0.10.tgz#a84a92d0e1a179c4346c9ed8f22e26f708101ad6" 110 | integrity sha512-kqGtC72g3+JYXZbY2ca6digXR5U6AQ6Dzv4eAxYluMePLHjI/Xye1mf9dwVsgmeXfrD/IRDp5K/3A6UNvBm4oQ== 111 | 112 | "@next/swc-linux-arm64-musl@12.0.10": 113 | version "12.0.10" 114 | resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.0.10.tgz#973ec96c77f845bd0a6eecbf1892caa1ee4defaf" 115 | integrity sha512-bG9zTSNwnSgc1Un/7oz1ZVN4UeXsTWrsQhAGWU78lLLCn4Zj9HQoUCRCGLt0OVs2DBZ+WC8CzzFliQ1SKipVbg== 116 | 117 | "@next/swc-linux-x64-gnu@12.0.10": 118 | version "12.0.10" 119 | resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.0.10.tgz#efcc7f8252ea8225834760eaf09350f1bead73f7" 120 | integrity sha512-c79PcfWtyThiYRa1+3KVfDq0zXaI8o1d6dQWNVqDrtLz5HKM/rbjLdvoNuxDwUeZhxI/d9CtyH6GbuKPw5l/5A== 121 | 122 | "@next/swc-linux-x64-musl@12.0.10": 123 | version "12.0.10" 124 | resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.0.10.tgz#c2a73d939dfd310acc1892a0a132762500dd5757" 125 | integrity sha512-g/scgn+21/MLfizOCZOZt+MxNj2/8Tdlwjvy+QZcSUPZRUI2Y5o3HwBvI1f/bSci+NGRU+bUAO0NFtRJ9MzH5w== 126 | 127 | "@next/swc-win32-arm64-msvc@12.0.10": 128 | version "12.0.10" 129 | resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.0.10.tgz#2316af5f612cde1691abdf2571ff40ec32ea3429" 130 | integrity sha512-gl6B/ravwMeY5Nv4Il2/ARYJQ6u+KPRwGMjS1ZrNudIKlNn4YBeXh5A4cIVm+dHaff6/O/lGOa5/SUYDMZpkww== 131 | 132 | "@next/swc-win32-ia32-msvc@12.0.10": 133 | version "12.0.10" 134 | resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.0.10.tgz#98a4f74d164871cfaccb0df6efddf2b7bcbaa54b" 135 | integrity sha512-7RVpZ3tSThC6j+iZB0CUYmFiA3kXmN+pE7QcfyAxFaflKlaZoWNMKHIEZDuxSJc6YmQ6kyxsjqxVay2F5+/YCg== 136 | 137 | "@next/swc-win32-x64-msvc@12.0.10": 138 | version "12.0.10" 139 | resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.0.10.tgz#5c0ba98b695c4be44d8793aff42971a0dac65c2d" 140 | integrity sha512-oUIWRKd24jFLRWUYO1CZmML5+32BcpVfqhimGaaZIXcOkfQW+iqiAzdqsv688zaGtyKGeB9ZtiK3NDf+Q0v+Vw== 141 | 142 | "@nodelib/fs.scandir@2.1.5": 143 | version "2.1.5" 144 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" 145 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== 146 | dependencies: 147 | "@nodelib/fs.stat" "2.0.5" 148 | run-parallel "^1.1.9" 149 | 150 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": 151 | version "2.0.5" 152 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" 153 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== 154 | 155 | "@nodelib/fs.walk@^1.2.3": 156 | version "1.2.8" 157 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" 158 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== 159 | dependencies: 160 | "@nodelib/fs.scandir" "2.1.5" 161 | fastq "^1.6.0" 162 | 163 | "@popperjs/core@^2.11.5": 164 | version "2.11.5" 165 | resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.5.tgz#db5a11bf66bdab39569719555b0f76e138d7bd64" 166 | integrity sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw== 167 | 168 | "@rushstack/eslint-patch@^1.0.8": 169 | version "1.1.0" 170 | resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.1.0.tgz#7f698254aadf921e48dda8c0a6b304026b8a9323" 171 | integrity sha512-JLo+Y592QzIE+q7Dl2pMUtt4q8SKYI5jDrZxrozEQxnGVOyYE+GWK9eLkwTaeN9DDctlaRAQ3TBmzZ1qdLE30A== 172 | 173 | "@tailwindcss/typography@^0.5.2": 174 | version "0.5.2" 175 | resolved "https://registry.yarnpkg.com/@tailwindcss/typography/-/typography-0.5.2.tgz#24b069dab24d7a2467d01aca0dd432cb4b29f0ee" 176 | integrity sha512-coq8DBABRPFcVhVIk6IbKyyHUt7YTEC/C992tatFB+yEx5WGBQrCgsSFjxHUr8AWXphWckadVJbominEduYBqw== 177 | dependencies: 178 | lodash.castarray "^4.4.0" 179 | lodash.isplainobject "^4.0.6" 180 | lodash.merge "^4.6.2" 181 | 182 | "@types/json5@^0.0.29": 183 | version "0.0.29" 184 | resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" 185 | integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= 186 | 187 | "@types/lodash@^4.14.178": 188 | version "4.14.178" 189 | resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.178.tgz#341f6d2247db528d4a13ddbb374bcdc80406f4f8" 190 | integrity sha512-0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw== 191 | 192 | "@types/marked@^4.0.2": 193 | version "4.0.2" 194 | resolved "https://registry.yarnpkg.com/@types/marked/-/marked-4.0.2.tgz#cb2dbf10da2f41cf20bd91fb5f89b67540c282f7" 195 | integrity sha512-auNrZ/c0w6wsM9DccwVxWHssrMDezHUAXNesdp2RQrCVCyrQbOiSq7yqdJKrUQQpw9VTm7CGYJH2A/YG7jjrjQ== 196 | 197 | "@types/node@17.0.18": 198 | version "17.0.18" 199 | resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.18.tgz#3b4fed5cfb58010e3a2be4b6e74615e4847f1074" 200 | integrity sha512-eKj4f/BsN/qcculZiRSujogjvp5O/k4lOW5m35NopjZM/QwLOR075a8pJW5hD+Rtdm2DaCVPENS6KtSQnUD6BA== 201 | 202 | "@types/parse-json@^4.0.0": 203 | version "4.0.0" 204 | resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" 205 | integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== 206 | 207 | "@types/prop-types@*": 208 | version "15.7.4" 209 | resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.4.tgz#fcf7205c25dff795ee79af1e30da2c9790808f11" 210 | integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ== 211 | 212 | "@types/react-dom@^17.0.11": 213 | version "17.0.11" 214 | resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.11.tgz#e1eadc3c5e86bdb5f7684e00274ae228e7bcc466" 215 | integrity sha512-f96K3k+24RaLGVu/Y2Ng3e1EbZ8/cVJvypZWd7cy0ofCBaf2lcM46xNhycMZ2xGwbBjRql7hOlZ+e2WlJ5MH3Q== 216 | dependencies: 217 | "@types/react" "*" 218 | 219 | "@types/react@*", "@types/react@17.0.39": 220 | version "17.0.39" 221 | resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.39.tgz#d0f4cde092502a6db00a1cded6e6bf2abb7633ce" 222 | integrity sha512-UVavlfAxDd/AgAacMa60Azl7ygyQNRwC/DsHZmKgNvPmRR5p70AJ5Q9EAmL2NWOJmeV+vVUI4IAP7GZrN8h8Ug== 223 | dependencies: 224 | "@types/prop-types" "*" 225 | "@types/scheduler" "*" 226 | csstype "^3.0.2" 227 | 228 | "@types/scheduler@*": 229 | version "0.16.2" 230 | resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" 231 | integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== 232 | 233 | "@typescript-eslint/parser@^5.0.0": 234 | version "5.12.0" 235 | resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.12.0.tgz#0ca669861813df99ce54916f66f524c625ed2434" 236 | integrity sha512-MfSwg9JMBojMUoGjUmX+D2stoQj1CBYTCP0qnnVtu9A+YQXVKNtLjasYh+jozOcrb/wau8TCfWOkQTiOAruBog== 237 | dependencies: 238 | "@typescript-eslint/scope-manager" "5.12.0" 239 | "@typescript-eslint/types" "5.12.0" 240 | "@typescript-eslint/typescript-estree" "5.12.0" 241 | debug "^4.3.2" 242 | 243 | "@typescript-eslint/scope-manager@5.12.0": 244 | version "5.12.0" 245 | resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.12.0.tgz#59619e6e5e2b1ce6cb3948b56014d3a24da83f5e" 246 | integrity sha512-GAMobtIJI8FGf1sLlUWNUm2IOkIjvn7laFWyRx7CLrv6nLBI7su+B7lbStqVlK5NdLvHRFiJo2HhiDF7Ki01WQ== 247 | dependencies: 248 | "@typescript-eslint/types" "5.12.0" 249 | "@typescript-eslint/visitor-keys" "5.12.0" 250 | 251 | "@typescript-eslint/types@5.12.0": 252 | version "5.12.0" 253 | resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.12.0.tgz#5b4030a28222ee01e851836562c07769eecda0b8" 254 | integrity sha512-JowqbwPf93nvf8fZn5XrPGFBdIK8+yx5UEGs2QFAYFI8IWYfrzz+6zqlurGr2ctShMaJxqwsqmra3WXWjH1nRQ== 255 | 256 | "@typescript-eslint/typescript-estree@5.12.0": 257 | version "5.12.0" 258 | resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.12.0.tgz#cabf545fd592722f0e2b4104711e63bf89525cd2" 259 | integrity sha512-Dd9gVeOqt38QHR0BEA8oRaT65WYqPYbIc5tRFQPkfLquVEFPD1HAtbZT98TLBkEcCkvwDYOAvuSvAD9DnQhMfQ== 260 | dependencies: 261 | "@typescript-eslint/types" "5.12.0" 262 | "@typescript-eslint/visitor-keys" "5.12.0" 263 | debug "^4.3.2" 264 | globby "^11.0.4" 265 | is-glob "^4.0.3" 266 | semver "^7.3.5" 267 | tsutils "^3.21.0" 268 | 269 | "@typescript-eslint/visitor-keys@5.12.0": 270 | version "5.12.0" 271 | resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.12.0.tgz#1ac9352ed140b07ba144ebf371b743fdf537ec16" 272 | integrity sha512-cFwTlgnMV6TgezQynx2c/4/tx9Tufbuo9LPzmWqyRC3QC4qTGkAG1C6pBr0/4I10PAI/FlYunI3vJjIcu+ZHMg== 273 | dependencies: 274 | "@typescript-eslint/types" "5.12.0" 275 | eslint-visitor-keys "^3.0.0" 276 | 277 | acorn-jsx@^5.3.1: 278 | version "5.3.2" 279 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" 280 | integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== 281 | 282 | acorn-node@^1.6.1: 283 | version "1.8.2" 284 | resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8" 285 | integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A== 286 | dependencies: 287 | acorn "^7.0.0" 288 | acorn-walk "^7.0.0" 289 | xtend "^4.0.2" 290 | 291 | acorn-walk@^7.0.0: 292 | version "7.2.0" 293 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" 294 | integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== 295 | 296 | acorn@^7.0.0: 297 | version "7.4.1" 298 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" 299 | integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== 300 | 301 | acorn@^8.7.0: 302 | version "8.7.0" 303 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" 304 | integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== 305 | 306 | ajv@^6.10.0, ajv@^6.12.4: 307 | version "6.12.6" 308 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" 309 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== 310 | dependencies: 311 | fast-deep-equal "^3.1.1" 312 | fast-json-stable-stringify "^2.0.0" 313 | json-schema-traverse "^0.4.1" 314 | uri-js "^4.2.2" 315 | 316 | ansi-regex@^5.0.1: 317 | version "5.0.1" 318 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" 319 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 320 | 321 | ansi-styles@^3.2.1: 322 | version "3.2.1" 323 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 324 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 325 | dependencies: 326 | color-convert "^1.9.0" 327 | 328 | ansi-styles@^4.1.0: 329 | version "4.3.0" 330 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 331 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 332 | dependencies: 333 | color-convert "^2.0.1" 334 | 335 | anymatch@~3.1.2: 336 | version "3.1.2" 337 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" 338 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== 339 | dependencies: 340 | normalize-path "^3.0.0" 341 | picomatch "^2.0.4" 342 | 343 | arg@^5.0.1: 344 | version "5.0.1" 345 | resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.1.tgz#eb0c9a8f77786cad2af8ff2b862899842d7b6adb" 346 | integrity sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA== 347 | 348 | argparse@^1.0.7: 349 | version "1.0.10" 350 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 351 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 352 | dependencies: 353 | sprintf-js "~1.0.2" 354 | 355 | argparse@^2.0.1: 356 | version "2.0.1" 357 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" 358 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== 359 | 360 | aria-query@^4.2.2: 361 | version "4.2.2" 362 | resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b" 363 | integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA== 364 | dependencies: 365 | "@babel/runtime" "^7.10.2" 366 | "@babel/runtime-corejs3" "^7.10.2" 367 | 368 | array-includes@^3.1.3, array-includes@^3.1.4: 369 | version "3.1.4" 370 | resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.4.tgz#f5b493162c760f3539631f005ba2bb46acb45ba9" 371 | integrity sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw== 372 | dependencies: 373 | call-bind "^1.0.2" 374 | define-properties "^1.1.3" 375 | es-abstract "^1.19.1" 376 | get-intrinsic "^1.1.1" 377 | is-string "^1.0.7" 378 | 379 | array-union@^2.1.0: 380 | version "2.1.0" 381 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" 382 | integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== 383 | 384 | array.prototype.flat@^1.2.5: 385 | version "1.2.5" 386 | resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz#07e0975d84bbc7c48cd1879d609e682598d33e13" 387 | integrity sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg== 388 | dependencies: 389 | call-bind "^1.0.2" 390 | define-properties "^1.1.3" 391 | es-abstract "^1.19.0" 392 | 393 | array.prototype.flatmap@^1.2.5: 394 | version "1.2.5" 395 | resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz#908dc82d8a406930fdf38598d51e7411d18d4446" 396 | integrity sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA== 397 | dependencies: 398 | call-bind "^1.0.0" 399 | define-properties "^1.1.3" 400 | es-abstract "^1.19.0" 401 | 402 | ast-types-flow@^0.0.7: 403 | version "0.0.7" 404 | resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" 405 | integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0= 406 | 407 | autoprefixer@^10.4.2: 408 | version "10.4.2" 409 | resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.2.tgz#25e1df09a31a9fba5c40b578936b90d35c9d4d3b" 410 | integrity sha512-9fOPpHKuDW1w/0EKfRmVnxTDt8166MAnLI3mgZ1JCnhNtYWxcJ6Ud5CO/AVOZi/AvFa8DY9RTy3h3+tFBlrrdQ== 411 | dependencies: 412 | browserslist "^4.19.1" 413 | caniuse-lite "^1.0.30001297" 414 | fraction.js "^4.1.2" 415 | normalize-range "^0.1.2" 416 | picocolors "^1.0.0" 417 | postcss-value-parser "^4.2.0" 418 | 419 | axe-core@^4.3.5: 420 | version "4.4.1" 421 | resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.4.1.tgz#7dbdc25989298f9ad006645cd396782443757413" 422 | integrity sha512-gd1kmb21kwNuWr6BQz8fv6GNECPBnUasepcoLbekws23NVBLODdsClRZ+bQ8+9Uomf3Sm3+Vwn0oYG9NvwnJCw== 423 | 424 | axobject-query@^2.2.0: 425 | version "2.2.0" 426 | resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" 427 | integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== 428 | 429 | balanced-match@^1.0.0: 430 | version "1.0.2" 431 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 432 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 433 | 434 | binary-extensions@^2.0.0: 435 | version "2.2.0" 436 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" 437 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 438 | 439 | brace-expansion@^1.1.7: 440 | version "1.1.11" 441 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 442 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 443 | dependencies: 444 | balanced-match "^1.0.0" 445 | concat-map "0.0.1" 446 | 447 | braces@^3.0.1, braces@~3.0.2: 448 | version "3.0.2" 449 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 450 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 451 | dependencies: 452 | fill-range "^7.0.1" 453 | 454 | browserslist@^4.19.1: 455 | version "4.19.1" 456 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3" 457 | integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A== 458 | dependencies: 459 | caniuse-lite "^1.0.30001286" 460 | electron-to-chromium "^1.4.17" 461 | escalade "^3.1.1" 462 | node-releases "^2.0.1" 463 | picocolors "^1.0.0" 464 | 465 | call-bind@^1.0.0, call-bind@^1.0.2: 466 | version "1.0.2" 467 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" 468 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== 469 | dependencies: 470 | function-bind "^1.1.1" 471 | get-intrinsic "^1.0.2" 472 | 473 | callsites@^3.0.0: 474 | version "3.1.0" 475 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 476 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 477 | 478 | camelcase-css@^2.0.1: 479 | version "2.0.1" 480 | resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" 481 | integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== 482 | 483 | caniuse-lite@^1.0.30001283, caniuse-lite@^1.0.30001286, caniuse-lite@^1.0.30001297: 484 | version "1.0.30001312" 485 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz#e11eba4b87e24d22697dae05455d5aea28550d5f" 486 | integrity sha512-Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ== 487 | 488 | chalk@^2.0.0: 489 | version "2.4.2" 490 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 491 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 492 | dependencies: 493 | ansi-styles "^3.2.1" 494 | escape-string-regexp "^1.0.5" 495 | supports-color "^5.3.0" 496 | 497 | chalk@^4.0.0, chalk@^4.1.2: 498 | version "4.1.2" 499 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" 500 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 501 | dependencies: 502 | ansi-styles "^4.1.0" 503 | supports-color "^7.1.0" 504 | 505 | chokidar@^3.5.3: 506 | version "3.5.3" 507 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" 508 | integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== 509 | dependencies: 510 | anymatch "~3.1.2" 511 | braces "~3.0.2" 512 | glob-parent "~5.1.2" 513 | is-binary-path "~2.1.0" 514 | is-glob "~4.0.1" 515 | normalize-path "~3.0.0" 516 | readdirp "~3.6.0" 517 | optionalDependencies: 518 | fsevents "~2.3.2" 519 | 520 | clsx@^1.1.1: 521 | version "1.1.1" 522 | resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188" 523 | integrity sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA== 524 | 525 | color-convert@^1.9.0: 526 | version "1.9.3" 527 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 528 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 529 | dependencies: 530 | color-name "1.1.3" 531 | 532 | color-convert@^2.0.1: 533 | version "2.0.1" 534 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 535 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 536 | dependencies: 537 | color-name "~1.1.4" 538 | 539 | color-name@1.1.3: 540 | version "1.1.3" 541 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 542 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 543 | 544 | color-name@^1.1.4, color-name@~1.1.4: 545 | version "1.1.4" 546 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 547 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 548 | 549 | concat-map@0.0.1: 550 | version "0.0.1" 551 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 552 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 553 | 554 | core-js-pure@^3.20.2: 555 | version "3.21.0" 556 | resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.21.0.tgz#819adc8dfb808205ce25b51d50591becd615db7e" 557 | integrity sha512-VaJUunCZLnxuDbo1rNOzwbet9E1K9joiXS5+DQMPtgxd24wfsZbJZMMfQLGYMlCUvSxLfsRUUhoOR2x28mFfeg== 558 | 559 | cosmiconfig@^7.0.1: 560 | version "7.0.1" 561 | resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" 562 | integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== 563 | dependencies: 564 | "@types/parse-json" "^4.0.0" 565 | import-fresh "^3.2.1" 566 | parse-json "^5.0.0" 567 | path-type "^4.0.0" 568 | yaml "^1.10.0" 569 | 570 | cross-spawn@^7.0.2: 571 | version "7.0.3" 572 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" 573 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 574 | dependencies: 575 | path-key "^3.1.0" 576 | shebang-command "^2.0.0" 577 | which "^2.0.1" 578 | 579 | cssesc@^3.0.0: 580 | version "3.0.0" 581 | resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" 582 | integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== 583 | 584 | csstype@^3.0.2: 585 | version "3.0.10" 586 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.10.tgz#2ad3a7bed70f35b965707c092e5f30b327c290e5" 587 | integrity sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA== 588 | 589 | damerau-levenshtein@^1.0.7: 590 | version "1.0.8" 591 | resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" 592 | integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== 593 | 594 | debug@^2.6.9: 595 | version "2.6.9" 596 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 597 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 598 | dependencies: 599 | ms "2.0.0" 600 | 601 | debug@^3.2.7: 602 | version "3.2.7" 603 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" 604 | integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== 605 | dependencies: 606 | ms "^2.1.1" 607 | 608 | debug@^4.1.1, debug@^4.3.1, debug@^4.3.2: 609 | version "4.3.3" 610 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" 611 | integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== 612 | dependencies: 613 | ms "2.1.2" 614 | 615 | deep-is@^0.1.3: 616 | version "0.1.4" 617 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" 618 | integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== 619 | 620 | define-properties@^1.1.3: 621 | version "1.1.3" 622 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" 623 | integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== 624 | dependencies: 625 | object-keys "^1.0.12" 626 | 627 | defined@^1.0.0: 628 | version "1.0.0" 629 | resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" 630 | integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= 631 | 632 | detective@^5.2.0: 633 | version "5.2.0" 634 | resolved "https://registry.yarnpkg.com/detective/-/detective-5.2.0.tgz#feb2a77e85b904ecdea459ad897cc90a99bd2a7b" 635 | integrity sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg== 636 | dependencies: 637 | acorn-node "^1.6.1" 638 | defined "^1.0.0" 639 | minimist "^1.1.1" 640 | 641 | didyoumean@^1.2.2: 642 | version "1.2.2" 643 | resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" 644 | integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== 645 | 646 | dir-glob@^3.0.1: 647 | version "3.0.1" 648 | resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" 649 | integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== 650 | dependencies: 651 | path-type "^4.0.0" 652 | 653 | dlv@^1.1.3: 654 | version "1.1.3" 655 | resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" 656 | integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== 657 | 658 | doctrine@^2.1.0: 659 | version "2.1.0" 660 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" 661 | integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== 662 | dependencies: 663 | esutils "^2.0.2" 664 | 665 | doctrine@^3.0.0: 666 | version "3.0.0" 667 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" 668 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== 669 | dependencies: 670 | esutils "^2.0.2" 671 | 672 | electron-to-chromium@^1.4.17: 673 | version "1.4.69" 674 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.69.tgz#d52eb7887d2ec5ba62a8cb3491b990983cb6d2e0" 675 | integrity sha512-0rxK21MqWhN/fVUXNOeBksRlw79Wq26y6R8lxEEL2v7vwzRWbYhXI7Id5msee7/q1NNgu4mG78qaablN2xtfTQ== 676 | 677 | emoji-regex@^9.2.2: 678 | version "9.2.2" 679 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" 680 | integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== 681 | 682 | error-ex@^1.3.1: 683 | version "1.3.2" 684 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" 685 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== 686 | dependencies: 687 | is-arrayish "^0.2.1" 688 | 689 | es-abstract@^1.19.0, es-abstract@^1.19.1: 690 | version "1.19.1" 691 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" 692 | integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w== 693 | dependencies: 694 | call-bind "^1.0.2" 695 | es-to-primitive "^1.2.1" 696 | function-bind "^1.1.1" 697 | get-intrinsic "^1.1.1" 698 | get-symbol-description "^1.0.0" 699 | has "^1.0.3" 700 | has-symbols "^1.0.2" 701 | internal-slot "^1.0.3" 702 | is-callable "^1.2.4" 703 | is-negative-zero "^2.0.1" 704 | is-regex "^1.1.4" 705 | is-shared-array-buffer "^1.0.1" 706 | is-string "^1.0.7" 707 | is-weakref "^1.0.1" 708 | object-inspect "^1.11.0" 709 | object-keys "^1.1.1" 710 | object.assign "^4.1.2" 711 | string.prototype.trimend "^1.0.4" 712 | string.prototype.trimstart "^1.0.4" 713 | unbox-primitive "^1.0.1" 714 | 715 | es-to-primitive@^1.2.1: 716 | version "1.2.1" 717 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" 718 | integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== 719 | dependencies: 720 | is-callable "^1.1.4" 721 | is-date-object "^1.0.1" 722 | is-symbol "^1.0.2" 723 | 724 | escalade@^3.1.1: 725 | version "3.1.1" 726 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 727 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 728 | 729 | escape-string-regexp@^1.0.5: 730 | version "1.0.5" 731 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 732 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 733 | 734 | escape-string-regexp@^4.0.0: 735 | version "4.0.0" 736 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" 737 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== 738 | 739 | eslint-config-next@12.0.10: 740 | version "12.0.10" 741 | resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-12.0.10.tgz#f201f8f4514018f7ef46f454f56b81cf5c790379" 742 | integrity sha512-l1er6mwSo1bltjLwmd71p5BdT6k/NQxV1n4lKZI6xt3MDMrq7ChUBr+EecxOry8GC/rCRUtPpH8Ygs0BJc5YLg== 743 | dependencies: 744 | "@next/eslint-plugin-next" "12.0.10" 745 | "@rushstack/eslint-patch" "^1.0.8" 746 | "@typescript-eslint/parser" "^5.0.0" 747 | eslint-import-resolver-node "^0.3.4" 748 | eslint-import-resolver-typescript "^2.4.0" 749 | eslint-plugin-import "^2.25.2" 750 | eslint-plugin-jsx-a11y "^6.5.1" 751 | eslint-plugin-react "^7.27.0" 752 | eslint-plugin-react-hooks "^4.3.0" 753 | 754 | eslint-import-resolver-node@^0.3.4, eslint-import-resolver-node@^0.3.6: 755 | version "0.3.6" 756 | resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" 757 | integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== 758 | dependencies: 759 | debug "^3.2.7" 760 | resolve "^1.20.0" 761 | 762 | eslint-import-resolver-typescript@^2.4.0: 763 | version "2.5.0" 764 | resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.5.0.tgz#07661966b272d14ba97f597b51e1a588f9722f0a" 765 | integrity sha512-qZ6e5CFr+I7K4VVhQu3M/9xGv9/YmwsEXrsm3nimw8vWaVHRDrQRp26BgCypTxBp3vUp4o5aVEJRiy0F2DFddQ== 766 | dependencies: 767 | debug "^4.3.1" 768 | glob "^7.1.7" 769 | is-glob "^4.0.1" 770 | resolve "^1.20.0" 771 | tsconfig-paths "^3.9.0" 772 | 773 | eslint-module-utils@^2.7.2: 774 | version "2.7.3" 775 | resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz#ad7e3a10552fdd0642e1e55292781bd6e34876ee" 776 | integrity sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ== 777 | dependencies: 778 | debug "^3.2.7" 779 | find-up "^2.1.0" 780 | 781 | eslint-plugin-import@^2.25.2: 782 | version "2.25.4" 783 | resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz#322f3f916a4e9e991ac7af32032c25ce313209f1" 784 | integrity sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA== 785 | dependencies: 786 | array-includes "^3.1.4" 787 | array.prototype.flat "^1.2.5" 788 | debug "^2.6.9" 789 | doctrine "^2.1.0" 790 | eslint-import-resolver-node "^0.3.6" 791 | eslint-module-utils "^2.7.2" 792 | has "^1.0.3" 793 | is-core-module "^2.8.0" 794 | is-glob "^4.0.3" 795 | minimatch "^3.0.4" 796 | object.values "^1.1.5" 797 | resolve "^1.20.0" 798 | tsconfig-paths "^3.12.0" 799 | 800 | eslint-plugin-jsx-a11y@^6.5.1: 801 | version "6.5.1" 802 | resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz#cdbf2df901040ca140b6ec14715c988889c2a6d8" 803 | integrity sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g== 804 | dependencies: 805 | "@babel/runtime" "^7.16.3" 806 | aria-query "^4.2.2" 807 | array-includes "^3.1.4" 808 | ast-types-flow "^0.0.7" 809 | axe-core "^4.3.5" 810 | axobject-query "^2.2.0" 811 | damerau-levenshtein "^1.0.7" 812 | emoji-regex "^9.2.2" 813 | has "^1.0.3" 814 | jsx-ast-utils "^3.2.1" 815 | language-tags "^1.0.5" 816 | minimatch "^3.0.4" 817 | 818 | eslint-plugin-react-hooks@^4.3.0: 819 | version "4.3.0" 820 | resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz#318dbf312e06fab1c835a4abef00121751ac1172" 821 | integrity sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA== 822 | 823 | eslint-plugin-react@^7.27.0: 824 | version "7.28.0" 825 | resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.28.0.tgz#8f3ff450677571a659ce76efc6d80b6a525adbdf" 826 | integrity sha512-IOlFIRHzWfEQQKcAD4iyYDndHwTQiCMcJVJjxempf203jnNLUnW34AXLrV33+nEXoifJE2ZEGmcjKPL8957eSw== 827 | dependencies: 828 | array-includes "^3.1.4" 829 | array.prototype.flatmap "^1.2.5" 830 | doctrine "^2.1.0" 831 | estraverse "^5.3.0" 832 | jsx-ast-utils "^2.4.1 || ^3.0.0" 833 | minimatch "^3.0.4" 834 | object.entries "^1.1.5" 835 | object.fromentries "^2.0.5" 836 | object.hasown "^1.1.0" 837 | object.values "^1.1.5" 838 | prop-types "^15.7.2" 839 | resolve "^2.0.0-next.3" 840 | semver "^6.3.0" 841 | string.prototype.matchall "^4.0.6" 842 | 843 | eslint-scope@^7.1.1: 844 | version "7.1.1" 845 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" 846 | integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== 847 | dependencies: 848 | esrecurse "^4.3.0" 849 | estraverse "^5.2.0" 850 | 851 | eslint-utils@^3.0.0: 852 | version "3.0.0" 853 | resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" 854 | integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== 855 | dependencies: 856 | eslint-visitor-keys "^2.0.0" 857 | 858 | eslint-visitor-keys@^2.0.0: 859 | version "2.1.0" 860 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" 861 | integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== 862 | 863 | eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0: 864 | version "3.3.0" 865 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" 866 | integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== 867 | 868 | eslint@8.9.0: 869 | version "8.9.0" 870 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.9.0.tgz#a2a8227a99599adc4342fd9b854cb8d8d6412fdb" 871 | integrity sha512-PB09IGwv4F4b0/atrbcMFboF/giawbBLVC7fyDamk5Wtey4Jh2K+rYaBhCAbUyEI4QzB1ly09Uglc9iCtFaG2Q== 872 | dependencies: 873 | "@eslint/eslintrc" "^1.1.0" 874 | "@humanwhocodes/config-array" "^0.9.2" 875 | ajv "^6.10.0" 876 | chalk "^4.0.0" 877 | cross-spawn "^7.0.2" 878 | debug "^4.3.2" 879 | doctrine "^3.0.0" 880 | escape-string-regexp "^4.0.0" 881 | eslint-scope "^7.1.1" 882 | eslint-utils "^3.0.0" 883 | eslint-visitor-keys "^3.3.0" 884 | espree "^9.3.1" 885 | esquery "^1.4.0" 886 | esutils "^2.0.2" 887 | fast-deep-equal "^3.1.3" 888 | file-entry-cache "^6.0.1" 889 | functional-red-black-tree "^1.0.1" 890 | glob-parent "^6.0.1" 891 | globals "^13.6.0" 892 | ignore "^5.2.0" 893 | import-fresh "^3.0.0" 894 | imurmurhash "^0.1.4" 895 | is-glob "^4.0.0" 896 | js-yaml "^4.1.0" 897 | json-stable-stringify-without-jsonify "^1.0.1" 898 | levn "^0.4.1" 899 | lodash.merge "^4.6.2" 900 | minimatch "^3.0.4" 901 | natural-compare "^1.4.0" 902 | optionator "^0.9.1" 903 | regexpp "^3.2.0" 904 | strip-ansi "^6.0.1" 905 | strip-json-comments "^3.1.0" 906 | text-table "^0.2.0" 907 | v8-compile-cache "^2.0.3" 908 | 909 | espree@^9.3.1: 910 | version "9.3.1" 911 | resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.1.tgz#8793b4bc27ea4c778c19908e0719e7b8f4115bcd" 912 | integrity sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ== 913 | dependencies: 914 | acorn "^8.7.0" 915 | acorn-jsx "^5.3.1" 916 | eslint-visitor-keys "^3.3.0" 917 | 918 | esprima@^4.0.0: 919 | version "4.0.1" 920 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 921 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 922 | 923 | esquery@^1.4.0: 924 | version "1.4.0" 925 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" 926 | integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== 927 | dependencies: 928 | estraverse "^5.1.0" 929 | 930 | esrecurse@^4.3.0: 931 | version "4.3.0" 932 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" 933 | integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== 934 | dependencies: 935 | estraverse "^5.2.0" 936 | 937 | estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: 938 | version "5.3.0" 939 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" 940 | integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== 941 | 942 | esutils@^2.0.2: 943 | version "2.0.3" 944 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 945 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 946 | 947 | fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: 948 | version "3.1.3" 949 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" 950 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== 951 | 952 | fast-glob@^3.2.11, fast-glob@^3.2.9: 953 | version "3.2.11" 954 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" 955 | integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== 956 | dependencies: 957 | "@nodelib/fs.stat" "^2.0.2" 958 | "@nodelib/fs.walk" "^1.2.3" 959 | glob-parent "^5.1.2" 960 | merge2 "^1.3.0" 961 | micromatch "^4.0.4" 962 | 963 | fast-json-stable-stringify@^2.0.0: 964 | version "2.1.0" 965 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" 966 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 967 | 968 | fast-levenshtein@^2.0.6: 969 | version "2.0.6" 970 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 971 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= 972 | 973 | fastq@^1.6.0: 974 | version "1.13.0" 975 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" 976 | integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== 977 | dependencies: 978 | reusify "^1.0.4" 979 | 980 | file-entry-cache@^6.0.1: 981 | version "6.0.1" 982 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" 983 | integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== 984 | dependencies: 985 | flat-cache "^3.0.4" 986 | 987 | fill-range@^7.0.1: 988 | version "7.0.1" 989 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 990 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 991 | dependencies: 992 | to-regex-range "^5.0.1" 993 | 994 | find-up@^2.1.0: 995 | version "2.1.0" 996 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" 997 | integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= 998 | dependencies: 999 | locate-path "^2.0.0" 1000 | 1001 | flat-cache@^3.0.4: 1002 | version "3.0.4" 1003 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" 1004 | integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== 1005 | dependencies: 1006 | flatted "^3.1.0" 1007 | rimraf "^3.0.2" 1008 | 1009 | flatted@^3.1.0: 1010 | version "3.2.5" 1011 | resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3" 1012 | integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== 1013 | 1014 | fraction.js@^4.1.2: 1015 | version "4.1.3" 1016 | resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.1.3.tgz#be65b0f20762ef27e1e793860bc2dfb716e99e65" 1017 | integrity sha512-pUHWWt6vHzZZiQJcM6S/0PXfS+g6FM4BF5rj9wZyreivhQPdsh5PpE25VtSNxq80wHS5RfY51Ii+8Z0Zl/pmzg== 1018 | 1019 | front-matter@^4.0.2: 1020 | version "4.0.2" 1021 | resolved "https://registry.yarnpkg.com/front-matter/-/front-matter-4.0.2.tgz#b14e54dc745cfd7293484f3210d15ea4edd7f4d5" 1022 | integrity sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg== 1023 | dependencies: 1024 | js-yaml "^3.13.1" 1025 | 1026 | fs.realpath@^1.0.0: 1027 | version "1.0.0" 1028 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1029 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 1030 | 1031 | fsevents@~2.3.2: 1032 | version "2.3.2" 1033 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 1034 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 1035 | 1036 | function-bind@^1.1.1: 1037 | version "1.1.1" 1038 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 1039 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 1040 | 1041 | functional-red-black-tree@^1.0.1: 1042 | version "1.0.1" 1043 | resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" 1044 | integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= 1045 | 1046 | get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: 1047 | version "1.1.1" 1048 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" 1049 | integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== 1050 | dependencies: 1051 | function-bind "^1.1.1" 1052 | has "^1.0.3" 1053 | has-symbols "^1.0.1" 1054 | 1055 | get-symbol-description@^1.0.0: 1056 | version "1.0.0" 1057 | resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" 1058 | integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== 1059 | dependencies: 1060 | call-bind "^1.0.2" 1061 | get-intrinsic "^1.1.1" 1062 | 1063 | glob-parent@^5.1.2, glob-parent@~5.1.2: 1064 | version "5.1.2" 1065 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 1066 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 1067 | dependencies: 1068 | is-glob "^4.0.1" 1069 | 1070 | glob-parent@^6.0.1, glob-parent@^6.0.2: 1071 | version "6.0.2" 1072 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" 1073 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== 1074 | dependencies: 1075 | is-glob "^4.0.3" 1076 | 1077 | glob@7.1.7: 1078 | version "7.1.7" 1079 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" 1080 | integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== 1081 | dependencies: 1082 | fs.realpath "^1.0.0" 1083 | inflight "^1.0.4" 1084 | inherits "2" 1085 | minimatch "^3.0.4" 1086 | once "^1.3.0" 1087 | path-is-absolute "^1.0.0" 1088 | 1089 | glob@^7.1.3, glob@^7.1.7: 1090 | version "7.2.0" 1091 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" 1092 | integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== 1093 | dependencies: 1094 | fs.realpath "^1.0.0" 1095 | inflight "^1.0.4" 1096 | inherits "2" 1097 | minimatch "^3.0.4" 1098 | once "^1.3.0" 1099 | path-is-absolute "^1.0.0" 1100 | 1101 | globals@^13.6.0, globals@^13.9.0: 1102 | version "13.12.1" 1103 | resolved "https://registry.yarnpkg.com/globals/-/globals-13.12.1.tgz#ec206be932e6c77236677127577aa8e50bf1c5cb" 1104 | integrity sha512-317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw== 1105 | dependencies: 1106 | type-fest "^0.20.2" 1107 | 1108 | globby@^11.0.4: 1109 | version "11.1.0" 1110 | resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" 1111 | integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== 1112 | dependencies: 1113 | array-union "^2.1.0" 1114 | dir-glob "^3.0.1" 1115 | fast-glob "^3.2.9" 1116 | ignore "^5.2.0" 1117 | merge2 "^1.4.1" 1118 | slash "^3.0.0" 1119 | 1120 | has-bigints@^1.0.1: 1121 | version "1.0.1" 1122 | resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" 1123 | integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== 1124 | 1125 | has-flag@^3.0.0: 1126 | version "3.0.0" 1127 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 1128 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 1129 | 1130 | has-flag@^4.0.0: 1131 | version "4.0.0" 1132 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 1133 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 1134 | 1135 | has-symbols@^1.0.1, has-symbols@^1.0.2: 1136 | version "1.0.2" 1137 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" 1138 | integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== 1139 | 1140 | has-tostringtag@^1.0.0: 1141 | version "1.0.0" 1142 | resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" 1143 | integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== 1144 | dependencies: 1145 | has-symbols "^1.0.2" 1146 | 1147 | has@^1.0.3: 1148 | version "1.0.3" 1149 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 1150 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 1151 | dependencies: 1152 | function-bind "^1.1.1" 1153 | 1154 | ignore@^4.0.6: 1155 | version "4.0.6" 1156 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" 1157 | integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== 1158 | 1159 | ignore@^5.2.0: 1160 | version "5.2.0" 1161 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" 1162 | integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== 1163 | 1164 | import-fresh@^3.0.0, import-fresh@^3.2.1: 1165 | version "3.3.0" 1166 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" 1167 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== 1168 | dependencies: 1169 | parent-module "^1.0.0" 1170 | resolve-from "^4.0.0" 1171 | 1172 | imurmurhash@^0.1.4: 1173 | version "0.1.4" 1174 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1175 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= 1176 | 1177 | inflight@^1.0.4: 1178 | version "1.0.6" 1179 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1180 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 1181 | dependencies: 1182 | once "^1.3.0" 1183 | wrappy "1" 1184 | 1185 | inherits@2: 1186 | version "2.0.4" 1187 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1188 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1189 | 1190 | internal-slot@^1.0.3: 1191 | version "1.0.3" 1192 | resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" 1193 | integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== 1194 | dependencies: 1195 | get-intrinsic "^1.1.0" 1196 | has "^1.0.3" 1197 | side-channel "^1.0.4" 1198 | 1199 | is-arrayish@^0.2.1: 1200 | version "0.2.1" 1201 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 1202 | integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= 1203 | 1204 | is-bigint@^1.0.1: 1205 | version "1.0.4" 1206 | resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" 1207 | integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== 1208 | dependencies: 1209 | has-bigints "^1.0.1" 1210 | 1211 | is-binary-path@~2.1.0: 1212 | version "2.1.0" 1213 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 1214 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 1215 | dependencies: 1216 | binary-extensions "^2.0.0" 1217 | 1218 | is-boolean-object@^1.1.0: 1219 | version "1.1.2" 1220 | resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" 1221 | integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== 1222 | dependencies: 1223 | call-bind "^1.0.2" 1224 | has-tostringtag "^1.0.0" 1225 | 1226 | is-callable@^1.1.4, is-callable@^1.2.4: 1227 | version "1.2.4" 1228 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" 1229 | integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== 1230 | 1231 | is-core-module@^2.2.0, is-core-module@^2.8.0, is-core-module@^2.8.1: 1232 | version "2.8.1" 1233 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" 1234 | integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== 1235 | dependencies: 1236 | has "^1.0.3" 1237 | 1238 | is-date-object@^1.0.1: 1239 | version "1.0.5" 1240 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" 1241 | integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== 1242 | dependencies: 1243 | has-tostringtag "^1.0.0" 1244 | 1245 | is-extglob@^2.1.1: 1246 | version "2.1.1" 1247 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1248 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 1249 | 1250 | is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: 1251 | version "4.0.3" 1252 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" 1253 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 1254 | dependencies: 1255 | is-extglob "^2.1.1" 1256 | 1257 | is-negative-zero@^2.0.1: 1258 | version "2.0.2" 1259 | resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" 1260 | integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== 1261 | 1262 | is-number-object@^1.0.4: 1263 | version "1.0.6" 1264 | resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" 1265 | integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== 1266 | dependencies: 1267 | has-tostringtag "^1.0.0" 1268 | 1269 | is-number@^7.0.0: 1270 | version "7.0.0" 1271 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 1272 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 1273 | 1274 | is-regex@^1.1.4: 1275 | version "1.1.4" 1276 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" 1277 | integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== 1278 | dependencies: 1279 | call-bind "^1.0.2" 1280 | has-tostringtag "^1.0.0" 1281 | 1282 | is-shared-array-buffer@^1.0.1: 1283 | version "1.0.1" 1284 | resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" 1285 | integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== 1286 | 1287 | is-string@^1.0.5, is-string@^1.0.7: 1288 | version "1.0.7" 1289 | resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" 1290 | integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== 1291 | dependencies: 1292 | has-tostringtag "^1.0.0" 1293 | 1294 | is-symbol@^1.0.2, is-symbol@^1.0.3: 1295 | version "1.0.4" 1296 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" 1297 | integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== 1298 | dependencies: 1299 | has-symbols "^1.0.2" 1300 | 1301 | is-weakref@^1.0.1: 1302 | version "1.0.2" 1303 | resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" 1304 | integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== 1305 | dependencies: 1306 | call-bind "^1.0.2" 1307 | 1308 | isexe@^2.0.0: 1309 | version "2.0.0" 1310 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1311 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 1312 | 1313 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: 1314 | version "4.0.0" 1315 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 1316 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 1317 | 1318 | js-yaml@^3.13.1: 1319 | version "3.14.1" 1320 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" 1321 | integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== 1322 | dependencies: 1323 | argparse "^1.0.7" 1324 | esprima "^4.0.0" 1325 | 1326 | js-yaml@^4.1.0: 1327 | version "4.1.0" 1328 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" 1329 | integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== 1330 | dependencies: 1331 | argparse "^2.0.1" 1332 | 1333 | json-parse-even-better-errors@^2.3.0: 1334 | version "2.3.1" 1335 | resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" 1336 | integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== 1337 | 1338 | json-schema-traverse@^0.4.1: 1339 | version "0.4.1" 1340 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 1341 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 1342 | 1343 | json-stable-stringify-without-jsonify@^1.0.1: 1344 | version "1.0.1" 1345 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" 1346 | integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= 1347 | 1348 | json5@^1.0.1: 1349 | version "1.0.1" 1350 | resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" 1351 | integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== 1352 | dependencies: 1353 | minimist "^1.2.0" 1354 | 1355 | "jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.2.1: 1356 | version "3.2.1" 1357 | resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz#720b97bfe7d901b927d87c3773637ae8ea48781b" 1358 | integrity sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA== 1359 | dependencies: 1360 | array-includes "^3.1.3" 1361 | object.assign "^4.1.2" 1362 | 1363 | language-subtag-registry@~0.3.2: 1364 | version "0.3.21" 1365 | resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz#04ac218bea46f04cb039084602c6da9e788dd45a" 1366 | integrity sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg== 1367 | 1368 | language-tags@^1.0.5: 1369 | version "1.0.5" 1370 | resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a" 1371 | integrity sha1-0yHbxNowuovzAk4ED6XBRmH5GTo= 1372 | dependencies: 1373 | language-subtag-registry "~0.3.2" 1374 | 1375 | levn@^0.4.1: 1376 | version "0.4.1" 1377 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" 1378 | integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== 1379 | dependencies: 1380 | prelude-ls "^1.2.1" 1381 | type-check "~0.4.0" 1382 | 1383 | lilconfig@^2.0.4: 1384 | version "2.0.4" 1385 | resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.4.tgz#f4507d043d7058b380b6a8f5cb7bcd4b34cee082" 1386 | integrity sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA== 1387 | 1388 | lines-and-columns@^1.1.6: 1389 | version "1.2.4" 1390 | resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" 1391 | integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== 1392 | 1393 | locate-path@^2.0.0: 1394 | version "2.0.0" 1395 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" 1396 | integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= 1397 | dependencies: 1398 | p-locate "^2.0.0" 1399 | path-exists "^3.0.0" 1400 | 1401 | lodash.castarray@^4.4.0: 1402 | version "4.4.0" 1403 | resolved "https://registry.yarnpkg.com/lodash.castarray/-/lodash.castarray-4.4.0.tgz#c02513515e309daddd4c24c60cfddcf5976d9115" 1404 | integrity sha1-wCUTUV4wna3dTCTGDP3c9ZdtkRU= 1405 | 1406 | lodash.isplainobject@^4.0.6: 1407 | version "4.0.6" 1408 | resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" 1409 | integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= 1410 | 1411 | lodash.merge@^4.6.2: 1412 | version "4.6.2" 1413 | resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" 1414 | integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== 1415 | 1416 | lodash@^4.17.21: 1417 | version "4.17.21" 1418 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" 1419 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 1420 | 1421 | loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: 1422 | version "1.4.0" 1423 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 1424 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== 1425 | dependencies: 1426 | js-tokens "^3.0.0 || ^4.0.0" 1427 | 1428 | lru-cache@^6.0.0: 1429 | version "6.0.0" 1430 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" 1431 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 1432 | dependencies: 1433 | yallist "^4.0.0" 1434 | 1435 | marked@^4.0.12: 1436 | version "4.0.12" 1437 | resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.12.tgz#2262a4e6fd1afd2f13557726238b69a48b982f7d" 1438 | integrity sha512-hgibXWrEDNBWgGiK18j/4lkS6ihTe9sxtV4Q1OQppb/0zzyPSzoFANBa5MfsG/zgsWklmNnhm0XACZOH/0HBiQ== 1439 | 1440 | merge2@^1.3.0, merge2@^1.4.1: 1441 | version "1.4.1" 1442 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" 1443 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 1444 | 1445 | micromatch@^4.0.4: 1446 | version "4.0.4" 1447 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" 1448 | integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== 1449 | dependencies: 1450 | braces "^3.0.1" 1451 | picomatch "^2.2.3" 1452 | 1453 | minimatch@^3.0.4: 1454 | version "3.1.1" 1455 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.1.tgz#879ad447200773912898b46cd516a7abbb5e50b0" 1456 | integrity sha512-reLxBcKUPNBnc/sVtAbxgRVFSegoGeLaSjmphNhcwcolhYLRgtJscn5mRl6YRZNQv40Y7P6JM2YhSIsbL9OB5A== 1457 | dependencies: 1458 | brace-expansion "^1.1.7" 1459 | 1460 | minimist@^1.1.1, minimist@^1.2.0: 1461 | version "1.2.5" 1462 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" 1463 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== 1464 | 1465 | ms@2.0.0: 1466 | version "2.0.0" 1467 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 1468 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 1469 | 1470 | ms@2.1.2: 1471 | version "2.1.2" 1472 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 1473 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1474 | 1475 | ms@^2.1.1: 1476 | version "2.1.3" 1477 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" 1478 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 1479 | 1480 | nanoid@^3.1.30, nanoid@^3.2.0: 1481 | version "3.3.0" 1482 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.0.tgz#5906f776fd886c66c24f3653e0c46fcb1d4ad6b0" 1483 | integrity sha512-JzxqqT5u/x+/KOFSd7JP15DOo9nOoHpx6DYatqIHUW2+flybkm+mdcraotSQR5WcnZr+qhGVh8Ted0KdfSMxlg== 1484 | 1485 | natural-compare@^1.4.0: 1486 | version "1.4.0" 1487 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 1488 | integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= 1489 | 1490 | next@12.0.10: 1491 | version "12.0.10" 1492 | resolved "https://registry.yarnpkg.com/next/-/next-12.0.10.tgz#fcc4584177418bd777ce157f3165b7ba5e7708f7" 1493 | integrity sha512-1y3PpGzpb/EZzz1jgne+JfZXKAVJUjYXwxzrADf/LWN+8yi9o79vMLXpW3mevvCHkEF2sBnIdjzNn16TJrINUw== 1494 | dependencies: 1495 | "@next/env" "12.0.10" 1496 | caniuse-lite "^1.0.30001283" 1497 | postcss "8.4.5" 1498 | styled-jsx "5.0.0" 1499 | use-subscription "1.5.1" 1500 | optionalDependencies: 1501 | "@next/swc-android-arm64" "12.0.10" 1502 | "@next/swc-darwin-arm64" "12.0.10" 1503 | "@next/swc-darwin-x64" "12.0.10" 1504 | "@next/swc-linux-arm-gnueabihf" "12.0.10" 1505 | "@next/swc-linux-arm64-gnu" "12.0.10" 1506 | "@next/swc-linux-arm64-musl" "12.0.10" 1507 | "@next/swc-linux-x64-gnu" "12.0.10" 1508 | "@next/swc-linux-x64-musl" "12.0.10" 1509 | "@next/swc-win32-arm64-msvc" "12.0.10" 1510 | "@next/swc-win32-ia32-msvc" "12.0.10" 1511 | "@next/swc-win32-x64-msvc" "12.0.10" 1512 | 1513 | node-releases@^2.0.1: 1514 | version "2.0.2" 1515 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.2.tgz#7139fe71e2f4f11b47d4d2986aaf8c48699e0c01" 1516 | integrity sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg== 1517 | 1518 | normalize-path@^3.0.0, normalize-path@~3.0.0: 1519 | version "3.0.0" 1520 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 1521 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 1522 | 1523 | normalize-range@^0.1.2: 1524 | version "0.1.2" 1525 | resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" 1526 | integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= 1527 | 1528 | object-assign@^4.1.1: 1529 | version "4.1.1" 1530 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 1531 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= 1532 | 1533 | object-hash@^2.2.0: 1534 | version "2.2.0" 1535 | resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.2.0.tgz#5ad518581eefc443bd763472b8ff2e9c2c0d54a5" 1536 | integrity sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw== 1537 | 1538 | object-inspect@^1.11.0, object-inspect@^1.9.0: 1539 | version "1.12.0" 1540 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" 1541 | integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== 1542 | 1543 | object-keys@^1.0.12, object-keys@^1.1.1: 1544 | version "1.1.1" 1545 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 1546 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== 1547 | 1548 | object.assign@^4.1.2: 1549 | version "4.1.2" 1550 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" 1551 | integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== 1552 | dependencies: 1553 | call-bind "^1.0.0" 1554 | define-properties "^1.1.3" 1555 | has-symbols "^1.0.1" 1556 | object-keys "^1.1.1" 1557 | 1558 | object.entries@^1.1.5: 1559 | version "1.1.5" 1560 | resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" 1561 | integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g== 1562 | dependencies: 1563 | call-bind "^1.0.2" 1564 | define-properties "^1.1.3" 1565 | es-abstract "^1.19.1" 1566 | 1567 | object.fromentries@^2.0.5: 1568 | version "2.0.5" 1569 | resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251" 1570 | integrity sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw== 1571 | dependencies: 1572 | call-bind "^1.0.2" 1573 | define-properties "^1.1.3" 1574 | es-abstract "^1.19.1" 1575 | 1576 | object.hasown@^1.1.0: 1577 | version "1.1.0" 1578 | resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.0.tgz#7232ed266f34d197d15cac5880232f7a4790afe5" 1579 | integrity sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg== 1580 | dependencies: 1581 | define-properties "^1.1.3" 1582 | es-abstract "^1.19.1" 1583 | 1584 | object.values@^1.1.5: 1585 | version "1.1.5" 1586 | resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" 1587 | integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== 1588 | dependencies: 1589 | call-bind "^1.0.2" 1590 | define-properties "^1.1.3" 1591 | es-abstract "^1.19.1" 1592 | 1593 | once@^1.3.0: 1594 | version "1.4.0" 1595 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1596 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 1597 | dependencies: 1598 | wrappy "1" 1599 | 1600 | optionator@^0.9.1: 1601 | version "0.9.1" 1602 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" 1603 | integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== 1604 | dependencies: 1605 | deep-is "^0.1.3" 1606 | fast-levenshtein "^2.0.6" 1607 | levn "^0.4.1" 1608 | prelude-ls "^1.2.1" 1609 | type-check "^0.4.0" 1610 | word-wrap "^1.2.3" 1611 | 1612 | p-limit@^1.1.0: 1613 | version "1.3.0" 1614 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" 1615 | integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== 1616 | dependencies: 1617 | p-try "^1.0.0" 1618 | 1619 | p-locate@^2.0.0: 1620 | version "2.0.0" 1621 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" 1622 | integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= 1623 | dependencies: 1624 | p-limit "^1.1.0" 1625 | 1626 | p-try@^1.0.0: 1627 | version "1.0.0" 1628 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" 1629 | integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= 1630 | 1631 | parent-module@^1.0.0: 1632 | version "1.0.1" 1633 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" 1634 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 1635 | dependencies: 1636 | callsites "^3.0.0" 1637 | 1638 | parse-json@^5.0.0: 1639 | version "5.2.0" 1640 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" 1641 | integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== 1642 | dependencies: 1643 | "@babel/code-frame" "^7.0.0" 1644 | error-ex "^1.3.1" 1645 | json-parse-even-better-errors "^2.3.0" 1646 | lines-and-columns "^1.1.6" 1647 | 1648 | path-exists@^3.0.0: 1649 | version "3.0.0" 1650 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 1651 | integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= 1652 | 1653 | path-is-absolute@^1.0.0: 1654 | version "1.0.1" 1655 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1656 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 1657 | 1658 | path-key@^3.1.0: 1659 | version "3.1.1" 1660 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 1661 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 1662 | 1663 | path-parse@^1.0.6, path-parse@^1.0.7: 1664 | version "1.0.7" 1665 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 1666 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 1667 | 1668 | path-type@^4.0.0: 1669 | version "4.0.0" 1670 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" 1671 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 1672 | 1673 | picocolors@^1.0.0: 1674 | version "1.0.0" 1675 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 1676 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 1677 | 1678 | picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: 1679 | version "2.3.1" 1680 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 1681 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 1682 | 1683 | postcss-js@^4.0.0: 1684 | version "4.0.0" 1685 | resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.0.tgz#31db79889531b80dc7bc9b0ad283e418dce0ac00" 1686 | integrity sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ== 1687 | dependencies: 1688 | camelcase-css "^2.0.1" 1689 | 1690 | postcss-load-config@^3.1.0: 1691 | version "3.1.3" 1692 | resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.1.3.tgz#21935b2c43b9a86e6581a576ca7ee1bde2bd1d23" 1693 | integrity sha512-5EYgaM9auHGtO//ljHH+v/aC/TQ5LHXtL7bQajNAUBKUVKiYE8rYpFms7+V26D9FncaGe2zwCoPQsFKb5zF/Hw== 1694 | dependencies: 1695 | lilconfig "^2.0.4" 1696 | yaml "^1.10.2" 1697 | 1698 | postcss-nested@5.0.6: 1699 | version "5.0.6" 1700 | resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-5.0.6.tgz#466343f7fc8d3d46af3e7dba3fcd47d052a945bc" 1701 | integrity sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA== 1702 | dependencies: 1703 | postcss-selector-parser "^6.0.6" 1704 | 1705 | postcss-selector-parser@^6.0.6, postcss-selector-parser@^6.0.9: 1706 | version "6.0.9" 1707 | resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz#ee71c3b9ff63d9cd130838876c13a2ec1a992b2f" 1708 | integrity sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ== 1709 | dependencies: 1710 | cssesc "^3.0.0" 1711 | util-deprecate "^1.0.2" 1712 | 1713 | postcss-value-parser@^4.2.0: 1714 | version "4.2.0" 1715 | resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" 1716 | integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== 1717 | 1718 | postcss@8.4.5: 1719 | version "8.4.5" 1720 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.5.tgz#bae665764dfd4c6fcc24dc0fdf7e7aa00cc77f95" 1721 | integrity sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg== 1722 | dependencies: 1723 | nanoid "^3.1.30" 1724 | picocolors "^1.0.0" 1725 | source-map-js "^1.0.1" 1726 | 1727 | postcss@^8.4.6: 1728 | version "8.4.6" 1729 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.6.tgz#c5ff3c3c457a23864f32cb45ac9b741498a09ae1" 1730 | integrity sha512-OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA== 1731 | dependencies: 1732 | nanoid "^3.2.0" 1733 | picocolors "^1.0.0" 1734 | source-map-js "^1.0.2" 1735 | 1736 | prelude-ls@^1.2.1: 1737 | version "1.2.1" 1738 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" 1739 | integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== 1740 | 1741 | prop-types@^15.7.2: 1742 | version "15.8.1" 1743 | resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" 1744 | integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== 1745 | dependencies: 1746 | loose-envify "^1.4.0" 1747 | object-assign "^4.1.1" 1748 | react-is "^16.13.1" 1749 | 1750 | punycode@^2.1.0: 1751 | version "2.1.1" 1752 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 1753 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 1754 | 1755 | queue-microtask@^1.2.2: 1756 | version "1.2.3" 1757 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" 1758 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 1759 | 1760 | quick-lru@^5.1.1: 1761 | version "5.1.1" 1762 | resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" 1763 | integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== 1764 | 1765 | react-dom@17.0.2: 1766 | version "17.0.2" 1767 | resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" 1768 | integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== 1769 | dependencies: 1770 | loose-envify "^1.1.0" 1771 | object-assign "^4.1.1" 1772 | scheduler "^0.20.2" 1773 | 1774 | react-fast-compare@^3.0.1: 1775 | version "3.2.0" 1776 | resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.0.tgz#641a9da81b6a6320f270e89724fb45a0b39e43bb" 1777 | integrity sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA== 1778 | 1779 | react-is@^16.13.1: 1780 | version "16.13.1" 1781 | resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" 1782 | integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== 1783 | 1784 | react-popper@^2.3.0: 1785 | version "2.3.0" 1786 | resolved "https://registry.yarnpkg.com/react-popper/-/react-popper-2.3.0.tgz#17891c620e1320dce318bad9fede46a5f71c70ba" 1787 | integrity sha512-e1hj8lL3uM+sgSR4Lxzn5h1GxBlpa4CQz0XLF8kx4MDrDRWY0Ena4c97PUeSX9i5W3UAfDP0z0FXCTQkoXUl3Q== 1788 | dependencies: 1789 | react-fast-compare "^3.0.1" 1790 | warning "^4.0.2" 1791 | 1792 | react@17.0.2: 1793 | version "17.0.2" 1794 | resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" 1795 | integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== 1796 | dependencies: 1797 | loose-envify "^1.1.0" 1798 | object-assign "^4.1.1" 1799 | 1800 | readdirp@~3.6.0: 1801 | version "3.6.0" 1802 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" 1803 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== 1804 | dependencies: 1805 | picomatch "^2.2.1" 1806 | 1807 | regenerator-runtime@^0.13.4: 1808 | version "0.13.9" 1809 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" 1810 | integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== 1811 | 1812 | regexp.prototype.flags@^1.3.1: 1813 | version "1.4.1" 1814 | resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz#b3f4c0059af9e47eca9f3f660e51d81307e72307" 1815 | integrity sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ== 1816 | dependencies: 1817 | call-bind "^1.0.2" 1818 | define-properties "^1.1.3" 1819 | 1820 | regexpp@^3.2.0: 1821 | version "3.2.0" 1822 | resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" 1823 | integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== 1824 | 1825 | resolve-from@^4.0.0: 1826 | version "4.0.0" 1827 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 1828 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 1829 | 1830 | resolve@^1.20.0, resolve@^1.22.0: 1831 | version "1.22.0" 1832 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" 1833 | integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== 1834 | dependencies: 1835 | is-core-module "^2.8.1" 1836 | path-parse "^1.0.7" 1837 | supports-preserve-symlinks-flag "^1.0.0" 1838 | 1839 | resolve@^2.0.0-next.3: 1840 | version "2.0.0-next.3" 1841 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" 1842 | integrity sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q== 1843 | dependencies: 1844 | is-core-module "^2.2.0" 1845 | path-parse "^1.0.6" 1846 | 1847 | reusify@^1.0.4: 1848 | version "1.0.4" 1849 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" 1850 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 1851 | 1852 | rimraf@^3.0.2: 1853 | version "3.0.2" 1854 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" 1855 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== 1856 | dependencies: 1857 | glob "^7.1.3" 1858 | 1859 | run-parallel@^1.1.9: 1860 | version "1.2.0" 1861 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" 1862 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 1863 | dependencies: 1864 | queue-microtask "^1.2.2" 1865 | 1866 | scheduler@^0.20.2: 1867 | version "0.20.2" 1868 | resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" 1869 | integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== 1870 | dependencies: 1871 | loose-envify "^1.1.0" 1872 | object-assign "^4.1.1" 1873 | 1874 | semver@^6.3.0: 1875 | version "6.3.0" 1876 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 1877 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 1878 | 1879 | semver@^7.3.5: 1880 | version "7.3.5" 1881 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" 1882 | integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== 1883 | dependencies: 1884 | lru-cache "^6.0.0" 1885 | 1886 | shebang-command@^2.0.0: 1887 | version "2.0.0" 1888 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 1889 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 1890 | dependencies: 1891 | shebang-regex "^3.0.0" 1892 | 1893 | shebang-regex@^3.0.0: 1894 | version "3.0.0" 1895 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 1896 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 1897 | 1898 | side-channel@^1.0.4: 1899 | version "1.0.4" 1900 | resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" 1901 | integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== 1902 | dependencies: 1903 | call-bind "^1.0.0" 1904 | get-intrinsic "^1.0.2" 1905 | object-inspect "^1.9.0" 1906 | 1907 | slash@^3.0.0: 1908 | version "3.0.0" 1909 | resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" 1910 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== 1911 | 1912 | source-map-js@^1.0.1, source-map-js@^1.0.2: 1913 | version "1.0.2" 1914 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" 1915 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== 1916 | 1917 | sprintf-js@~1.0.2: 1918 | version "1.0.3" 1919 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 1920 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= 1921 | 1922 | string.prototype.matchall@^4.0.6: 1923 | version "4.0.6" 1924 | resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz#5abb5dabc94c7b0ea2380f65ba610b3a544b15fa" 1925 | integrity sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg== 1926 | dependencies: 1927 | call-bind "^1.0.2" 1928 | define-properties "^1.1.3" 1929 | es-abstract "^1.19.1" 1930 | get-intrinsic "^1.1.1" 1931 | has-symbols "^1.0.2" 1932 | internal-slot "^1.0.3" 1933 | regexp.prototype.flags "^1.3.1" 1934 | side-channel "^1.0.4" 1935 | 1936 | string.prototype.trimend@^1.0.4: 1937 | version "1.0.4" 1938 | resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" 1939 | integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== 1940 | dependencies: 1941 | call-bind "^1.0.2" 1942 | define-properties "^1.1.3" 1943 | 1944 | string.prototype.trimstart@^1.0.4: 1945 | version "1.0.4" 1946 | resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" 1947 | integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== 1948 | dependencies: 1949 | call-bind "^1.0.2" 1950 | define-properties "^1.1.3" 1951 | 1952 | strip-ansi@^6.0.1: 1953 | version "6.0.1" 1954 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" 1955 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 1956 | dependencies: 1957 | ansi-regex "^5.0.1" 1958 | 1959 | strip-bom@^3.0.0: 1960 | version "3.0.0" 1961 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" 1962 | integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= 1963 | 1964 | strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: 1965 | version "3.1.1" 1966 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" 1967 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 1968 | 1969 | styled-jsx@5.0.0: 1970 | version "5.0.0" 1971 | resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.0.0.tgz#816b4b92e07b1786c6b7111821750e0ba4d26e77" 1972 | integrity sha512-qUqsWoBquEdERe10EW8vLp3jT25s/ssG1/qX5gZ4wu15OZpmSMFI2v+fWlRhLfykA5rFtlJ1ME8A8pm/peV4WA== 1973 | 1974 | supports-color@^5.3.0: 1975 | version "5.5.0" 1976 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 1977 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 1978 | dependencies: 1979 | has-flag "^3.0.0" 1980 | 1981 | supports-color@^7.1.0: 1982 | version "7.2.0" 1983 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 1984 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 1985 | dependencies: 1986 | has-flag "^4.0.0" 1987 | 1988 | supports-preserve-symlinks-flag@^1.0.0: 1989 | version "1.0.0" 1990 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 1991 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 1992 | 1993 | tailwindcss@^3.0.22: 1994 | version "3.0.22" 1995 | resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.0.22.tgz#5f1aac83810261300ae5b2f98fd4a2fa2ded2c42" 1996 | integrity sha512-F8lt74RlNZirnkaSk310+vGQta7c0/hgx7/bqxruM4wS9lp8oqV93lzavajC3VT0Lp4UUtUVIt8ifKcmGzkr0A== 1997 | dependencies: 1998 | arg "^5.0.1" 1999 | chalk "^4.1.2" 2000 | chokidar "^3.5.3" 2001 | color-name "^1.1.4" 2002 | cosmiconfig "^7.0.1" 2003 | detective "^5.2.0" 2004 | didyoumean "^1.2.2" 2005 | dlv "^1.1.3" 2006 | fast-glob "^3.2.11" 2007 | glob-parent "^6.0.2" 2008 | is-glob "^4.0.3" 2009 | normalize-path "^3.0.0" 2010 | object-hash "^2.2.0" 2011 | postcss "^8.4.6" 2012 | postcss-js "^4.0.0" 2013 | postcss-load-config "^3.1.0" 2014 | postcss-nested "5.0.6" 2015 | postcss-selector-parser "^6.0.9" 2016 | postcss-value-parser "^4.2.0" 2017 | quick-lru "^5.1.1" 2018 | resolve "^1.22.0" 2019 | 2020 | text-table@^0.2.0: 2021 | version "0.2.0" 2022 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 2023 | integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= 2024 | 2025 | to-regex-range@^5.0.1: 2026 | version "5.0.1" 2027 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 2028 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 2029 | dependencies: 2030 | is-number "^7.0.0" 2031 | 2032 | tsconfig-paths@^3.12.0, tsconfig-paths@^3.9.0: 2033 | version "3.12.0" 2034 | resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz#19769aca6ee8f6a1a341e38c8fa45dd9fb18899b" 2035 | integrity sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg== 2036 | dependencies: 2037 | "@types/json5" "^0.0.29" 2038 | json5 "^1.0.1" 2039 | minimist "^1.2.0" 2040 | strip-bom "^3.0.0" 2041 | 2042 | tslib@^1.8.1: 2043 | version "1.14.1" 2044 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" 2045 | integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== 2046 | 2047 | tsutils@^3.21.0: 2048 | version "3.21.0" 2049 | resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" 2050 | integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== 2051 | dependencies: 2052 | tslib "^1.8.1" 2053 | 2054 | type-check@^0.4.0, type-check@~0.4.0: 2055 | version "0.4.0" 2056 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" 2057 | integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== 2058 | dependencies: 2059 | prelude-ls "^1.2.1" 2060 | 2061 | type-fest@^0.20.2: 2062 | version "0.20.2" 2063 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" 2064 | integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== 2065 | 2066 | typescript@4.5.5: 2067 | version "4.5.5" 2068 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3" 2069 | integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA== 2070 | 2071 | unbox-primitive@^1.0.1: 2072 | version "1.0.1" 2073 | resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" 2074 | integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== 2075 | dependencies: 2076 | function-bind "^1.1.1" 2077 | has-bigints "^1.0.1" 2078 | has-symbols "^1.0.2" 2079 | which-boxed-primitive "^1.0.2" 2080 | 2081 | uri-js@^4.2.2: 2082 | version "4.4.1" 2083 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" 2084 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== 2085 | dependencies: 2086 | punycode "^2.1.0" 2087 | 2088 | use-subscription@1.5.1: 2089 | version "1.5.1" 2090 | resolved "https://registry.yarnpkg.com/use-subscription/-/use-subscription-1.5.1.tgz#73501107f02fad84c6dd57965beb0b75c68c42d1" 2091 | integrity sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA== 2092 | dependencies: 2093 | object-assign "^4.1.1" 2094 | 2095 | util-deprecate@^1.0.2: 2096 | version "1.0.2" 2097 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 2098 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 2099 | 2100 | v8-compile-cache@^2.0.3: 2101 | version "2.3.0" 2102 | resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" 2103 | integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== 2104 | 2105 | warning@^4.0.2: 2106 | version "4.0.3" 2107 | resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" 2108 | integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== 2109 | dependencies: 2110 | loose-envify "^1.0.0" 2111 | 2112 | which-boxed-primitive@^1.0.2: 2113 | version "1.0.2" 2114 | resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" 2115 | integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== 2116 | dependencies: 2117 | is-bigint "^1.0.1" 2118 | is-boolean-object "^1.1.0" 2119 | is-number-object "^1.0.4" 2120 | is-string "^1.0.5" 2121 | is-symbol "^1.0.3" 2122 | 2123 | which@^2.0.1: 2124 | version "2.0.2" 2125 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 2126 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 2127 | dependencies: 2128 | isexe "^2.0.0" 2129 | 2130 | word-wrap@^1.2.3: 2131 | version "1.2.3" 2132 | resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" 2133 | integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== 2134 | 2135 | wrappy@1: 2136 | version "1.0.2" 2137 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 2138 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 2139 | 2140 | xtend@^4.0.2: 2141 | version "4.0.2" 2142 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" 2143 | integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== 2144 | 2145 | yallist@^4.0.0: 2146 | version "4.0.0" 2147 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 2148 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 2149 | 2150 | yaml@^1.10.0, yaml@^1.10.2: 2151 | version "1.10.2" 2152 | resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" 2153 | integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== 2154 | --------------------------------------------------------------------------------