From 11e3ab47f96b4f377962eabc38719c72f6140e64 Mon Sep 17 00:00:00 2001 From: hiron Date: Mon, 29 Mar 2021 11:18:00 +0900 Subject: [PATCH 001/162] Update website --- website/docs/contact.md | 13 ++++++++----- website/docusaurus.config.js | 8 +++----- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/website/docs/contact.md b/website/docs/contact.md index 3c50d8f8..8fb9fcac 100644 --- a/website/docs/contact.md +++ b/website/docs/contact.md @@ -5,11 +5,14 @@ title: contact お気軽にお問い合わせください。 -## Mail - -contact(a)hrntsm.com (a) を @ に変えてください。 - ## Discussions -簡単な質問、要望などは以下のディスカッションサイトの利用もどうぞ +質問、要望などは以下のディスカッションサイトの確認、利用をお願いします。 https://github.com/hrntsm/HoaryFox/discussions + +## Mail + +メールによる問い合わせも対応していますが、 +公開可能なものは、情報の蓄積のため上記サイトへ投稿するようにお願いしています。 + +contact(a)hrntsm.com (a) を @ に変えてください。 diff --git a/website/docusaurus.config.js b/website/docusaurus.config.js index 87898e10..fc29d858 100644 --- a/website/docusaurus.config.js +++ b/website/docusaurus.config.js @@ -44,7 +44,7 @@ module.exports = { position: 'right', }, { - href: 'https://hiron.dev', + href: 'https://hiron.dev/about/', label: 'AboutMe', position: 'right' }, @@ -107,15 +107,13 @@ module.exports = { { docs: { sidebarPath: require.resolve('./sidebars.js'), - // Please change this to your repo. editUrl: - 'https://github.com/facebook/docusaurus/edit/master/website/', + 'https://github.com/hrntsm/HoaryFox/edit/develop/website/', }, blog: { showReadingTime: true, - // Please change this to your repo. editUrl: - 'https://github.com/facebook/docusaurus/edit/master/website/blog/', + 'https://github.com/hrntsm/HoaryFox/edit/develop/website/', }, theme: { customCss: require.resolve('./src/css/custom.css'), From cbac90ff2957d1b13402cb05c594d3caa3f5ae1f Mon Sep 17 00:00:00 2001 From: hiron Date: Mon, 7 Jun 2021 11:02:02 +0900 Subject: [PATCH 002/162] Add relation.png --- website/docs/Usage/HowToInstall.md | 10 +- website/images/HowToInstall/relation.png | Bin 0 -> 124415 bytes website/images/HowToInstall/relation.svg | 12463 +++++++++++++++++++++ 3 files changed, 12472 insertions(+), 1 deletion(-) create mode 100644 website/images/HowToInstall/relation.png create mode 100644 website/images/HowToInstall/relation.svg diff --git a/website/docs/Usage/HowToInstall.md b/website/docs/Usage/HowToInstall.md index 73257341..85581af1 100644 --- a/website/docs/Usage/HowToInstall.md +++ b/website/docs/Usage/HowToInstall.md @@ -18,4 +18,12 @@ Karamba3D との連携機能を使う場合は Karamba.gha を管理者権限の :::note 連携が必要ない場合は、HoaryFoxのフォルダ内にある karambaConnect.gha ファイルを削除するとコンポーネントの読み込みエラーを回避できます。 -::: \ No newline at end of file +::: + +## 各ソフトとの連携の概要 + +HoaryFox は下図のように ST-Bridge を介して Rhinoceros/Grasshopper/Karamba3D と BIM ソフト、一貫構造計算との連携を行うことができます。 + +詳細は各コンポーネントの紹介ページを参照してください。 + +![](../../images/HowToInstall/relation.png) \ No newline at end of file diff --git a/website/images/HowToInstall/relation.png b/website/images/HowToInstall/relation.png new file mode 100644 index 0000000000000000000000000000000000000000..17923dd78e58d1fa7b6d499703358f54fcba77ee GIT binary patch literal 124415 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

P0OUedgAmuVmCMv3 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

eY?ojM*tQJ7_ZReh#ofvk&Ie16I{sp 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

0y>}NviyhC;C;``%+$BJ2+;yS2XzFX(~LVE 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 literal 0 HcmV?d00001 diff --git a/website/images/HowToInstall/relation.svg b/website/images/HowToInstall/relation.svg new file mode 100644 index 00000000..0166f9a3 --- /dev/null +++ b/website/images/HowToInstall/relation.svg @@ -0,0 +1,12463 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ST-Bridge + + + 一貫構造計算ソフト + + + + + + + + HoaryFox + + From 9cf91a1173cd3505183d794ef8a5dee8c9da394f Mon Sep 17 00:00:00 2001 From: hrntsm Date: Wed, 16 Jun 2021 22:45:43 +0900 Subject: [PATCH 003/162] Update doc deploy settings --- .github/workflows/deploy-document.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/deploy-document.yml b/.github/workflows/deploy-document.yml index b22a1d02..9cf8313c 100644 --- a/.github/workflows/deploy-document.yml +++ b/.github/workflows/deploy-document.yml @@ -2,6 +2,7 @@ name: Deploy on: push: + branches: [develop] paths: - "website/**" From 9be138c2a9f8b584cf9cbe163434effc882c645e Mon Sep 17 00:00:00 2001 From: hrntsm Date: Wed, 16 Jun 2021 22:46:08 +0900 Subject: [PATCH 004/162] Clean unused doc.md --- website/docs/doc1.md | 203 ------------------------------------------- website/docs/doc2.md | 6 -- website/docs/doc3.md | 14 --- website/docs/mdx.md | 17 ---- 4 files changed, 240 deletions(-) delete mode 100644 website/docs/doc1.md delete mode 100644 website/docs/doc2.md delete mode 100644 website/docs/doc3.md delete mode 100644 website/docs/mdx.md diff --git a/website/docs/doc1.md b/website/docs/doc1.md deleted file mode 100644 index 28286ecc..00000000 --- a/website/docs/doc1.md +++ /dev/null @@ -1,203 +0,0 @@ ---- -id: doc1 -title: Style Guide -sidebar_label: Style Guide -slug: / ---- - -You can write content using [GitHub-flavored Markdown syntax](https://github.github.com/gfm/). - -## Markdown Syntax - -To serve as an example page when styling markdown based Docusaurus sites. - -## Headers - -# H1 - Create the best documentation - -## H2 - Create the best documentation - -### H3 - Create the best documentation - -#### H4 - Create the best documentation - -##### H5 - Create the best documentation - -###### H6 - Create the best documentation - ---- - -## Emphasis - -Emphasis, aka italics, with *asterisks* or _underscores_. - -Strong emphasis, aka bold, with **asterisks** or __underscores__. - -Combined emphasis with **asterisks and _underscores_**. - -Strikethrough uses two tildes. ~~Scratch this.~~ - ---- - -## Lists - -1. First ordered list item -1. Another item - - Unordered sub-list. -1. Actual numbers don't matter, just that it's a number - 1. Ordered sub-list -1. And another item. - -* Unordered list can use asterisks - -- Or minuses - -+ Or pluses - ---- - -## Links - -[I'm an inline-style link](https://www.google.com/) - -[I'm an inline-style link with title](https://www.google.com/ "Google's Homepage") - -[I'm a reference-style link][arbitrary case-insensitive reference text] - -[You can use numbers for reference-style link definitions][1] - -Or leave it empty and use the [link text itself]. - -URLs and URLs in angle brackets will automatically get turned into links. http://www.example.com/ or and sometimes example.com (but not on GitHub, for example). - -Some text to show that the reference links can follow later. - -[arbitrary case-insensitive reference text]: https://www.mozilla.org/ -[1]: http://slashdot.org/ -[link text itself]: http://www.reddit.com/ - ---- - -## Images - -Here's our logo (hover to see the title text): - -Inline-style: ![alt text](https://github.com/adam-p/markdown-here/raw/master/src/common/images/icon48.png 'Logo Title Text 1') - -Reference-style: ![alt text][logo] - -[logo]: https://github.com/adam-p/markdown-here/raw/master/src/common/images/icon48.png 'Logo Title Text 2' - -Images from any folder can be used by providing path to file. Path should be relative to markdown file. - -![img](../static/img/logo.svg) - ---- - -## Code - -```javascript -var s = 'JavaScript syntax highlighting'; -alert(s); -``` - -```python -s = "Python syntax highlighting" -print(s) -``` - -``` -No language indicated, so no syntax highlighting. -But let's throw in a tag. -``` - -```js {2} -function highlightMe() { - console.log('This line can be highlighted!'); -} -``` - ---- - -## Tables - -Colons can be used to align columns. - -| Tables | Are | Cool | -| ------------- | :-----------: | -----: | -| col 3 is | right-aligned | \$1600 | -| col 2 is | centered | \$12 | -| zebra stripes | are neat | \$1 | - -There must be at least 3 dashes separating each header cell. The outer pipes (|) are optional, and you don't need to make the raw Markdown line up prettily. You can also use inline Markdown. - -| Markdown | Less | Pretty | -| -------- | --------- | ---------- | -| _Still_ | `renders` | **nicely** | -| 1 | 2 | 3 | - ---- - -## Blockquotes - -> Blockquotes are very handy in email to emulate reply text. This line is part of the same quote. - -Quote break. - -> This is a very long line that will still be quoted properly when it wraps. Oh boy let's keep writing to make sure this is long enough to actually wrap for everyone. Oh, you can _put_ **Markdown** into a blockquote. - ---- - -## Inline HTML - -
-
Definition list
-
Is something people use sometimes.
- -
Markdown in HTML
-
Does *not* work **very** well. Use HTML tags.
-
- ---- - -## Line Breaks - -Here's a line for us to start with. - -This line is separated from the one above by two newlines, so it will be a _separate paragraph_. - -This line is also a separate paragraph, but... This line is only separated by a single newline, so it's a separate line in the _same paragraph_. - ---- - -## Admonitions - -:::note - -This is a note - -::: - -:::tip - -This is a tip - -::: - -:::important - -This is important - -::: - -:::caution - -This is a caution - -::: - -:::warning - -This is a warning - -::: diff --git a/website/docs/doc2.md b/website/docs/doc2.md deleted file mode 100644 index 16cfce40..00000000 --- a/website/docs/doc2.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -id: doc2 -title: Document Number 2 ---- - -This is a link to [another document.](doc3.md) This is a link to an [external page.](http://www.example.com/) diff --git a/website/docs/doc3.md b/website/docs/doc3.md deleted file mode 100644 index 2c40cc68..00000000 --- a/website/docs/doc3.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -id: doc3 -title: This is Document Number 3 ---- - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. In ac euismod odio, eu consequat dui. Nullam molestie consectetur risus id imperdiet. Proin sodales ornare turpis, non mollis massa ultricies id. Nam at nibh scelerisque, feugiat ante non, dapibus tortor. Vivamus volutpat diam quis tellus elementum bibendum. Praesent semper gravida velit quis aliquam. Etiam in cursus neque. Nam lectus ligula, malesuada et mauris a, bibendum faucibus mi. Phasellus ut interdum felis. Phasellus in odio pulvinar, porttitor urna eget, fringilla lectus. Aliquam sollicitudin est eros. Mauris consectetur quam vitae mauris interdum hendrerit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. - -Duis et egestas libero, imperdiet faucibus ipsum. Sed posuere eget urna vel feugiat. Vivamus a arcu sagittis, fermentum urna dapibus, congue lectus. Fusce vulputate porttitor nisl, ac cursus elit volutpat vitae. Nullam vitae ipsum egestas, convallis quam non, porta nibh. Morbi gravida erat nec neque bibendum, eu pellentesque velit posuere. Fusce aliquam erat eu massa eleifend tristique. - -Sed consequat sollicitudin ipsum eget tempus. Integer a aliquet velit. In justo nibh, pellentesque non suscipit eget, gravida vel lacus. Donec odio ante, malesuada in massa quis, pharetra tristique ligula. Donec eros est, tristique eget finibus quis, semper non nisl. Vivamus et elit nec enim ornare placerat. Sed posuere odio a elit cursus sagittis. - -Phasellus feugiat purus eu tortor ultrices finibus. Ut libero nibh, lobortis et libero nec, dapibus posuere eros. Sed sagittis euismod justo at consectetur. Nulla finibus libero placerat, cursus sapien at, eleifend ligula. Vivamus elit nisl, hendrerit ac nibh eu, ultrices tempus dui. Nam tellus neque, commodo non rhoncus eu, gravida in risus. Nullam id iaculis tortor. - -Nullam at odio in sem varius tempor sit amet vel lorem. Etiam eu hendrerit nisl. Fusce nibh mauris, vulputate sit amet ex vitae, congue rhoncus nisl. Sed eget tellus purus. Nullam tempus commodo erat ut tristique. Cras accumsan massa sit amet justo consequat eleifend. Integer scelerisque vitae tellus id consectetur. diff --git a/website/docs/mdx.md b/website/docs/mdx.md deleted file mode 100644 index f0210fb7..00000000 --- a/website/docs/mdx.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -id: mdx -title: Powered by MDX ---- - -You can write JSX and use React components within your Markdown thanks to [MDX](https://mdxjs.com/). - -export const Highlight = ({children, color}) => ( {children} ); - -Docusaurus green and Facebook blue are my favorite colors. - -I can write **Markdown** alongside my _JSX_! From ad3959f3ee4c1c0dca05837fcc8c412025bb98af Mon Sep 17 00:00:00 2001 From: hrntsm Date: Wed, 16 Jun 2021 22:47:52 +0900 Subject: [PATCH 005/162] Add i18n en usage page --- .../current/Component/Geometry.md | 56 + .../current/Component/IO.md | 89 + .../current/Component/NameTag.md | 91 + .../current/Component/SectionTag.md | 91 + .../current/Component/StbBuilder.md | 84 + .../current/Usage/BakeGeometry.md | 24 + .../current/Usage/ConvertToKaramba.md | 70 + .../current/Usage/ExportSTB.md | 124 + .../current/Usage/HowToInstall.md | 29 + .../current/Usage/ShowSTBModel.md | 31 + .../current/contact.md | 18 + .../current/donation.md | 30 + .../images/BakeGeometry/Bake.png | Bin 0 -> 401596 bytes .../images/Component/AxisBuilder.png | Bin 0 -> 10727 bytes .../images/Component/BeamNameTag.png | Bin 0 -> 6288 bytes .../images/Component/BeamSectionTag.png | Bin 0 -> 7814 bytes .../images/Component/BraceNameTag.png | Bin 0 -> 6889 bytes .../images/Component/BraceSectionTag.png | Bin 0 -> 7333 bytes .../images/Component/ColumnNameTag.png | Bin 0 -> 6462 bytes .../images/Component/ColumnSectionTag.png | Bin 0 -> 8013 bytes .../images/Component/ConvertToKaramba.png | Bin 0 -> 5818 bytes .../images/Component/ExportStbFile.png | Bin 0 -> 14003 bytes .../images/Component/FrameBuilder.png | Bin 0 -> 6286 bytes .../images/Component/GirderNameTag.png | Bin 0 -> 6191 bytes .../images/Component/GirderSectionTag.png | Bin 0 -> 6875 bytes .../images/Component/LoadStbFile.png | Bin 0 -> 6056 bytes .../images/Component/NodeBuilder.png | Bin 0 -> 5945 bytes .../images/Component/PostNameTag.png | Bin 0 -> 6071 bytes .../images/Component/PostSectionTag.png | Bin 0 -> 7487 bytes .../images/Component/SetCroSecFamilyName.png | Bin 0 -> 9854 bytes .../images/Component/StbToBrep.png | Bin 0 -> 14268 bytes .../images/Component/StbToLine.png | Bin 0 -> 12191 bytes .../images/Component/StoryBuilder.png | Bin 0 -> 10094 bytes .../images/ConvertToKaramba/gh.png | Bin 0 -> 57354 bytes .../images/ExportStb/AxisBuilder.png | Bin 0 -> 60307 bytes .../images/ExportStb/ExportStbfile.png | Bin 0 -> 43731 bytes .../images/ExportStb/FrameBuilder.jpg | Bin 0 -> 71399 bytes .../images/ExportStb/FrameBuilder.png | Bin 0 -> 102119 bytes .../images/ExportStb/StoryBuilder.png | Bin 0 -> 43413 bytes .../images/HowToInstall/relation.png | Bin 0 -> 124415 bytes .../images/HowToInstall/relation.svg | 12463 ++++++++++++++++ .../images/ShowStbModel/input.png | Bin 0 -> 39044 bytes 42 files changed, 13200 insertions(+) create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/current/Component/Geometry.md create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/current/Component/IO.md create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/current/Component/NameTag.md create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/current/Component/SectionTag.md create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/current/Component/StbBuilder.md create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/current/Usage/BakeGeometry.md create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/current/Usage/ConvertToKaramba.md create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/current/Usage/ExportSTB.md create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/current/Usage/HowToInstall.md create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/current/Usage/ShowSTBModel.md create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/current/contact.md create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/current/donation.md create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/images/BakeGeometry/Bake.png create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/images/Component/AxisBuilder.png create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/images/Component/BeamNameTag.png create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/images/Component/BeamSectionTag.png create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/images/Component/BraceNameTag.png create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/images/Component/BraceSectionTag.png create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/images/Component/ColumnNameTag.png create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/images/Component/ColumnSectionTag.png create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/images/Component/ConvertToKaramba.png create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/images/Component/ExportStbFile.png create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/images/Component/FrameBuilder.png create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/images/Component/GirderNameTag.png create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/images/Component/GirderSectionTag.png create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/images/Component/LoadStbFile.png create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/images/Component/NodeBuilder.png create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/images/Component/PostNameTag.png create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/images/Component/PostSectionTag.png create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/images/Component/SetCroSecFamilyName.png create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/images/Component/StbToBrep.png create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/images/Component/StbToLine.png create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/images/Component/StoryBuilder.png create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/images/ConvertToKaramba/gh.png create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/images/ExportStb/AxisBuilder.png create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/images/ExportStb/ExportStbfile.png create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/images/ExportStb/FrameBuilder.jpg create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/images/ExportStb/FrameBuilder.png create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/images/ExportStb/StoryBuilder.png create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/images/HowToInstall/relation.png create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/images/HowToInstall/relation.svg create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/images/ShowStbModel/input.png diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/Component/Geometry.md b/website/i18n/en/docusaurus-plugin-content-docs/current/Component/Geometry.md new file mode 100644 index 00000000..6a16e872 --- /dev/null +++ b/website/i18n/en/docusaurus-plugin-content-docs/current/Component/Geometry.md @@ -0,0 +1,56 @@ +--- +id: Geometry +title: Geometry +--- + +読み込んだ STB データから部材を可視化、Bake するコンポーネントのカテゴリ + +--- + +## Stb to Line + +![](../../images/Component/StbToLine.png) + +部材を Line で表示する + +|入力|説明| +|---|:---:| +|Data|Load STB file コンポーネントの Data 出力を入力| +|Bake|各 Line を断面符号ごとにレイヤー分けして Bake する| + +|出力|説明| +|---|:---:| +|Nodes| 節点の Point3d のリストを出力| +|Columns| 柱の Line のリストを出力| +|Girders| 大梁の Line のリストを出力| +|Posts| 間柱の Line のリストを出力| +|Beams| 小梁の Line のリストを出力| +|Braces| ブレースの Line のリストを出力| + +--- + +## Stb to Brep + +![](../../images/Component/StbToBrep.png) + +部材を Brep で表示する + +|入力|説明| +|---|:---:| +|Data|Load STB file コンポーネントの Data 出力を入力| +|Bake|各 Brep を断面符号ごとにレイヤー分けして Bake する| + +|出力|説明| +|---|:---:| +|Columns| 柱形状を表す Brep のリストを出力| +|Girders| 大梁形状を表す Brep のリストを出力| +|Posts| 間柱形状を表す Brep のリストを出力| +|Beams| 小梁形状を表す Brep のリストを出力| +|Braces| ブレース形状を表す Brep のリストを出力| +|Slabs| スラブ形状を表す Brep のリストを出力| +|Walls| 壁形状を表す Brep のリストを出力| + +### 表示仕様 + +- 壁は開口を含めて出力します +- スラブは凹形状の場合うまく出力されないことがあります diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/Component/IO.md b/website/i18n/en/docusaurus-plugin-content-docs/current/Component/IO.md new file mode 100644 index 00000000..9d94de0d --- /dev/null +++ b/website/i18n/en/docusaurus-plugin-content-docs/current/Component/IO.md @@ -0,0 +1,89 @@ +--- +id: IO +title: IO +--- + +データの入力出力を行うコンポーネントのカテゴリ + +--- + +## Load STB file + +![](../../images/Component/LoadStbFile.png) + +STB データの読み込み + +|入力|説明| +|---|:---:| +|Path|ST-Bridge ファイルのパス| + +|出力|説明| +|---|:---:| +|Data|読み取った ST-Bridge ファイルのデータ| + +--- + +## Export STB file + +![](../../images/Component/ExportStbFile.png) + +STB データの書き出し + +|入力|説明| +|---|:---:| +|Node|節点情報, FrameBuilder コンポーネントの Node 出力を入力| +|Axis|軸情報, AxisBuilder コンポーネントの Axis 出力を入力| +|Story|階情報, StoryBuilder コンポーネントの Story 出力を入力| +|Member|部材情報, FrameBuilder コンポーネントの Member 出力を入力| +|Section|断面情報, FrameBuilder コンポーネントの Section 出力を入力| +|Path|作成した ST-Bridge データの出力先を指定。デフォルト値はデスクトップです| +|Out?|出力を行うかのブール値。True にすると出力します| + +|出力|説明| +|---|:---:| +|Stb|作成した ST-Bridge データ| + +こちらのコンポーネントの細かいの使い方・変換仕様は、Usage の [Export ST-Bridge file](../Usage/ExportSTB) の記事も参照してください。 + +--- + +## Convert to karamba + +![](../../images/Component/ConvertToKaramba.png) + +読み込んだ STB データを 構造解析を行うコンポーネント [Karamba3D](https://www.karamba3d.com/) のデータに変換 + +|入力|説明| +|---|:---:| +|Data|Load STB file コンポーネントの Data 出力を入力| +|FamilyName|断面のファミリー名の指定。入力しない場合、SetCroSecFamilyName コンポーネントのデフォルト値が入る| + +|出力|説明| +|---|:---:| +|ElementBeam|Karamba3D の梁要素| +|CrossSection|Karamba3D の断面情報| + +--- + +## SetCroSecFamilyName + +![](../../images/Component/SetCroSecFamilyName.png) + +Karamba3D 内の断面につけるファミリー名の設定を行うコンポーネント。 + +|入力|説明| +|---|:---:| +|Box| 箱型断面のファミリー名。デフォルトは HF-Box| +|H| H型断面のファミリー名。デフォルトは HF-H| +|Circle| 円形中実断面ファミリー名。デフォルトは HF-Circle| +|Pipe| 円形中空断面の断面ファミリー名。デフォルトは HF-Pipe| +|FB| フラットバーの断面ファミリー名。デフォルトは HF-FB| +|L| L 型断面の断面ファミリー名。デフォルトは HF-L| +|T| T 型断面の断面ファミリー名。デフォルトは HF-T| +|Other| 上記以外の断面ファミリー名。デフォルトは HF-Other| + +|出力|説明| +|---|:---:| +|FamilyName|Karamba3D での断面のファミリー名の設定| + +こちらのコンポーネントの細かいの使い方・変換仕様は、Usage の [Convert to Karamba3D](../Usage/ConvertToKaramba) の記事も参照してください。 \ No newline at end of file diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/Component/NameTag.md b/website/i18n/en/docusaurus-plugin-content-docs/current/Component/NameTag.md new file mode 100644 index 00000000..9ced2d4f --- /dev/null +++ b/website/i18n/en/docusaurus-plugin-content-docs/current/Component/NameTag.md @@ -0,0 +1,91 @@ +--- +id: NameTag +title: NameTag +--- + +部材符号の表示を行うコンポーネントのカテゴリ + +--- + +## Column Name Tag + +![](../../images/Component/ColumnNameTag.png) + +柱の部材符号表示 + +|入力|説明| +|---|:---:| +|Data|Load STB file コンポーネントの Data 出力を入力| +|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは12です| + +|出力|説明| +|---|:---:| +|NameTag|符号のリスト| + +--- + +## Post Name Tag + +![](../../images/Component/PostNameTag.png) + +間柱の部材符号表示 + +|入力|説明| +|---|:---:| +|Data|Load STB file コンポーネントの Data 出力を入力| +|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは12です| + +|出力|説明| +|---|:---:| +|NameTag|符号のリスト| + +--- + +## Girder Name Tag + +![](../../images/Component/GirderNameTag.png) + +大梁の部材符号表示 + +|入力|説明| +|---|:---:| +|Data|Load STB file コンポーネントの Data 出力を入力| +|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは12です| + +|出力|説明| +|---|:---:| +|NameTag|符号のリスト| + +--- + +## Beam Name Tag + +![](../../images/Component/BeamNameTag.png) + +小梁の部材符号表示 + +|入力|説明| +|---|:---:| +|Data|Load STB file コンポーネントの Data 出力を入力| +|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは12です| + +|出力|説明| +|---|:---:| +|NameTag|符号のリスト| + +--- + +## Brace Name Tag + +![](../../images/Component/BraceNameTag.png) + +ブレースの部材符号表示 + +|入力|説明| +|---|:---:| +|Data|Load STB file コンポーネントの Data 出力を入力| +|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは12です| + +|出力|説明| +|---|:---:| +|NameTag|符号のリスト| diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/Component/SectionTag.md b/website/i18n/en/docusaurus-plugin-content-docs/current/Component/SectionTag.md new file mode 100644 index 00000000..8f221dd5 --- /dev/null +++ b/website/i18n/en/docusaurus-plugin-content-docs/current/Component/SectionTag.md @@ -0,0 +1,91 @@ +--- +id: SectionTag +title: SectionTag +--- + +断面情報の表示を行うコンポーネントのカテゴリ + +--- + +## Column Section Tag + +![](../../images/Component/ColumnSectionTag.png) + +柱の断面情報表示 + +|入力|説明| +|---|:---:| +|Data|Load STB file コンポーネントの Data 出力を入力| +|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは12です| + +|出力|説明| +|---|:---:| +|SecTag|符号のリスト| + +--- + +## Post Section Tag + +![](../../images/Component/PostSectionTag.png) + +間柱の断面情報表示 + +|入力|説明| +|---|:---:| +|Data|Load STB file コンポーネントの Data 出力を入力| +|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは12です| + +|出力|説明| +|---|:---:| +|SecTag|符号のリスト| + +--- + +## Girder Section Tag + +![](../../images/Component/GirderSectionTag.png) + +大梁の断面情報表示 + +|入力|説明| +|---|:---:| +|Data|Load STB file コンポーネントの Data 出力を入力| +|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは12です| + +|出力|説明| +|---|:---:| +|SecTag|符号のリスト| + +--- + +## Beam Section Tag + +![](../../images/Component/BeamSectionTag.png) + +小梁の断面情報表示 + +|入力|説明| +|---|:---:| +|Data|Load STB file コンポーネントの Data 出力を入力| +|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは12です| + +|出力|説明| +|---|:---:| +|SecTag|符号のリスト| + +--- + +## Brace Section Tag + +![](../../images/Component/BraceSectionTag.png) + +ブレースの断面情報表示 + +|入力|説明| +|---|:---:| +|Data|Load STB file コンポーネントの Data 出力を入力| +|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは12です| + +|出力|説明| +|---|:---:| +|SecTag|符号のリスト| diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/Component/StbBuilder.md b/website/i18n/en/docusaurus-plugin-content-docs/current/Component/StbBuilder.md new file mode 100644 index 00000000..435133f0 --- /dev/null +++ b/website/i18n/en/docusaurus-plugin-content-docs/current/Component/StbBuilder.md @@ -0,0 +1,84 @@ +--- +id: StbBuilder +title: StbBuilder +--- + +STB 書き出しのための情報を作成するコンポーネントのカテゴリ + +:::note +このコンポーネントの使用方法や注意点は [Export ST-Bridge file](../Usage/ExportSTB) にも詳しく書いていますので、そちらも参照してください。 +::: + +--- + +## Frame Builder by angle + +![](../../images/Component/FrameBuilder.png) + +架構情報を Karamba3D のモデルから作成する。 +柱と梁の区分は グローバル座標の Z 軸に対する角度を Angle に入力し、その角度以内であれば柱として判定。 + +|入力|説明| +|---|:---:| +|Model|Karamba3D の Model 出力を入力| +|Angle|柱と梁を判定する際に使う角度(rad)| + +|出力|説明| +|---|:---:| +|Member|部材情報(StbMembers)| +|Section|断面情報(StbSections)| + +--- + +## Node Builder + +![](../../images/Component/NodeBuilder.png) + +節点情報を Karamba3D のモデルから作成する。 + +|入力|説明| +|---|:---:| +|Model|Karamba3D の Model 出力を入力| + +|出力|説明| +|---|:---:| +|Node|節点情報(StbNodes)| + +--- + +## Axis Builder + +![](../../images/Component/AxisBuilder.png) + +軸情報を作成する + +|入力|説明| +|---|:---:| +|Node|節点情報、FrameBuilder の Node 出力を入力| +|Distance|原点からの軸の距離(mm)| +|Range|軸の幅(mm)| +|Name|軸の名前| +|Direcrion|軸の方向| + +|出力|説明| +|---|:---:| +|Axis|軸情報(StbAxes)| + +--- + +## Story Builder + +![](../../images/Component/StoryBuilder.png) + +階情報を作成する + +|入力|説明| +|---|:---:| +|Node|節点情報、FrameBuilder の Node 出力を入力| +|Height|原点からの階の高さ(mm)| +|Range|階の幅(mm)| +|Name|階の名前| + +|出力|説明| +|---|:---:| +|Story|階情報(StbStories)| diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/Usage/BakeGeometry.md b/website/i18n/en/docusaurus-plugin-content-docs/current/Usage/BakeGeometry.md new file mode 100644 index 00000000..64350b52 --- /dev/null +++ b/website/i18n/en/docusaurus-plugin-content-docs/current/Usage/BakeGeometry.md @@ -0,0 +1,24 @@ +--- +id: BakeGeometry +title: Bake Geometry +--- + +This section explains how to load an STB model into Grasshopper and bake it into Rhino. Please refer to the model in ShowStbModel.gh in the Samples folder. + +## Load the STB file + +When you open the file, it should look like this: Right click on the path component and select one existing file, then select the stb file you want to visualize. +If there are no errors in loading, the Load STB data component next to it will convert the data. Connect this output to the visualization components to visualize the information in the Rhino viewport. + +![](../../images/ShowStbModel/input.png) + +## Geometry Bake + +The Stb2Brep component and the Stb2Line component have a Bake function. +The Bake status is as shown in the following image. + +Layers are divided into Column, Girder, Post, Beam, Brace, Slab, and Wall, which are further divided into sublayers for each member code. + +We add meta information to the baked geometry. When you select the geometry and check the Attribure User Text in the Properties, you can see the section size and other values, which is a BIM-like function. + +![](../../images/BakeGeometry/Bake.png) diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/Usage/ConvertToKaramba.md b/website/i18n/en/docusaurus-plugin-content-docs/current/Usage/ConvertToKaramba.md new file mode 100644 index 00000000..24c956e8 --- /dev/null +++ b/website/i18n/en/docusaurus-plugin-content-docs/current/Usage/ConvertToKaramba.md @@ -0,0 +1,70 @@ +--- +id: ConvertToKaramba +title: Convert to Karamba3D +--- + +This section explains how to create a Karamba3D model using the STB data. Please refer to the Convert_to_Karamba.gh model in the Samples folder for the content here. + +## Data Conversion + +Make sure that Grasshopper can read the STB data as described in Show ST-Bridge model. +The data will be converted by entering the imported results into the Convert to Karamba component as shown below. + +The elements and sections will be converted. The converted data can be used as input for Karamba3d's Assemble Model (Karamba3D) component, so you only need to set the Load and Support settings to run the analysis in Karamba3d. +The material information is included in the CrossSection output, so there is no need to set it separately. + +The family name of the cross section can be set arbitrarily by the SetFamilyName component for each shape as shown below. If not set, the family name will start with "HF-", such as "HF-Box". + +![](../../images/ConvertToKaramba/gh.png) + +## Conversion specifications + +The following specifications are used to convert the data from STB to Karamba3D. + +### Conversion target + +- Convert columns, beams and braces, but not face materials such as floor walls + +### Element name + +- For simplicity, the IDs in STB are converted as names. (e.g. "Id15"). +- Therefore, the member code will be lost. + +### Cross-sectional shape + +- Even if a member has multiple cross sections or tapers, it will be converted as a member with only the center section. +- RC Column + - Rectangular cross section: Convert as Trapezoid + - Circular cross section: Since there is no circular solid cross section in Karamba3D, convert to match the axial cross section in 0-Section. +- RC Beams + - All converted as Trapezoid +- S section + - H-section: Converted as I-Section + - T-section: Converted as I-Section + - Flat bars: Converted as Trapezoid + - Box section: Converted as []-Section + - L-section, C-section, round steel: Converted as square Trapezoid to match the axial cross-sectional area, since Karamba3D does not support these cross-sections and they are basically used as braces. + - Since back-to-back and double bracing are not supported, the cross section will be converted as a single section even if it is set as such in STB. + +### Material + +- RC + - StbSecColumn_RC and StbSecBeam_RC are converted as RC. + - The material can be specified in STB, but it is a string of material names and not necessarily in a specific format, so it is assumed that all materials have FC21 equivalent material properties. + - Young's modulus: 21860 N/mm2 + - Poisson's ratio: 0.2 + - Density: 24 kN/m3 + - Karamba3d fy: 14 N/mm2 +- S + - For cross sections other than the above, steel material is given. + - For the same reason as the material specification for RC, all of them are assumed to have material properties equivalent to SN400. + - Young's modulus: 205000 N/mm2 + - Poisson's ratio: 0.3 + - Density: 78.5 kN/m3 + - Karamba3d fy: 235 N/mm2 + +:::note + +If you have any requests for unsupported functions, please contact us. + +::: diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/Usage/ExportSTB.md b/website/i18n/en/docusaurus-plugin-content-docs/current/Usage/ExportSTB.md new file mode 100644 index 00000000..c91ea2ea --- /dev/null +++ b/website/i18n/en/docusaurus-plugin-content-docs/current/Usage/ExportSTB.md @@ -0,0 +1,124 @@ +--- +id: ExportSTB +title: Export ST-Bridge file +--- + +This section explains how to create ST-Bridge data from Karamba3D data. Please refer to the ExportSTB.gh model in the Samples folder for the details. +The output will be in ST-Bridge version 1.4 format. + +## Convert Karamba3D model + +From the model created by Karamba3D, the following will be created + +- Nodes (StbNodes) +- Part information (StbMembers) +- Section information (StbSections) + +The model data output from the AssembleModel component of Karamba3D will be converted by inputting the data into the FrameBuilder by angle component and NodeBuilder as follows. +The Rhino viewport will display text to indicate whether the converted member is a column, beam, or brace. Columns and beams are classified based on the angle of the member, so if this is not the expected classification, enter the appropriate angle in the Angle input. + +![](../../images/ExportStb/FrameBuilder.png) + +:::note +Please see the conversion specification at the bottom of this page for more information on how to model the output from Karamba3D. +::: + +## Creating Axis Information + +The AxisBuilder component is used to create data for the axes (StbAxes). +The basic idea of the behavior is that nodes that are within the Range width (Dist ± Range) from the axis specified by Distance are treated as nodes belonging to the axis. +By looking at the output of the component, you can check the direction of the axis, the distance from the origin, and the number of nodes belonging to the axis. + +The specification of the input is as follows. It is not easy to understand, so it will be improved in the future. The input is a list, and inputs with the same index are matched and converted. + +- Node: nodal information, please enter the Node from the NodeBuilder output +- Distance: Specify the distance of the axis from the origin. + - The direction of the axis will be parallel to the X or Y axis of the overall coordinate system. + - The direction of the axis is parallel to the X-axis or Y-axis of the overall coordinate system. Whether the specified Distance is in the X-direction or Y-direction is specified by the Direction input. +- Range: Specify the width of the nodal point belonging to the axis set in Distance. + - Due to the fact that nodal coordinates are in floating point format, it is recommended to set a value greater than 0, even if all nodes are on the axis. +- Name: The name of the axis. +- Direction: Specifies the direction of the axis. + - A value of 0 means that the axis will be treated as X-directed, and a value of 1 means that the axis will be treated as Y-directed. + +![](../../images/ExportStb/AxisBuilder.png) + +## Create the floor information + +The StoryBuilder component is used to create data for floors (StbStories). +The basic behavior is the same as the AxisBuilder component. +By looking at the output of the component, you can check the name of the floor, the height of the floor, and the number of nodes it belongs to. + +- Node: Nodal information, enter the Node in the NodeBuilder output. +- Height: Floor height information. Please enter the height from the origin. +- Range: Specify the width of the nodal point for the floor specified by Height. +- Name: This is the name of the floor. + +![](../../images/ExportStb/StoryBuilder.png) + +## Output the data + +By inputting all the data converted by the above three into the Export STB file component, the data will be combined to create a single ST-Bridge file. +The STB file will be output to the path specified in Path. If not specified, the file will be output to the desktop as model.stb. +If you set the value of Out? to True, the file will be output. By checking the output, you can get an overview of the data conversion status. + +![](../../images/ExportStb/ExportStbfile.png) + +--- + +## Conversion specifications + +ST-Bridge data is created according to the following specifications. + +### Target + +- Output in ST-Bridge version 1.4 format. +- Convert columns, beams, and braces, but not surface materials such as floor walls. + +:::note +Output in ST-Bridge version 2 format will be supported in the future. +::: + +### Part Identification + +- The Karamba3D model does not distinguish between column and beam braces, so the following specifications are used + - If a part is treated as a truss element in Karamba3D, it is converted to a brace. + - If the angle of a member is less than the angle entered in FrameBuilder's Angle to the Z-axis of the overall coordinate system, the member is considered to be a column; if the angle is greater than the angle, the member is considered to be a beam. +- The identification of the member corresponds to the respective representation in StbMember in ST-Bridge (e.g. StbColumn). +- STB beam members have a flag (isFoundation) to indicate whether the member is a foundation member, but all are output as False. + +### Material Identification + +- In Karamba3D, if the Family name is "Steel", the material is assumed to be S. If the Family name is "Concrete", the material is assumed to be RC. +- The material identification corresponds to the respective expression in StbSections in ST-Bridge (e.g. StbSecColumn_RC). + +:::important +If the family name of the material is other than the above, an error occurs. +::: + +### Material name + +- Do not use Karamba3D's own names. +- Karamba3D has an internal order of material names, which is a combination of numbers: C for columns, G for beams, V for braces. (C1, G1, etc.) + +### Cross Section Name + +- Create a cross section with the name set in the Name field of the Cross Section component in Karamba3D. + +:::important +Since each name is output to the STB file, please make sure to set the name. +If there is a duplicate Name, HoaryFox Converter will treat it as the same section, so only one section will be output. +::: + +### Cross section shape + +- The cross section will be output to STB according to the cross section shape set in Karamba3D. +- If there is an error in the conversion, the cross section will be output as a 10 mm square. +- RC cross-section does not have reinforcement information in Karamba3D, so it will be output as follows + - Main reinforcement: 3-D22 at top and bottom for beams, 8-D22 for columns + - Shear reinforcement: 2-D10@100 +- For S-section, the material is SN400 for both flange and web. + +:::note +If you have any requests for unsupported functions, please contact us. +::: diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/Usage/HowToInstall.md b/website/i18n/en/docusaurus-plugin-content-docs/current/Usage/HowToInstall.md new file mode 100644 index 00000000..8164f040 --- /dev/null +++ b/website/i18n/en/docusaurus-plugin-content-docs/current/Usage/HowToInstall.md @@ -0,0 +1,29 @@ +--- +id: HowToInstall +title: How to install +--- + +## Introduction + +This section describes how to install HoaryFox. + +1. Download the file from Food4Rhino's [HoaryFox](https://www.food4rhino.com/app/hoaryfox) site. +1. Right-click on the downloaded zip file, select "Allow" for the security item in the General tab, and unzip it in step 1. +1. start Grasshopper, select File > Special Folders > Components folder, and put the folder named "HoaryFox" in the file downloaded in step 1. +1. restart Rhino + +## Karamba3d Integration + +If you want to use the Karamba3D integration feature, move Karamba.gha to a folder where you do not have administrative privileges; Karamba3D folders are usually located in Program flies > Rhino > Plug-ins. + +:::note +If you do not need the linkage, you can avoid component loading errors by deleting the karambaConnect.gha file in the HoaryFox folder. +::: + +## Overview of the integration with each software + +HoaryFox can be linked with Rhinoceros/Grasshopper/Karamba3D, BIM software, and integrated structural calculation via ST-Bridge as shown below. + +For details, please refer to the introduction page of each component. + +![](../../images/HowToInstall/relation.png) diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/Usage/ShowSTBModel.md b/website/i18n/en/docusaurus-plugin-content-docs/current/Usage/ShowSTBModel.md new file mode 100644 index 00000000..33e7ba82 --- /dev/null +++ b/website/i18n/en/docusaurus-plugin-content-docs/current/Usage/ShowSTBModel.md @@ -0,0 +1,31 @@ +--- +id: ShowSTBModel +title: Show ST-Bridge model +--- + +This section explains how to load and display the STB model in Grasshopper. Please refer to the model in ShowStbModel.gh in the Samples folder for this content. + +## Load the STB file + +When you open the file, it should look like this: Right-click on the path component and select Select one existing file, then select the stb file you want to visualize. +If there are no errors in loading, the Load STB data component next to it will convert the data. Connect this output to the visualization components to visualize the information in the Rhino viewport. + +![](../../images/ShowStbModel/input.png) + +## Visualization + +### Display geometry. + +[Geometry](../Component/Geometry) category components. +Use the **"Stb to Line"** component if you want to display the frame data as a line, or the **"Stb to Brep"** component if you want to represent it in Brep, including the size. + +### Display Name tag. + +[NameTag](../Component/NameTag) category of components. +There are visualization components for columns, spacers, beams, beams, and braces, so you can connect the output of the Load STB data component to the component you want to visualize. The size of the sign can be changed by entering the Size. + +### Display section tag. + +[SectionTag](../Component/SectionTag) category of components. +There are visualization components for columns, spans, beams, beams, and braces, so connect the output of the Load STB data component to the component you want to visualize. The size of the sign can be changed by entering the Size. +The cross-sectional size of the part will be output as text on the viewport. diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/contact.md b/website/i18n/en/docusaurus-plugin-content-docs/current/contact.md new file mode 100644 index 00000000..8fb9fcac --- /dev/null +++ b/website/i18n/en/docusaurus-plugin-content-docs/current/contact.md @@ -0,0 +1,18 @@ +--- +id: contact +title: contact +--- + +お気軽にお問い合わせください。 + +## Discussions + +質問、要望などは以下のディスカッションサイトの確認、利用をお願いします。 +https://github.com/hrntsm/HoaryFox/discussions + +## Mail + +メールによる問い合わせも対応していますが、 +公開可能なものは、情報の蓄積のため上記サイトへ投稿するようにお願いしています。 + +contact(a)hrntsm.com (a) を @ に変えてください。 diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/donation.md b/website/i18n/en/docusaurus-plugin-content-docs/current/donation.md new file mode 100644 index 00000000..b790c4e9 --- /dev/null +++ b/website/i18n/en/docusaurus-plugin-content-docs/current/donation.md @@ -0,0 +1,30 @@ +--- +id: donation +title: donation +--- + +寄付のお願い + +HoaryFox をダウンロード頂きありがとうございます。 +このソフトウェアは皆様からのご支援によって更新を続けています。 +もし使用して気に入って頂けたらご支援いただけると今後も継続して更新を続けることが出来ます。 + +支援先一覧: + +pixivFANBOX +https://hiron.fanbox.cc/ + +お読みくださりありがとうございました。 + +---- + +Please make a donation + +Thank you for downloading HoaryFox. +This software is being updated with your support. +If you like this software, please donation. + +pixivFANBOX +https://hiron.fanbox.cc/ + +Thank you for reading. \ No newline at end of file diff --git a/website/i18n/en/docusaurus-plugin-content-docs/images/BakeGeometry/Bake.png b/website/i18n/en/docusaurus-plugin-content-docs/images/BakeGeometry/Bake.png new file mode 100644 index 0000000000000000000000000000000000000000..079e7549815fd866380985292f97210beaa78aa0 GIT binary patch literal 401596 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Πs<3>v*`JND-!# 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%0DBU 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 literal 0 HcmV?d00001 diff --git a/website/i18n/en/docusaurus-plugin-content-docs/images/Component/BraceNameTag.png b/website/i18n/en/docusaurus-plugin-content-docs/images/Component/BraceNameTag.png new file mode 100644 index 0000000000000000000000000000000000000000..afebcefbafb29735c2e40a6f6769c16b5bea8205 GIT binary patch literal 6889 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 z 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 LNkvXXu0mjfIqv%o literal 0 HcmV?d00001 diff --git a/website/i18n/en/docusaurus-plugin-content-docs/images/Component/ColumnNameTag.png b/website/i18n/en/docusaurus-plugin-content-docs/images/Component/ColumnNameTag.png new file mode 100644 index 0000000000000000000000000000000000000000..031b13d98b604f0d0be069e771525306aa08d256 GIT binary patch literal 6462 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 Y4^S&5V4LOuMF0Q*07*qoM6N<$f~2)=PXGV_ literal 0 HcmV?d00001 diff --git a/website/i18n/en/docusaurus-plugin-content-docs/images/Component/ColumnSectionTag.png b/website/i18n/en/docusaurus-plugin-content-docs/images/Component/ColumnSectionTag.png new file mode 100644 index 0000000000000000000000000000000000000000..42e7789afde67060826796de1ad030b1757ed8d9 GIT binary patch literal 8013 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 pm6DmB#0{{bN!4oCn1 literal 0 HcmV?d00001 diff --git a/website/i18n/en/docusaurus-plugin-content-docs/images/Component/ConvertToKaramba.png b/website/i18n/en/docusaurus-plugin-content-docs/images/Component/ConvertToKaramba.png new file mode 100644 index 0000000000000000000000000000000000000000..75c44bb4c672b94e9a67884f0479fb83d8fa5946 GIT binary patch literal 5818 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 Ef-J`=kpKVy literal 0 HcmV?d00001 diff --git a/website/i18n/en/docusaurus-plugin-content-docs/images/Component/ExportStbFile.png b/website/i18n/en/docusaurus-plugin-content-docs/images/Component/ExportStbFile.png new file mode 100644 index 0000000000000000000000000000000000000000..5616b7c0ee3b80a1ca075ed4cf3bc3b6396e4574 GIT binary patch literal 14003 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 B$rbV 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 literal 0 HcmV?d00001 diff --git a/website/i18n/en/docusaurus-plugin-content-docs/images/Component/GirderSectionTag.png b/website/i18n/en/docusaurus-plugin-content-docs/images/Component/GirderSectionTag.png new file mode 100644 index 0000000000000000000000000000000000000000..da1581f5159a73ea0b3065630faaf34bd82605e0 GIT binary patch literal 6875 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 literal 0 HcmV?d00001 diff --git a/website/i18n/en/docusaurus-plugin-content-docs/images/Component/LoadStbFile.png b/website/i18n/en/docusaurus-plugin-content-docs/images/Component/LoadStbFile.png new file mode 100644 index 0000000000000000000000000000000000000000..075d2cff4b5e5df48b1da2352b83f17b114eaa64 GIT binary patch literal 6056 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 b0X6V{{T$pB>B_-P00000NkvXXu0mjf#4;sP literal 0 HcmV?d00001 diff --git a/website/i18n/en/docusaurus-plugin-content-docs/images/Component/PostNameTag.png b/website/i18n/en/docusaurus-plugin-content-docs/images/Component/PostNameTag.png new file mode 100644 index 0000000000000000000000000000000000000000..548917f3b469c4a68011cea3c041f89795259e1f GIT binary patch literal 6071 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 literal 0 HcmV?d00001 diff --git a/website/i18n/en/docusaurus-plugin-content-docs/images/Component/PostSectionTag.png b/website/i18n/en/docusaurus-plugin-content-docs/images/Component/PostSectionTag.png new file mode 100644 index 0000000000000000000000000000000000000000..2563ea93939c293f3bf495e088de0a52a9dc8504 GIT binary patch literal 7487 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 JPDHLkV1oI78~OkM literal 0 HcmV?d00001 diff --git a/website/i18n/en/docusaurus-plugin-content-docs/images/Component/SetCroSecFamilyName.png b/website/i18n/en/docusaurus-plugin-content-docs/images/Component/SetCroSecFamilyName.png new file mode 100644 index 0000000000000000000000000000000000000000..644d69bc49740c7cba00292165106f11e5c4d80c GIT binary patch literal 9854 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 literal 0 HcmV?d00001 diff --git a/website/i18n/en/docusaurus-plugin-content-docs/images/Component/StbToLine.png b/website/i18n/en/docusaurus-plugin-content-docs/images/Component/StbToLine.png new file mode 100644 index 0000000000000000000000000000000000000000..9f44f0d67cb75b7f62902bbb88795e956b9598b9 GIT binary patch literal 12191 zcma)?^>1gThE|D%t=@5_sqZ=mD-CfclA>BOteE)*y zhiyM>ukF6?-RGS5b)75ngPJ@(4kZo%0KivNc&CYcO+`MMurQF%C?%vt002Ee@tuse z*Tpx4Df!DXp*gVO8yWUiZVUtI90Z8+U?8i65{M$AJcxum1?m3$m^AZL?j z|G2c9+cyW=dG$z(A&>%x2`;RtDA#S|a>e~}Mvp^Cs6m>0Kj*Iss(d`{%tlZ2M7$N#(3s4i$b3#LUFG&*GCf~}fZPc;DL zx)laJs1Vy(m`1b9b_n~?+^4{lv0Z*dbX3%!+i>9X{ipL*K8r!~yW9M?5$_&62H8sb zH~($f@?4#)Rh?}Q?cP7YgfH(O?;fw$bbe~H_4M>?->5u4U3d0~tp(g4-TEB2sV%m8 zR@ux|8jA7|;p zTFZSzFe)XV`PYe)=G`1ya95r6)UdZ>+rKZfmBzNCLj#N$1S&Q*KbyD%um3J+RkfW( zRVPJ8M%qjkDfZ?|JzgX?*e#e^2GrZkP{(p2Y^Hw19(O(m82juOFN~TXgdLVY2aMJV z+0FB8rvHw3VcQc$DtiC7R&M@7gPnf1`>cLOrOby>v>sVu`$Yly@_zq=nQ}expv$Ai zHA_^`?EWA})iihKgDDIn@MN)GIq-gIto{-?&-VO6ICP%9{0 z`Ik`{OC5G^3;=kyYOl35lEa&>el0-r)>>{|5oo45U0WCu^frT zI_u<|z$b6_{mCBc-@YEl%L@=uH2=1{gL2Cx3(}yOJekl96tJaPUi4dvCfNptQITD0 zd^$;SL+T#h&A#}#+`y+Yd0Ow+$xk1>{-77m$4foU!%xqH zZ!G)bXx_hAj_>TeKNhRETbS&&>)#qkzTAwLqV%VSoSu)0sSB^TX*JwGJe-g9E|T6J zeK{7s5=KoXh3LNeF6=189B{ncOv!HrHeoj}o{#!kP` zdue7%HQs{NoTB$Iezh0S*(PF--(MbyjQ)3LGOPX6M3FQgt4P{5`mh@jm0c>8czmpNhvgbTGWKFY@fT5S*@ zf~b6VvprSt&=p_+fejcYtry~<)O;Xm$5A)DDTzrrwg2!kGld*MBjHnL1{JiKR`?Wf zTZ{s_Zv2Gt)xAlmGKrMh`6X{Iv7Xn8``rGh*ogq|chUx0ulJ^MApCBRG4b=59RDkQ zSA|F-rkL-oHyhEh7ImOQ3UFWuH8lNPd@CL|bgb@`N8OcjO(z2F9HHbk#U8+;A zOYxyPv(}JO{P%eNTh*W#9dxvAHE-<7)4RheG6#G(gaKsku9($d0s?#?wS0m9r@8ul zw}lD?CNq=-vNV!IE#-i)Z7^@LbK6K)s@Om+8 z#NGM|dY{CEy{$008G|*<)o zUvX#}_&e5wU>_$JlcW$H{drN;+(n$2sUitNn7VHRhj@i>+~`5k+0TqGV27fY0^hxZ zIf{YS$8WNScZpd<%mxMqc3g>mxxK;RP!jqSEdW=r&)_{@vz#Fwt#Mo%yK~wv*(toD zu-c+NJ&R4WcxH<%o+&liiSPb%5n!iy@pnSbqPB=C{4U0X$}Iejk>$`U=z09r=H>6+ z3QKu$$PcvCsF6uzvpo33t)gpc`s-{!eYW+B%O^5O{%4K|vjwq(z@Z9ueZF5!L>@z^ z;eR89SG|m*cRTaL!v5-`ho54Zcw&=5!UbMq5?a|9%xfHA?JDtaeqMGcmU~NH zqB6}j*gb3d{!*C3ZFE7^^>3X0}i(7~YXTElb&CJiT zOhL7wdTFHwmu1`8%DHK4ew`MTjJ$`A4|IbP9iOd(-pT)5sk2{^)vI^R-fWywK`b^r z%Ex{`{Zy+J+J&ny*0=4J19(bT_F^VMef zxO3vYiyR{u6Y+JX@E4kcCe93_L_T^*hn zz!WIAlTTqF$Tx_K9kRc6OvP5Kb$ylV=R^T9WdK0Dx^T^%1tXK(4q*ytIETCVvYYzj zKP?o59r6`u^u-$Z}REzIyfBKtW}MmVcjy#eJr!Gl`VsA z(_TmQbJLxHfh$hG@q11G-G=%U*$HXYr5*?bMVJwSX{5UbH4ccfwd^UNDE+e)hTpmA zNm`0i(E>~F<5V*E#Q9@S3i#&6$g))fz-mynu12^_p_76F z65O_~CYt{pQP9!gCrtd@u;jo$8xzt7mc+?{9cD_5RoTHlmTGr=+ zpJ|$Y>}*7IS(rGNmg_(ez;6waC}T2yr1SZyj?LW$O-9RX*&L99sd79k)OB z&qLd4KdX%*T<(R%sAw^W%ipTHQ;KMKW`DtStD(PQfU=a9q)QzW0T$n5xh>KIN>)L$ zF`dq7L7}}L(Ed^n*(7_#*k0~W^@)=kbFu>Dse5Ik=VQ}{4DhYgb2|%R9Cf^@^$pWi zCC?X=FF=@>sZ?endT(OUv8ERSO~c=di34545P)zl3l(jfp3Ol!P9NZfOejW%4&5vP z&&!ezoizCxz)IriuvXNj1`(j(`{$GAr!kn&OWia5dlAvV=<&EZ5U!pAJ})y7ZgNu- z0sJj0h(nCdXR{Bl zxy|*$84ST>5ILe3;a8fsK;1DapJra&e0-USwgmTZKNlRfUKdW?3AA@6?K&M`P`NB} zQV62Sor_lXuxD=iOs);`!uvm}s3}gM7ShddhGOj6RQIFQ2-4)C{9_@h-nBaVNjfOl z^$$YyAUlJ(3yFN~j|My(=%dxmm@KXp)H{9f-4S>WHKU!mqLD&QYf(z60KZBEqkHJG z4O-@<#PxFF57qCYw1@78vl)0wmBfmJ!~5upb+4YY-XFBRu;wX3Y%z&>{OwoZ*qKMi z1#P)2%|ER6LeNgibt?t58)X`oi@35y&BY5@n3;QDMDQ>(zrQ@3BO9`xRf$mhIH7D#OOgeIE4&#)SlLl<0SLOOBl@Mll!qNmKnkTj9II8D>N)UQXn% zPCD)@_qCOXsJemDeJ5}aEHpG5&V2fs*NS$v^nu$cdTLlAh%(tw8eyAh*5sZ6PkuDq z(V|yx!#siJo~zy^-YiKdC2HB3)|1djMT=1!aKPy6kIgQ{&0Kd>yry9v{V#R2Ztxli zzVU0ORVOH?f_aHkRdi}J%bdUDuRnP)F1|D@K%Wcw-M_U`#sES+_9;G4;>wsV#Cn(;^_pOKh3 z{0|)kvvtBG)gDCCr!z{-=>QL1RL!m zWtb|gR|0y)V}deUq?pWi94+`e`qUQ<$l3RsCsg7a04}wNDm!yEHJFN zIG5AQHB}sG$y}JdM-5Ifj6okDibgNN|20jlCv(!#xbd9 zzjGDwa^h-4$U9R`P%5$G7x3dcr}xI@=3^80=Z#s?9dvN%G%Iluv#^Op7<4v6r(5pE zNrh)eiV%`DRcS2tR>X=KsEw7G?zoJ`oTdLfsmz^0YTks3JGWA8CXf1B*HoMz0L6~; z#iWL1{?x6oxp?bmhW&F7&mTa9LCO*F-Q+%mbO-5{sN!{RM5GA&yiVm{g|ng~$X_n= ztBI4Xez_ToJdFv;Mn^+*WhSXck=i-mGWpyMVDFd9Vx*_h2U&)vQo*svkN$=vg=qrQ zYW`~R@*DYu5B1fgJ>pq9(_Mvn*odz%Y+9pHdn zgeOk?4N4<(vit(|S8YuczJ)K#xT(o&9<1)U6b`+~jax^g#3h2^9Nr<#8aoF_)klfi z5T^l>KLp#!_kMtAa>{6n{ZH7~#TOfOyVIwzi^$E}ouT;0leYU{5SNc3TbVVb#2v%+ ztBV1eMtEmyJp^#Lm-ze3)lB{QCHtoiquyF8v;7ZoR8t4DeK`03B&=V2HUoFj_uWDO zL+;@$_QQ-DylWqt@v#fCF#XEcr^VPme zoZFjYAO~L`4>)(Rr7IzLyQK?GjT8s0tt*6QKgZE^=VMGDk_y4#R6~;2;64E`?VtfH z!IxzyEy)PP;W(~#* zj;80tz(}fa7@jGOYD12%7>wim6^6&X|4fsu(uuMSb7gwCoyXfL=Gcq=bPdsVOZ;;$ znc(eS$Y?~|uyQ}Exm}k}^X<-eRYeEgSqLwmRHWVjjLAZbM=x3&?6Q;>o=6qGI#5tA zD@&(e5cKUF%8L$+#xo`YFciXZX%#jLs4ysUw#Jx5#=OBDW_iCpJ@8|-8Fmjw3k(=iMqf& zUYQ5V#)fo8Y&eJG)sXUenk?|FrwU_D1jlH6Wi?7x(O%}rdu=!cjPCAmSZSePMB7b* zL>AZWuaaEvdKyK<7=0xu(%7uz>;&-qF;$e^T2!MFN1o=n!g7%=h&bOWo~y;`#yHWw z`a#TdNX)vXq4**1`u&qCyPjHFU&AEDzzhk0VB`ZXnUb;C(9$2#+wEt%riTD;VY?*9 zjZK4@({xD+w;zMuGkWJuv!bpu4!3lauj=hzo#0Cp-6S<~`xAAR)w@Z~IF}sbnLAgLv!q?Nbs{IHGS=0YPEuc<>OE%kC@4!7 zyx!@Krm!)SC5?xf;}R*EEOTIb!ax_P=VH)2>tX#oY!Ybee{| zkty5%Znu=r6$76#j&YP(`n7~Ko;q=yZrYRjSajweS`Ab_ayu4&iE6gUo9&&O8!Szt zd^p;Tq7v3Et1uW^s*ipJeQ7%nVnI7|I~v3R8@+5k(KluorZFvnbxHr~2rdXGMchgM zfYZMY2${4HYbNSLaX7?5q4f)GLzCsTk1)9)>Da4( z^_;z+Dzca;t`}lfL+!YibvC1O#seD>4>MxC918OdmM5PNkIs$2f#FjLl`5xkVYq!b zXJ`db;(}S-62Ld#Ap|_N2|*I!TNvO>dm-z|cM?7qJYzB8uV-sPEZk1$sG!REhN1hN zA@vYc4$ThIJI|9;$20TDOcH;2WhONZ?UA={{;A~3QL8Pg zWyHA&jV5oc=L!8m*?I1_08p?98i^$sOhYnE2gB5j$i&hQH;Z(}T6L{~bgMdD!iEkO z>&s1q^r0xsrXohvGNRp(p{@a32<%<{HtNR>b`VCBW6oM68W2~P6l{AF2O0TiCSUH~ zI{RPQwR#Lmc}IyqY2V&Sm3~8=*@``9`!R_k=P&vxrzd)Qe_5_ zGa;MT&lRDU7H(`6k&#m)98ZN!yoK&Cd)qSKRo>L(U{;$x0J!0elYh`u1AWoN4ZnJE zTFD@&jo3^srsob9@-(e2w<4_Bv3DlgP#IG&nY6uj))H6wv2@zQe#?FVhtK%#M$@!! zH_dZOC?#D$)!J%C>ug-ofYwlrsz7PKS1^~|;lRA-xxLu5YMK39m9&GfBgI{&f)y?=9p{U$bDJd%+H^tHZvni zAFPws4io!M^fq=LMRzl}FAX1~?o7rP4D>gQj%KY}Zmyf7ma6qf;*ClT@R!&t>@o;v zK3=>)%3{-%`NCQ?srD}i(~_^WD2nV52h+{A$hucSD5+@w)U4k>W#$w+%b6r#DKl3= z?_ttSVHsihRJR7eJ=6&}suJ})o4YI4@UG}Aj+{+aRvE6Q-L_g%G>9 zu9$cHjoWF=t26J%DA5g#ef4CL$Fpv%Oyvt<|u9eTdl}wZp(I?|RFWWct)vop+D{inU zc{@YEA;POa5mBh)qs4Z61)KUMvbinM8Tmv${Wf=B%l^zxYg4tlWxaY#=Pv2$%(Fvs z%pbP#wb@S}j0;nMLl(1Nt9pO59+0nhHpk@TK5y5Qux@$1Eh`vc8?R=Z$avD6wzs}L z<5t(j+w(wCF)3A3bhQs1v?*2z)Qq5~O zx@Zpt#P0{rf~g!DJSmAp(7WZz+tYf$KK5HydLD>ZuQatYb#O#k^P$FF)JYYU#!laO z)$C)+Y9@XBSfP|H&A01o|hfDicbgabZy6 zJ|wo7!W3#CIV*}$Iec%Ih=e|0jRHV{fXSG;K6P>)!_NEln{Y$42 zb+u6~mGYmPU$dgxmJk zk&;+#PQjPeq9dlv&#EeHm(L!}N-*lI)n6@|*83S!Hkuy1R&DUl+p%ddCVwZ4N#%Cp@FyydY@?(rkujhRlhkgHu z0j=J9+d^d{3!751UE0KGM`qEju=0O#pTG@1ceQdW!ZDJ5g< zaJa?Yi2LE7USpiNhDLK7OQgsB^@;Fyog!U+1b#+# z!%JBigtQtc4BKTrG*J-8(gyW0>VU}sW>Q@03psEtB5Qrxpj z_)(oO8XZ0j&wqG}VXf?@c%&V}rTnO+k%gH@ePN0Q;W4*MqS@|8NgMg`S}!|BlN?M) zU25w%m27dBT0!+$%J5lgWC=6>!u&Y6x;XD}wHw(8O50C`+WPD8sQDLl6 z_a2+X#`ZCrRhcPuHt>MDH+5)j!EiiT1|YC+B)9T${cwmk`!%;7QVZwyy?T1L)K($R zofH5-Foq`Mse|#9n8V3`lIrJdg2TDOG|Dh)$7Ct?bJ2wX8`)T7HOp zaRSj>Ex5|LAAH5b6S^0IQXgZdnaLwVCbkNM16qoUoTXNA`4o$zNH2c1;)bH)Mx!tA zE%&^YoUI)zZtc21Nddm`ZI%>U`5^3&l;fqz7<$oQNTXi@okN4v`7!j6F|y8vugc)@ z=;Gjzk#Hkq(+DPGQRrkpQ3s*f$NVy7Qd8o8e(&NMULdrUu| zQuHLyte@+H2ppo9otBg_*9mWaf3<{P9WAkZCD6T*s7%a7kFIt~$r|#nc7n(bc}RZD z+i003#V`PWwn;6kgC4{FB3dfn_Vqi54-B07)rO=NoC!NJ_wJax>*7 zCtZC29}-5KE$Yt4PYw6G+b>}r-LS%nO`5Nymt-K1cvSf=j03(Ec&hoSUG^7v_zv%#Mk^-5)E6yb$sbl@G58t!EP1fBi*eqva8>=a`gAuD z&JMOg1+kr&ai*f{rVOTB3=UiWsK_EEgCz20np|WBBPg#=AAd$24%KA*1#-k-fHi5E z2q7XrM*N;v$S5pgXlbvTjP%Iae*2!~@DoD#OG+HCEJ?>OPq_L4v#wfJrLMb`4l(X$ zyskf~>g4R$iuS+oY-V})!8IvZBZoUa6fmX9`wf>j?LGG}i ziN5b2D-(jY4Zvg{nyu+SfesIBD_xEAqsxs1p`0MPRT@KZ&~}R~nSQf%kOYUv>RXJ| zLmZ@Sjd0<0>JkjZh?-LV3BNGF2GV=F)MLf`eNQm<`IWn8*&bD-7yY zS_W{yNlWwGNk4rY~K}z&8$V#DD6VURt{kc^F4LM znM+1sd>ue^Ycdx7o#c$}7FlM35%**N0Z)5HJjwAhhf$vFq3ROk1+&V?W7o){tanEe z^IymmGR=$cMGh!na=V2|x8#YD`D}^Sl^6aHRdmOrUdW6go0B_H{VpWv1}B#J0Y@;} z-<4N&@SR|B@h}%2w;CFY8gq}ykr{7AG=wJ9;=#{qAV%p0hIO*9^68?(0U&aAR*({>G-(a)j?WSI9o|^LNYh-@i$X0MWs6jtNX&0hH_} z{&4N_@gwtJ7H2sShcHP|LgvpIvdd9a7N(~D0NoUJop*!W#CR)t9B%liSlKS|$cUHa zUbL_C=)Y8H=t7n!Sg>riUvEe%$?E3xPe6i0u$(JhP|6ewO@g9>kS>N?j>n=k#R`!$ zn4iFa=s3l8Tn8rs0+q4rrZgcHnH}YsXE$0hU=1;iD|CJP1{cvKYgX@syB8$x0prre z8rOzFCfb1O!DI@KZ^Jh3A%5kyqa_nW61e9;kT&0j2~2Wsn9_q>GD6!KA2W#0ft&+EvcfI)-rw2ho!-I+(WVZqCNPi!960=3_%!jT#ZZ+ zAb8mC`RS40tt%;&`kzy(v|fMfpT&NOhyVgO{ab02TG^~HQdv7J6Kk#07b3IR@He?{ z@Fv+wcrxFZ&;!4l&~mpUdt5T^U-}=4TG1fR2T0-vFsPQe0gEeW0nKAcob+RyXKcGo}7QhCX`C{hT#`Qs72-ANuZNC~&iE(H7 z=ssi5FJv?Kn*REY6P5e&J^kq!y$?}Sp)m7nt{!YSxdNCWADtIz#{V8pe`8;#O_+^= z3X-TYaoY@*yxp_+Zu?l3n?loxFnCi9>DECjXd^6FY;u9=ex<|uSY`~c$V&Y@O^a0r z5%TJLASUJ+!V=d2rxL%%eG#Fo-{$oXJCXvYz&uDUUUpgN4iUcD5t)1=HSO78h1I41 z=Vb&0x94R1MVrh9H#3oQDls(Q5D{i2?P)|+?r1AcvXy-%D$D_I;^xZbr5o>zKPDG~ z&}vC(@a<$on5(ll>M&TQK>#R5!|4bMzF2DgfHVFEysy9Qa?L)gwKW-28e+ih!+T>` zpt~r}Y18kpJo5+MoWuZVZ$g9b5E5rWs;HUH;C$_Nw*(64ME_*CCG&AnIV$RGaH`Ok>^ZCX zTos@wO_06xh~?iF!CX`2$O%H!P!*9Gdj-?d`scFiD19m==j$1hI+@#Io2vKU9w)iKY8+C)j_c&bd$}!qRNNuJg=>48oP;G9yh7r`|QIw+&2L z=yTyrjYh5_0r0Qq^GeQmu!f^bx8QA4c6B7;l@@IRhtQSttr18^HYl9KE%aKJDwNSX z-w&l+b?Is+IgHATR8fUwP#Fb$HGku?F;5Bv3wv>sJd!O$L!cV2)9AX1G&{u4rd)8f zw$bPw8l+!5YrlwGT~-IlKYb#CCc2F`IkrPO0 z9huk@wtze1@5R_t@|mG(S!Efsxy0chZ>`qg_{lM~Ox7A|LNW+CwR(`;M=7?~uW$d* zLdVAOW2ilo$QWc2{wnNnM*0Qs{}v$4`vveeFvmq}h<_Ck{Z3XhYhb+C!k8WxvjArc ze{{PgSU?maZhpa76uZQ?ite}KHvT|rW>Ven)qYsnisxKp)T~v%RUu6Jsm9y``UlzB z&6!$~8j;&&xdK{WF}RacWRXL1rpg(eIVMCk2mq%C;LPHCKbj9G4dVaCJnWO!;Ek_y z#A1eEJdIrv)_5s~Vjxa&2UgMBirkZNUl2#Z)Ry__Ut#9D?ROz@MCM1(r^PmJ*W_`p ze{y7dw*$#8|4rs>d=xiMfNA)&oy(JkB!aQ?xvV5-aNU>>aFH$J^qo)*tc=NrO@X>K z?24D&{$G3%RR96h?>Qr@h886){Xp6Jel8~6;(7AXl?#MRrZW$-!v(L-)VL`$_xdo< zVH`eLAQ#%;T|}4CxFkVZIF;W{h83PhHxO6ZlnrXwU^hSylcf%32h9`Wx`d;Hnor?b zA=ro->w&9lzSdXy})ajj)6!`Mc_+p^lkr6o*MknTiHJgAMLNKtD@*WO5P4^L}{ z6%679QH!CyCs><+9-*P?t{2;*GB48ru~Q(dgvgtIgWU_GTf0dB4Jtz#${M}?#g%<_L2Ax9+va`F=Y!T>`$mDACTQD1_>G26R;DoG=o=Z_ z$%1+fZt`}M$VBkBG8!cH&aySwWPu*j?Bz>Seg!-ddXow1jZ5s?;=dlQF&pp0p&cB1li;*+|V@Q^G1i~ zfrij^dF7O`s_cX1#se0uX9Vo}M{L$A-Fr!mpy7Ec*W=ID2;h*jq;52aK{GNxAk%Dv zXcCR@gYWz=j-ZVXUs(s1f6zJjh=(7B2OBc16IjAOZj>dHZng&K_3M6prT51EPB|(v zT6nF|2#JD&il{+RW5@`zgkmx+9n}R~rMzqVlV3&Jr)+xt$Wajy= zwq-U8q}1&2Mvbnx-7V=X60{Xg-+=!4SUpd3MO=k4={w&l>bKWP`G`A}-yu+{ z6aau7pr!iQ#Mf%~9g(-G=}g}nRTWC^qSzA7Fmy5JchDRa;U6yAj?S&ha5|svC?ANu zi2=d4VI-KE#i=OVTa&%$$<_!u45V$k^d*>?a+%vtxb7#{KKJjMbi#pvvqi75i{(2Z z$NeB%vogWM=$Ee{mieI!P<-Bw?Ja-(jiiQiJLFtmGF5c6EN9Zk_oC56>BM z$ENR2{Wslki^HINOs6#kOWNn%du9G7+eR(E2T4S3!q<0 z`^NXgyndX^6V2qeDh;x}`T4LQ=rnt}((u9Z!y?cjYXU)XD7iF&V4HvhX7saUETMpw_ zJ4swndZ9G@TsHpSmw*~0?pW=8tDj|-HbgUFgituDDPp_*_M{Gmh^pTl$^Cr~p^?Cn z98N?z$QE*4G;P&jrxg8pvBs9m?e&Fc7rB&X3=Ma~i}rxCR|Eb1Nf2@-&1})t9aX%Y6VrqkT^ON;(r@-G zUl2ITz5bhZs~{s|PJiAVbI+*SOz_WCMPiz;wN<8_Z#n8^Ov4!(wB+a~5A-31enPCb><`ts_hNuJN{57WJ`>l9A2weP|L$MO|CM`eC* zH3lYZVdCRW>j& zfSbP<{mgEytBlHA^~Uk;w_ekx{}M-t8p)FpW5)WXD%~6#JIyzgdG9Tn(+`U)NA5$Z z3UlT0&hVU2qaT>7N1g1$88|CVtIhaj%?;2wIXUm4r$=K-Lm$T!1t{hJp<|x|0RNB_ zFftK^yXzy;n$l9P`L>{Mg|uGFKN?+zM&HSm1)S}Lz0wR%-(nj&ow0CBH!M;Aqaf?E zU3$}@&K7)LlmI?mZ$s0!#?zy(n0r;O+fHUI{Ph8YACEi_6!zL*E=bO|hqRm2TACLC z4R>9SUwqajfx^)eL6^s_xV88K$(K2?g|T!3{JsFgiDI>M@~pt6%aGfn0{$F>q`RB_ zkRhmWOJQ+pPw;Nz?62mXT4Q${DSUXPBfODqDG)}+Ih|7Pbdn zY-A3;ax4gXEjbWVYbI1%ieJ?rWpf|67^KbB!u-VqLr2x{j@~64)&&AYU5IEY z

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 literal 0 HcmV?d00001 diff --git a/website/i18n/en/docusaurus-plugin-content-docs/images/ExportStb/AxisBuilder.png b/website/i18n/en/docusaurus-plugin-content-docs/images/ExportStb/AxisBuilder.png new file mode 100644 index 0000000000000000000000000000000000000000..c58587a334d69c86c905451a1142feb623a592b0 GIT binary patch literal 60307 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∋ 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 vX-u`>*keBe0R8K4HrZ$Yj=RxFdw#R4q0pc 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%0D32PWQF24%_^>E?H^Pb|}( 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%0D+(x6@QPc&{8(M`c-PUtUe z!ufiLW$nB_ZYbMQY)tYJsDbQau=Y>VgU){TX4~#PSz$wtx>z{Dry^CcxGkB9TxrlP zr9X(bP=Mt@-KJ?1uGTv`?%6Hsy-O6R)Vl4@Tgkj`JO}F;Mu$`w(BZ+|q-4O@k;Cp^ zIQ3+i%L%7#EsXY$E5O(^{uV1|v3BX0$jH=uk4O9=(^8d*qI&gck;nS#jtV zP?2CJz!JGmrVwv744~^VQ$N;af5+=1}yiTZK=`RP0!dpochxmpgRi< zH8*WHsPsCO8E#B_3?qF8XU2HlF|_>EAN%6(rO85s!R#W+nb2W@cAih$@6^h3doOpg zkR|BrT%52>zU4(R@V%=|qr!zSWv~m3v_@d+ePk_e(1+tDe#_?R0=iL%x>Iu;Q=CFO zU`$5A@j1%JTf;nz=(du_pbV2n0(P{uF73n6Kjk6}ts`=eigE~_6Z=`yrx%}_9GD4g z)JQHhyhl`YKi|c_+r}5>I?o4sXslWw%zB!3F*X(0FdaZ*jjHet@ye5jERk zW^>G)_)qnztJqxz9k${W2-@D1c1I9nU|(!zE1(h1ri6rr%^E$yNv^&{PU2@}&l-Lx zR4j6Cmt*jaO8@aed_bmmy?{2Z$9iTXHNh!l;LCtuPjeyjyHXkyoS-mluq_oMBOZ(E zCOTzLUnHB-rVFaL1Wf7mALfaZDv8vmHTKqvZnycBPu+A}25T$6|9L@JoxkRDc@bdI`E@GQXY+B2Nbk|U3k(El;*K6()Zkh(15`|o*vbFu&lis^8552=@^ zrEm1(Y{sK1kFCUctEjAvUCF8ls}xHyD7IbCn}whEp}CEze>QEv_u*U*j8S{L7+xpa zHt3%zcyPMHAnx+Lbl^Vh6|6O`Dagypd4b~6ShG}p?t1TS0H5EY-*~_3+?=O?cP^)S zz@Uf*GHy?x4$B$MLjS|nQh4HK^Q}r^PsNTWovM^-+Q3z3k}ggsf!pIYVi&TNWYC`M zdx1A8-tR2`_q`=|v2Z1rDCM%V_TkneX@P^x%#pqx6!&`@m?nUu1L(T@a?Jt8yZQW{ zKB_-)T5)?wFlAD)(7_|i9M6;ri80*-G+`J@MSd|wlQ4$DsF!-6IYUo)kdR4Us;sIt zcxGkP_qnsnwR$mZmJaVQ3}d^>FOpK9zm<@tbkLUp_?u{vp6 zf~xQor!W@Sq2=50^;yZ35o*71i1*^UFV7ih?d?f7~;GvR(dT# zF3X2<<|bfc8)(rn1A(r1|G`xOJLb8bJdarMyTf>op{<)F(M1#OF8O+$^U7&7OhG)D zG?X94$xhXrR89%35H8wqdXl?gth}^eKz|N{!GzqlW4x2+ z08riMi-5Vx?6%#q7_)f$7+5@M_?-_J7>z}+Gzq`**`Rv+Q|_NB_NHT@>w7QIOvfBZ zRPk{|+P%+b7wf`1j#qUp$hGcs$zKomv}jJzjL)F-nYMm+v&SOTPYFASPGK$^8G%z! zdCW#zTl^98;kX7=maAeL#;HhA6Vag|sDwLYgrVHKJCbU9N12mkM5GJ#BnNoq%neC* z8@|ISck5NcT%%Iu13pn8F_I`@0ykrVgErQKVv0B%BdM|- zm6$5g!9+r9FK%;(?ncw~!OKW2jTDCP3W)@3ndTmHKCnRZ^zOE4D8O%!C@&>N1EnDw zBvYVSq~}M4&$LSQG+NJox#?A##U^Y}1jn9aQF|@TqIv93bpb?NBtWW>H(|)_&NVnw zuh(`cSONWe>$>;zL-mE!G29YZ&K$t*b7M(Vq`VjOa`64vy`|cOB;| zC^UZ<{YpkQciJQ3-qGY1Od!bOxEMJ5U?IZDC|7#}^!!SBw}v5C^kO@C9_bDD7<(7X zp#-G;%z{m8`o_+jV>K>EQ$KzjUiu^v5ntuD7m#`n&tz*VRLiz_*Og}ngq2=S?*PEv zKL(WBY7o!=99{rnA)?I&qV@ji^H6cAN_*if3V@`Z*~MrvzCX4CwLA&P^JDXr*8x%* zBA>h=imd{}-ThS}TXH4^5l(zPt$`|iuPQ@l(>U*oj)Pn1nkCv8fm+G+=*F%f|Kuo6#jj+8gM*z} zL65M@Cqwvx^O3$;FFfe!y}|&ec*3{8XaFk#1xiG6fKAbR9k!N3C>WRqeQro@?nni( z1UjB@-Tf*HXu&Z({)^#ghPy$bip#A|dLpY@+P?LY1}=GGciU(0izVwtKLRrMmFz|y zo8hs47Ov6Ej3F7d9CZHsPp$x-3*?Xe(pZn^en~+n7~-_~6@Y;TEhSw|@ldY@*CG$5 zh`-hyY~O}Zs8}lbI0!i`wlo)G`QVV%T^z9WvCZV&W203cPB_qhep%nx<$6waUVs@Z z2EFbY-NL7XIZ7r3a^&gE(F8|eL=ihszoAIY^e=U6&68dJGC&h>)v`Oy#3g=jyfCcJ<)MMn`{ z?qTM<_NzoMZ0w@RZS8MQUNR=(nW0UXoifN`&_s^2dnKSqv);cZgN9!;4K#^&5EZ9_ z+;%v6G3n*=0Ajtnk)BBK_KG^{!oBUch-!QvHp$}2=4kwcWo=)L3=9;k-snOb0}>Ro z>4iH~w0(#<+r+=O)AR5gjBs&VE8c9xYfLBSe zJx21_R-?daIj2O^UsZ>R0rlQuVL{2k#DG*UFPSsDq$0Gl81(viuBc1L)urEY1IYic z;{$|@PF6eKQ8y|=cTvdyI-69uDDrQJ{@9DCz!n=0->V}iFq2v=aAXS`Ay^J87H`M* zcI`A74_gXSdoiau7?1P}5^ z$f0|S*XOr=*e0WIWhuRYPpp?qyrc2h=cu9q>Zf|)TFh!u2d2PH5%Pfft+7jpzO3Sa z#=_bEcCV;$EdmtQI9{=GK7TpLJp=ejdg!1LyIrYddhiC5Z!c%xRuqDn%FCIV@}a0G zaVgusKIQhe@7|i5E!TTwEn2|nf-s1cdan^&y)pmCM3Z6~V+3UK8TljnEP6AQx!SY= zJ7X*mFR6+LY~j}Z6trL=`_(_dt-o*IQvI`6g#Q1l>$~Hr4*$0s$jCm3m&pN zl`vR9Tz%R_96^brI_)u8FWx&Pw0LtI650%x^Wg+XqB6cRH+6J!tfK#c-y;AGi7qFL*WaN?@d-1j}Ha$>WW zR>uYNiab4LRX#O`7HVPVLRJj~iD7iAH^fe^ZAbSAQd*wTKDnQNffB>(Xr)TY*ZVp2 z7yr9!jzEY4R;}%De}s$}Z%O)*U0T~NP+gINx%xb=^@&?Cndj%@B)E;Wnh6&jE^E-X zYZ0kD8}M;zHMF^d-A+@umEE(daH{~oTo4ILdg3n$x0+9>gG`ik6`J-{)GBJb^i9YdEyatA!bV2m3Lgs{O=0-00x; zLADasNZ~-*4B!Dg{BOzL?v=E-cw;wM1$fI@Zvc(b4jcga_L#)f9p2zN#jCqxsYN#Xct@dsbFkvIXnf2xoML^{)UVa$NzS`(L{;(~Uu(fO3F^NT^< zBBOR9)GP!@V;m=^_PeV1DLqZs$NYS<`w%1VQ+C{PZO4U)OpsIh=e{{`kBq!JESi(} zYK<9+#v{e+@GwwsAa=k+T%=AVdw?3ZMQg&64mUYX2Q%D`1~Ghj%Kk{Oh4g zp}(tN*k;c(mFjHq)|&WOGs@@?0>@HCFqje!Rqz*CrI#8`jPM`KAF(}DEx4t#To_wV%%$IW8ERG|EZLLPKm2|#(W@eb^s4_&Hxc>G4 zIMO5qU1!dJD1|+>_o<$3+cLdr^9B5W5R3-16|3uU4&L%HU)k*Dc?1zBzeD27aKT6pq(on z0qT?mg=vr<`o&ACpx|*^xb%wk9SwH5WFYkVH0Z}JQrcjy`u*T`{Amqs`F;@D_hFcO znMuSQlK}l=QQ>dxIexCybwS^qSEK@9uTY`-d{C_H9n%AxG!N5ihxyHbEX!RSM0s)S zmiw;X006@nhYT`%~UC$gRZzvq1yeI9|?I;5e6upqQCYlC>=g=@1o)t5cSGt zz5TnZ@`}Q*lj`JRo$v&Xn~$w_zr1y-NxgO*la}uhc75v6B4DZJMVsHYCDSFO166=H z$A@M&Bve3b#}Q88ew8woZevW(UU1kNSI6)eBc|I4Yp0g^5`t9yB(#WWf43_dVS=qd z`)IN1ojvX*p}1Or)t;UkC)=8e***5MjEu7)gre#xWz>b%$7o6xddQWrT*j{oQ6anQ z)f5uV^B`+)b<)Kx>9dv!gv?hMl1LT&7)@$V5|bDC@+c%g$zR@OVnM#B3FNJSSJWF% zD+&lzFaLIn$OYXpl94$6MJmCvx0^2xD!isWugSG{5H|y2ZAJBG6^gp(1w;)#6m`Ul zQhBKRjV3^=wQJAWMID=%!V{D+-b4_+0qoh(-Sp)s<4;CoCNyx{ z@ie11P;^E=%R~_=9EDesf@sml>10YI64MMpp+uGuW+ zh7RTH04N zvSz#EvRAdPL^{WSs`x`vinYblBfN&LtD+DwS38? zW1(HmWtm}IE*W{k9V#|yk;$W04-syBaj@0z3fB)FMkvjxyA1dBVfagsX~r8&Vk@HJ zthGRxK4DC}1-_t1r()|{?m!0L@Zdy|S$?xbsY(U^guJ@bb{!v3-QdI4o@vkH0Mhd3 zw{iuxLL*qr06HMwu-xK2I{5Ti5qJRr?3)AEiiWDj;`rXfMN-522sg9O=xqGf$0nPO zCA#+IIiV}J>>6Skn()^%_IX0z z_XzFOCa?-8IVh6Bry6>w4!YoRO5^M|%A{7f64V5DY&o4w=z?sOb>{-2N&m~NP z9T6gn_!eGp#nZ|zo22vSI7D_RUv=hngAt9SQHV@A)dDwlq*$asaWIt(%LnHICL-wF z1bTV4oc3<5RI;9!<|yOOJ3F2x49B9J_=>FB#op|0lIVb!`jU!(@jW->r$&(Ya#95l zC};pYII23j;t-d;f-@4HtT)1*orK*ags`7A0;u6)H1MiITi}uqz6eaA$@M$@JL!E` zD6R(fX`T|RSSriqL~i0|9&xZ;Ge0wblAP!}576WHW5(YE!A^EwfwaELm~eUJ$)j@} zNecMA!V2cxmVDmWi!Ve)MZ%X6K;VK*Ttu`+Ix&tiU(L)+mJ{qF+usv;u1k8}Se^{U zd{TK5SRPrc|GxE+yUhBxA& zc1QkYmKOo(%fd&KoqmTv37*$0Ol4odFJ!w`@??uOqYD1b(_0^Ap2HaLyd#cislYc= zRuG(9*A;w&O1Xpp6h|L`fZ)Fep@YLML)h1vSx&TfvE#@bIcdt}W~53?(2cqK$VO%` zvJEeoiy#8aT#n9G{6<`f#Q#pW9niF%u$XF(o0uv8OSx+k8(G2`8QsWUbyJ$#X(BJ2 z81}UUI7R;YdS!I9B4=grrw*@SdGMPnTi=z1w#8mMd;s+|&Q);y?$ko&EsReE zS>miH?$qD#>O7XJnHY=zO26SCu|VVyHKHM!Fu&C-w$V@CvbXX9WRAA)Q%E2${Jvce z>Ud|o2*^Ti+P*rcg>D7AlwF~SM|V*LBsN^WbdiX0&~iN#8rCZ$goa1*V_Z4>%k;L7 z0Ki*Ss!(@}bZLFAoc#SY2uOB@?=Y5b(^1^=L}Z1H%bhKDb4{1NC{D=q)4ox{$}v{i zw!gs-!b=MHwZoNM*^bCIwk}SGeR@G0z~Z_LDgwAf^1a+Bg!@Q@89uY&EeSJ??l}-a zy?Xz7n}P#%3M%1EB;)21)a&Qm%%r0qcE3R`b^NR}Im7Nx_S=JiNzL>#S*(w>q}J!x z%=q7pkOG0c9G{= zi3_fprmq8T+Mc2=IGTxE?`Ql|j%Fhy|G9OwQf1I%Y(|7T=!>>g@sc^mNU!qn^Y>0> z-QOSI6Af3uJ6vCCo=)p@`>gvAdjMwE!A(yt0f&$dFj-5aQazR%=n97MWlcGwS$bE* z-h0F%la=Yv$y=rKL}$^kEc=HD?}}(RFjs6DmlE5A?h-UL)pzosGN!)e&oClaTmAFp z%N5#K-AY14K?krvIN{s6lpnnddA&Vjwcod=#4D$W-$PR?&Li2d(8SHFLn|7M%ZSO7 zs1J=k&drSp&!q3mneKgUWbKh|e#O7&m5di0UIIe0C(gmKtiPkNxaG)ss{B(+8VQ#) zM}JvuuUy|spxBmNpUWS3?REj36WjW-_069@K}Gt`W)MS;AP#Y*rNr{rI(qnVLK>UG z0*K=xC?#3kgpOXcsq3OIUHMr0LV}3d=4}l9Wss+BQjMkuVd-Gvy~4a(4)i@DTk%%@ z#D!SJaX-$hKOM*={fLj)(c?^60IUL!F87o*8v4!q@sZl*=cxCGXLoOX5*)`DA1X$p zG_oV++8fKvMR2+8_UzGna}@#JE+K&#+t{av(Nr=+q~Al31cablDVNa15CS3@A@4tt zU%*3SkG_tP2jy0<$BS>Jf|Cb++__EgxWMj;tG}1!fN|xe0?8R`$ay&U2jS^vvthFw zQt0$?)QQdcxHx9*-b*2zczQ+UTZ5P_1|x&71<$x-}5@xQs^( znc3mm6-l)E=nWe>$!ijv0XdmV>?61&6C7C-enHF%<;1u6CL~DTMtU%>Kgu_FE&Y1F zw0M^0yJ@03#VoAE`3&f8gf{SZ$5`+N;=5z)()CLE8a}W7Xt&$@IoCKs89p^E8s4A5 z$Qzwpq@Ak-XctuYSivIU!zp@B+5M1v(odayWq&ykR;9^a9E3C06Bf^IB)nQj zEXJ@;2C%dNh~vwz<#f?YFTV?&)V}YVJYjFu`nm)-S&vJZQc1S5k5RDL-ieq~uNFf$ zu>@D`Cp#uXSAq{(gIg^|K!W-P|w<66nu|oN^SvhC$Ex$z;cQ8qT|4n zIgthD*?dY{J3WS-LTx5VDM5ij7UCQxXY#Ji_h1{OMhU61og5A=GPAx52kHZDH3)N# z!x4SY$xoIlk?P^{vyb^@oGyX1n?r?9+aJlPn(J4r6m6D&jF{=(d)lLHew_9_d;zaT z6^Tm-RU=_MFu`uy*FY=|2L`U%+S*3Lj{sK0iOWbqM|Xiro9xvGy`OulXi$Qg_)TY* z!f{i`f7cd-vR9v;`!`H12(3z`^tD87vEIq9C-L;(97`uEo@x2?J}tD)0QAZS{mFXG z>r2S3R}|bi^kNL)inC(;eJu!=1kbh_0evK6D}^HiJs;(c8rI`dtOCkhF{qvX7J8Pd zqaTO`Fbyb0L0+vra%OvH>2Tt(apDbKJAKhqTsD!-&dW<_n&3{czIOZpol4=)x5`gJ zq;3uJZX@q(ltFiZ=3by%5v24_^^}vKv0f2SPxdeFJWP*ubhqBtN!I*Q-}8|OJ$tS7 zO&O1uEfuYw7(Fs7=zg!>uuf?5cvw%#Yl~|r(2Q~d+(Om4q;ZyqlQ=CVCz}tI9%?Ng zFy-}jKkeyM*~M88^HCb`X*vD|V-eIUo&pSDD);qh3-@9WLouhlbU`RRtd1xAJh=q| zme_ks1GGDbp9YU^Yp}ndXd$>WKn%J&*c8{(76|X#`%5V(1Xr)*=&{du(@+){StDq; zg4Xkq&jxe9M$q8Llz%B9qQbay&^agDzKOidSst;`$`U#e9I-8#gOlpvqdV`9*B{53 zF{5`)J#`0usfA&wjEy3|L+EMI211GSDxltfQ`8a^XOx?t5?{dl`l}ZqN0lidF6PU~ zzN#r*n;qNaoy~Zh(pCle3bM4b3m%b5Jk$^ zJ=+ra4;ysO5E&34{mS5G2lj&?T|=yc%I^U2=_Zerr!r2PjL*Ab8gK4<^wM{f27cX} zPg#&qD6CJmJWTzP-iK^C4Z>4UBNQBi2((0qzuTPk(;NdEe%JmA}sH(bc%CU&T5k+Wm?HFPKOa!0tw>zo*`drNgc@X&BV{b(mv?TQWKJOqd z_t@#i4F7nJatLs=VKpSj{E3S|_F>Sp6G}nd5*qvMFL?rshoS$hvw%4I6DFxP z{j~c?-7FrQc5sH8?9=5^y3&+0`?pb&UbQCw_f_RvKrrP;vVmArhRZ|9&V7a@o}XSJ zhZU8|%XzgYym%_wr-fXmaOYJxW)9VY4@dR5gOFW)y0%mJ0eUm6mk2dC3@`%Iq&5~< z0^)WK1#4F9b|dAOB3mr%0U?wPboP#GkFU$r)r~}hfng#oIC4!EpG&6 z5$f6R%+=5WLI|J`wLxSQkuYE>LHK~x`Mr~zek{yq4gWzWV4~YmS-g+XQ=}2cFUQqq z1Bod0#q=GHsyerec=G&9{#)%rLH_*Fl;bQ$psPQWe{XO2{$UDZ9yNU9JVqj9C~^J) z3a(E}0g$y2Xl#6_vc$pG=Cj@6^wroM)fSKpug-A=FstaWozVs&~ep_wt1k->|B_ zyS_ecT6mql=-lT4rUCRbad~Zn^O*J;QDa3d!*vh860M|`Ee-ksOd79c7Feise7tob zZh3xscWB>;0T<%f_tC0w=Ne{s<@uZBXQRav+diDAdeM-~As>HO76m*ESI&S-Qc|N3 zAG%dRDU-3Rm34$Iy+j3UpRsg-C~EKb*q56ppy6@UAL$tn4&& zC%k?^bb0GDP0oiF>5$Wg>(Q{03-Nf$vrva1(KDQ;AhI+qx;BGKw1td8r{PlnJ_~Iu zNtZ@BMx6$}k>om2Huyd)N&yLUiCLpafmC-v!QZJuV&~=!ru$YYE#8vrqG$9xY|Djd zehgRS3G3H8iL)7Kj5Jm3!I+w*Dex3Z<6v|U84)$ir|tv|8xU+=&gh{S!Nxszq5Cv9+UdnTGr@UcR?(u6vl5ocoos`(DwRQ*hY!^kkiOkuqSLs49wz)= z?fEx=j?R*rG-fqy61STWL&f1(6M%O07)i*M!{fwI=b?KZLjsyx7(M_^fh$v2%87{0 zEhrt20zP8c%~m=P!8QW*I@qU%>U@OIEvxM6ocH^KvfLeC48{3(d&oyc-i$WdZ54u)H$gKNADm zuxT0&0sh~uA>t}DfI9FoWqss>Qop=2DD&`<`mI}PNF;I?b5y^;uA=EMj34v<41J^} zsNAu?dB23umWDrUBUggyxJkV4r>C6A_%G6lC{kt_Q;Cpz^ZGgQJaPk2>9($?Vsj|8 zXOzk(y2Ni9Cu>1O_oB6qoHh|XCEVTJ-O##i@94_J%Bsw^WN&XD=L5u!cR14`@Yw?P zqU&5qSve)StXTyi7~>&GJXkkJ@0RcWo$zjH&YZQGz^d9)+LTGLUzGYL&vUA}Dl-8%ZJ00{7Se23xK~HDt zW|0gr>=ft}P1cjLXc z)@M$dty@gN<5au_YEr*9GS-MAuea1UfP`m`%ri8XVgZ4|^dPj4lJIzmNfIK-1Xi*Y zE0z6FX2GS~8`nqKy6zMe1^Uoq6HB^@e1;OtWs+LlNf&sW`p={(?+uYyP`;2g$|tAW z%#0#&8V|ilXz5*AFVG%ox$)leXvQBEFLy$5X1Iyp%G*e5nD(hfqxpdabYiLwXVh7l z0P3F%BAfYU)d26l1meUG8+4 zr0X%EDsRl`Id5_AnbgAL!!8gghqvqV=u%)SSlwxDTs)TL*C)gyJ2O{1K54=zpNy=Edk)XuWBuojpbX zldz2_&H9WH_4`f`#R>&1dhl5&d>D*w^N*ppKnTROq7)MBaYz_c7{iU{6Cal_fpGH%cWgX1nL!fAY!)@eAfNY;EZubkBehbrlR~9lYb_v0zEp+4OPt_ zPR`7|_mI?3MF>Qq^1p3q14 zKev<{&xnKhDfC^a&Y9F?1M;1PSY5v%flUd92&gzJ2DTfrt-7JpaV`QTxprGJf>>q& z^Hb2I20zwm8IgzH&sD7CU8Em$@)<%6)rhV`?JT`DHkx{k0m-~U!4YpkqTd@o@ z;FPfV{T`F@N)O_4j3L%Xe08pWwAB zuoxBLfVFCY?ju-Q;LY7UsIJiFYsT>(gsh^~h7!UMeE9#}IKKIV6c~oyam8B3^Thm{(+-qtWM#o0f}`6RE7cll{Ao^nUZ;G&U%X?h4TbG_H&-{1 z-bT?Btk*Ti#jCVpRBiG_LuH&Aa~@Y%2865dR1sId$E$8p_XHG)?Z|tRLZ(9)pv#qP z#^;`0r9~(wak8qt;7a>NoNd?m%{q6e4IrhZhdo0+dxy~WdpkJj9~5`qRxBf0=m5>~>j%=0$UVKvJ=+A?ji|$7Ryj<1 zSC@)4q^G+(rYrsH-rhayZI2wmv7DdYO$g1G=Wfh}kv9u8OGaX^n)8%CXqK_f`&eu8 z+`029-9M8y)7@O)(0(wH*W%J60f+E#JPcXrs-3#S#N#ynsyJ%JgCVHOJK)$<8I-FW znTjo-BkfQSs1^ z!i80Qa=wghP%&K)x#F`{|7twkF<0AW+e+$=q5Rvrgi{M^S6l>A=C!C0f# z9cKd-DP{az@u$p-2qNDkTc)SFKL6U9kVL@)z9mnJHDJ}<01^-{^`1TYZ%C;kX^q+D zY|D89dftWab|UD+Prk~=*e=S^XO!QRj6b{%0%jHqpaJ0BobW8pI}X;ba0m?dI7gN% z2N@8S#W&)e`t{bhH(h{x9s=KpW~)Sd!ns_EB>!vKzEB!?cE(N=EBB}*A&8qyDu}dd z66?ua{DS>l3w5u($9AuKK(jtYkI!>UauZwCWve&9&j{&%_-HVn1G@EAYUf{Sy?eO$ z^Ni&twxSbSiRQ*4dy_k(K<5?3dD85UC%nSs_H(15?BeB4#g2TM8etf zqRvdF`@n)8ly2fy0Z>zzi~CT0a9W}TJ{<#vz^~n}8MK&tt3SgE@}qe2P}^yS>Z7;P zhle@Q9M;Mt)mmL*QT|jP>6gUqvEwe<&cFOHRU-Z^B3(%>&1xY=ukp;KXTp8f$MU`@ z`<`b+;^;nG&g1;MYyU}w+`-N;Rq=kRfRUsL&YXy79gU_%#%3E{X`#;g8327-u@P=r zO%z+Nywl<8p+{TZiLd>5e@q2pQg@AjGXa;roE0l69;+GB*`{fY-e@KRO({1J;x5NQ z)F9=a!I{h0Di6g{srtM8jd&p+)Km_3o?3T&ajVy+6V%)Aupb`Ih*7OX+da%roT=qj z&sg;7n=72~ok4H>GMg8cbYz#Ptvg!YVOnMrZ^Yr!S&X6md z#2gO@>F?vsmN^0w`-lf>%Jc6yII!gD zk8jP_dY#F0k2HwfiD)Ok+L?X2MM+7i8XFhqO)CoMMU}o-F&yWs>3itqC=9g#H9dg)ZwS(6i-gC?4(;nhObWvTM_-oUMHQ-(Al2WGi0v+irVOms)6Sb zSxpPvW~*`Gmldc=q_5o6212=m6OZb@l=~NbA0kXW^_HJ~JDhG_B>tJ4mbdogk>s!G zyC)eTIF@D?njgaH0kI>abQ%M+g=b%UiIBmCwK??21-!@AbLDM=(Fgifw%neH!qm9m z3s!$5(ez9TanMEpJ8t8#;whCKRNKPm&+{kjZthW0{qO==J^HSlv~`l}RX(!SB`Bv^GTtuMt)Mf8^yU7mjYERN0##tY`F7@_niUaGsn zdsWhZ0q31z5mUIbJW&bK;a)5Z^k>nX_h(EjhFW2!^IL+5d#&Yc3>J# z!XKy6l~Imdwu9St*md=-FA5YnDXNX>SCl16NxtN@Q0pCR05;P@@5+MD?a(S2Hz(K6 z*^;Tfv@=Y-E(b5snG>RnD=0W3 ziok&0%0OU|x7koeQO^vJQU4wnX(c*uG~V^Gycw>8^<}QqMq1Bf2}0}6N0RPr5W&k? zFP;f0x>Im?myjH^*faXPxRj!KnY-G%_)yiJ3ikKj?i+y^S+*tY#YcJ{z1lzCej&4aQ?w~hQhlu1kZ3hyp zuHTLb4ypVJ9Ze`)d^;rTa8n zaWThtK!j999C7>;STx(_-*0}-`4c>pFrdq-OkLhdxi|at!ia{C202KLy*^JY%cR=> zcQF{~X(YaA$ypx#c$f>ESeux@^G610|HdQ7PP}(*d(3YhWoEdgl?=6jS{P15vJex( z%H|3eKMyxm99_$*(G2iFx?*>9Vt(=@74@v@zo4grZ&U;t2ys{bcXI_2P+Iduvh#6r zmfP>u6Nya+dC?nm7))j#fKBq{mUq4%$;h+rbXA^s&+>TA$5w*L5rVj!Pt>nkt13bL zA>x^x^CkyZSUr&w)A2HKpL_+Qaj{`+>glp$)~|0IZ0VDCT{dYasJ<$davR$?)h|x_ zmwHxsv{M6Egiy3Y!|qp1*7n>>XxzR(xse3*D1WzOs!Ul2!9RoW+s`AP;Exbo6LBa~ zzy}#6~tdFRiT)zULLU3gkhf^-}JJQDW+td2_(u%x3 zayYm-E?-ngf(+^dErhs-NdEdz9Wr48fZi%ga6aeihy#saP`gXB`s;hKbj{i)JjL6)KD>{-&Y(!90xbnu+!~c3jn>aV8=i*-Pjm>HKhu}FHX!6?d z2qrUlvy%B`JCqn5e?F!xW;K}KXL3=iB#B7Ch%<^WLE6JRdVmy#5}gfr2>DUAc6Ls0 zM??SXLYjoJxb@Mv{#e+gq7oG2@S-g4z$;G_=XyTjk&KLLPPU*)^@|-jLYnE#=HK5>L-|&*sxhT$oc$%<>(;Z7+SIUc%i3&)nwj>rL`wP2+FS~nSTM)6C@dl zkWnsLd^UQQ6ABki!~H719Lc`E)N@d6#tBy;;dTKWKhjGeC*hR? zRaN;xM3gM1J8eU2A{}^8Qjb^`5$UQ%7u5apDk|?=f@WkZ(ynW@M0|9-InWWx2RNNp z=}J+f#pwJC5hUCw6)4|jeX+!73ci!g$09WqIg+se#37iLlfj7-e@;uO63=duL(A=@ zgCAo6NXt49V!adi90HXE(FfB{=XC4w7i#?pVQeP3{~XTuIjN`p0~T~!IK;j>Oslu+nhu;9U$g3Q6?Gs`sKG_k8_qFO6BEWr2xQ4q z`pL)1w(8K_QHI9rL1tONb{=m>`8W?h`*_pnwHxd=TTv#9B?+T^nC2rM04i4X_+OFT zE|tX5ZvU55noAl+d-+GtD#%M`p?W$`@6Ubm*}alOGvA<5shne3-$fFTrZVXhD|X(8 z+Ves|Wpuz5k>G0-LCh=i9Iu8o3wAXxSGF-h>E&&V}1j9 z|3%%o?gQMAcE!J?zu#{>nM2d=N+La>H5!XYjbZV_Tp})8gUE7nfQ+hfd0xV3`(hEf zZnKTM0e_I$PpJ<#yFcobQN+@T@(jI~5aRA808Oy1Oifi^XtKmU0q67njZvy@QF{Ie z7J5n2EmrZ_2#5Rr8Y;I4__iw-ZJ_E5|a$Yp{viY zhhwai9@u`Ys+4?v;%y6)=hEYPdL9G6yu|O~*WchxYZ9pWY4Q;v{j2}D5Ygrf9IaBK zrXiKf6z#KC z^wFa(!;#Uk@JNjL$M*19IuMTj357p|-3ZBn0#BJmLD$*PtRv9aAIRG5cZ1~j|B6+V z(%s~ub|TUR8&5ECag=z}meG!Vk+J6w-OIk`O!&}npP|%@46b)?QOr~L#2kdw1K&Ss z7gi_^CF#^Xb6}$bRJwUO>}JMQwd&`1h0n2fpv?36lW#0TnUBjw%TjCYX+%P2qJhKR zbvf(18>0^ZCHT^`v#PV8(U>_#_06jbt$@?O+@x?Gh0Fdj7Wi#3(RwC1x|0^Lva zL-tF~Lxd4j|4O`nT}g}9xsf75-#2g7)#%oDr9mCZPruOW;f$7_95&)@S++-xM{tC_ zUunJ~wt@wnG9rV1sqq3=21Yr_ z=uM9P-vBi%?kLL*KK35L_g(T9Yg&OBgc@2hNRa~5}Ej? zr1BpHM0aE@v7+b7= zn4N@WaaiQu+BRatO8WaM1w`6Mj{s`%ri`nQsgCzQ?~iJG&$p1v26<>BVyr`?-FedY zl?Um1_FHWnFV0xu?pIt(F<}BOSZit-TM;4{1Ri@@KlXK$SxyGhU_G@E+#PuHucOT6 zfWyueCT5YD-*OxaQ1u$Lxj#DByBnW*%wzCv-2nYb;#l1RFJC$ZT$WW%63CfOm5C0* zU6a)|l5$`Va5ypIwo}L~&`|Sd#C#@-z34vVQ`?UW6N!648k|?g(;vKY4hRY>O zKKR}GT;51=XV!EKOr-naFf*>gXx-m%7&kj97J7Fh-mtYOstPO|Lt<$>`h;M4|DkKd zTl#U;IvVfdq@s>y@ObKOP(-h_UPt7i&>&s}vHPM64iWb~KMK$QlcCQR z4cpDRJtXw^tgu8y(*Pg=0qn+);5-Rv_B*a^5{p|D@5i+Wjn8UmErnkTgZud>GleMn zGu0b<8%g<**;sN-tieQ2zJ|-~zbmJt_$dZ@w{W;!rQi--+1M8E0IQhWqYs%1&2E)z z^9whh?5J(b$!CCrBA3kOVw8M7isArLtq9E0{N07x|Ckj}TbIz~cgx6AFqtXtDzS2EA0?x(Jb;Dznc-Xvo`nB>{g8ZY-br48^ym(7_O*Pt7OHtYfKDc5qF^H zK*is4-K7v+hW8Q*`gq9(npODwgp@#S62y<#3`<3bO#SA5|~%z0G~gLpYj?RI^fvh~E9iRQDu|@1Z~N?i(v~-}Z4!0_uB0dT_(C zvDTPz<_O|C!M`U%X+9@|Orns9+@S=Y`<_sPsF4kBTEtf*?IW;zE~L#U7gh>?;!+mc z?z%7*FeE^j{&N53=Jg~pU+8LXT4ATi{fZdPiVHZ;AlM5^_ym=Wn)u9Qml5~rG*|C? zKHFkesJPE|bH%qahQ6QN)1#vNyZp$bpQ05uxmO351IwFc$Xr%7xt<8{Zm7F!uO0ii z1pC>b0%VDts(gX|LRl;42R*y%a&W*hIS2L6W=4{I{NaZVZRDxN#1QF=6}E z@?LhR{Yv;rk@iI$4^~~VcxzagSVnsO7Z~u(^Jsx-b@+-M4%G4O-P(8khRurO{z!jS zJgDO+KBjd z8GOZuT(y4w;sc4GO7$x+ryKjmpNgDHnsoQCt1pv(^eMhHlPgmGB%!4!gk3Rt5#J=Rhq(&!@?U3E;Vj9?TM|V z8r{##`5%X2md^5k_`u}gN1CzvLm?cP=^00wWiXrt_riti#2Ke}>yZ?YLIX@a_`(GZ MRc)0rC9AOi0~X_5w*UYD literal 0 HcmV?d00001 diff --git a/website/i18n/en/docusaurus-plugin-content-docs/images/ExportStb/StoryBuilder.png b/website/i18n/en/docusaurus-plugin-content-docs/images/ExportStb/StoryBuilder.png new file mode 100644 index 0000000000000000000000000000000000000000..334e70ec9bb7e5fdeab92b766e1682f6391bc348 GIT binary patch literal 43413 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 M$5^{o^IF7z0Eq-%8vp{q& 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

P0OUedgAmuVmCMv3 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

eY?ojM*tQJ7_ZReh#ofvk&Ie16I{sp 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

0y>}NviyhC;C;``%+$BJ2+;yS2XzFX(~LVE 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 literal 0 HcmV?d00001 diff --git a/website/i18n/en/docusaurus-plugin-content-docs/images/HowToInstall/relation.svg b/website/i18n/en/docusaurus-plugin-content-docs/images/HowToInstall/relation.svg new file mode 100644 index 00000000..0166f9a3 --- /dev/null +++ b/website/i18n/en/docusaurus-plugin-content-docs/images/HowToInstall/relation.svg @@ -0,0 +1,12463 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ST-Bridge + + + 一貫構造計算ソフト + + + + + + + + HoaryFox + + diff --git a/website/i18n/en/docusaurus-plugin-content-docs/images/ShowStbModel/input.png b/website/i18n/en/docusaurus-plugin-content-docs/images/ShowStbModel/input.png new file mode 100644 index 0000000000000000000000000000000000000000..dea051d786b9aa98cfc7129eef479f673d0f0111 GIT binary patch literal 39044 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 literal 0 HcmV?d00001 From b622243f49073d51771a55eb607d4b69131f5e30 Mon Sep 17 00:00:00 2001 From: hrntsm Date: Wed, 16 Jun 2021 22:48:20 +0900 Subject: [PATCH 006/162] Add docusaurus i18n settings --- website/docusaurus.config.js | 18 +- website/package-lock.json | 16506 ++++++++++++++++++++++++++++++++- website/package.json | 8 +- website/src/pages/index.js | 1 + 4 files changed, 16510 insertions(+), 23 deletions(-) diff --git a/website/docusaurus.config.js b/website/docusaurus.config.js index fc29d858..ef2003c3 100644 --- a/website/docusaurus.config.js +++ b/website/docusaurus.config.js @@ -8,9 +8,21 @@ module.exports = { favicon: 'img/HFicon.png', organizationName: 'hrntsm', // Usually your GitHub org/user name. projectName: 'HoaryFox', // Usually your repo name. + i18n: { + defaultLocale: 'ja', + locales: ['ja', 'en'], + localeConfigs: { + ja: { + label: '日本語', + }, + en: { + label: 'English', + } + } + }, themeConfig: { image: `img/HFicon.png`, - metadates:[ + metadates: [ { name: `twitter:card`, content: `summary` @@ -52,6 +64,10 @@ module.exports = { to: 'docs/contact', label: 'Contact', position: 'right' + }, + { + type: 'localeDropdown', + position: 'right', } ], }, diff --git a/website/package-lock.json b/website/package-lock.json index 8d809a89..5c5490ac 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -1,8 +1,16476 @@ { "name": "website", "version": "0.0.0", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "version": "0.0.0", + "dependencies": { + "@docusaurus/core": "^2.0.0-alpha.70", + "@docusaurus/preset-classic": "^2.0.0-alpha.70", + "@mdx-js/react": "^1.6.21", + "clsx": "^1.1.1", + "react": "^16.8.4", + "react-dom": "^16.8.4" + } + }, + "node_modules/@algolia/autocomplete-core": { + "version": "1.0.0-alpha.38", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.0.0-alpha.38.tgz", + "integrity": "sha512-mN/cMSNqMvkodkUZ8yMZUof8RquKCjNMGJwt+sejpLuvq4/kTzZZmsJQW7pplWxp+E/axXkdfMwkh/OdRTa8vA==", + "dependencies": { + "@algolia/autocomplete-shared": "1.0.0-alpha.38" + } + }, + "node_modules/@algolia/autocomplete-preset-algolia": { + "version": "1.0.0-alpha.38", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.0.0-alpha.38.tgz", + "integrity": "sha512-wwdU1kjUWkOa0XrGi9Smp2eS6R3hfOze1O0AUnAFQ+kGLOpo02DmydU1yXRFfXnYgW3mW97CvsMpMe73BWKkDA==", + "dependencies": { + "@algolia/autocomplete-shared": "1.0.0-alpha.38" + } + }, + "node_modules/@algolia/autocomplete-shared": { + "version": "1.0.0-alpha.38", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.0.0-alpha.38.tgz", + "integrity": "sha512-4GPHme9Wm8JN2ZTQWZaOgfJk28Z3WdC9XUaAhdd0Vii0GZkBMXSwlpeLPvKyrpuaocnkrMPafKJOMRHU0baMGQ==" + }, + "node_modules/@algolia/cache-browser-local-storage": { + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.8.3.tgz", + "integrity": "sha512-Cwc03hikHSUI+xvgUdN+H+f6jFyoDsC9fegzXzJ2nPn1YSN9EXzDMBnbrgl0sbl9iLGXe0EIGMYqR2giCv1wMQ==", + "dependencies": { + "@algolia/cache-common": "4.8.3" + } + }, + "node_modules/@algolia/cache-common": { + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.8.3.tgz", + "integrity": "sha512-Cf7zZ2i6H+tLSBTkFePHhYvlgc9fnMPKsF9qTmiU38kFIGORy/TN2Fx5n1GBuRLIzaSXvcf+oHv1HvU0u1gE1g==" + }, + "node_modules/@algolia/cache-in-memory": { + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.8.3.tgz", + "integrity": "sha512-+N7tkvmijXiDy2E7u1mM73AGEgGPWFmEmPeJS96oT46I98KXAwVPNYbcAqBE79YlixdXpkYJk41cFcORzNh+Iw==", + "dependencies": { + "@algolia/cache-common": "4.8.3" + } + }, + "node_modules/@algolia/client-account": { + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.8.3.tgz", + "integrity": "sha512-Uku8LqnXBwfDCtsTCDYTUOz2/2oqcAQCKgaO0uGdIR8DTQENBXFQvzziambHdn9KuFuY+6Et9k1+cjpTPBDTBg==", + "dependencies": { + "@algolia/client-common": "4.8.3", + "@algolia/client-search": "4.8.3", + "@algolia/transporter": "4.8.3" + } + }, + "node_modules/@algolia/client-analytics": { + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.8.3.tgz", + "integrity": "sha512-9ensIWmjYJprZ+YjAVSZdWUG05xEnbytENXp508X59tf34IMIX8BR2xl0RjAQODtxBdAteGxuKt5THX6U9tQLA==", + "dependencies": { + "@algolia/client-common": "4.8.3", + "@algolia/client-search": "4.8.3", + "@algolia/requester-common": "4.8.3", + "@algolia/transporter": "4.8.3" + } + }, + "node_modules/@algolia/client-common": { + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.8.3.tgz", + "integrity": "sha512-TU3623AEFAWUQlDTznkgAMSYo8lfS9pNs5QYDQzkvzWdqK0GBDWthwdRfo9iIsfxiR9qdCMHqwEu+AlZMVhNSA==", + "dependencies": { + "@algolia/requester-common": "4.8.3", + "@algolia/transporter": "4.8.3" + } + }, + "node_modules/@algolia/client-recommendation": { + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/@algolia/client-recommendation/-/client-recommendation-4.8.3.tgz", + "integrity": "sha512-qysGbmkcc6Agt29E38KWJq9JuxjGsyEYoKuX9K+P5HyQh08yR/BlRYrA8mB7vT/OIUHRGFToGO6Vq/rcg0NIOQ==", + "dependencies": { + "@algolia/client-common": "4.8.3", + "@algolia/requester-common": "4.8.3", + "@algolia/transporter": "4.8.3" + } + }, + "node_modules/@algolia/client-search": { + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.8.3.tgz", + "integrity": "sha512-rAnvoy3GAhbzOQVniFcKVn1eM2NX77LearzYNCbtFrFYavG+hJI187bNVmajToiuGZ10FfJvK99X2OB1AzzezQ==", + "dependencies": { + "@algolia/client-common": "4.8.3", + "@algolia/requester-common": "4.8.3", + "@algolia/transporter": "4.8.3" + } + }, + "node_modules/@algolia/logger-common": { + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.8.3.tgz", + "integrity": "sha512-03wksHRbhl2DouEKnqWuUb64s1lV6kDAAabMCQ2Du1fb8X/WhDmxHC4UXMzypeOGlH5BZBsgVwSB7vsZLP3MZg==" + }, + "node_modules/@algolia/logger-console": { + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.8.3.tgz", + "integrity": "sha512-Npt+hI4UF8t3TLMluL5utr9Gc11BjL5kDnGZOhDOAz5jYiSO2nrHMFmnpLT4Cy/u7a5t7EB5dlypuC4/AGStkA==", + "dependencies": { + "@algolia/logger-common": "4.8.3" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.8.3.tgz", + "integrity": "sha512-/LTTIpgEmEwkyhn8yXxDdBWqXqzlgw5w2PtTpIwkSlP2/jDwdR/9w1TkFzhNbJ81ki6LAEQM5mSwoTTnbIIecg==", + "dependencies": { + "@algolia/requester-common": "4.8.3" + } + }, + "node_modules/@algolia/requester-common": { + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.8.3.tgz", + "integrity": "sha512-+Yo9vBkofoKR1SCqqtMnmnfq9yt/BiaDewY/6bYSMNxSYCnu2Fw1JKSIaf/4zos09PMSsxGpLohZwGas3+0GDQ==" + }, + "node_modules/@algolia/requester-node-http": { + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.8.3.tgz", + "integrity": "sha512-k2fiKIeMIFqgC01FnzII6kqC2GQBAfbNaUX4k7QCPa6P8t4sp2xE6fImOUiztLnnL3C9X9ZX6Fw3L+cudi7jvQ==", + "dependencies": { + "@algolia/requester-common": "4.8.3" + } + }, + "node_modules/@algolia/transporter": { + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.8.3.tgz", + "integrity": "sha512-nU7fy2iU8snxATlsks0MjMyv97QJWQmOVwTjDc+KZ4+nue8CLcgm4LA4dsTBqvxeCQIoEtt3n72GwXcaqiJSjQ==", + "dependencies": { + "@algolia/cache-common": "4.8.3", + "@algolia/logger-common": "4.8.3", + "@algolia/requester-common": "4.8.3" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.7.tgz", + "integrity": "sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==" + }, + "node_modules/@babel/core": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz", + "integrity": "sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.10", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.5", + "@babel/parser": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/traverse": "^7.12.10", + "@babel/types": "^7.12.10", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@babel/generator": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", + "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", + "dependencies": { + "@babel/types": "^7.12.11", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.10.tgz", + "integrity": "sha512-XplmVbC1n+KY6jL8/fgLVXXUauDIB+lD5+GsQEh6F6GBF1dq1qy4DP4yXWzDKcoqXB3X58t61e85Fitoww4JVQ==", + "dependencies": { + "@babel/types": "^7.12.10" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", + "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", + "dependencies": { + "@babel/helper-explode-assignable-expression": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz", + "integrity": "sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==", + "dependencies": { + "@babel/compat-data": "^7.12.5", + "@babel/helper-validator-option": "^7.12.1", + "browserslist": "^4.14.5", + "semver": "^5.5.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", + "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", + "dependencies": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-member-expression-to-functions": "^7.12.1", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.10.4" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz", + "integrity": "sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "regexpu-core": "^4.7.1" + } + }, + "node_modules/@babel/helper-define-map": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", + "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", + "dependencies": { + "@babel/helper-function-name": "^7.10.4", + "@babel/types": "^7.10.5", + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz", + "integrity": "sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==", + "dependencies": { + "@babel/types": "^7.12.1" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", + "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", + "dependencies": { + "@babel/helper-get-function-arity": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/types": "^7.12.11" + } + }, + "node_modules/@babel/helper-get-function-arity": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "dependencies": { + "@babel/types": "^7.12.10" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", + "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", + "dependencies": { + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", + "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", + "dependencies": { + "@babel/types": "^7.12.7" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", + "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", + "dependencies": { + "@babel/types": "^7.12.5" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", + "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", + "dependencies": { + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-simple-access": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/helper-validator-identifier": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.1", + "@babel/types": "^7.12.1", + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz", + "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==", + "dependencies": { + "@babel/types": "^7.12.10" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz", + "integrity": "sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-wrap-function": "^7.10.4", + "@babel/types": "^7.12.1" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz", + "integrity": "sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.12.7", + "@babel/helper-optimise-call-expression": "^7.12.10", + "@babel/traverse": "^7.12.10", + "@babel/types": "^7.12.11" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", + "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", + "dependencies": { + "@babel/types": "^7.12.1" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", + "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", + "dependencies": { + "@babel/types": "^7.12.1" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", + "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", + "dependencies": { + "@babel/types": "^7.12.11" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz", + "integrity": "sha512-TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw==" + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.12.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz", + "integrity": "sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==", + "dependencies": { + "@babel/helper-function-name": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helpers": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", + "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", + "dependencies": { + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.5", + "@babel/types": "^7.12.5" + } + }, + "node_modules/@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", + "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.12.tgz", + "integrity": "sha512-nrz9y0a4xmUrRq51bYkWJIO5SBZyG2ys2qinHsN0zHDHVsUaModrkpyWWWXfGqYQmOL3x9sQIcTNN/pBGpo09A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.12.1", + "@babel/plugin-syntax-async-generators": "^7.8.0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", + "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-proposal-dynamic-import": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz", + "integrity": "sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-dynamic-import": "^7.8.0" + } + }, + "node_modules/@babel/plugin-proposal-export-namespace-from": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz", + "integrity": "sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "node_modules/@babel/plugin-proposal-json-strings": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz", + "integrity": "sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.0" + } + }, + "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz", + "integrity": "sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz", + "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz", + "integrity": "sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", + "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-transform-parameters": "^7.12.1" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz", + "integrity": "sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz", + "integrity": "sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", + "@babel/plugin-syntax-optional-chaining": "^7.8.0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz", + "integrity": "sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz", + "integrity": "sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", + "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", + "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", + "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.1.tgz", + "integrity": "sha512-UZNEcCY+4Dp9yYRCAHrHDU+9ZXLYaY9MgBXSRLkB9WjYFRR6quJBumfVrEkUxrePPBwFcpWfNKXqVRQQtm7mMA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz", + "integrity": "sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", + "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", + "dependencies": { + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.12.1" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz", + "integrity": "sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.12.tgz", + "integrity": "sha512-VOEPQ/ExOVqbukuP7BYJtI5ZxxsmegTwzZ04j1aF0dkSypGo9XpDHuOrABsJu+ie+penpSJheDJ11x1BEZNiyQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz", + "integrity": "sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-define-map": "^7.10.4", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.10.4", + "globals": "^11.1.0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz", + "integrity": "sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz", + "integrity": "sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz", + "integrity": "sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz", + "integrity": "sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz", + "integrity": "sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz", + "integrity": "sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz", + "integrity": "sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==", + "dependencies": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz", + "integrity": "sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz", + "integrity": "sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz", + "integrity": "sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==", + "dependencies": { + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "node_modules/@babel/plugin-transform-modules-amd/node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz", + "integrity": "sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==", + "dependencies": { + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-simple-access": "^7.12.1", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs/node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz", + "integrity": "sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==", + "dependencies": { + "@babel/helper-hoist-variables": "^7.10.4", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-identifier": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs/node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz", + "integrity": "sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==", + "dependencies": { + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz", + "integrity": "sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz", + "integrity": "sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz", + "integrity": "sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz", + "integrity": "sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz", + "integrity": "sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-react-constant-elements": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.12.1.tgz", + "integrity": "sha512-KOHd0tIRLoER+J+8f9DblZDa1fLGPwaaN1DI1TVHuQFOpjHV22C3CUB3obeC4fexHY9nx+fH0hQNvLFFfA1mxA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.1.tgz", + "integrity": "sha512-cAzB+UzBIrekfYxyLlFqf/OagTvHLcVBb5vpouzkYkBclRPraiygVnafvAoipErZLI8ANv8Ecn6E/m5qPXD26w==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.12.tgz", + "integrity": "sha512-JDWGuzGNWscYcq8oJVCtSE61a5+XAOos+V0HrxnDieUus4UMnBEosDnY1VJqU5iZ4pA04QY7l0+JvHL1hZEfsw==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.12.10", + "@babel/helper-module-imports": "^7.12.5", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-jsx": "^7.12.1", + "@babel/types": "^7.12.12" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.12.tgz", + "integrity": "sha512-i1AxnKxHeMxUaWVXQOSIco4tvVvvCxMSfeBMnMM06mpaJt3g+MpxYQQrDfojUQldP1xxraPSJYSMEljoWM/dCg==", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.12.12" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.12.1.tgz", + "integrity": "sha512-RqeaHiwZtphSIUZ5I85PEH19LOSzxfuEazoY7/pWASCAIBuATQzpSVD+eT6MebeeZT2F4eSL0u4vw6n4Nm0Mjg==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz", + "integrity": "sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==", + "dependencies": { + "regenerator-transform": "^0.14.2" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz", + "integrity": "sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.10.tgz", + "integrity": "sha512-xOrUfzPxw7+WDm9igMgQCbO3cJKymX7dFdsgRr1eu9n3KjjyU4pptIXbXPseQDquw+W+RuJEJMHKHNsPNNm3CA==", + "dependencies": { + "@babel/helper-module-imports": "^7.12.5", + "@babel/helper-plugin-utils": "^7.10.4", + "semver": "^5.5.1" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz", + "integrity": "sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz", + "integrity": "sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz", + "integrity": "sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz", + "integrity": "sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz", + "integrity": "sha512-JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.12.1.tgz", + "integrity": "sha512-VrsBByqAIntM+EYMqSm59SiMEf7qkmI9dqMt6RbD/wlwueWmYcI0FFK5Fj47pP6DRZm+3teXjosKlwcZJ5lIMw==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-typescript": "^7.12.1" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz", + "integrity": "sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz", + "integrity": "sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.11.tgz", + "integrity": "sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw==", + "dependencies": { + "@babel/compat-data": "^7.12.7", + "@babel/helper-compilation-targets": "^7.12.5", + "@babel/helper-module-imports": "^7.12.5", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-option": "^7.12.11", + "@babel/plugin-proposal-async-generator-functions": "^7.12.1", + "@babel/plugin-proposal-class-properties": "^7.12.1", + "@babel/plugin-proposal-dynamic-import": "^7.12.1", + "@babel/plugin-proposal-export-namespace-from": "^7.12.1", + "@babel/plugin-proposal-json-strings": "^7.12.1", + "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", + "@babel/plugin-proposal-numeric-separator": "^7.12.7", + "@babel/plugin-proposal-object-rest-spread": "^7.12.1", + "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", + "@babel/plugin-proposal-optional-chaining": "^7.12.7", + "@babel/plugin-proposal-private-methods": "^7.12.1", + "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", + "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-class-properties": "^7.12.1", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.0", + "@babel/plugin-syntax-top-level-await": "^7.12.1", + "@babel/plugin-transform-arrow-functions": "^7.12.1", + "@babel/plugin-transform-async-to-generator": "^7.12.1", + "@babel/plugin-transform-block-scoped-functions": "^7.12.1", + "@babel/plugin-transform-block-scoping": "^7.12.11", + "@babel/plugin-transform-classes": "^7.12.1", + "@babel/plugin-transform-computed-properties": "^7.12.1", + "@babel/plugin-transform-destructuring": "^7.12.1", + "@babel/plugin-transform-dotall-regex": "^7.12.1", + "@babel/plugin-transform-duplicate-keys": "^7.12.1", + "@babel/plugin-transform-exponentiation-operator": "^7.12.1", + "@babel/plugin-transform-for-of": "^7.12.1", + "@babel/plugin-transform-function-name": "^7.12.1", + "@babel/plugin-transform-literals": "^7.12.1", + "@babel/plugin-transform-member-expression-literals": "^7.12.1", + "@babel/plugin-transform-modules-amd": "^7.12.1", + "@babel/plugin-transform-modules-commonjs": "^7.12.1", + "@babel/plugin-transform-modules-systemjs": "^7.12.1", + "@babel/plugin-transform-modules-umd": "^7.12.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", + "@babel/plugin-transform-new-target": "^7.12.1", + "@babel/plugin-transform-object-super": "^7.12.1", + "@babel/plugin-transform-parameters": "^7.12.1", + "@babel/plugin-transform-property-literals": "^7.12.1", + "@babel/plugin-transform-regenerator": "^7.12.1", + "@babel/plugin-transform-reserved-words": "^7.12.1", + "@babel/plugin-transform-shorthand-properties": "^7.12.1", + "@babel/plugin-transform-spread": "^7.12.1", + "@babel/plugin-transform-sticky-regex": "^7.12.7", + "@babel/plugin-transform-template-literals": "^7.12.1", + "@babel/plugin-transform-typeof-symbol": "^7.12.10", + "@babel/plugin-transform-unicode-escapes": "^7.12.1", + "@babel/plugin-transform-unicode-regex": "^7.12.1", + "@babel/preset-modules": "^0.1.3", + "@babel/types": "^7.12.11", + "core-js-compat": "^3.8.0", + "semver": "^5.5.0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", + "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.12.10.tgz", + "integrity": "sha512-vtQNjaHRl4DUpp+t+g4wvTHsLQuye+n0H/wsXIZRn69oz/fvNC7gQ4IK73zGJBaxvHoxElDvnYCthMcT7uzFoQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-transform-react-display-name": "^7.12.1", + "@babel/plugin-transform-react-jsx": "^7.12.10", + "@babel/plugin-transform-react-jsx-development": "^7.12.7", + "@babel/plugin-transform-react-pure-annotations": "^7.12.1" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.12.7.tgz", + "integrity": "sha512-nOoIqIqBmHBSEgBXWR4Dv/XBehtIFcw9PqZw6rFYuKrzsZmOQm3PR5siLBnKZFEsDb03IegG8nSjU/iXXXYRmw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-option": "^7.12.1", + "@babel/plugin-transform-typescript": "^7.12.1" + } + }, + "node_modules/@babel/runtime": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", + "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", + "dependencies": { + "regenerator-runtime": "^0.13.4" + } + }, + "node_modules/@babel/runtime-corejs3": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.12.5.tgz", + "integrity": "sha512-roGr54CsTmNPPzZoCP1AmDXuBoNao7tnSA83TXTwt+UK5QVyh1DIJnrgYRPWKCF2flqZQXwa7Yr8v7VmLzF0YQ==", + "dependencies": { + "core-js-pure": "^3.0.0", + "regenerator-runtime": "^0.13.4" + } + }, + "node_modules/@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + } + }, + "node_modules/@babel/traverse": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz", + "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==", + "dependencies": { + "@babel/code-frame": "^7.12.11", + "@babel/generator": "^7.12.11", + "@babel/helper-function-name": "^7.12.11", + "@babel/helper-split-export-declaration": "^7.12.11", + "@babel/parser": "^7.12.11", + "@babel/types": "^7.12.12", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "node_modules/@csstools/convert-colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz", + "integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/@docsearch/css": { + "version": "3.0.0-alpha.32", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.0.0-alpha.32.tgz", + "integrity": "sha512-wafLX/jT1NPAwifPhzMJX394PjKdqf5TA4cz/JgvBYR1/+MiErLk/pyCmocXkawWGR17/6u2qw3wYvXu/Qe/DQ==" + }, + "node_modules/@docsearch/react": { + "version": "3.0.0-alpha.32", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.0.0-alpha.32.tgz", + "integrity": "sha512-2jqzPJu4y0mWiwwm+Kfgf/97Q8XaGxj1+jJfGJpJLkJyD8S2tK4OikyIRWI9gI9k3m48HxFm0+P8uAYYtIyjqA==", + "dependencies": { + "@algolia/autocomplete-core": "^1.0.0-alpha.35", + "@algolia/autocomplete-preset-algolia": "^1.0.0-alpha.35", + "@docsearch/css": "3.0.0-alpha.32", + "algoliasearch": "^4.0.0" + } + }, + "node_modules/@docusaurus/core": { + "version": "2.0.0-alpha.70", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.0.0-alpha.70.tgz", + "integrity": "sha512-ccDcr5eb5T3C6k7VoqTclBFwjVkIHK1zISdhqzRNVl8AZTql1bYMvGUJP+2WbF6RSdmsGTNWreaUlrJc00dQqw==", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/generator": "^7.12.5", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", + "@babel/plugin-proposal-optional-chaining": "^7.12.1", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.12.1", + "@babel/preset-env": "^7.12.1", + "@babel/preset-react": "^7.12.5", + "@babel/preset-typescript": "^7.12.1", + "@babel/runtime": "^7.12.5", + "@babel/runtime-corejs3": "^7.12.5", + "@babel/traverse": "^7.12.5", + "@docusaurus/cssnano-preset": "2.0.0-alpha.70", + "@docusaurus/types": "2.0.0-alpha.70", + "@docusaurus/utils": "2.0.0-alpha.70", + "@docusaurus/utils-validation": "2.0.0-alpha.70", + "@endiliey/static-site-generator-webpack-plugin": "^4.0.0", + "@svgr/webpack": "^5.4.0", + "babel-loader": "^8.2.1", + "babel-plugin-dynamic-import-node": "2.3.0", + "boxen": "^4.2.0", + "cache-loader": "^4.1.0", + "chalk": "^3.0.0", + "chokidar": "^3.4.3", + "clean-css": "^4.2.3", + "commander": "^4.0.1", + "copy-webpack-plugin": "^6.3.0", + "core-js": "^2.6.5", + "css-loader": "^3.4.2", + "del": "^5.1.0", + "detect-port": "^1.3.0", + "eta": "^1.11.0", + "express": "^4.17.1", + "file-loader": "^6.2.0", + "fs-extra": "^9.0.1", + "globby": "^10.0.1", + "html-minifier-terser": "^5.1.1", + "html-tags": "^3.1.0", + "html-webpack-plugin": "^4.5.0", + "import-fresh": "^3.2.2", + "inquirer": "^7.2.0", + "is-root": "^2.1.0", + "joi": "^17.2.1", + "leven": "^3.1.0", + "lodash": "^4.17.20", + "lodash.flatmap": "^4.5.0", + "lodash.has": "^4.5.2", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "mini-css-extract-plugin": "^0.8.0", + "nprogress": "^0.2.0", + "null-loader": "^3.0.0", + "optimize-css-assets-webpack-plugin": "^5.0.4", + "pnp-webpack-plugin": "^1.6.4", + "postcss-loader": "^3.0.0", + "postcss-preset-env": "^6.7.0", + "react-dev-utils": "^10.2.1", + "react-helmet": "^6.1.0", + "react-loadable": "^5.5.0", + "react-loadable-ssr-addon": "^0.3.0", + "react-router": "^5.2.0", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.2.0", + "resolve-pathname": "^3.0.0", + "semver": "^6.3.0", + "serve-handler": "^6.1.3", + "shelljs": "^0.8.4", + "std-env": "^2.2.1", + "terser-webpack-plugin": "^4.1.0", + "update-notifier": "^4.1.0", + "url-loader": "^4.1.1", + "wait-on": "^5.2.0", + "webpack": "^4.44.1", + "webpack-bundle-analyzer": "^3.6.1", + "webpack-dev-server": "^3.11.0", + "webpack-merge": "^4.2.2", + "webpackbar": "^4.0.0" + }, + "bin": { + "docusaurus": "bin/docusaurus.js" + }, + "engines": { + "node": ">=10.15.1" + } + }, + "node_modules/@docusaurus/cssnano-preset": { + "version": "2.0.0-alpha.70", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.0.0-alpha.70.tgz", + "integrity": "sha512-Zwk3SrlE5r/z5j/tjDcs4XoyeoyymCtEovoxLWLV7wb+iR1qb+Jdso4TRShAepbW/ff6SzjCZ8hRy8ahXPD9TA==", + "dependencies": { + "cssnano-preset-advanced": "^4.0.7", + "postcss": "^7.0.2", + "postcss-combine-duplicated-selectors": "^9.1.0", + "postcss-sort-media-queries": "^1.7.26" + } + }, + "node_modules/@docusaurus/mdx-loader": { + "version": "2.0.0-alpha.70", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.0.0-alpha.70.tgz", + "integrity": "sha512-CDR4O4z7wO5/S8O3TAggCynnuBIGIlUT9q9uhhkDe8h5XDhF8n8d6bwqir0O+fUMN3EnyrMq6z1g4IDRB5G2vw==", + "dependencies": { + "@babel/parser": "^7.12.5", + "@babel/traverse": "^7.12.5", + "@docusaurus/core": "2.0.0-alpha.70", + "@docusaurus/utils": "2.0.0-alpha.70", + "@mdx-js/mdx": "^1.6.21", + "@mdx-js/react": "^1.6.21", + "escape-html": "^1.0.3", + "file-loader": "^6.2.0", + "fs-extra": "^9.0.1", + "github-slugger": "^1.3.0", + "gray-matter": "^4.0.2", + "loader-utils": "^2.0.0", + "mdast-util-to-string": "^1.1.0", + "remark-emoji": "^2.1.0", + "stringify-object": "^3.3.0", + "unist-util-visit": "^2.0.2", + "url-loader": "^4.1.1", + "webpack": "^4.44.1" + }, + "engines": { + "node": ">=10.15.1" + } + }, + "node_modules/@docusaurus/plugin-content-blog": { + "version": "2.0.0-alpha.70", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.0.0-alpha.70.tgz", + "integrity": "sha512-qWXlSDovkhCZLJR0Wz4e3YcNjlelpuSNkS1rJ8sI1ehs/n32lj7A/nVoRfS/LnOMfIciY48vVPr64VLb6dfEeg==", + "dependencies": { + "@docusaurus/core": "2.0.0-alpha.70", + "@docusaurus/mdx-loader": "2.0.0-alpha.70", + "@docusaurus/types": "2.0.0-alpha.70", + "@docusaurus/utils": "2.0.0-alpha.70", + "@docusaurus/utils-validation": "2.0.0-alpha.70", + "chalk": "^3.0.0", + "feed": "^4.2.1", + "fs-extra": "^9.0.1", + "globby": "^10.0.1", + "joi": "^17.2.1", + "loader-utils": "^1.2.3", + "lodash": "^4.17.20", + "reading-time": "^1.2.0", + "remark-admonitions": "^1.2.1", + "webpack": "^4.44.1" + }, + "engines": { + "node": ">=10.15.1" + } + }, + "node_modules/@docusaurus/plugin-content-blog/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/@docusaurus/plugin-content-blog/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-docs": { + "version": "2.0.0-alpha.70", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.0.0-alpha.70.tgz", + "integrity": "sha512-LZre12Q0sxLgi2XgjQbNQMV+jFG7v0+8hRzgBL+iCRiLCa4NlV7+M6mEHJGJJXSKqbfH7CelaUOESqEgPpVQXQ==", + "dependencies": { + "@docusaurus/core": "2.0.0-alpha.70", + "@docusaurus/mdx-loader": "2.0.0-alpha.70", + "@docusaurus/types": "2.0.0-alpha.70", + "@docusaurus/utils": "2.0.0-alpha.70", + "@docusaurus/utils-validation": "2.0.0-alpha.70", + "chalk": "^3.0.0", + "execa": "^3.4.0", + "fs-extra": "^9.0.1", + "globby": "^10.0.1", + "import-fresh": "^3.2.2", + "joi": "^17.2.1", + "loader-utils": "^1.2.3", + "lodash": "^4.17.19", + "lodash.flatmap": "^4.5.0", + "lodash.groupby": "^4.6.0", + "lodash.pick": "^4.4.0", + "lodash.pickby": "^4.6.0", + "lodash.sortby": "^4.6.0", + "remark-admonitions": "^1.2.1", + "shelljs": "^0.8.4", + "utility-types": "^3.10.0", + "webpack": "^4.44.1" + }, + "engines": { + "node": ">=10.15.1" + } + }, + "node_modules/@docusaurus/plugin-content-docs/node_modules/execa": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", + "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": "^8.12.0 || >=9.7.0" + } + }, + "node_modules/@docusaurus/plugin-content-docs/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@docusaurus/plugin-content-docs/node_modules/is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@docusaurus/plugin-content-docs/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/@docusaurus/plugin-content-docs/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-docs/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@docusaurus/plugin-content-docs/node_modules/p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@docusaurus/plugin-content-pages": { + "version": "2.0.0-alpha.70", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.0.0-alpha.70.tgz", + "integrity": "sha512-HiFa5l1RDs155ATyYKkPtyIs/d6WJgSAyVfY5ji0Bsixp/K/Kh9YUZYMeTfeMIdhGYe3AAJz+PSZHYRpwTo1wA==", + "dependencies": { + "@docusaurus/core": "2.0.0-alpha.70", + "@docusaurus/mdx-loader": "2.0.0-alpha.70", + "@docusaurus/types": "2.0.0-alpha.70", + "@docusaurus/utils": "2.0.0-alpha.70", + "@docusaurus/utils-validation": "2.0.0-alpha.70", + "globby": "^10.0.1", + "joi": "^17.2.1", + "loader-utils": "^1.2.3", + "lodash": "^4.17.19", + "minimatch": "^3.0.4", + "remark-admonitions": "^1.2.1", + "slash": "^3.0.0", + "webpack": "^4.44.1" + }, + "engines": { + "node": ">=10.15.1" + } + }, + "node_modules/@docusaurus/plugin-content-pages/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/@docusaurus/plugin-content-pages/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/@docusaurus/plugin-debug": { + "version": "2.0.0-alpha.70", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.0.0-alpha.70.tgz", + "integrity": "sha512-h/x5KtS/YJerhY6C6sJOaP9gMaSVnjj1qZ6r9E/IFujQJ7bSKnk1unqBQpVXADkQhP081ENPL01ubc0/JbE1Mw==", + "dependencies": { + "@docusaurus/core": "2.0.0-alpha.70", + "@docusaurus/types": "2.0.0-alpha.70", + "@docusaurus/utils": "2.0.0-alpha.70", + "react-json-view": "^1.19.1" + }, + "engines": { + "node": ">=10.15.1" + } + }, + "node_modules/@docusaurus/plugin-google-analytics": { + "version": "2.0.0-alpha.70", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.0.0-alpha.70.tgz", + "integrity": "sha512-Ah9W83ZnA0VvmflKNuGq5f/CaEjWJxhjkISQn09/ykEvXfWV33000Bhck4RoCr5YxD+GBEBT5suG5LKH7Qkigw==", + "dependencies": { + "@docusaurus/core": "2.0.0-alpha.70" + }, + "engines": { + "node": ">=10.15.1" + } + }, + "node_modules/@docusaurus/plugin-google-gtag": { + "version": "2.0.0-alpha.70", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.0.0-alpha.70.tgz", + "integrity": "sha512-K3s894PqMPQnGXEZs0bSs2bRE3bVXFYSb/RN+K9sNd7zxGuOX4UytuvpXP+1r0Hj/YTwQIjj7AKsND0ZpDJHyw==", + "dependencies": { + "@docusaurus/core": "2.0.0-alpha.70" + }, + "engines": { + "node": ">=10.15.1" + } + }, + "node_modules/@docusaurus/plugin-sitemap": { + "version": "2.0.0-alpha.70", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.0.0-alpha.70.tgz", + "integrity": "sha512-ev9yNLPoeHP03jTz67daGd7yA7YhUwHeoWz14SyiKuU7OYtwL/8SJTn/V5kMDRl7o8FRQt9T//mRkpa270hmXw==", + "dependencies": { + "@docusaurus/core": "2.0.0-alpha.70", + "@docusaurus/types": "2.0.0-alpha.70", + "fs-extra": "^9.0.1", + "joi": "^17.2.1", + "sitemap": "^3.2.2" + }, + "engines": { + "node": ">=10.15.1" + } + }, + "node_modules/@docusaurus/preset-classic": { + "version": "2.0.0-alpha.70", + "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.0.0-alpha.70.tgz", + "integrity": "sha512-Zx98KryJjHiqzGisWKR0glXl0HXuf/YbcK9yUl6ySyS+6cIMAuGMS0HGLgbvvEmYjywz7nMLpijzGderEOihjQ==", + "dependencies": { + "@docusaurus/core": "2.0.0-alpha.70", + "@docusaurus/plugin-content-blog": "2.0.0-alpha.70", + "@docusaurus/plugin-content-docs": "2.0.0-alpha.70", + "@docusaurus/plugin-content-pages": "2.0.0-alpha.70", + "@docusaurus/plugin-debug": "2.0.0-alpha.70", + "@docusaurus/plugin-google-analytics": "2.0.0-alpha.70", + "@docusaurus/plugin-google-gtag": "2.0.0-alpha.70", + "@docusaurus/plugin-sitemap": "2.0.0-alpha.70", + "@docusaurus/theme-classic": "2.0.0-alpha.70", + "@docusaurus/theme-search-algolia": "2.0.0-alpha.70" + }, + "engines": { + "node": ">=10.15.1" + } + }, + "node_modules/@docusaurus/theme-classic": { + "version": "2.0.0-alpha.70", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.0.0-alpha.70.tgz", + "integrity": "sha512-lKU+fgSd08fo3LNYTw31Wty7RgAdFm8bEOwBNkKZcCFnatTSG4qyDbrDZclCQT/SpXSv9XIEKUc0irg2IH6Qrg==", + "dependencies": { + "@docusaurus/core": "2.0.0-alpha.70", + "@docusaurus/plugin-content-blog": "2.0.0-alpha.70", + "@docusaurus/plugin-content-docs": "2.0.0-alpha.70", + "@docusaurus/plugin-content-pages": "2.0.0-alpha.70", + "@docusaurus/theme-common": "2.0.0-alpha.70", + "@docusaurus/types": "2.0.0-alpha.70", + "@docusaurus/utils": "2.0.0-alpha.70", + "@docusaurus/utils-validation": "2.0.0-alpha.70", + "@mdx-js/mdx": "^1.6.21", + "@mdx-js/react": "^1.6.21", + "@types/react-toggle": "^4.0.2", + "clsx": "^1.1.1", + "copy-text-to-clipboard": "^2.2.0", + "infima": "0.2.0-alpha.18", + "joi": "^17.2.1", + "lodash": "^4.17.19", + "parse-numeric-range": "^1.2.0", + "prism-react-renderer": "^1.1.1", + "prismjs": "^1.22.0", + "prop-types": "^15.7.2", + "react-router-dom": "^5.2.0", + "react-toggle": "^4.1.1" + }, + "engines": { + "node": ">=10.15.1" + } + }, + "node_modules/@docusaurus/theme-common": { + "version": "2.0.0-alpha.70", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.0.0-alpha.70.tgz", + "integrity": "sha512-Ge/dLGPCJhtyvumSMg0BlWcF00d1Qd2KnHf8kL/0nTxe257yNTHIOK95LKhIPAdcVgxG+ge9N0XcBm4KaubASQ==", + "dependencies": { + "@docusaurus/core": "2.0.0-alpha.70", + "@docusaurus/plugin-content-blog": "2.0.0-alpha.70", + "@docusaurus/plugin-content-docs": "2.0.0-alpha.70", + "@docusaurus/plugin-content-pages": "2.0.0-alpha.70", + "@docusaurus/types": "2.0.0-alpha.70" + }, + "engines": { + "node": ">=10.15.1" + } + }, + "node_modules/@docusaurus/theme-search-algolia": { + "version": "2.0.0-alpha.70", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.0.0-alpha.70.tgz", + "integrity": "sha512-xuoWZ+HUKzn1A5vPlNZM8mtyRL5uo15o34OX/i7HkTRmBVymWO1bBE0lECfDVJU2JUYGmwjpDXhZzNLDZmZRWg==", + "dependencies": { + "@docsearch/react": "^3.0.0-alpha.31", + "@docusaurus/core": "2.0.0-alpha.70", + "@docusaurus/theme-common": "2.0.0-alpha.70", + "@docusaurus/utils": "2.0.0-alpha.70", + "algoliasearch": "^4.0.0", + "algoliasearch-helper": "^3.1.1", + "clsx": "^1.1.1", + "eta": "^1.11.0", + "joi": "^17.2.1", + "lodash": "^4.17.19" + }, + "engines": { + "node": ">=10.15.1" + } + }, + "node_modules/@docusaurus/types": { + "version": "2.0.0-alpha.70", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.0.0-alpha.70.tgz", + "integrity": "sha512-QoHmMiJhRDq5P/4o3eUIiJebdwRjShFlal01DST5B8MZo4k0ogl57FNHqJvIHc93NgonZzFlvC/auLlBnc/d4Q==", + "dependencies": { + "@types/webpack": "^4.41.0", + "commander": "^4.0.1", + "querystring": "0.2.0", + "webpack-merge": "^4.2.2" + } + }, + "node_modules/@docusaurus/utils": { + "version": "2.0.0-alpha.70", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.0.0-alpha.70.tgz", + "integrity": "sha512-xNSUcE7fGcneH00CPCEY0SP5V7H6pLEcu620UiU/m1367tCMsmv+MZcnII2ACcjAtvhjS22v/KLippM3VeTXqQ==", + "dependencies": { + "@docusaurus/types": "2.0.0-alpha.70", + "chalk": "^3.0.0", + "escape-string-regexp": "^2.0.0", + "fs-extra": "^9.0.1", + "gray-matter": "^4.0.2", + "lodash": "^4.17.20", + "lodash.camelcase": "^4.3.0", + "lodash.kebabcase": "^4.1.1", + "resolve-pathname": "^3.0.0" + }, + "engines": { + "node": ">=10.15.1" + } + }, + "node_modules/@docusaurus/utils-validation": { + "version": "2.0.0-alpha.70", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.0.0-alpha.70.tgz", + "integrity": "sha512-GJonaRjiJtlCk1+RfKA9f0YwRsSRGFMVbl6DrFidTgs4FmRb0hQsN4fnllsBvBJtbDZYwPTQ3T7c4cKJ/Ll7bQ==", + "dependencies": { + "@docusaurus/utils": "2.0.0-alpha.70", + "chalk": "^3.0.0", + "joi": "^17.2.1" + }, + "engines": { + "node": ">=10.15.1" + } + }, + "node_modules/@docusaurus/utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@endiliey/static-site-generator-webpack-plugin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@endiliey/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-4.0.0.tgz", + "integrity": "sha512-3MBqYCs30qk1OBRC697NqhGouYbs71D1B8hrk/AFJC6GwF2QaJOQZtA1JYAaGSe650sZ8r5ppRTtCRXepDWlng==", + "dependencies": { + "bluebird": "^3.7.1", + "cheerio": "^0.22.0", + "eval": "^0.1.4", + "url": "^0.11.0", + "webpack-sources": "^1.4.3" + } + }, + "node_modules/@hapi/hoek": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.1.1.tgz", + "integrity": "sha512-CAEbWH7OIur6jEOzaai83jq3FmKmv4PmX1JYfs9IrYcGEVI/lyL1EXJGCj7eFVJ0bg5QR8LMxBlEtA+xKiLpFw==" + }, + "node_modules/@hapi/topo": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.0.0.tgz", + "integrity": "sha512-tFJlT47db0kMqVm3H4nQYgn6Pwg10GTZHb1pwmSiv1K4ks6drQOtfEF5ZnPjkvC+y4/bUPHK+bc87QvLcL+WMw==", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@mdx-js/mdx": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.6.22.tgz", + "integrity": "sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA==", + "dependencies": { + "@babel/core": "7.12.9", + "@babel/plugin-syntax-jsx": "7.12.1", + "@babel/plugin-syntax-object-rest-spread": "7.8.3", + "@mdx-js/util": "1.6.22", + "babel-plugin-apply-mdx-type-prop": "1.6.22", + "babel-plugin-extract-import-names": "1.6.22", + "camelcase-css": "2.0.1", + "detab": "2.0.4", + "hast-util-raw": "6.0.1", + "lodash.uniq": "4.5.0", + "mdast-util-to-hast": "10.0.1", + "remark-footnotes": "2.0.0", + "remark-mdx": "1.6.22", + "remark-parse": "8.0.3", + "remark-squeeze-paragraphs": "4.0.0", + "style-to-object": "0.3.0", + "unified": "9.2.0", + "unist-builder": "2.0.3", + "unist-util-visit": "2.0.3" + } + }, + "node_modules/@mdx-js/mdx/node_modules/@babel/core": { + "version": "7.12.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz", + "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.5", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.5", + "@babel/parser": "^7.12.7", + "@babel/template": "^7.12.7", + "@babel/traverse": "^7.12.9", + "@babel/types": "^7.12.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@mdx-js/mdx/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@mdx-js/react": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-1.6.22.tgz", + "integrity": "sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==" + }, + "node_modules/@mdx-js/util": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/@mdx-js/util/-/util-1.6.22.tgz", + "integrity": "sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==" + }, + "node_modules/@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "dependencies": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", + "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", + "dependencies": { + "@nodelib/fs.stat": "2.0.4", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", + "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", + "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.4", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@npmcli/move-file": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.0.1.tgz", + "integrity": "sha512-Uv6h1sT+0DrblvIrolFtbvM1FgWm+/sy4B3pvLp67Zys+thcukzS5ekn7HsZFGpWP4Q3fYJCljbWQE/XivMRLw==", + "dependencies": { + "mkdirp": "^1.0.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/move-file/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@sideway/address": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.0.tgz", + "integrity": "sha512-wAH/JYRXeIFQRsxerIuLjgUu2Xszam+O5xKeatJ4oudShOOirfmsQ1D6LL54XOU2tizpCYku+s1wmU0SYdpoSA==", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@sideway/formula": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz", + "integrity": "sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==" + }, + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" + }, + "node_modules/@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", + "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", + "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", + "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", + "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", + "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", + "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", + "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", + "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", + "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", + "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", + "@svgr/babel-plugin-transform-svg-component": "^5.5.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@svgr/core": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", + "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", + "dependencies": { + "@svgr/plugin-jsx": "^5.5.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", + "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", + "dependencies": { + "@babel/types": "^7.12.6" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", + "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", + "dependencies": { + "@babel/core": "^7.12.3", + "@svgr/babel-preset": "^5.5.0", + "@svgr/hast-util-to-babel-ast": "^5.5.0", + "svg-parser": "^2.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", + "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", + "dependencies": { + "cosmiconfig": "^7.0.0", + "deepmerge": "^4.2.2", + "svgo": "^1.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@svgr/webpack": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", + "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/plugin-transform-react-constant-elements": "^7.12.1", + "@babel/preset-env": "^7.12.1", + "@babel/preset-react": "^7.12.5", + "@svgr/core": "^5.5.0", + "@svgr/plugin-jsx": "^5.5.0", + "@svgr/plugin-svgo": "^5.5.0", + "loader-utils": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "dependencies": { + "defer-to-connect": "^1.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@types/anymatch": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz", + "integrity": "sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==" + }, + "node_modules/@types/glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/@types/hast": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.1.tgz", + "integrity": "sha512-viwwrB+6xGzw+G1eWpF9geV3fnsDgXqHG+cqgiHrvQfDUW5hzhCyV7Sy3UJxhfRFBsgky2SSW33qi/YrIkjX5Q==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/html-minifier-terser": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", + "integrity": "sha512-giAlZwstKbmvMk1OO7WXSj4OZ0keXAcl2TQq4LWHiiPH2ByaH7WeUzng+Qej8UPxxv+8lRTuouo0iaNDBuzIBA==" + }, + "node_modules/@types/json-schema": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", + "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==" + }, + "node_modules/@types/mdast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.3.tgz", + "integrity": "sha512-SXPBMnFVQg1s00dlMCc/jCdvPqdE4mXaMMCeRlxLDmTAEoegHT53xKtkDnzDTOcmMHUfcjyf36/YYZ6SxRdnsw==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" + }, + "node_modules/@types/node": { + "version": "14.14.17", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.17.tgz", + "integrity": "sha512-G0lD1/7qD60TJ/mZmhog76k7NcpLWkPVGgzkRy3CTlnFu4LUQh5v2Wa661z6vnXmD8EQrnALUyf0VRtrACYztw==" + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "node_modules/@types/parse5": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.3.tgz", + "integrity": "sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==" + }, + "node_modules/@types/prop-types": { + "version": "15.7.3", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", + "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==" + }, + "node_modules/@types/q": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", + "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==" + }, + "node_modules/@types/react": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.0.tgz", + "integrity": "sha512-aj/L7RIMsRlWML3YB6KZiXB3fV2t41+5RBGYF8z+tAKU43Px8C3cYUZsDvf1/+Bm4FK21QWBrDutu8ZJ/70qOw==", + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-toggle": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/react-toggle/-/react-toggle-4.0.2.tgz", + "integrity": "sha512-sHqfoKFnL0YU2+OC4meNEC8Ptx9FE8/+nFeFvNcdBa6ANA8KpAzj3R9JN8GtrvlLgjKDoYgI7iILgXYcTPo2IA==", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/source-list-map": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", + "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==" + }, + "node_modules/@types/tapable": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.6.tgz", + "integrity": "sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA==" + }, + "node_modules/@types/uglify-js": { + "version": "3.11.1", + "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.11.1.tgz", + "integrity": "sha512-7npvPKV+jINLu1SpSYVWG8KvyJBhBa8tmzMMdDoVc2pWUYHN8KIXlPJhjJ4LT97c4dXJA2SHL/q6ADbDriZN+Q==", + "dependencies": { + "source-map": "^0.6.1" + } + }, + "node_modules/@types/uglify-js/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@types/unist": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz", + "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==" + }, + "node_modules/@types/webpack": { + "version": "4.41.25", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.25.tgz", + "integrity": "sha512-cr6kZ+4m9lp86ytQc1jPOJXgINQyz3kLLunZ57jznW+WIAL0JqZbGubQk4GlD42MuQL5JGOABrxdpqqWeovlVQ==", + "dependencies": { + "@types/anymatch": "*", + "@types/node": "*", + "@types/tapable": "*", + "@types/uglify-js": "*", + "@types/webpack-sources": "*", + "source-map": "^0.6.0" + } + }, + "node_modules/@types/webpack-sources": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-2.1.0.tgz", + "integrity": "sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg==", + "dependencies": { + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.7.3" + } + }, + "node_modules/@types/webpack-sources/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@types/webpack/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dependencies": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==" + }, + "node_modules/@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "dependencies": { + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "node_modules/@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==" + }, + "node_modules/@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "dependencies": { + "@webassemblyjs/ast": "1.9.0" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + }, + "node_modules/accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "dependencies": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", + "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==", + "engines": { + "node": ">= 0.12.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "node_modules/ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==" + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" + }, + "node_modules/algoliasearch": { + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.8.3.tgz", + "integrity": "sha512-pljX9jEE2TQ3i1JayhG8afNdE8UuJg3O9c7unW6QO67yRWCKr6b0t5aKC3hSVtjt7pA2TQXLKoAISb4SHx9ozQ==", + "dependencies": { + "@algolia/cache-browser-local-storage": "4.8.3", + "@algolia/cache-common": "4.8.3", + "@algolia/cache-in-memory": "4.8.3", + "@algolia/client-account": "4.8.3", + "@algolia/client-analytics": "4.8.3", + "@algolia/client-common": "4.8.3", + "@algolia/client-recommendation": "4.8.3", + "@algolia/client-search": "4.8.3", + "@algolia/logger-common": "4.8.3", + "@algolia/logger-console": "4.8.3", + "@algolia/requester-browser-xhr": "4.8.3", + "@algolia/requester-common": "4.8.3", + "@algolia/requester-node-http": "4.8.3", + "@algolia/transporter": "4.8.3" + } + }, + "node_modules/algoliasearch-helper": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.3.4.tgz", + "integrity": "sha512-1Ts2XcgGdjGlDrp3v6zbY8VW+X9+jJ5rBmtPBmXOQLd4b5t/LpJlaBdxoAnlMfVFjywP7KSAdmyFUNNYVHDyRQ==", + "dependencies": { + "events": "^1.1.1" + } + }, + "node_modules/algoliasearch-helper/node_modules/events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" + }, + "node_modules/ansi-align": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", + "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", + "dependencies": { + "string-width": "^3.0.0" + } + }, + "node_modules/ansi-align/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dependencies": { + "type-fest": "^0.11.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + }, + "node_modules/asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + }, + "node_modules/assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dependencies": { + "object-assign": "^4.1.1", + "util": "0.10.3" + } + }, + "node_modules/assert/node_modules/inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + }, + "node_modules/assert/node_modules/util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dependencies": { + "inherits": "2.0.1" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" + }, + "node_modules/async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/autoprefixer": { + "version": "9.8.6", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", + "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==", + "dependencies": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "colorette": "^1.2.1", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + } + }, + "node_modules/axios": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", + "dependencies": { + "follow-redirects": "^1.10.0" + } + }, + "node_modules/babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dependencies": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + } + }, + "node_modules/babel-code-frame/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + }, + "node_modules/babel-code-frame/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/babel-loader": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", + "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==", + "dependencies": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^1.4.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "engines": { + "node": ">= 8.9" + } + }, + "node_modules/babel-loader/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/babel-loader/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/babel-plugin-apply-mdx-type-prop": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.22.tgz", + "integrity": "sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ==", + "dependencies": { + "@babel/helper-plugin-utils": "7.10.4", + "@mdx-js/util": "1.6.22" + } + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", + "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/babel-plugin-extract-import-names": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz", + "integrity": "sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ==", + "dependencies": { + "@babel/helper-plugin-utils": "7.10.4" + } + }, + "node_modules/bail": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", + "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==" + }, + "node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base16": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz", + "integrity": "sha1-4pf2DX7BAUp6lxo568ipjAtoHnA=" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=" + }, + "node_modules/bfj": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-6.1.2.tgz", + "integrity": "sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw==", + "dependencies": { + "bluebird": "^3.5.5", + "check-types": "^8.0.3", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "node_modules/bn.js": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", + "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==" + }, + "node_modules/body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "dependencies": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dependencies": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + } + }, + "node_modules/bonjour/node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" + }, + "node_modules/boxen": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz", + "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==", + "dependencies": { + "ansi-align": "^3.0.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "cli-boxes": "^2.2.0", + "string-width": "^4.1.0", + "term-size": "^2.1.0", + "type-fest": "^0.8.1", + "widest-line": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/boxen/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dependencies": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dependencies": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, + "node_modules/browserify-sign/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dependencies": { + "pako": "~1.0.5" + } + }, + "node_modules/browserslist": { + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.0.tgz", + "integrity": "sha512-/j6k8R0p3nxOC6kx5JGAxsnhc9ixaWJfYc+TNTzxg6+ARaESAvQGV7h0uNOB4t+pLQJZWzcrMxXOxjgsCj3dqQ==", + "dependencies": { + "caniuse-lite": "^1.0.30001165", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.621", + "escalade": "^3.1.1", + "node-releases": "^1.1.67" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + }, + "node_modules/buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==" + }, + "node_modules/buffer-json": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/buffer-json/-/buffer-json-2.0.0.tgz", + "integrity": "sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw==" + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + }, + "node_modules/bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "15.0.5", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.5.tgz", + "integrity": "sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A==", + "dependencies": { + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.0", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/cacache/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cache-loader": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cache-loader/-/cache-loader-4.1.0.tgz", + "integrity": "sha512-ftOayxve0PwKzBF/GLsZNC9fJBXl8lkZE3TOsjkboHfVHVkL39iUEs1FO07A33mizmci5Dudt38UZrrYXDtbhw==", + "dependencies": { + "buffer-json": "^2.0.0", + "find-cache-dir": "^3.0.0", + "loader-utils": "^1.2.3", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.1", + "schema-utils": "^2.0.0" + }, + "engines": { + "node": ">= 8.9.0" + } + }, + "node_modules/cache-loader/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/cache-loader/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cacheable-request/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cacheable-request/node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/cacheable-request/node_modules/normalize-url": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", + "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", + "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.0" + } + }, + "node_modules/call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=" + }, + "node_modules/caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dependencies": { + "callsites": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/caller-callsite/node_modules/callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "engines": { + "node": ">=4" + } + }, + "node_modules/caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dependencies": { + "caller-callsite": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "engines": { + "node": ">=10" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001237", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001237.tgz", + "integrity": "sha512-pDHgRndit6p1NR2GhzMbQ6CkRrp4VKuSsqbcLeOQppYPKOYkKT/6ZvZDvKJUqcmtyWIAHuZq3SVS2vc1egCZzw==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/ccount": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", + "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==" + }, + "node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chalk/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chalk/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/chalk/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/chalk/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/character-entities": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", + "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==" + }, + "node_modules/character-entities-legacy": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", + "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==" + }, + "node_modules/character-reference-invalid": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", + "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==" + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + }, + "node_modules/check-types": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-8.0.3.tgz", + "integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==" + }, + "node_modules/cheerio": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz", + "integrity": "sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=", + "dependencies": { + "css-select": "~1.2.0", + "dom-serializer": "~0.1.0", + "entities": "~1.1.1", + "htmlparser2": "^3.9.1", + "lodash.assignin": "^4.0.9", + "lodash.bind": "^4.1.4", + "lodash.defaults": "^4.0.1", + "lodash.filter": "^4.4.0", + "lodash.flatten": "^4.2.0", + "lodash.foreach": "^4.3.0", + "lodash.map": "^4.4.0", + "lodash.merge": "^4.4.0", + "lodash.pick": "^4.2.1", + "lodash.reduce": "^4.4.0", + "lodash.reject": "^4.4.0", + "lodash.some": "^4.4.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cheerio/node_modules/css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "dependencies": { + "boolbase": "~1.0.0", + "css-what": "2.1", + "domutils": "1.5.1", + "nth-check": "~1.0.1" + } + }, + "node_modules/cheerio/node_modules/css-what": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", + "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", + "engines": { + "node": "*" + } + }, + "node_modules/cheerio/node_modules/dom-serializer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", + "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", + "dependencies": { + "domelementtype": "^1.3.0", + "entities": "^1.1.1" + } + }, + "node_modules/cheerio/node_modules/domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/cheerio/node_modules/entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + }, + "node_modules/chokidar": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", + "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", + "dependencies": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.1.2" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/chrome-trace-event/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==" + }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/classnames": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", + "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" + }, + "node_modules/clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", + "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/clean-css/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/clipboard": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.6.tgz", + "integrity": "sha512-g5zbiixBRk/wyKakSwCKd7vQXDjFnAMGHoEyBogG/bw9kTD9GvdAvaoRR1ALcEzt3pVKxZR0pViekPMIS0QyGg==", + "optional": true, + "dependencies": { + "good-listener": "^1.2.2", + "select": "^1.1.2", + "tiny-emitter": "^2.0.0" + } + }, + "node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "dependencies": { + "mimic-response": "^1.0.0" + } + }, + "node_modules/clsx": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.1.1.tgz", + "integrity": "sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dependencies": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/coa/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/collapse-white-space": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", + "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==" + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz", + "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==", + "dependencies": { + "color-convert": "^1.9.1", + "color-string": "^1.5.4" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/color-string": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz", + "integrity": "sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/colorette": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", + "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==" + }, + "node_modules/comma-separated-tokens": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", + "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==" + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + }, + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/concat-stream/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/concat-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/configstore": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", + "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", + "dependencies": { + "dot-prop": "^5.2.0", + "graceful-fs": "^4.1.2", + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/consola": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.0.tgz", + "integrity": "sha512-vlcSGgdYS26mPf7qNi+dCisbhiyDnrN1zaRbw3CSuc2wGOMEGGPsp46PdRG5gqXwgtJfjxDkxRNAgRPr1B77vQ==" + }, + "node_modules/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + }, + "node_modules/content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "node_modules/copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dependencies": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "node_modules/copy-concurrently/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/copy-text-to-clipboard": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-2.2.0.tgz", + "integrity": "sha512-WRvoIdnTs1rgPMkgA2pUOa/M4Enh2uzCwdKsOMYNAJiz/4ZvEJgmbF4OmninPmlFdAWisfeh0tH+Cpf7ni3RqQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/copy-webpack-plugin": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-6.4.1.tgz", + "integrity": "sha512-MXyPCjdPVx5iiWyl40Va3JGh27bKzOTNY3NjUTrosD2q7dR/cLD0013uqJ3BpFbUjyONINjb6qI7nDIJujrMbA==", + "dependencies": { + "cacache": "^15.0.5", + "fast-glob": "^3.2.4", + "find-cache-dir": "^3.3.1", + "glob-parent": "^5.1.1", + "globby": "^11.0.1", + "loader-utils": "^2.0.0", + "normalize-path": "^3.0.0", + "p-limit": "^3.0.2", + "schema-utils": "^3.0.0", + "serialize-javascript": "^5.0.1", + "webpack-sources": "^1.4.3" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/globby": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", + "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/copy-webpack-plugin/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/copy-webpack-plugin/node_modules/schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dependencies": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "hasInstallScript": true + }, + "node_modules/core-js-compat": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.1.tgz", + "integrity": "sha512-a16TLmy9NVD1rkjUGbwuyWkiDoN0FDpAwrfLONvHFQx0D9k7J9y0srwMT8QP/Z6HE3MIFaVynEeYwZwPX1o5RQ==", + "dependencies": { + "browserslist": "^4.15.0", + "semver": "7.0.0" + } + }, + "node_modules/core-js-compat/node_modules/semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/core-js-pure": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.8.1.tgz", + "integrity": "sha512-Se+LaxqXlVXGvmexKGPvnUIYC1jwXu1H6Pkyb3uBM5d8/NELMYCHs/4/roD7721NxrTLyv7e5nXd5/QLBO+10g==", + "hasInstallScript": true + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "node_modules/cosmiconfig": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", + "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", + "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dependencies": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + }, + "engines": { + "node": "*" + } + }, + "node_modules/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/css-blank-pseudo": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz", + "integrity": "sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w==", + "dependencies": { + "postcss": "^7.0.5" + }, + "bin": { + "css-blank-pseudo": "cli.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "engines": { + "node": "*" + } + }, + "node_modules/css-declaration-sorter": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", + "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", + "dependencies": { + "postcss": "^7.0.1", + "timsort": "^0.3.0" + }, + "engines": { + "node": ">4" + } + }, + "node_modules/css-has-pseudo": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz", + "integrity": "sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ==", + "dependencies": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^5.0.0-rc.4" + }, + "bin": { + "css-has-pseudo": "cli.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/css-has-pseudo/node_modules/cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/css-has-pseudo/node_modules/postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "dependencies": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/css-loader": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz", + "integrity": "sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==", + "dependencies": { + "camelcase": "^5.3.1", + "cssesc": "^3.0.0", + "icss-utils": "^4.1.1", + "loader-utils": "^1.2.3", + "normalize-path": "^3.0.0", + "postcss": "^7.0.32", + "postcss-modules-extract-imports": "^2.0.0", + "postcss-modules-local-by-default": "^3.0.2", + "postcss-modules-scope": "^2.2.0", + "postcss-modules-values": "^3.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^2.7.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">= 8.9.0" + } + }, + "node_modules/css-loader/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/css-loader/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/css-loader/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/css-prefers-color-scheme": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz", + "integrity": "sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg==", + "dependencies": { + "postcss": "^7.0.5" + }, + "bin": { + "css-prefers-color-scheme": "cli.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "node_modules/css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + }, + "node_modules/css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "dependencies": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-tree/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/cssdb": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz", + "integrity": "sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ==" + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", + "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", + "dependencies": { + "cosmiconfig": "^5.0.0", + "cssnano-preset-default": "^4.0.7", + "is-resolvable": "^1.0.0", + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-preset-advanced": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-4.0.7.tgz", + "integrity": "sha512-j1O5/DQnaAqEyFFQfC+Z/vRlLXL3LxJHN+lvsfYqr7KgPH74t69+Rsy2yXkovWNaJjZYBpdz2Fj8ab2nH7pZXw==", + "dependencies": { + "autoprefixer": "^9.4.7", + "cssnano-preset-default": "^4.0.7", + "postcss-discard-unused": "^4.0.1", + "postcss-merge-idents": "^4.0.1", + "postcss-reduce-idents": "^4.0.2", + "postcss-zindex": "^4.0.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-preset-default": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", + "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", + "dependencies": { + "css-declaration-sorter": "^4.0.1", + "cssnano-util-raw-cache": "^4.0.1", + "postcss": "^7.0.0", + "postcss-calc": "^7.0.1", + "postcss-colormin": "^4.0.3", + "postcss-convert-values": "^4.0.1", + "postcss-discard-comments": "^4.0.2", + "postcss-discard-duplicates": "^4.0.2", + "postcss-discard-empty": "^4.0.1", + "postcss-discard-overridden": "^4.0.1", + "postcss-merge-longhand": "^4.0.11", + "postcss-merge-rules": "^4.0.3", + "postcss-minify-font-values": "^4.0.2", + "postcss-minify-gradients": "^4.0.2", + "postcss-minify-params": "^4.0.2", + "postcss-minify-selectors": "^4.0.2", + "postcss-normalize-charset": "^4.0.1", + "postcss-normalize-display-values": "^4.0.2", + "postcss-normalize-positions": "^4.0.2", + "postcss-normalize-repeat-style": "^4.0.2", + "postcss-normalize-string": "^4.0.2", + "postcss-normalize-timing-functions": "^4.0.2", + "postcss-normalize-unicode": "^4.0.1", + "postcss-normalize-url": "^4.0.1", + "postcss-normalize-whitespace": "^4.0.2", + "postcss-ordered-values": "^4.1.2", + "postcss-reduce-initial": "^4.0.3", + "postcss-reduce-transforms": "^4.0.2", + "postcss-svgo": "^4.0.2", + "postcss-unique-selectors": "^4.0.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-util-get-arguments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", + "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-util-get-match": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", + "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-util-raw-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", + "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-util-same-parent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", + "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano/node_modules/cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dependencies": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano/node_modules/import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dependencies": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano/node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "engines": { + "node": ">=4" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.2.tgz", + "integrity": "sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/csso/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/csstype": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.5.tgz", + "integrity": "sha512-uVDi8LpBUKQj6sdxNaTetL6FpeCqTjOvAQuQUa/qAqq8oOd4ivkbhgnqayl0dnPal8Tb/yB1tF+gOvCBiicaiQ==" + }, + "node_modules/cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" + }, + "node_modules/debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dependencies": { + "mimic-response": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "dependencies": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "dependencies": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" + }, + "node_modules/define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/del/-/del-5.1.0.tgz", + "integrity": "sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==", + "dependencies": { + "globby": "^10.0.1", + "graceful-fs": "^4.2.2", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.1", + "p-map": "^3.0.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/del/node_modules/p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/delegate": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", + "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==", + "optional": true + }, + "node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "node_modules/detab": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detab/-/detab-2.0.4.tgz", + "integrity": "sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g==", + "dependencies": { + "repeat-string": "^1.5.4" + } + }, + "node_modules/detect-node": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", + "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==" + }, + "node_modules/detect-port": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.3.0.tgz", + "integrity": "sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==", + "dependencies": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "bin": { + "detect": "bin/detect-port", + "detect-port": "bin/detect-port" + }, + "engines": { + "node": ">= 4.2.1" + } + }, + "node_modules/detect-port/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/detect-port/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=" + }, + "node_modules/dns-packet": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", + "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", + "dependencies": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dependencies": { + "buffer-indexof": "^1.0.0" + } + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/dom-serializer/node_modules/domelementtype": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", + "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==" + }, + "node_modules/domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "engines": { + "node": ">=0.4", + "npm": ">=1.2" + } + }, + "node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "node_modules/domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dependencies": { + "domelementtype": "1" + } + }, + "node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "node_modules/duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" + }, + "node_modules/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/duplexify/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/duplexify/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "node_modules/ejs": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", + "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", + "hasInstallScript": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.3.633", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.633.tgz", + "integrity": "sha512-bsVCsONiVX1abkWdH7KtpuDAhsQ3N3bjPYhROSAXE78roJKet0Y5wznA14JE9pzbwSZmSMAW6KiKYf1RvbTJkA==" + }, + "node_modules/elliptic": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", + "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", + "dependencies": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + }, + "node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/emoticon": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/emoticon/-/emoticon-3.2.0.tgz", + "integrity": "sha512-SNujglcLTTg+lDAcApPNgEdudaqQFiAbJCqzjNxJkvN9vAwCGi0uu8IUVvx+f16h+V44KCY6Y2yboroc9pilHg==" + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", + "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz", + "integrity": "sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==", + "dependencies": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/enhanced-resolve/node_modules/memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/enhanced-resolve/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/enhanced-resolve/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/entities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==" + }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-ex/node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "node_modules/es-abstract": { + "version": "1.18.0-next.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", + "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-goat": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", + "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eta": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/eta/-/eta-1.12.1.tgz", + "integrity": "sha512-H8npoci2J/7XiPnVcCVulBSPsTNGvGaINyMjQDU8AFqp9LGsEYS88g2CiU+d01Sg44WtX7o4nb8wUJ9vnI+tiA==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eval": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.4.tgz", + "integrity": "sha512-npGsebJejyjMRnLdFu+T/97dnigqIU0Ov3IGrZ8ygd1v7RL1vGkEKtvyWZobqUH1AQgKlg0Yqqe2BtMA9/QZLw==", + "dependencies": { + "require-like": ">= 0.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "node_modules/events": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", + "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/eventsource": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", + "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", + "dependencies": { + "original": "^1.0.0" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/execa/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/execa/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "engines": { + "node": ">=4" + } + }, + "node_modules/execa/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/execa/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "dependencies": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-glob": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", + "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/fast-url-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", + "integrity": "sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0=", + "dependencies": { + "punycode": "^1.3.2" + } + }, + "node_modules/fastq": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.0.tgz", + "integrity": "sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fbemitter": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fbemitter/-/fbemitter-2.1.1.tgz", + "integrity": "sha1-Uj4U/a9SSIBbsC9i78M75wP1GGU=", + "dependencies": { + "fbjs": "^0.8.4" + } + }, + "node_modules/fbjs": { + "version": "0.8.17", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", + "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", + "dependencies": { + "core-js": "^1.0.0", + "isomorphic-fetch": "^2.1.1", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.18" + } + }, + "node_modules/fbjs/node_modules/core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" + }, + "node_modules/feed": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.1.tgz", + "integrity": "sha512-l28KKcK1J/u3iq5dRDmmoB2p7dtBfACC2NqJh4dI2kFptxH0asfjmOfcxqh5Sv8suAlVa73gZJ4REY5RrafVvg==", + "dependencies": { + "xml-js": "^1.6.11" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==" + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/file-loader/node_modules/schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dependencies": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/filesize": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-6.0.1.tgz", + "integrity": "sha512-u4AYWPgbI5GBhs6id1KdImZWn5yfyFrrQ8OWZdN7ZMfA8Bf4HcO0BGo9bmUIEV8yrp8I1xVfJ/dn90GtFNNJcg==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/find-cache-dir": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flatten": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", + "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==" + }, + "node_modules/flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dependencies": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "node_modules/flush-write-stream/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/flush-write-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/flux": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/flux/-/flux-3.1.3.tgz", + "integrity": "sha1-0jvtUVp5oi2TOrU6tK2hnQWy8Io=", + "dependencies": { + "fbemitter": "^2.0.0", + "fbjs": "^0.8.0" + } + }, + "node_modules/follow-redirects": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.1.tgz", + "integrity": "sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-3.1.1.tgz", + "integrity": "sha512-DuVkPNrM12jR41KM2e+N+styka0EgLkTnXmNcXdgOM37vtGeY+oCBK/Jx0hzSeEU6memFCtWb4htrHPMDfwwUQ==", + "dependencies": { + "babel-code-frame": "^6.22.0", + "chalk": "^2.4.1", + "chokidar": "^3.3.0", + "micromatch": "^3.1.10", + "minimatch": "^3.0.4", + "semver": "^5.6.0", + "tapable": "^1.0.0", + "worker-rpc": "^0.1.0" + }, + "engines": { + "node": ">=6.11.5", + "yarn": ">=1.0.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/extend-shallow/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "node_modules/from2/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/from2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/fs-extra": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dependencies": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "node_modules/fs-write-stream-atomic/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/fs-write-stream-atomic/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "node_modules/fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz", + "integrity": "sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + }, + "node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/github-slugger": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.3.0.tgz", + "integrity": "sha512-gwJScWVNhFYSRDvURk/8yhcFBee6aFjye2a7Lhb2bUyRulpIoek9p0I9Kt7PT67d/nUlZbFu8L9RLiA0woQN8Q==", + "dependencies": { + "emoji-regex": ">=6.0.0 <=6.1.1" + } + }, + "node_modules/github-slugger/node_modules/emoji-regex": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.1.tgz", + "integrity": "sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4=" + }, + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=" + }, + "node_modules/global-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.1.0.tgz", + "integrity": "sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ==", + "dependencies": { + "ini": "1.3.7" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/global-dirs/node_modules/ini": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz", + "integrity": "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==" + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", + "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "dependencies": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/good-listener": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", + "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", + "optional": true, + "dependencies": { + "delegate": "^3.1.2" + } + }, + "node_modules/got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "dependencies": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" + }, + "node_modules/gray-matter": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.2.tgz", + "integrity": "sha512-7hB/+LxrOjq/dd8APlK0r24uL/67w7SkYnfwhNFwg/VDIGWGmduTDYf3WNstLW2fbbmRwrDGCVSJ2isuf2+4Hw==", + "dependencies": { + "js-yaml": "^3.11.0", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/gzip-size": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", + "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", + "dependencies": { + "duplexer": "^0.1.1", + "pify": "^4.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/gzip-size/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-ansi/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-yarn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", + "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash-base/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/hast-to-hyperscript": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz", + "integrity": "sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==", + "dependencies": { + "@types/unist": "^2.0.3", + "comma-separated-tokens": "^1.0.0", + "property-information": "^5.3.0", + "space-separated-tokens": "^1.0.0", + "style-to-object": "^0.3.0", + "unist-util-is": "^4.0.0", + "web-namespaces": "^1.0.0" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz", + "integrity": "sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==", + "dependencies": { + "@types/parse5": "^5.0.0", + "hastscript": "^6.0.0", + "property-information": "^5.0.0", + "vfile": "^4.0.0", + "vfile-location": "^3.2.0", + "web-namespaces": "^1.0.0" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz", + "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==" + }, + "node_modules/hast-util-raw": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-6.0.1.tgz", + "integrity": "sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig==", + "dependencies": { + "@types/hast": "^2.0.0", + "hast-util-from-parse5": "^6.0.0", + "hast-util-to-parse5": "^6.0.0", + "html-void-elements": "^1.0.0", + "parse5": "^6.0.0", + "unist-util-position": "^3.0.0", + "vfile": "^4.0.0", + "web-namespaces": "^1.0.0", + "xtend": "^4.0.0", + "zwitch": "^1.0.0" + } + }, + "node_modules/hast-util-to-parse5": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz", + "integrity": "sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ==", + "dependencies": { + "hast-to-hyperscript": "^9.0.0", + "property-information": "^5.0.0", + "web-namespaces": "^1.0.0", + "xtend": "^4.0.0", + "zwitch": "^1.0.0" + } + }, + "node_modules/hastscript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz", + "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==", + "dependencies": { + "@types/hast": "^2.0.0", + "comma-separated-tokens": "^1.0.0", + "hast-util-parse-selector": "^2.0.0", + "property-information": "^5.0.0", + "space-separated-tokens": "^1.0.0" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "bin": { + "he": "bin/he" + } + }, + "node_modules/hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" + }, + "node_modules/history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "dependencies": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=" + }, + "node_modules/hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=" + }, + "node_modules/html-comment-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", + "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==" + }, + "node_modules/html-entities": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", + "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==" + }, + "node_modules/html-minifier-terser": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", + "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", + "dependencies": { + "camel-case": "^4.1.1", + "clean-css": "^4.2.3", + "commander": "^4.1.1", + "he": "^1.2.0", + "param-case": "^3.0.3", + "relateurl": "^0.2.7", + "terser": "^4.6.3" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/html-tags": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz", + "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/html-void-elements": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz", + "integrity": "sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==" + }, + "node_modules/html-webpack-plugin": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.0.tgz", + "integrity": "sha512-MouoXEYSjTzCrjIxWwg8gxL5fE2X2WZJLmBYXlaJhQUH5K/b5OrqmV7T4dB7iu0xkmJ6JlUuV6fFVtnqbPopZw==", + "dependencies": { + "@types/html-minifier-terser": "^5.0.0", + "@types/tapable": "^1.0.5", + "@types/webpack": "^4.41.8", + "html-minifier-terser": "^5.0.1", + "loader-utils": "^1.2.3", + "lodash": "^4.17.15", + "pretty-error": "^2.1.1", + "tapable": "^1.1.3", + "util.promisify": "1.0.0" + }, + "engines": { + "node": ">=6.9" + } + }, + "node_modules/html-webpack-plugin/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/html-webpack-plugin/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/html-webpack-plugin/node_modules/util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dependencies": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "node_modules/htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dependencies": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + }, + "node_modules/http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=" + }, + "node_modules/http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/http-errors/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "node_modules/http-parser-js": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.2.tgz", + "integrity": "sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ==" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", + "dependencies": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/http-proxy-middleware/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/http-proxy-middleware/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/http-proxy-middleware/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/http-proxy-middleware/node_modules/extend-shallow/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/http-proxy-middleware/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/http-proxy-middleware/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/http-proxy-middleware/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/http-proxy-middleware/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/http-proxy-middleware/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/http-proxy-middleware/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" + }, + "node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", + "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", + "dependencies": { + "postcss": "^7.0.14" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "node_modules/iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" + }, + "node_modules/ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/immer": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/immer/-/immer-1.10.0.tgz", + "integrity": "sha512-O3sR1/opvCDGLEVcvrGTMtLac8GJ5IwZC4puPrLuRj3l7ICKvkmA0vGuU9OW8mV9WIBRnaxp5GJh9IEAaNOoYg==" + }, + "node_modules/import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "dependencies": { + "import-from": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "dependencies": { + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-from/node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "engines": { + "node": ">=4" + } + }, + "node_modules/import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", + "engines": { + "node": ">=4" + } + }, + "node_modules/import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dependencies": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/import-local/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/import-local/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/import-local/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/import-local/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "engines": { + "node": ">=4" + } + }, + "node_modules/import-local/node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" + }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" + }, + "node_modules/infima": { + "version": "0.2.0-alpha.18", + "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.18.tgz", + "integrity": "sha512-ndSEffXzjgM/eiSm5jpLTX6ON9MmylzxqBnV2bTiC3kCSyDYdvzTs+bSwf+C4TWayuqnRTnBK1JUePo3m6Bnfg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/inline-style-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" + }, + "node_modules/inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/inquirer/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/inquirer/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/inquirer/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/inquirer/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "dependencies": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, + "node_modules/ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "engines": { + "node": ">=4" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-alphabetical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==" + }, + "node_modules/is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", + "dependencies": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + } + }, + "node_modules/is-arguments": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", + "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", + "dependencies": { + "call-bind": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "node_modules/is-callable": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dependencies": { + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-ci/node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + }, + "node_modules/is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "dependencies": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, + "node_modules/is-core-module": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "dependencies": { + "has": "^1.0.3" + } + }, + "node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-decimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==" + }, + "node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-docker": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", + "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "engines": { + "node": ">=4" + } + }, + "node_modules/is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", + "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==" + }, + "node_modules/is-installed-globally": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz", + "integrity": "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==", + "dependencies": { + "global-dirs": "^2.0.1", + "is-path-inside": "^3.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-npm": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz", + "integrity": "sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "dependencies": { + "is-path-inside": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-in-cwd/node_modules/is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "dependencies": { + "path-is-inside": "^1.0.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz", + "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "dependencies": { + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" + }, + "node_modules/is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-svg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", + "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", + "dependencies": { + "html-comment-regex": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dependencies": { + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "node_modules/is-whitespace-character": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", + "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==" + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-word-character": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz", + "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==" + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-yarn-global": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", + "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==" + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "dependencies": { + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" + } + }, + "node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/joi": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.3.0.tgz", + "integrity": "sha512-Qh5gdU6niuYbUIUV5ejbsMiiFmBdw8Kcp8Buj2JntszCkCfxJ9Cz76OtHxOZMPXrt5810iDIXs+n1nNVoquHgg==", + "dependencies": { + "@hapi/hoek": "^9.0.0", + "@hapi/topo": "^5.0.0", + "@sideway/address": "^4.1.0", + "@sideway/formula": "^3.0.0", + "@sideway/pinpoint": "^2.0.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/json3": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==" + }, + "node_modules/json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "node_modules/jsonfile/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "dependencies": { + "json-buffer": "3.0.0" + } + }, + "node_modules/killable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==" + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/last-call-webpack-plugin": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz", + "integrity": "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==", + "dependencies": { + "lodash": "^4.17.5", + "webpack-sources": "^1.1.0" + } + }, + "node_modules/latest-version": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", + "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", + "dependencies": { + "package-json": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" + }, + "node_modules/loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" + }, + "node_modules/lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" + }, + "node_modules/lodash.assignin": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz", + "integrity": "sha1-uo31+4QesKPoBEIysOJjqNxqKKI=" + }, + "node_modules/lodash.bind": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz", + "integrity": "sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU=" + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" + }, + "node_modules/lodash.chunk": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.chunk/-/lodash.chunk-4.2.0.tgz", + "integrity": "sha1-ZuXOH3btJ7QwPYxlEujRIW6BBrw=" + }, + "node_modules/lodash.curry": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz", + "integrity": "sha1-JI42By7ekGUB11lmIAqG2riyMXA=" + }, + "node_modules/lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" + }, + "node_modules/lodash.filter": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz", + "integrity": "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4=" + }, + "node_modules/lodash.flatmap": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.flatmap/-/lodash.flatmap-4.5.0.tgz", + "integrity": "sha1-74y/QI9uSCaGYzRTBcaswLd4cC4=" + }, + "node_modules/lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" + }, + "node_modules/lodash.flow": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz", + "integrity": "sha1-h79AKSuM+D5OjOGjrkIJ4gBxZ1o=" + }, + "node_modules/lodash.foreach": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", + "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=" + }, + "node_modules/lodash.groupby": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.groupby/-/lodash.groupby-4.6.0.tgz", + "integrity": "sha1-Cwih3PaDl8OXhVwyOXg4Mt90A9E=" + }, + "node_modules/lodash.has": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz", + "integrity": "sha1-0Z9NwQlQWMzL4rDN9O4P5Ko3yGI=" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + }, + "node_modules/lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=" + }, + "node_modules/lodash.map": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", + "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "node_modules/lodash.padstart": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz", + "integrity": "sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs=" + }, + "node_modules/lodash.pick": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", + "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=" + }, + "node_modules/lodash.pickby": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.pickby/-/lodash.pickby-4.6.0.tgz", + "integrity": "sha1-feoh2MGNdwOifHBMFdO4SmfjOv8=" + }, + "node_modules/lodash.reduce": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", + "integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=" + }, + "node_modules/lodash.reject": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz", + "integrity": "sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU=" + }, + "node_modules/lodash.some": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", + "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=" + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" + }, + "node_modules/lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "dependencies": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "node_modules/lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "dependencies": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "node_modules/lodash.toarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", + "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" + }, + "node_modules/loglevel": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", + "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/markdown-escapes": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", + "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==" + }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/mdast-squeeze-paragraphs": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz", + "integrity": "sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ==", + "dependencies": { + "unist-util-remove": "^2.0.0" + } + }, + "node_modules/mdast-util-definitions": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz", + "integrity": "sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==", + "dependencies": { + "unist-util-visit": "^2.0.0" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-10.0.1.tgz", + "integrity": "sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA==", + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "mdast-util-definitions": "^4.0.0", + "mdurl": "^1.0.0", + "unist-builder": "^2.0.0", + "unist-util-generated": "^1.0.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^2.0.0" + } + }, + "node_modules/mdast-util-to-string": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz", + "integrity": "sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==" + }, + "node_modules/mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + }, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "node_modules/memory-fs/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/memory-fs/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/microevent.ts": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz", + "integrity": "sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==" + }, + "node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "dependencies": { + "mime-db": "1.44.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/mini-create-react-context": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz", + "integrity": "sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ==", + "dependencies": { + "@babel/runtime": "^7.12.1", + "tiny-warning": "^1.0.3" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.8.2.tgz", + "integrity": "sha512-a3Y4of27Wz+mqK3qrcd3VhYz6cU0iW5x3Sgvqzbj+XmlrSizmvu8QQMl5oMYJjgHOC4iyt+w7l4umP+dQeW3bw==", + "dependencies": { + "loader-utils": "^1.1.0", + "normalize-url": "1.9.1", + "schema-utils": "^1.0.0", + "webpack-sources": "^1.1.0" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "dependencies": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "node_modules/minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dependencies": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dependencies": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "node_modules/move-concurrently/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "dependencies": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=" + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-emoji": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.10.0.tgz", + "integrity": "sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw==", + "dependencies": { + "lodash.toarray": "^4.4.0" + } + }, + "node_modules/node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "dependencies": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + }, + "node_modules/node-forge": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dependencies": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + } + }, + "node_modules/node-libs-browser/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/node-libs-browser/node_modules/readable-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/node-releases": { + "version": "1.1.67", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.67.tgz", + "integrity": "sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", + "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "engines": { + "node": ">=4" + } + }, + "node_modules/nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", + "integrity": "sha1-y480xTIT2JVyP8urkH6UIq28r7E=" + }, + "node_modules/nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dependencies": { + "boolbase": "~1.0.0" + } + }, + "node_modules/null-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/null-loader/-/null-loader-3.0.0.tgz", + "integrity": "sha512-hf5sNLl8xdRho4UPBOOeoIwT3WhjYcMUQm0zj44EhD6UscMAz72o2udpoDFBgykucdEDGIcd6SXbc/G6zssbzw==", + "dependencies": { + "loader-utils": "^1.2.3", + "schema-utils": "^1.0.0" + }, + "engines": { + "node": ">= 8.9.0" + } + }, + "node_modules/null-loader/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/null-loader/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/null-loader/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" + }, + "node_modules/object-is": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.4.tgz", + "integrity": "sha512-1ZvAZ4wlF7IyPVOcE1Omikt7UpaFlOQq0HlSti+ZvDH3UiD2brwGMwDbyV43jao2bKJ+4+WdPJHSd7kgzKYVqg==", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz", + "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.values": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz", + "integrity": "sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1", + "has": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + }, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/open": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/open/-/open-7.3.0.tgz", + "integrity": "sha512-mgLwQIx2F/ye9SmbrUkurZCnkoXyXyu9EbHtJZrICjVAJfyMArdHp3KkixGdZx1ZHFPNIwl0DDM1dFFqXbTLZw==", + "dependencies": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "dependencies": { + "is-wsl": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/opn/node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/optimize-css-assets-webpack-plugin": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.4.tgz", + "integrity": "sha512-wqd6FdI2a5/FdoiCNNkEvLeA//lHHfG24Ln2Xm2qqdIk4aOlsR18jwpyOihqQ8849W3qu2DX8fOYxpvTMj+93A==", + "dependencies": { + "cssnano": "^4.1.10", + "last-call-webpack-plugin": "^3.0.0" + } + }, + "node_modules/original": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "dependencies": { + "url-parse": "^1.4.3" + } + }, + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", + "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "dependencies": { + "retry": "^0.12.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", + "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", + "dependencies": { + "got": "^9.6.0", + "registry-auth-token": "^4.0.0", + "registry-url": "^5.0.0", + "semver": "^6.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "node_modules/parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dependencies": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "node_modules/parallel-transform/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/parallel-transform/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dependencies": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/parse-entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", + "dependencies": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + } + }, + "node_modules/parse-json": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", + "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/parse-numeric-range": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.2.0.tgz", + "integrity": "sha512-1q2tXpAOplPxcl8vrIGPWz1dJxxfmdRkCFcpxxMBerDnGuuHalOWF/xj9L8Nn5XoTUoB/6F0CeQBp2fMgkOYFg==" + }, + "node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/pbkdf2": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", + "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "engines": { + "node": ">=8.6" + } + }, + "node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "engines": { + "node": ">=4" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "engines": { + "node": ">=4" + } + }, + "node_modules/pnp-webpack-plugin": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", + "integrity": "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==", + "dependencies": { + "ts-pnp": "^1.1.6" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/portfinder": { + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", + "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", + "dependencies": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.5" + }, + "engines": { + "node": ">= 0.12.0" + } + }, + "node_modules/portfinder/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dependencies": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-attribute-case-insensitive": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz", + "integrity": "sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA==", + "dependencies": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^6.0.2" + } + }, + "node_modules/postcss-calc": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", + "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", + "dependencies": { + "postcss": "^7.0.27", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + } + }, + "node_modules/postcss-color-functional-notation": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz", + "integrity": "sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g==", + "dependencies": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-color-gray": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz", + "integrity": "sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw==", + "dependencies": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.5", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-color-hex-alpha": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz", + "integrity": "sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw==", + "dependencies": { + "postcss": "^7.0.14", + "postcss-values-parser": "^2.0.1" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-color-mod-function": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz", + "integrity": "sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ==", + "dependencies": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-color-rebeccapurple": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz", + "integrity": "sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g==", + "dependencies": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-colormin": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", + "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", + "dependencies": { + "browserslist": "^4.0.0", + "color": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-colormin/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss-combine-duplicated-selectors": { + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/postcss-combine-duplicated-selectors/-/postcss-combine-duplicated-selectors-9.4.0.tgz", + "integrity": "sha512-rMnO1H3wgR1T6QSlK3i8Slz9p3xD+0yOi4J7qwh/5PGR3z8jbgYvRlNKAIvXDtGBQbJKoWs4df5skL3a/fdUEA==", + "dependencies": { + "postcss": "^7.0.0", + "postcss-selector-parser": "^6.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >=14.0.0" + } + }, + "node_modules/postcss-convert-values": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", + "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", + "dependencies": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-convert-values/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss-custom-media": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz", + "integrity": "sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg==", + "dependencies": { + "postcss": "^7.0.14" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-custom-properties": { + "version": "8.0.11", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz", + "integrity": "sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA==", + "dependencies": { + "postcss": "^7.0.17", + "postcss-values-parser": "^2.0.1" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-custom-selectors": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz", + "integrity": "sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w==", + "dependencies": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-custom-selectors/node_modules/cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-custom-selectors/node_modules/postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "dependencies": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-dir-pseudo-class": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz", + "integrity": "sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw==", + "dependencies": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-dir-pseudo-class/node_modules/cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-dir-pseudo-class/node_modules/postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "dependencies": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-discard-comments": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", + "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", + "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-discard-empty": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", + "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", + "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-discard-unused": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-4.0.1.tgz", + "integrity": "sha512-/3vq4LU0bLH2Lj4NYN7BTf2caly0flUB7Xtrk9a5K3yLuXMkHMqMO/x3sDq8W2b1eQFSCyY0IVz2L+0HP8kUUA==", + "dependencies": { + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0", + "uniqs": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-discard-unused/node_modules/postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dependencies": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss-double-position-gradients": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz", + "integrity": "sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA==", + "dependencies": { + "postcss": "^7.0.5", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-env-function": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-2.0.2.tgz", + "integrity": "sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw==", + "dependencies": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-focus-visible": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz", + "integrity": "sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g==", + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-focus-within": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz", + "integrity": "sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w==", + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-font-variant": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz", + "integrity": "sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA==", + "dependencies": { + "postcss": "^7.0.2" + } + }, + "node_modules/postcss-gap-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz", + "integrity": "sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg==", + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-image-set-function": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz", + "integrity": "sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw==", + "dependencies": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-initial": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.2.tgz", + "integrity": "sha512-ugA2wKonC0xeNHgirR4D3VWHs2JcU08WAi1KFLVcnb7IN89phID6Qtg2RIctWbnvp1TM2BOmDtX8GGLCKdR8YA==", + "dependencies": { + "lodash.template": "^4.5.0", + "postcss": "^7.0.2" + } + }, + "node_modules/postcss-lab-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz", + "integrity": "sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg==", + "dependencies": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-load-config": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz", + "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==", + "dependencies": { + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/postcss-load-config/node_modules/cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dependencies": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-load-config/node_modules/import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dependencies": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-load-config/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-load-config/node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", + "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", + "dependencies": { + "loader-utils": "^1.1.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^1.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss-loader/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/postcss-loader/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-loader/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/postcss-logical": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-3.0.0.tgz", + "integrity": "sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA==", + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-media-minmax": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz", + "integrity": "sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw==", + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-merge-idents": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-4.0.1.tgz", + "integrity": "sha512-43S/VNdF6II0NZ31YxcvNYq4gfURlPAAsJW/z84avBXQCaP4I4qRHUH18slW/SOlJbcxxCobflPNUApYDddS7A==", + "dependencies": { + "cssnano-util-same-parent": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-merge-idents/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss-merge-longhand": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", + "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", + "dependencies": { + "css-color-names": "0.0.4", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "stylehacks": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-merge-longhand/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss-merge-rules": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", + "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "cssnano-util-same-parent": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0", + "vendors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-merge-rules/node_modules/postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dependencies": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", + "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", + "dependencies": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-minify-font-values/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss-minify-gradients": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", + "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", + "dependencies": { + "cssnano-util-get-arguments": "^4.0.0", + "is-color-stop": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-minify-gradients/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss-minify-params": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", + "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", + "dependencies": { + "alphanum-sort": "^1.0.0", + "browserslist": "^4.0.0", + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "uniqs": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-minify-params/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss-minify-selectors": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", + "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", + "dependencies": { + "alphanum-sort": "^1.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-minify-selectors/node_modules/postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dependencies": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", + "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", + "dependencies": { + "postcss": "^7.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz", + "integrity": "sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==", + "dependencies": { + "icss-utils": "^4.1.1", + "postcss": "^7.0.32", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss-modules-scope": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", + "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", + "dependencies": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss-modules-values": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", + "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", + "dependencies": { + "icss-utils": "^4.0.0", + "postcss": "^7.0.6" + } + }, + "node_modules/postcss-nesting": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.1.tgz", + "integrity": "sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg==", + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", + "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", + "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", + "dependencies": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-display-values/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss-normalize-positions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", + "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", + "dependencies": { + "cssnano-util-get-arguments": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-positions/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", + "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", + "dependencies": { + "cssnano-util-get-arguments": "^4.0.0", + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-repeat-style/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss-normalize-string": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", + "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", + "dependencies": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-string/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", + "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", + "dependencies": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-timing-functions/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss-normalize-unicode": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", + "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", + "dependencies": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-unicode/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss-normalize-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", + "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", + "dependencies": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-url/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss-normalize-whitespace": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", + "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", + "dependencies": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-whitespace/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss-ordered-values": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", + "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", + "dependencies": { + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-ordered-values/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss-overflow-shorthand": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz", + "integrity": "sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g==", + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-page-break": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-2.0.0.tgz", + "integrity": "sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ==", + "dependencies": { + "postcss": "^7.0.2" + } + }, + "node_modules/postcss-place": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-4.0.1.tgz", + "integrity": "sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg==", + "dependencies": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-preset-env": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz", + "integrity": "sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg==", + "dependencies": { + "autoprefixer": "^9.6.1", + "browserslist": "^4.6.4", + "caniuse-lite": "^1.0.30000981", + "css-blank-pseudo": "^0.1.4", + "css-has-pseudo": "^0.10.0", + "css-prefers-color-scheme": "^3.1.1", + "cssdb": "^4.4.0", + "postcss": "^7.0.17", + "postcss-attribute-case-insensitive": "^4.0.1", + "postcss-color-functional-notation": "^2.0.1", + "postcss-color-gray": "^5.0.0", + "postcss-color-hex-alpha": "^5.0.3", + "postcss-color-mod-function": "^3.0.3", + "postcss-color-rebeccapurple": "^4.0.1", + "postcss-custom-media": "^7.0.8", + "postcss-custom-properties": "^8.0.11", + "postcss-custom-selectors": "^5.1.2", + "postcss-dir-pseudo-class": "^5.0.0", + "postcss-double-position-gradients": "^1.0.0", + "postcss-env-function": "^2.0.2", + "postcss-focus-visible": "^4.0.0", + "postcss-focus-within": "^3.0.0", + "postcss-font-variant": "^4.0.0", + "postcss-gap-properties": "^2.0.0", + "postcss-image-set-function": "^3.0.1", + "postcss-initial": "^3.0.0", + "postcss-lab-function": "^2.0.1", + "postcss-logical": "^3.0.0", + "postcss-media-minmax": "^4.0.0", + "postcss-nesting": "^7.0.0", + "postcss-overflow-shorthand": "^2.0.0", + "postcss-page-break": "^2.0.0", + "postcss-place": "^4.0.1", + "postcss-pseudo-class-any-link": "^6.0.0", + "postcss-replace-overflow-wrap": "^3.0.0", + "postcss-selector-matches": "^4.0.0", + "postcss-selector-not": "^4.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-pseudo-class-any-link": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz", + "integrity": "sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew==", + "dependencies": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-pseudo-class-any-link/node_modules/cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-pseudo-class-any-link/node_modules/postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "dependencies": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-reduce-idents": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-4.0.2.tgz", + "integrity": "sha512-Tz70Ri10TclPoCtFfftjFVddx3fZGUkr0dEDbIEfbYhFUOFQZZ77TEqRrU0e6TvAvF+Wa5VVzYTpFpq0uwFFzw==", + "dependencies": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-reduce-idents/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss-reduce-initial": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", + "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", + "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", + "dependencies": { + "cssnano-util-get-match": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-reduce-transforms/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss-replace-overflow-wrap": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz", + "integrity": "sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw==", + "dependencies": { + "postcss": "^7.0.2" + } + }, + "node_modules/postcss-selector-matches": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz", + "integrity": "sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==", + "dependencies": { + "balanced-match": "^1.0.0", + "postcss": "^7.0.2" + } + }, + "node_modules/postcss-selector-not": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz", + "integrity": "sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ==", + "dependencies": { + "balanced-match": "^1.0.0", + "postcss": "^7.0.2" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz", + "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", + "dependencies": { + "cssesc": "^3.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-sort-media-queries": { + "version": "1.31.21", + "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-1.31.21.tgz", + "integrity": "sha512-h+HbXXfOVFeLvCJOzl/Z9SqQ25MNpG/73k71756ftisaaJy75h06/Dn6KOwC4OCMN10ewT2PXMzHV03JNKwBbg==", + "dependencies": { + "postcss": "^7.0.27", + "sort-css-media-queries": "1.5.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/postcss-svgo": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", + "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", + "dependencies": { + "is-svg": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-svgo/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss-unique-selectors": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", + "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", + "dependencies": { + "alphanum-sort": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" + }, + "node_modules/postcss-values-parser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz", + "integrity": "sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==", + "dependencies": { + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=6.14.4" + } + }, + "node_modules/postcss-zindex": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-4.0.1.tgz", + "integrity": "sha512-d/8BlQcUdEugZNRM9AdCA2V4fqREUtn/wcixLN3L6ITgc2P/FMcVVYz8QZkhItWT9NB5qr8wuN2dJCE4/+dlrA==", + "dependencies": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss/node_modules/chalk/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pretty-error": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", + "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^2.0.4" + } + }, + "node_modules/pretty-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", + "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/prism-react-renderer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-1.1.1.tgz", + "integrity": "sha512-MgMhSdHuHymNRqD6KM3eGS0PNqgK9q4QF5P0yoQQvpB6jNjeSAi3jcSAz0Sua/t9fa4xDOMar9HJbLa08gl9ug==" + }, + "node_modules/prismjs": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.22.0.tgz", + "integrity": "sha512-lLJ/Wt9yy0AiSYBf212kK3mM5L8ycwlyTlSxHBAneXLR0nzFMlZ5y7riFPF3E33zXOF2IH95xdY5jIyZbM9z/w==", + "optionalDependencies": { + "clipboard": "^2.0.0" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dependencies": { + "asap": "~2.0.3" + } + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" + }, + "node_modules/prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + } + }, + "node_modules/property-information": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz", + "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==", + "dependencies": { + "xtend": "^4.0.0" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "dependencies": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dependencies": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "node_modules/pumpify/node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + }, + "node_modules/pupa": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", + "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", + "dependencies": { + "escape-goat": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pure-color": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz", + "integrity": "sha1-H+Bk+wrIUfDeYTIKi/eWg2Qi8z4=" + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "dependencies": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "dependencies": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/react": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", + "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-base16-styling": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.6.0.tgz", + "integrity": "sha1-7yFW1mz0E5aVyKFniGy2nqZgeSw=", + "dependencies": { + "base16": "^1.0.0", + "lodash.curry": "^4.0.1", + "lodash.flow": "^3.3.0", + "pure-color": "^1.2.0" + } + }, + "node_modules/react-dev-utils": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-10.2.1.tgz", + "integrity": "sha512-XxTbgJnYZmxuPtY3y/UV0D8/65NKkmaia4rXzViknVnZeVlklSh8u6TnaEYPfAi/Gh1TP4mEOXHI6jQOPbeakQ==", + "dependencies": { + "@babel/code-frame": "7.8.3", + "address": "1.1.2", + "browserslist": "4.10.0", + "chalk": "2.4.2", + "cross-spawn": "7.0.1", + "detect-port-alt": "1.1.6", + "escape-string-regexp": "2.0.0", + "filesize": "6.0.1", + "find-up": "4.1.0", + "fork-ts-checker-webpack-plugin": "3.1.1", + "global-modules": "2.0.0", + "globby": "8.0.2", + "gzip-size": "5.1.1", + "immer": "1.10.0", + "inquirer": "7.0.4", + "is-root": "2.1.0", + "loader-utils": "1.2.3", + "open": "^7.0.2", + "pkg-up": "3.1.0", + "react-error-overlay": "^6.0.7", + "recursive-readdir": "2.2.2", + "shell-quote": "1.7.2", + "strip-ansi": "6.0.0", + "text-table": "0.2.0" + }, + "engines": { + "node": ">=8.10" + } + }, + "node_modules/react-dev-utils/node_modules/@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "dependencies": { + "@babel/highlight": "^7.8.3" + } + }, + "node_modules/react-dev-utils/node_modules/@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/react-dev-utils/node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dev-utils/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dev-utils/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dev-utils/node_modules/browserslist": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.10.0.tgz", + "integrity": "sha512-TpfK0TDgv71dzuTsEAlQiHeWQ/tiPqgNZVdv046fvNtBZrjbv2O3TsWCDU0AWGJJKCF/KsjNdLzR9hXOsh/CfA==", + "dependencies": { + "caniuse-lite": "^1.0.30001035", + "electron-to-chromium": "^1.3.378", + "node-releases": "^1.1.52", + "pkg-up": "^3.1.0" + }, + "bin": { + "browserslist": "cli.js" + } + }, + "node_modules/react-dev-utils/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/react-dev-utils/node_modules/chalk/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/react-dev-utils/node_modules/cli-width": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==" + }, + "node_modules/react-dev-utils/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/react-dev-utils/node_modules/detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "dependencies": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "bin": { + "detect": "bin/detect-port", + "detect-port": "bin/detect-port" + }, + "engines": { + "node": ">= 4.2.1" + } + }, + "node_modules/react-dev-utils/node_modules/dir-glob": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", + "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "dependencies": { + "arrify": "^1.0.1", + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/react-dev-utils/node_modules/emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/react-dev-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/react-dev-utils/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dev-utils/node_modules/extend-shallow/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dev-utils/node_modules/fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "dependencies": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/react-dev-utils/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dev-utils/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dev-utils/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/react-dev-utils/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dev-utils/node_modules/globby": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", + "integrity": "sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==", + "dependencies": { + "array-union": "^1.0.1", + "dir-glob": "2.0.0", + "fast-glob": "^2.0.2", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/react-dev-utils/node_modules/ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==" + }, + "node_modules/react-dev-utils/node_modules/inquirer": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.4.tgz", + "integrity": "sha512-Bu5Td5+j11sCkqfqmUTiwv+tWisMtP0L7Q8WrqA2C/BbBhy1YTdFrvjjlrKq8oagA/tLQBski2Gcx/Sqyi2qSQ==", + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^2.4.2", + "cli-cursor": "^3.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.15", + "mute-stream": "0.0.8", + "run-async": "^2.2.0", + "rxjs": "^6.5.3", + "string-width": "^4.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/react-dev-utils/node_modules/inquirer/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/react-dev-utils/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dev-utils/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dev-utils/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/react-dev-utils/node_modules/loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/react-dev-utils/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dev-utils/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/react-dev-utils/node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/react-dev-utils/node_modules/slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dev-utils/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/react-dev-utils/node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/react-dev-utils/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", + "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.19.1" + } + }, + "node_modules/react-error-overlay": { + "version": "6.0.8", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.8.tgz", + "integrity": "sha512-HvPuUQnLp5H7TouGq3kzBeioJmXms1wHy9EGjz2OURWBp4qZO6AfGEcnxts1D/CbwPLRAgTMPCEgYhA3sEM4vw==" + }, + "node_modules/react-fast-compare": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz", + "integrity": "sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==" + }, + "node_modules/react-helmet": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-6.1.0.tgz", + "integrity": "sha512-4uMzEY9nlDlgxr61NL3XbKRy1hEkXmKNXhjbAIOVw5vcFrsdYbH2FEwcNyWvWinl103nXgzYNlns9ca+8kFiWw==", + "dependencies": { + "object-assign": "^4.1.1", + "prop-types": "^15.7.2", + "react-fast-compare": "^3.1.1", + "react-side-effect": "^2.1.0" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/react-json-view": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/react-json-view/-/react-json-view-1.19.1.tgz", + "integrity": "sha512-u5e0XDLIs9Rj43vWkKvwL8G3JzvXSl6etuS5G42a8klMohZuYFQzSN6ri+/GiBptDqlrXPTdExJVU7x9rrlXhg==", + "dependencies": { + "flux": "^3.1.3", + "react-base16-styling": "^0.6.0", + "react-lifecycles-compat": "^3.0.4", + "react-textarea-autosize": "^6.1.0" + } + }, + "node_modules/react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + }, + "node_modules/react-loadable": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/react-loadable/-/react-loadable-5.5.0.tgz", + "integrity": "sha512-C8Aui0ZpMd4KokxRdVAm2bQtI03k2RMRNzOB+IipV3yxFTSVICv7WoUr5L9ALB5BmKO1iHgZtWM8EvYG83otdg==", + "dependencies": { + "prop-types": "^15.5.0" + } + }, + "node_modules/react-loadable-ssr-addon": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/react-loadable-ssr-addon/-/react-loadable-ssr-addon-0.3.0.tgz", + "integrity": "sha512-E+lnmDakV0k6ut6R2J77vurwCOwTKEwKlHs9S62G8ez+ujecLPcqjt3YAU8M58kIGjp2QjFlZ7F9QWkq/mr6Iw==", + "dependencies": { + "@babel/runtime": "^7.10.3" + }, + "engines": { + "node": ">=4.2.4" + } + }, + "node_modules/react-router": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.0.tgz", + "integrity": "sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw==", + "dependencies": { + "@babel/runtime": "^7.1.2", + "history": "^4.9.0", + "hoist-non-react-statics": "^3.1.0", + "loose-envify": "^1.3.1", + "mini-create-react-context": "^0.4.0", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.6.2", + "react-is": "^16.6.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + } + }, + "node_modules/react-router-config": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz", + "integrity": "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==", + "dependencies": { + "@babel/runtime": "^7.1.2" + } + }, + "node_modules/react-router-dom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.2.0.tgz", + "integrity": "sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA==", + "dependencies": { + "@babel/runtime": "^7.1.2", + "history": "^4.9.0", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.2", + "react-router": "5.2.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + } + }, + "node_modules/react-router/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "node_modules/react-router/node_modules/path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "dependencies": { + "isarray": "0.0.1" + } + }, + "node_modules/react-side-effect": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-2.1.1.tgz", + "integrity": "sha512-2FoTQzRNTncBVtnzxFOk2mCpcfxQpenBMbk5kSVBg5UcPqV9fRbgY2zhb7GTWWOlpFmAxhClBDlIq8Rsubz1yQ==" + }, + "node_modules/react-textarea-autosize": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-6.1.0.tgz", + "integrity": "sha512-F6bI1dgib6fSvG8so1HuArPUv+iVEfPliuLWusLF+gAKz0FbB4jLrWUrTAeq1afnPT2c9toEZYUdz/y1uKMy4A==", + "dependencies": { + "prop-types": "^15.6.0" + } + }, + "node_modules/react-toggle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/react-toggle/-/react-toggle-4.1.1.tgz", + "integrity": "sha512-+wXlMcSpg8SmnIXauMaZiKpR+r2wp2gMUteroejp2UTSqGTVvZLN+m9EhMzFARBKEw7KpQOwzCyfzeHeAndQGw==", + "dependencies": { + "classnames": "^2.2.5" + } + }, + "node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/reading-time": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.2.1.tgz", + "integrity": "sha512-a27kU9sCJzx4JklmKFMXgMoCWlhBi75DFTbU7+M3rjh5SXRWyacYt02il3muYaA+SUQ7tg5gMQn7GC8zOxTt/g==" + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/recursive-readdir": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", + "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", + "dependencies": { + "minimatch": "3.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "node_modules/regenerate-unicode-properties": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "dependencies": { + "regenerate": "^1.4.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" + }, + "node_modules/regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-not/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-not/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", + "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/regexp.prototype.flags/node_modules/es-abstract": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/regexpu-core": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", + "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", + "dependencies": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/registry-auth-token": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz", + "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==", + "dependencies": { + "rc": "^1.2.8" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/registry-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", + "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", + "dependencies": { + "rc": "^1.2.8" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" + }, + "node_modules/regjsparser": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", + "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/rehype-parse": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-6.0.2.tgz", + "integrity": "sha512-0S3CpvpTAgGmnz8kiCyFLGuW5yA4OQhyNTm/nwPopZ7+PI11WnGl1TTWTGv/2hPEe/g2jRLlhVVSsoDH8waRug==", + "dependencies": { + "hast-util-from-parse5": "^5.0.0", + "parse5": "^5.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/rehype-parse/node_modules/hast-util-from-parse5": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-5.0.3.tgz", + "integrity": "sha512-gOc8UB99F6eWVWFtM9jUikjN7QkWxB3nY0df5Z0Zq1/Nkwl5V4hAAsl0tmwlgWl/1shlTF8DnNYLO8X6wRV9pA==", + "dependencies": { + "ccount": "^1.0.3", + "hastscript": "^5.0.0", + "property-information": "^5.0.0", + "web-namespaces": "^1.1.2", + "xtend": "^4.0.1" + } + }, + "node_modules/rehype-parse/node_modules/hastscript": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-5.1.2.tgz", + "integrity": "sha512-WlztFuK+Lrvi3EggsqOkQ52rKbxkXL3RwB6t5lwoa8QLMemoWfBuL43eDrwOamJyR7uKQKdmKYaBH1NZBiIRrQ==", + "dependencies": { + "comma-separated-tokens": "^1.0.0", + "hast-util-parse-selector": "^2.0.0", + "property-information": "^5.0.0", + "space-separated-tokens": "^1.0.0" + } + }, + "node_modules/rehype-parse/node_modules/parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==" + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/remark-admonitions": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/remark-admonitions/-/remark-admonitions-1.2.1.tgz", + "integrity": "sha512-Ji6p68VDvD+H1oS95Fdx9Ar5WA2wcDA4kwrrhVU7fGctC6+d3uiMICu7w7/2Xld+lnU7/gi+432+rRbup5S8ow==", + "dependencies": { + "rehype-parse": "^6.0.2", + "unified": "^8.4.2", + "unist-util-visit": "^2.0.1" + } + }, + "node_modules/remark-admonitions/node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/remark-admonitions/node_modules/unified": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-8.4.2.tgz", + "integrity": "sha512-JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA==", + "dependencies": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + } + }, + "node_modules/remark-emoji": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/remark-emoji/-/remark-emoji-2.1.0.tgz", + "integrity": "sha512-lDddGsxXURV01WS9WAiS9rO/cedO1pvr9tahtLhr6qCGFhHG4yZSJW3Ha4Nw9Uk1hLNmUBtPC0+m45Ms+xEitg==", + "dependencies": { + "emoticon": "^3.2.0", + "node-emoji": "^1.10.0", + "unist-util-visit": "^2.0.2" + } + }, + "node_modules/remark-footnotes": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/remark-footnotes/-/remark-footnotes-2.0.0.tgz", + "integrity": "sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ==" + }, + "node_modules/remark-mdx": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.6.22.tgz", + "integrity": "sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ==", + "dependencies": { + "@babel/core": "7.12.9", + "@babel/helper-plugin-utils": "7.10.4", + "@babel/plugin-proposal-object-rest-spread": "7.12.1", + "@babel/plugin-syntax-jsx": "7.12.1", + "@mdx-js/util": "1.6.22", + "is-alphabetical": "1.0.4", + "remark-parse": "8.0.3", + "unified": "9.2.0" + } + }, + "node_modules/remark-mdx/node_modules/@babel/core": { + "version": "7.12.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz", + "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.5", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.5", + "@babel/parser": "^7.12.7", + "@babel/template": "^7.12.7", + "@babel/traverse": "^7.12.9", + "@babel/types": "^7.12.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/remark-mdx/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/remark-parse": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz", + "integrity": "sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==", + "dependencies": { + "ccount": "^1.0.0", + "collapse-white-space": "^1.0.2", + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-whitespace-character": "^1.0.0", + "is-word-character": "^1.0.0", + "markdown-escapes": "^1.0.0", + "parse-entities": "^2.0.0", + "repeat-string": "^1.5.4", + "state-toggle": "^1.0.0", + "trim": "0.0.1", + "trim-trailing-lines": "^1.0.0", + "unherit": "^1.0.4", + "unist-util-remove-position": "^2.0.0", + "vfile-location": "^3.0.0", + "xtend": "^4.0.1" + } + }, + "node_modules/remark-squeeze-paragraphs": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz", + "integrity": "sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw==", + "dependencies": { + "mdast-squeeze-paragraphs": "^4.0.0" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + }, + "node_modules/renderkid": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.4.tgz", + "integrity": "sha512-K2eXrSOJdq+HuKzlcjOlGoOarUu5SDguDEhE7+Ah4zuOWL40j8A/oHvLlLob9PSTNvVnBd+/q0Er1QfpEuem5g==", + "dependencies": { + "css-select": "^1.1.0", + "dom-converter": "^0.2", + "htmlparser2": "^3.3.0", + "lodash": "^4.17.20", + "strip-ansi": "^3.0.0" + } + }, + "node_modules/renderkid/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/renderkid/node_modules/css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "dependencies": { + "boolbase": "~1.0.0", + "css-what": "2.1", + "domutils": "1.5.1", + "nth-check": "~1.0.1" + } + }, + "node_modules/renderkid/node_modules/css-what": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", + "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", + "engines": { + "node": "*" + } + }, + "node_modules/renderkid/node_modules/domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/renderkid/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-like": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", + "integrity": "sha1-rW8wwTvs15cBDEaK+ndcDAprR/o=", + "engines": { + "node": "*" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" + }, + "node_modules/resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "dependencies": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + } + }, + "node_modules/resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dependencies": { + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-pathname": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", + "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "node_modules/responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "dependencies": { + "lowercase-keys": "^1.0.0" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "engines": { + "node": ">=0.12" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=" + }, + "node_modules/rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-parallel": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", + "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==" + }, + "node_modules/run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dependencies": { + "aproba": "^1.1.1" + } + }, + "node_modules/rxjs": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", + "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/rxjs/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "node_modules/scheduler": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", + "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dependencies": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 8.9.0" + } + }, + "node_modules/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/select": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", + "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=", + "optional": true + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=" + }, + "node_modules/selfsigned": { + "version": "1.10.8", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.8.tgz", + "integrity": "sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w==", + "dependencies": { + "node-forge": "^0.10.0" + } + }, + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/semver-diff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", + "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", + "dependencies": { + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "dependencies": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + }, + "node_modules/serialize-javascript": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-handler": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.3.tgz", + "integrity": "sha512-FosMqFBNrLyeiIDvP1zgO6YoTzFYHxLDEIavhlmQ+knB2Z7l1t+kGLHkZIDN7UVWqQAmKI3D20A6F6jo3nDd4w==", + "dependencies": { + "bytes": "3.0.0", + "content-disposition": "0.5.2", + "fast-url-parser": "1.1.3", + "mime-types": "2.1.18", + "minimatch": "3.0.4", + "path-is-inside": "1.0.2", + "path-to-regexp": "2.2.1", + "range-parser": "1.2.0" + } + }, + "node_modules/serve-handler/node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/serve-handler/node_modules/content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-handler/node_modules/mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-handler/node_modules/mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "dependencies": { + "mime-db": "~1.33.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-handler/node_modules/path-to-regexp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", + "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==" + }, + "node_modules/serve-handler/node_modules/range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "node_modules/serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, + "node_modules/setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==" + }, + "node_modules/shelljs": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz", + "integrity": "sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==", + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/sitemap": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-3.2.2.tgz", + "integrity": "sha512-TModL/WU4m2q/mQcrDgNANn0P4LwprM9MMvG4hu5zP4c6IIKs2YLTu6nXXnNr8ODW/WFtxKggiJ1EGn2W0GNmg==", + "dependencies": { + "lodash.chunk": "^4.2.0", + "lodash.padstart": "^4.6.1", + "whatwg-url": "^7.0.0", + "xmlbuilder": "^13.0.0" + }, + "engines": { + "node": ">=6.0.0", + "npm": ">=4.0.0" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/sockjs": { + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", + "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^3.4.0", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/sockjs-client": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.0.tgz", + "integrity": "sha512-8Dt3BDi4FYNrCFGTL/HtwVzkARrENdwOUf1ZoW/9p3M8lZdFT35jVdrHza+qgxuG9H3/shR4cuX/X9umUrjP8Q==", + "dependencies": { + "debug": "^3.2.6", + "eventsource": "^1.0.7", + "faye-websocket": "^0.11.3", + "inherits": "^2.0.4", + "json3": "^3.3.3", + "url-parse": "^1.4.7" + } + }, + "node_modules/sockjs-client/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/sort-css-media-queries": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-1.5.0.tgz", + "integrity": "sha512-QofNE7CEVH1AKdhS7L9IPbV9UtyQYNXyw++8lC+xG6iOLlpzsmncZRiKbihTAESvZ8wOhwnPoesHbMrehrQyyw==", + "engines": { + "node": ">= 6.3.0" + } + }, + "node_modules/sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dependencies": { + "is-plain-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" + }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + }, + "node_modules/space-separated-tokens": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", + "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==" + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "node_modules/ssri": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.0.tgz", + "integrity": "sha512-aq/pz989nxVYwn16Tsbj1TqFpD5LLrQxHf5zaHuieFV+R0Bbr4y8qUsOA45hXT/N4/9UNXTarBjnjVmjSOVaAA==", + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + }, + "node_modules/state-toggle": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz", + "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==" + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/std-env": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-2.2.1.tgz", + "integrity": "sha512-IjYQUinA3lg5re/YMlwlfhqNRTzMZMqE+pezevdcTaHceqx8ngEi1alX9nNCk9Sc81fy1fLDeQoaCzeiW1yBOQ==", + "dependencies": { + "ci-info": "^1.6.0" + } + }, + "node_modules/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-browserify/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/stream-browserify/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dependencies": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/stream-http/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/stream-http/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" + }, + "node_modules/strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "node_modules/string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/string-width/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", + "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", + "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/stringify-object/node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/style-to-object": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz", + "integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==", + "dependencies": { + "inline-style-parser": "0.1.1" + } + }, + "node_modules/stylehacks": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", + "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", + "dependencies": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/stylehacks/node_modules/postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dependencies": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + }, + "node_modules/svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "dependencies": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/svgo/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/tar": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.5.tgz", + "integrity": "sha512-0b4HOimQHj9nXNEAA7zWwMM91Zhhba3pspja6sQbgTpynOJf+bkjBnfybNYzbpLbnwXnbyB4LOREvlyXLkCHSg==", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/tar/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/term-size": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", + "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz", + "integrity": "sha512-jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ==", + "dependencies": { + "cacache": "^15.0.5", + "find-cache-dir": "^3.3.1", + "jest-worker": "^26.5.0", + "p-limit": "^3.0.2", + "schema-utils": "^3.0.0", + "serialize-javascript": "^5.0.1", + "source-map": "^0.6.1", + "terser": "^5.3.4", + "webpack-sources": "^1.4.3" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/terser-webpack-plugin/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dependencies": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/terser": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.5.1.tgz", + "integrity": "sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ==", + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.19" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin/node_modules/terser/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/terser/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/through2/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/through2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, + "node_modules/timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "dependencies": { + "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" + }, + "node_modules/tiny-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==", + "optional": true + }, + "node_modules/tiny-invariant": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.1.0.tgz", + "integrity": "sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw==" + }, + "node_modules/tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/to-regex/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/tr46/node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/trim": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", + "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=" + }, + "node_modules/trim-trailing-lines": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz", + "integrity": "sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==" + }, + "node_modules/trough": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", + "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==" + }, + "node_modules/tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" + }, + "node_modules/ts-pnp": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", + "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + }, + "node_modules/tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + }, + "node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/ua-parser-js": { + "version": "0.7.23", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.23.tgz", + "integrity": "sha512-m4hvMLxgGHXG3O3fQVAyyAQpZzDOvwnhOTjYz5Xmr7r/+LpkNy3vJXdVRWgd1TkAb7NGROZuSy96CrlNVjA7KA==", + "engines": { + "node": "*" + } + }, + "node_modules/unherit": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz", + "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==", + "dependencies": { + "inherits": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unified": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz", + "integrity": "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==", + "dependencies": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + } + }, + "node_modules/unified/node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unified/node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" + }, + "node_modules/uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" + }, + "node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/unist-builder": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz", + "integrity": "sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==" + }, + "node_modules/unist-util-generated": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz", + "integrity": "sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==" + }, + "node_modules/unist-util-is": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.4.tgz", + "integrity": "sha512-3dF39j/u423v4BBQrk1AQ2Ve1FxY5W3JKwXxVFzBODQ6WEvccguhgp802qQLKSnxPODE6WuRZtV+ohlUg4meBA==" + }, + "node_modules/unist-util-position": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz", + "integrity": "sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==" + }, + "node_modules/unist-util-remove": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.0.1.tgz", + "integrity": "sha512-YtuetK6o16CMfG+0u4nndsWpujgsHDHHLyE0yGpJLLn5xSjKeyGyzEBOI2XbmoUHCYabmNgX52uxlWoQhcvR7Q==", + "dependencies": { + "unist-util-is": "^4.0.0" + } + }, + "node_modules/unist-util-remove-position": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz", + "integrity": "sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==", + "dependencies": { + "unist-util-visit": "^2.0.0" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", + "dependencies": { + "@types/unist": "^2.0.2" + } + }, + "node_modules/unist-util-visit": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", + "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0", + "unist-util-visit-parents": "^3.0.0" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", + "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0" + } + }, + "node_modules/universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=" + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/update-notifier": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.3.tgz", + "integrity": "sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==", + "dependencies": { + "boxen": "^4.2.0", + "chalk": "^3.0.0", + "configstore": "^5.0.1", + "has-yarn": "^2.1.0", + "import-lazy": "^2.1.0", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.3.1", + "is-npm": "^4.0.0", + "is-yarn-global": "^0.3.0", + "latest-version": "^5.0.0", + "pupa": "^2.0.1", + "semver-diff": "^3.1.1", + "xdg-basedir": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/uri-js": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", + "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uri-js/node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "node_modules/url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "node_modules/url-loader": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", + "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", + "dependencies": { + "loader-utils": "^2.0.0", + "mime-types": "^2.1.27", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/url-loader/node_modules/schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dependencies": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/url-parse": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", + "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "dependencies": { + "prepend-http": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/url-parse-lax/node_modules/prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "engines": { + "node": ">=4" + } + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "node_modules/util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + } + }, + "node_modules/util.promisify/node_modules/es-abstract": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=" + }, + "node_modules/utility-types": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", + "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/value-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", + "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vendors": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==" + }, + "node_modules/vfile": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", + "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^2.0.0", + "vfile-message": "^2.0.0" + } + }, + "node_modules/vfile-location": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz", + "integrity": "sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==" + }, + "node_modules/vfile-message": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", + "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + } + }, + "node_modules/vfile/node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" + }, + "node_modules/wait-on": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-5.2.1.tgz", + "integrity": "sha512-H2F986kNWMU9hKlI9l/ppO6tN8ZSJd35yBljMLa1/vjzWP++Qh6aXyt77/u7ySJFZQqBtQxnvm/xgG48AObXcw==", + "dependencies": { + "axios": "^0.21.1", + "joi": "^17.3.0", + "lodash": "^4.17.20", + "minimist": "^1.2.5", + "rxjs": "^6.6.3" + }, + "bin": { + "wait-on": "bin/wait-on" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "dependencies": { + "chokidar": "^3.4.1", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + }, + "optionalDependencies": { + "watchpack-chokidar2": "^2.0.1" + } + }, + "node_modules/watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "optional": true, + "dependencies": { + "chokidar": "^2.1.8" + } + }, + "node_modules/watchpack-chokidar2/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "optional": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "optional": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "optional": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "optional": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "optional": true, + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "node_modules/watchpack-chokidar2/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "optional": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/extend-shallow/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "optional": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "optional": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "optional": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "optional": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "optional": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "optional": true, + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "optional": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "optional": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "optional": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "optional": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/watchpack-chokidar2/node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "optional": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/watchpack-chokidar2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "optional": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "optional": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/web-namespaces": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz", + "integrity": "sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==" + }, + "node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + }, + "node_modules/webpack": { + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz", + "integrity": "sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==", + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.3.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/webpack-bundle-analyzer": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.9.0.tgz", + "integrity": "sha512-Ob8amZfCm3rMB1ScjQVlbYYUEJyEjdEtQ92jqiFUYt5VkEeO2v5UMbv49P/gnmCZm3A6yaFQzCBvpZqN4MUsdA==", + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1", + "bfj": "^6.1.1", + "chalk": "^2.4.1", + "commander": "^2.18.0", + "ejs": "^2.6.1", + "express": "^4.16.3", + "filesize": "^3.6.1", + "gzip-size": "^5.0.0", + "lodash": "^4.17.19", + "mkdirp": "^0.5.1", + "opener": "^1.5.1", + "ws": "^6.0.0" + }, + "bin": { + "webpack-bundle-analyzer": "lib/bin/analyzer.js" + }, + "engines": { + "node": ">= 6.14.4" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/webpack-bundle-analyzer/node_modules/filesize": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", + "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/webpack-dev-middleware": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", + "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", + "dependencies": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/webpack-dev-middleware/node_modules/mime": { + "version": "2.4.7", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.7.tgz", + "integrity": "sha512-dhNd1uA2u397uQk3Nv5LM4lm93WYDUXFn3Fu291FJerns4jyTudqhIWe4W04YLy7Uk1tm1Ore04NpjRvQp/NPA==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/webpack-dev-server": { + "version": "3.11.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.1.tgz", + "integrity": "sha512-u4R3mRzZkbxQVa+MBWi2uVpB5W59H3ekZAJsQlKUTdl7Elcah2EhygTPLmeFXybQkf9i2+L0kn7ik9SnXa6ihQ==", + "dependencies": { + "ansi-html": "0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^2.1.8", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.3.1", + "http-proxy-middleware": "0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "loglevel": "^1.6.8", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.26", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.8", + "semver": "^6.3.0", + "serve-index": "^1.9.1", + "sockjs": "^0.3.21", + "sockjs-client": "^1.5.0", + "spdy": "^4.0.2", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-log": "^2.0.0", + "ws": "^6.2.1", + "yargs": "^13.3.2" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 6.11.5" + } + }, + "node_modules/webpack-dev-server/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/webpack-dev-server/node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/webpack-dev-server/node_modules/del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "dependencies": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/extend-shallow/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/webpack-dev-server/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/webpack-dev-server/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dependencies": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/globby/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/webpack-dev-server/node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/webpack-dev-server/node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/webpack-dev-server/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/webpack-dev-server/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/webpack-dev-server/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/webpack-dev-server/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "dependencies": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/webpack-merge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", + "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", + "dependencies": { + "lodash": "^4.17.15" + } + }, + "node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/webpack-sources/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "dependencies": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "node_modules/webpack/node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, + "node_modules/webpack/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/extend-shallow/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/webpack/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/webpack/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/webpack/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack/node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/webpack/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/webpack/node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/webpack/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/ssri": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "dependencies": { + "figgy-pudding": "^3.5.1" + } + }, + "node_modules/webpack/node_modules/terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "dependencies": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/webpack/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "node_modules/webpackbar": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-4.0.0.tgz", + "integrity": "sha512-k1qRoSL/3BVuINzngj09nIwreD8wxV4grcuhHTD8VJgUbGcy8lQSPqv+bM00B7F+PffwIsQ8ISd4mIwRbr23eQ==", + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^2.4.2", + "consola": "^2.10.0", + "figures": "^3.0.0", + "pretty-time": "^1.1.0", + "std-env": "^2.2.1", + "text-table": "^0.2.0", + "wrap-ansi": "^6.0.0" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/webpackbar/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/webpackbar/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpackbar/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/webpackbar/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/webpackbar/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/webpackbar/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/webpackbar/node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-fetch": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.5.0.tgz", + "integrity": "sha512-jXkLtsR42xhXg7akoDKvKWE40eJeI+2KZqcp2h3NsOrRnDvtWX36KcKl30dy+hxECivdk2BVUHVNrPtoMBUx6A==" + }, + "node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "node_modules/widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "dependencies": { + "string-width": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dependencies": { + "errno": "~0.1.7" + } + }, + "node_modules/worker-rpc": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/worker-rpc/-/worker-rpc-0.1.1.tgz", + "integrity": "sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==", + "dependencies": { + "microevent.ts": "~0.1.1" + } + }, + "node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/xdg-basedir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/xml-js": { + "version": "1.6.11", + "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", + "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", + "dependencies": { + "sax": "^1.2.4" + }, + "bin": { + "xml-js": "bin/cli.js" + } + }, + "node_modules/xmlbuilder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-13.0.2.tgz", + "integrity": "sha512-Eux0i2QdDYKbdbA6AM6xE4m6ZTZr4G4xF9kahI2ukSEMCzwce2eX9WlTI5J3s+NU7hpasFsr8hWIONae7LluAQ==", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==" + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/yaml": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", + "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dependencies": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "node_modules/yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/yargs-parser/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "engines": { + "node": ">=4" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "engines": { + "node": ">=10" + } + }, + "node_modules/zwitch": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", + "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==" + } + }, "dependencies": { "@algolia/autocomplete-core": { "version": "1.0.0-alpha.38", @@ -3239,9 +19707,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001171", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001171.tgz", - "integrity": "sha512-5Alrh8TTYPG9IH4UkRqEBZoEToWRLvPbSQokvzSz0lii8/FOWKG4keO1HoYfPWs8IF/NH/dyNPg1cmJGvV3Zlg==" + "version": "1.0.30001237", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001237.tgz", + "integrity": "sha512-pDHgRndit6p1NR2GhzMbQ6CkRrp4VKuSsqbcLeOQppYPKOYkKT/6ZvZDvKJUqcmtyWIAHuZq3SVS2vc1egCZzw==" }, "ccount": { "version": "1.1.0", @@ -11690,6 +28158,21 @@ "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + } + } + }, "string-width": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", @@ -11743,21 +28226,6 @@ "define-properties": "^1.1.3" } }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - } - } - }, "stringify-object": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", diff --git a/website/package.json b/website/package.json index cb5274b3..49024af0 100644 --- a/website/package.json +++ b/website/package.json @@ -8,12 +8,14 @@ "build": "docusaurus build", "swizzle": "docusaurus swizzle", "deploy": "docusaurus deploy", + "clear": "docusaurus clear", "serve": "docusaurus serve", - "clear": "docusaurus clear" + "write-translations": "docusaurus write-translations", + "write-heading-ids": "docusaurus write-heading-ids" }, "dependencies": { - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/preset-classic": "2.0.0-alpha.70", + "@docusaurus/core": "^2.0.0-alpha.70", + "@docusaurus/preset-classic": "^2.0.0-alpha.70", "@mdx-js/react": "^1.6.21", "clsx": "^1.1.1", "react": "^16.8.4", diff --git a/website/src/pages/index.js b/website/src/pages/index.js index e82db099..13753938 100644 --- a/website/src/pages/index.js +++ b/website/src/pages/index.js @@ -5,6 +5,7 @@ import Link from '@docusaurus/Link'; import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; import useBaseUrl from '@docusaurus/useBaseUrl'; import styles from './styles.module.css'; +import Translate, {translate} from '@docusaurus/Translate'; const features = [ { From 79fd2de11d33a5656f9171be0840c30c179f5d7e Mon Sep 17 00:00:00 2001 From: hrntsm Date: Wed, 16 Jun 2021 22:50:28 +0900 Subject: [PATCH 007/162] Add contact & donation en page --- .../current/contact.md | 10 +++++----- .../current/donation.md | 17 ----------------- 2 files changed, 5 insertions(+), 22 deletions(-) diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/contact.md b/website/i18n/en/docusaurus-plugin-content-docs/current/contact.md index 8fb9fcac..d5f4659c 100644 --- a/website/i18n/en/docusaurus-plugin-content-docs/current/contact.md +++ b/website/i18n/en/docusaurus-plugin-content-docs/current/contact.md @@ -3,16 +3,16 @@ id: contact title: contact --- -お気軽にお問い合わせください。 +Please feel free to contact us. ## Discussions -質問、要望などは以下のディスカッションサイトの確認、利用をお願いします。 +Please check and use the following discussion sites for questions and requests. https://github.com/hrntsm/HoaryFox/discussions ## Mail -メールによる問い合わせも対応していますが、 -公開可能なものは、情報の蓄積のため上記サイトへ投稿するようにお願いしています。 +We do respond to e-mail inquiries, but +If you have any questions or requests, please check the following discussion sites. -contact(a)hrntsm.com (a) を @ に変えてください。 +contact(a)hrntsm.com (change "a" to @) diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/donation.md b/website/i18n/en/docusaurus-plugin-content-docs/current/donation.md index b790c4e9..f3c194a8 100644 --- a/website/i18n/en/docusaurus-plugin-content-docs/current/donation.md +++ b/website/i18n/en/docusaurus-plugin-content-docs/current/donation.md @@ -3,23 +3,6 @@ id: donation title: donation --- -寄付のお願い - -HoaryFox をダウンロード頂きありがとうございます。 -このソフトウェアは皆様からのご支援によって更新を続けています。 -もし使用して気に入って頂けたらご支援いただけると今後も継続して更新を続けることが出来ます。 - -支援先一覧: - -pixivFANBOX -https://hiron.fanbox.cc/ - -お読みくださりありがとうございました。 - ----- - -Please make a donation - Thank you for downloading HoaryFox. This software is being updated with your support. If you like this software, please donation. From c68fdcb63cd30e08302ed735a703ce2004d18186 Mon Sep 17 00:00:00 2001 From: hrntsm Date: Wed, 16 Jun 2021 23:23:15 +0900 Subject: [PATCH 008/162] Add component en page --- .../current/Component/Geometry.md | 63 ++++++------- .../current/Component/IO.md | 94 +++++++++---------- .../current/Component/NameTag.md | 82 ++++++++-------- .../current/Component/SectionTag.md | 82 ++++++++-------- .../current/Component/StbBuilder.md | 82 ++++++++-------- 5 files changed, 198 insertions(+), 205 deletions(-) diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/Component/Geometry.md b/website/i18n/en/docusaurus-plugin-content-docs/current/Component/Geometry.md index 6a16e872..c5eca7a2 100644 --- a/website/i18n/en/docusaurus-plugin-content-docs/current/Component/Geometry.md +++ b/website/i18n/en/docusaurus-plugin-content-docs/current/Component/Geometry.md @@ -3,7 +3,7 @@ id: Geometry title: Geometry --- -読み込んだ STB データから部材を可視化、Bake するコンポーネントのカテゴリ +Category of components to be visualized and baked from loaded STB data --- @@ -11,46 +11,43 @@ title: Geometry ![](../../images/Component/StbToLine.png) -部材を Line で表示する +Display a part as a Line -|入力|説明| -|---|:---:| -|Data|Load STB file コンポーネントの Data 出力を入力| -|Bake|各 Line を断面符号ごとにレイヤー分けして Bake する| +| Input | Explanation | +| ----- | :-----------------------------------------------------------------: | +| Data | Load STB file Input the Data output of the component | +| Bake | Layers each Line according to its cross-sectional sign and bakes it | -|出力|説明| -|---|:---:| -|Nodes| 節点の Point3d のリストを出力| -|Columns| 柱の Line のリストを出力| -|Girders| 大梁の Line のリストを出力| -|Posts| 間柱の Line のリストを出力| -|Beams| 小梁の Line のリストを出力| -|Braces| ブレースの Line のリストを出力| - ---- +| Output | Explanation | +| ------- | :------------------------------: | +| Nodes | Output the Point3d list of nodes | +| Columns | Output list of column lines | +| Posts | output list of intercolumn lines | +| Beams | Output list of small beam lines | +| Braces | output list of braces lines | ## Stb to Brep ![](../../images/Component/StbToBrep.png) -部材を Brep で表示する +Display a component in Brep. -|入力|説明| -|---|:---:| -|Data|Load STB file コンポーネントの Data 出力を入力| -|Bake|各 Brep を断面符号ごとにレイヤー分けして Bake する| +| Input | Explanation | +| ----- | :--------------------------------------------------: | +| Data | Load STB file Input the Data output of the component | +| Bake | Bake each Brep layered by cross-sectional code | -|出力|説明| -|---|:---:| -|Columns| 柱形状を表す Brep のリストを出力| -|Girders| 大梁形状を表す Brep のリストを出力| -|Posts| 間柱形状を表す Brep のリストを出力| -|Beams| 小梁形状を表す Brep のリストを出力| -|Braces| ブレース形状を表す Brep のリストを出力| -|Slabs| スラブ形状を表す Brep のリストを出力| -|Walls| 壁形状を表す Brep のリストを出力| +| Output | Explanation | +| ------- | :----------------------------------------------: | +| Columns | Output list of Brep's representing column shapes | +| Girders | Output list of breps for beams | +| Posts | Output list of Brep for columns | +| Beams | Output list of Brep for small beam shapes | +| Braces | output list of breps for braces | +| Slabs | output list of Brep for slab shapes | +| Walls | output a list of Brep for wall shapes | -### 表示仕様 +### Display specification -- 壁は開口を含めて出力します -- スラブは凹形状の場合うまく出力されないことがあります +- Walls should include openings. +- Slabs may not output properly if they are concave diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/Component/IO.md b/website/i18n/en/docusaurus-plugin-content-docs/current/Component/IO.md index 9d94de0d..2ee64999 100644 --- a/website/i18n/en/docusaurus-plugin-content-docs/current/Component/IO.md +++ b/website/i18n/en/docusaurus-plugin-content-docs/current/Component/IO.md @@ -3,7 +3,7 @@ id: IO title: IO --- -データの入力出力を行うコンポーネントのカテゴリ +Categories of components that perform data input and output --- @@ -11,39 +11,37 @@ title: IO ![](../../images/Component/LoadStbFile.png) -STB データの読み込み +Load STB data -|入力|説明| -|---|:---:| -|Path|ST-Bridge ファイルのパス| +| Input | Explanation | +| ----- | :--------------------: | +| Path | path of ST-Bridge file | -|出力|説明| -|---|:---:| -|Data|読み取った ST-Bridge ファイルのデータ| - ---- +| Output | Description | +| ------ | :-----------------------------: | +| Data | Data of the read ST-Bridge file | ## Export STB file ![](../../images/Component/ExportStbFile.png) -STB データの書き出し +Exporting STB data -|入力|説明| -|---|:---:| -|Node|節点情報, FrameBuilder コンポーネントの Node 出力を入力| -|Axis|軸情報, AxisBuilder コンポーネントの Axis 出力を入力| -|Story|階情報, StoryBuilder コンポーネントの Story 出力を入力| -|Member|部材情報, FrameBuilder コンポーネントの Member 出力を入力| -|Section|断面情報, FrameBuilder コンポーネントの Section 出力を入力| -|Path|作成した ST-Bridge データの出力先を指定。デフォルト値はデスクトップです| -|Out?|出力を行うかのブール値。True にすると出力します| +| Input | Description | +| ------- | :-------------------------------------------------------------------------------------: | +| Node | Nodal information, input Node output of FrameBuilder component | +| Axis | axis information, input Axis output from AxisBuilder component | +| Story | Story information, enter the Story output of the StoryBuilder component | +| Member | Member information, enter the Member output of the FrameBuilder component | +| Section | Section information, enter the Section output of the FrameBuilder component | +| Path | Specify the output destination for the created ST-Bridge data. Default value is desktop | +| Out? | Boolean value for whether to output; if true, output will occur | -|出力|説明| -|---|:---:| -|Stb|作成した ST-Bridge データ| +| Output | Description | +| ------ | :--------------------: | +| Stb | Created ST-Bridge data | -こちらのコンポーネントの細かいの使い方・変換仕様は、Usage の [Export ST-Bridge file](../Usage/ExportSTB) の記事も参照してください。 +The detailed usage and conversion specification of this component can be found in [Export ST-Bridge file](./Usage/ExportSTB) article. --- @@ -51,17 +49,17 @@ STB データの書き出し ![](../../images/Component/ConvertToKaramba.png) -読み込んだ STB データを 構造解析を行うコンポーネント [Karamba3D](https://www.karamba3d.com/) のデータに変換 +Convert the read STB data to the data of the component [Karamba3D](https://www.karamba3d.com/) for structural analysis -|入力|説明| -|---|:---:| -|Data|Load STB file コンポーネントの Data 出力を入力| -|FamilyName|断面のファミリー名の指定。入力しない場合、SetCroSecFamilyName コンポーネントのデフォルト値が入る| +| Input | Explanation | +| ---------- | :-------------------------------------------------------------------------------------------------------------------------------------------: | +| Data | Load STB file Input data output of the component | +| FamilyName | Specification of the family name of the cross section.
If not entered, the default value of the SetCroSecFamilyName component is entered | -|出力|説明| -|---|:---:| -|ElementBeam|Karamba3D の梁要素| -|CrossSection|Karamba3D の断面情報| +| Output | Description | +| ------------ | :-------------------------------------: | +| ElementBeam | Karamba3D beam element | +| CrossSection | Cross section information for Karamba3D | --- @@ -69,21 +67,21 @@ STB データの書き出し ![](../../images/Component/SetCroSecFamilyName.png) -Karamba3D 内の断面につけるファミリー名の設定を行うコンポーネント。 +A component that sets the family name for the cross section in Karamba3D. -|入力|説明| -|---|:---:| -|Box| 箱型断面のファミリー名。デフォルトは HF-Box| -|H| H型断面のファミリー名。デフォルトは HF-H| -|Circle| 円形中実断面ファミリー名。デフォルトは HF-Circle| -|Pipe| 円形中空断面の断面ファミリー名。デフォルトは HF-Pipe| -|FB| フラットバーの断面ファミリー名。デフォルトは HF-FB| -|L| L 型断面の断面ファミリー名。デフォルトは HF-L| -|T| T 型断面の断面ファミリー名。デフォルトは HF-T| -|Other| 上記以外の断面ファミリー名。デフォルトは HF-Other| +| Input | Description | +| ------ | :---------------------------------------------------------------------: | +| Box | Family name for box-shaped cross section. Default is HF-Box | +| H | Family name for H-shaped cross sections. Defaults to HF-H | +| Circle | Family name for circular solid cross sections. Defaults to HF-Circle | +| Pipe | Family name for circular hollow cross sections. Defaults to HF-Pipe | +| FB | Cross section family name for flat bars. Defaults to HF-FB | +| L | Cross section family name for L-shaped cross sections. Default is HF-L | +| T | Cross section family name for T-shaped cross sections. Defaults to HF-T | +| Other | Other cross section family names. Default is HF-Other | -|出力|説明| -|---|:---:| -|FamilyName|Karamba3D での断面のファミリー名の設定| +| Output | Description | +| ---------- | :--------------------------------------------------------: | +| FamilyName | Setting the family name of the cross section in Karamba3D. | -こちらのコンポーネントの細かいの使い方・変換仕様は、Usage の [Convert to Karamba3D](../Usage/ConvertToKaramba) の記事も参照してください。 \ No newline at end of file +The detailed usage and conversion specification of this component can be found in the [Convert to Karamba3D](./Usage/ConvertToKaramba) article. diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/Component/NameTag.md b/website/i18n/en/docusaurus-plugin-content-docs/current/Component/NameTag.md index 9ced2d4f..d7483b17 100644 --- a/website/i18n/en/docusaurus-plugin-content-docs/current/Component/NameTag.md +++ b/website/i18n/en/docusaurus-plugin-content-docs/current/Component/NameTag.md @@ -3,7 +3,7 @@ id: NameTag title: NameTag --- -部材符号の表示を行うコンポーネントのカテゴリ +Category of components that display name tags. --- @@ -11,16 +11,16 @@ title: NameTag ![](../../images/Component/ColumnNameTag.png) -柱の部材符号表示 +Display the member tags of a column -|入力|説明| -|---|:---:| -|Data|Load STB file コンポーネントの Data 出力を入力| -|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは12です| +| Input | Explanation | +| ----- | :----------------------------------------------------------: | +| Data | Load STB file Input the Data output of the component | +| Size | Character size to display in Rhino's viewport. Default is 12 | -|出力|説明| -|---|:---:| -|NameTag|符号のリスト| +| Output | Description | +| ------- | :----------: | +| NameTag | List of tags | --- @@ -28,16 +28,16 @@ title: NameTag ![](../../images/Component/PostNameTag.png) -間柱の部材符号表示 +Display the tags of a member of a column -|入力|説明| -|---|:---:| -|Data|Load STB file コンポーネントの Data 出力を入力| -|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは12です| +| Input | Explanation | +| ----- | :----------------------------------------------------------: | +| Data | Load STB file Input Data output of the component | +| Size | Character size to display in Rhino's viewport. Default is 12 | -|出力|説明| -|---|:---:| -|NameTag|符号のリスト| +| Output | Description | +| ------- | :----------: | +| NameTag | List of tags | --- @@ -45,16 +45,16 @@ title: NameTag ![](../../images/Component/GirderNameTag.png) -大梁の部材符号表示 +Display the member tags of a large beam -|入力|説明| -|---|:---:| -|Data|Load STB file コンポーネントの Data 出力を入力| -|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは12です| +| Input | Explanation | +| ----- | :----------------------------------------------------------: | +| Data | Load STB file Input the Data output of the component | +| Size | Character size to display in Rhino's viewport. Default is 12 | -|出力|説明| -|---|:---:| -|NameTag|符号のリスト| +| Output | Description | +| ------- | :----------: | +| NameTag | List of tags | --- @@ -62,16 +62,16 @@ title: NameTag ![](../../images/Component/BeamNameTag.png) -小梁の部材符号表示 +Display the tags of a small beam component -|入力|説明| -|---|:---:| -|Data|Load STB file コンポーネントの Data 出力を入力| -|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは12です| +| Input | Explanation | +| ----- | :----------------------------------------------------------: | +| Data | Load STB file Input the Data output of the component | +| Size | Character size to display in Rhino's viewport. Default is 12 | -|出力|説明| -|---|:---:| -|NameTag|符号のリスト| +| Output | Description | +| ------- | :----------: | +| NameTag | List of tags | --- @@ -79,13 +79,13 @@ title: NameTag ![](../../images/Component/BraceNameTag.png) -ブレースの部材符号表示 +Display the brace's member tags. -|入力|説明| -|---|:---:| -|Data|Load STB file コンポーネントの Data 出力を入力| -|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは12です| +| Input | Explanation | +| ----- | :----------------------------------------------------------: | +| Data | Load STB file Input the Data output of the component | +| Size | Character size to display in Rhino's viewport. Default is 12 | -|出力|説明| -|---|:---:| -|NameTag|符号のリスト| +| Output | Description | +| ------- | :----------: | +| NameTag | list of tags | diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/Component/SectionTag.md b/website/i18n/en/docusaurus-plugin-content-docs/current/Component/SectionTag.md index 8f221dd5..67697673 100644 --- a/website/i18n/en/docusaurus-plugin-content-docs/current/Component/SectionTag.md +++ b/website/i18n/en/docusaurus-plugin-content-docs/current/Component/SectionTag.md @@ -3,7 +3,7 @@ id: SectionTag title: SectionTag --- -断面情報の表示を行うコンポーネントのカテゴリ +Category of components that display cross-sectional information. --- @@ -11,16 +11,16 @@ title: SectionTag ![](../../images/Component/ColumnSectionTag.png) -柱の断面情報表示 +Display column section information -|入力|説明| -|---|:---:| -|Data|Load STB file コンポーネントの Data 出力を入力| -|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは12です| +| Input | Explanation | +| ----- | :----------------------------------------------------------: | +| Data | Load STB file Input the Data output of the component | +| Size | Character size to display in Rhino's viewport. Default is 12 | -|出力|説明| -|---|:---:| -|SecTag|符号のリスト| +| Output | Description | +| ------ | :----------: | +| SecTag | list of tags | --- @@ -28,16 +28,16 @@ title: SectionTag ![](../../images/Component/PostSectionTag.png) -間柱の断面情報表示 +Display cross-sectional information for columns -|入力|説明| -|---|:---:| -|Data|Load STB file コンポーネントの Data 出力を入力| -|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは12です| +| Input | Explanation | +| ----- | :----------------------------------------------------------: | +| Data | Load STB file Input the Data output of the component | +| Size | Character size to display in Rhino's viewport. Default is 12 | -|出力|説明| -|---|:---:| -|SecTag|符号のリスト| +| Output | Description | +| ------ | :----------: | +| SecTag | list of tags | --- @@ -45,16 +45,16 @@ title: SectionTag ![](../../images/Component/GirderSectionTag.png) -大梁の断面情報表示 +Display cross-section information for large beams -|入力|説明| -|---|:---:| -|Data|Load STB file コンポーネントの Data 出力を入力| -|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは12です| +| Input | Explanation | +| ----- | :----------------------------------------------------------: | +| Data | Load STB file Input the Data output of the component | +| Size | Character size to display in Rhino's viewport. Default is 12 | -|出力|説明| -|---|:---:| -|SecTag|符号のリスト| +| Output | Description | +| ------ | :----------: | +| SecTag | list of tags | --- @@ -62,16 +62,16 @@ title: SectionTag ![](../../images/Component/BeamSectionTag.png) -小梁の断面情報表示 +Display cross section information for small beams -|入力|説明| -|---|:---:| -|Data|Load STB file コンポーネントの Data 出力を入力| -|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは12です| +| Input | Explanation | +| ----- | :----------------------------------------------------------: | +| Data | Load STB file Input the Data output of the component | +| Size | Character size to display in Rhino's viewport. Default is 12 | -|出力|説明| -|---|:---:| -|SecTag|符号のリスト| +| Output | Description | +| ------ | :----------: | +| SecTag | list of tags | --- @@ -79,13 +79,13 @@ title: SectionTag ![](../../images/Component/BraceSectionTag.png) -ブレースの断面情報表示 +Display brace section information. -|入力|説明| -|---|:---:| -|Data|Load STB file コンポーネントの Data 出力を入力| -|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは12です| +| Input | Explanation | +| ----- | :----------------------------------------------------------: | +| Data | Load STB file Input the Data output of the component | +| Size | Character size to display in Rhino's viewport. Default is 12 | -|出力|説明| -|---|:---:| -|SecTag|符号のリスト| +| Output | Description | +| ------ | :----------: | +| SecTag | list of tags | diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/Component/StbBuilder.md b/website/i18n/en/docusaurus-plugin-content-docs/current/Component/StbBuilder.md index 435133f0..9b125a11 100644 --- a/website/i18n/en/docusaurus-plugin-content-docs/current/Component/StbBuilder.md +++ b/website/i18n/en/docusaurus-plugin-content-docs/current/Component/StbBuilder.md @@ -3,10 +3,10 @@ id: StbBuilder title: StbBuilder --- -STB 書き出しのための情報を作成するコンポーネントのカテゴリ +Categories of components that create information for STB export :::note -このコンポーネントの使用方法や注意点は [Export ST-Bridge file](../Usage/ExportSTB) にも詳しく書いていますので、そちらも参照してください。 +The usage and notes for this component are also described in [Export ST-Bridge file](./Usage/ExportSTB) for more details. ::: --- @@ -15,18 +15,18 @@ STB 書き出しのための情報を作成するコンポーネントのカテ ![](../../images/Component/FrameBuilder.png) -架構情報を Karamba3D のモデルから作成する。 -柱と梁の区分は グローバル座標の Z 軸に対する角度を Angle に入力し、その角度以内であれば柱として判定。 +Create the frame information from the Karamba3D model. +To classify columns and beams, enter the angle of the global coordinate with respect to the Z-axis in Angle, and if the angle is within that range, the column is determined to be a column. -|入力|説明| -|---|:---:| -|Model|Karamba3D の Model 出力を入力| -|Angle|柱と梁を判定する際に使う角度(rad)| +| Input | description | +| ----- | :-------------------------------------------------------------: | +| Model | Input the Model output of Karamba3D | +| Angle | Angle (rad) to be used when determining between column and beam | -|出力|説明| -|---|:---:| -|Member|部材情報(StbMembers)| -|Section|断面情報(StbSections)| +| output | description | +| ------- | :-------------------------------: | +| Member | Member information (StbMembers) | +| Section | Section information (StbSections) | --- @@ -34,35 +34,33 @@ STB 書き出しのための情報を作成するコンポーネントのカテ ![](../../images/Component/NodeBuilder.png) -節点情報を Karamba3D のモデルから作成する。 +Create the nodal information from the Karamba3D model. -|入力|説明| -|---|:---:| -|Model|Karamba3D の Model 出力を入力| +| Input | Explanation | +| ----- | :----------------------------: | +| Model | Input Karamba3D's Model output | -|出力|説明| -|---|:---:| -|Node|節点情報(StbNodes)| - ---- +| output | description | +| ------ | :--------------------------: | +| Node | Nodal information (StbNodes) | ## Axis Builder ![](../../images/Component/AxisBuilder.png) -軸情報を作成する +Create the axis information -|入力|説明| -|---|:---:| -|Node|節点情報、FrameBuilder の Node 出力を入力| -|Distance|原点からの軸の距離(mm)| -|Range|軸の幅(mm)| -|Name|軸の名前| -|Direcrion|軸の方向| +| Input | Description | +| --------- | :------------------------------------------------------: | +| Node | Nodal information, input the Node output of FrameBuilder | +| Distance | distance of the axis from the origin (mm) | +| Range | width of axis (mm) | +| Name | name of axis | +| Direction | direction of the axis | -|出力|説明| -|---|:---:| -|Axis|軸情報(StbAxes)| +| Output | Description | +| ------ | :-------------------------: | +| Axis | axis information (StbAxes)} | --- @@ -70,15 +68,15 @@ STB 書き出しのための情報を作成するコンポーネントのカテ ![](../../images/Component/StoryBuilder.png) -階情報を作成する +Create the floor information -|入力|説明| -|---|:---:| -|Node|節点情報、FrameBuilder の Node 出力を入力| -|Height|原点からの階の高さ(mm)| -|Range|階の幅(mm)| -|Name|階の名前| +| input | description | +| ------ | :------------------------------------------------------: | +| Node | Nodal information, input the Node output of FrameBuilder | +| Height | height of the floor from the origin (mm) | +| Range | width of the floor (mm) | +| Name | Name of the floor | -|出力|説明| -|---|:---:| -|Story|階情報(StbStories)| +| Output | Description | +| ------ | :----------------------------: | +| Story | Story information (StbStories) | From ba6d374ce10532199a7086a5965bd7a58b5d810e Mon Sep 17 00:00:00 2001 From: hrntsm Date: Wed, 16 Jun 2021 23:37:45 +0900 Subject: [PATCH 009/162] Update top page to en --- website/i18n/en/code.json | 11 +++++ .../current.json | 14 +++++++ .../en/docusaurus-theme-classic/footer.json | 42 +++++++++++++++++++ .../en/docusaurus-theme-classic/navbar.json | 26 ++++++++++++ website/src/pages/index.js | 12 +++--- 5 files changed, 99 insertions(+), 6 deletions(-) create mode 100644 website/i18n/en/code.json create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/current.json create mode 100644 website/i18n/en/docusaurus-theme-classic/footer.json create mode 100644 website/i18n/en/docusaurus-theme-classic/navbar.json diff --git a/website/i18n/en/code.json b/website/i18n/en/code.json new file mode 100644 index 00000000..e04bdf94 --- /dev/null +++ b/website/i18n/en/code.json @@ -0,0 +1,11 @@ +{ + "HoaryFox は簡単に建築構造向け BIM データ \"ST-Bridge\" を Grasshopper で扱えるように設計しています。": { + "message": "HoaryFox is designed to easily handle \"ST-Bridge\", BIM data for Japan building structures in Grasshopper." + }, + "Grasshopper の可視化や形状最適化機能を使った構造設計の効率化を目指しています。": { + "message": "We aim to improve the efficiency of structural design using Grasshopper's visualization and shape optimization capabilities." + }, + "Grasshopper の構造解析ツール Karamba3D への ST-Bridge データの入出力をサポートします。": { + "message": "Supports the input and output of ST-Bridge data to and from Grasshopper's structural analysis tool Karamba3D." + } +} \ No newline at end of file diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current.json b/website/i18n/en/docusaurus-plugin-content-docs/current.json new file mode 100644 index 00000000..a99b97ac --- /dev/null +++ b/website/i18n/en/docusaurus-plugin-content-docs/current.json @@ -0,0 +1,14 @@ +{ + "version.label": { + "message": "Next", + "description": "The label for version current" + }, + "sidebar.someSidebar.category.Component": { + "message": "Component", + "description": "The label for category Component in sidebar someSidebar" + }, + "sidebar.someSidebar.category.Usage": { + "message": "Usage", + "description": "The label for category Usage in sidebar someSidebar" + } +} \ No newline at end of file diff --git a/website/i18n/en/docusaurus-theme-classic/footer.json b/website/i18n/en/docusaurus-theme-classic/footer.json new file mode 100644 index 00000000..ba047572 --- /dev/null +++ b/website/i18n/en/docusaurus-theme-classic/footer.json @@ -0,0 +1,42 @@ +{ + "link.title.Docs": { + "message": "Docs", + "description": "The title of the footer links column with title=Docs in the footer" + }, + "link.title.Community": { + "message": "Community", + "description": "The title of the footer links column with title=Community in the footer" + }, + "link.title.More": { + "message": "More", + "description": "The title of the footer links column with title=More in the footer" + }, + "link.item.label.Component": { + "message": "Component", + "description": "The label of footer link with label=Component linking to docs/Component/Geometry" + }, + "link.item.label.Usage": { + "message": "Usage", + "description": "The label of footer link with label=Usage linking to docs/Usage/ShowSTBModel" + }, + "link.item.label.Food4Rhino": { + "message": "Food4Rhino", + "description": "The label of footer link with label=Food4Rhino linking to https://www.food4rhino.com/app/hoaryfox" + }, + "link.item.label.Twitter": { + "message": "Twitter", + "description": "The label of footer link with label=Twitter linking to https://twitter.com/hiron_rgkr" + }, + "link.item.label.Blog": { + "message": "Blog", + "description": "The label of footer link with label=Blog linking to blog" + }, + "link.item.label.Donation": { + "message": "Donation", + "description": "The label of footer link with label=Donation linking to docs/donation" + }, + "copyright": { + "message": "Copyright © 2021 hrntsm, Inc. Built with Docusaurus.", + "description": "The footer copyright" + } +} \ No newline at end of file diff --git a/website/i18n/en/docusaurus-theme-classic/navbar.json b/website/i18n/en/docusaurus-theme-classic/navbar.json new file mode 100644 index 00000000..99197152 --- /dev/null +++ b/website/i18n/en/docusaurus-theme-classic/navbar.json @@ -0,0 +1,26 @@ +{ + "title": { + "message": "HoaryFox", + "description": "The title in the navbar" + }, + "item.label.Docs": { + "message": "Docs", + "description": "Navbar item with label Docs" + }, + "item.label.Blog": { + "message": "Blog", + "description": "Navbar item with label Blog" + }, + "item.label.GitHub": { + "message": "GitHub", + "description": "Navbar item with label GitHub" + }, + "item.label.AboutMe": { + "message": "AboutMe", + "description": "Navbar item with label AboutMe" + }, + "item.label.Contact": { + "message": "Contact", + "description": "Navbar item with label Contact" + } +} \ No newline at end of file diff --git a/website/src/pages/index.js b/website/src/pages/index.js index 13753938..8b0f50dc 100644 --- a/website/src/pages/index.js +++ b/website/src/pages/index.js @@ -12,27 +12,27 @@ const features = [ title: 'Easy to use', imageUrl: 'img/undraw_docusaurus_mountain.svg', description: ( - <> + HoaryFox は簡単に建築構造向け BIM データ "ST-Bridge" を Grasshopper で扱えるように設計しています。 - + ), }, { title: 'Focus on improvement of efficiency', imageUrl: 'img/undraw_docusaurus_tree.svg', description: ( - <> + Grasshopper の可視化や形状最適化機能を使った構造設計の効率化を目指しています。 - + ), }, { title: 'Enhance Karamba3D', imageUrl: 'img/undraw_docusaurus_react.svg', description: ( - <> + Grasshopper の構造解析ツール Karamba3D への ST-Bridge データの入出力をサポートします。 - + ), }, ]; From 0f0ed2dd06302200e1c1df8fb153f357d5dae9bd Mon Sep 17 00:00:00 2001 From: hrntsm Date: Wed, 16 Jun 2021 23:49:17 +0900 Subject: [PATCH 010/162] Fix link error --- .../en/docusaurus-plugin-content-docs/current/Component/IO.md | 4 ++-- .../current/Component/StbBuilder.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/Component/IO.md b/website/i18n/en/docusaurus-plugin-content-docs/current/Component/IO.md index 2ee64999..4397ad36 100644 --- a/website/i18n/en/docusaurus-plugin-content-docs/current/Component/IO.md +++ b/website/i18n/en/docusaurus-plugin-content-docs/current/Component/IO.md @@ -41,7 +41,7 @@ Exporting STB data | ------ | :--------------------: | | Stb | Created ST-Bridge data | -The detailed usage and conversion specification of this component can be found in [Export ST-Bridge file](./Usage/ExportSTB) article. +The detailed usage and conversion specification of this component can be found in [Export ST-Bridge file](../Usage/ExportSTB) article. --- @@ -84,4 +84,4 @@ A component that sets the family name for the cross section in Karamba3D. | ---------- | :--------------------------------------------------------: | | FamilyName | Setting the family name of the cross section in Karamba3D. | -The detailed usage and conversion specification of this component can be found in the [Convert to Karamba3D](./Usage/ConvertToKaramba) article. +The detailed usage and conversion specification of this component can be found in the [Convert to Karamba3D](../Usage/ConvertToKaramba) article. diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/Component/StbBuilder.md b/website/i18n/en/docusaurus-plugin-content-docs/current/Component/StbBuilder.md index 9b125a11..ba3ae3b8 100644 --- a/website/i18n/en/docusaurus-plugin-content-docs/current/Component/StbBuilder.md +++ b/website/i18n/en/docusaurus-plugin-content-docs/current/Component/StbBuilder.md @@ -6,7 +6,7 @@ title: StbBuilder Categories of components that create information for STB export :::note -The usage and notes for this component are also described in [Export ST-Bridge file](./Usage/ExportSTB) for more details. +The usage and notes for this component are also described in [Export ST-Bridge file](../Usage/ExportSTB) for more details. ::: --- From 1e9744781237b54148d9905711a67aa215539341 Mon Sep 17 00:00:00 2001 From: hiron Date: Mon, 28 Jun 2021 21:50:07 +0900 Subject: [PATCH 011/162] Add NameTag v2 --- HoaryFox/Component/Bar/Stb2Bar.cs | 141 ------------------ HoaryFox/Component_v2/Tag/Name/BeamNameTag.cs | 72 +++++++++ .../Component_v2/Tag/Name/BraceNameTag.cs | 72 +++++++++ .../Component_v2/Tag/Name/ColumnNameTag.cs | 72 +++++++++ .../Component_v2/Tag/Name/GirderNameTag.cs | 72 +++++++++ HoaryFox/Component_v2/Tag/Name/PostNameTag.cs | 72 +++++++++ HoaryFox/Component_v2/Tag/Name/util.cs | 35 +++++ HoaryFox/HoaryFox.csproj | 10 +- 8 files changed, 404 insertions(+), 142 deletions(-) delete mode 100644 HoaryFox/Component/Bar/Stb2Bar.cs create mode 100644 HoaryFox/Component_v2/Tag/Name/BeamNameTag.cs create mode 100644 HoaryFox/Component_v2/Tag/Name/BraceNameTag.cs create mode 100644 HoaryFox/Component_v2/Tag/Name/ColumnNameTag.cs create mode 100644 HoaryFox/Component_v2/Tag/Name/GirderNameTag.cs create mode 100644 HoaryFox/Component_v2/Tag/Name/PostNameTag.cs create mode 100644 HoaryFox/Component_v2/Tag/Name/util.cs diff --git a/HoaryFox/Component/Bar/Stb2Bar.cs b/HoaryFox/Component/Bar/Stb2Bar.cs deleted file mode 100644 index f6cb06d2..00000000 --- a/HoaryFox/Component/Bar/Stb2Bar.cs +++ /dev/null @@ -1,141 +0,0 @@ -//using System; -//using System.Collections.Generic; -//using System.Xml.Linq; - -//using Grasshopper.Kernel; -//using HoaryFox.STB; -//using HoaryFox.Util; -//using Rhino.Geometry; - -//namespace HoaryFox.Component.Bar -//{ -// public class Stb2Bar:GH_Component -// { -// private string _path; -// public static readonly double LengthTolerance = GH_Component.DocumentTolerance(); -// public static readonly double AngleTolerance = GH_Component.DocumentAngleTolerance(); - -// private static StbNodes _nodes; -// private static StbColumns _columns; -// private static StbPosts _posts; -// private static StbGirders _girders; -// private static StbBeams _beams; - -// public static StbSecColRC SecColumnRc; -// public static StbSecBeamRC SecBeamRc; - -// private readonly List> _frameBreps = new List>(); - -// /// -// /// Each implementation of GH_Component must provide a public -// /// constructor without any arguments. -// /// Category represents the Tab in which the component will appear, -// /// Subcategory the panel. If you use non-existing tab or panel names, -// /// new tabs/panels will automatically be created. -// /// -// public Stb2Bar() -// : base("Stb to Bar", "S2B", "Read ST-Bridge file and display", "HoaryFox", "Bar") -// { -// } - -// public override void ClearData() -// { -// base.ClearData(); -// _frameBreps.Clear(); -// } - -// /// -// /// Registers all the input parameters for this component. -// /// -// protected override void RegisterInputParams(GH_InputParamManager pManager) -// { -// pManager.AddTextParameter("path", "path", "input ST-Bridge file path", GH_ParamAccess.item); -// } - -// /// -// /// Registers all the output parameters for this component. -// /// -// protected override void RegisterOutputParams(GH_OutputParamManager pManager) -// { -// pManager.AddBrepParameter("Columns", "Col", "output StbColumns to Bar", GH_ParamAccess.list); -// pManager.AddBrepParameter("Girders", "Gird", "output StbGirders to Bar", GH_ParamAccess.list); -// pManager.AddBrepParameter("Posts", "Pst", "output StbPosts to Bar", GH_ParamAccess.list); -// pManager.AddBrepParameter("Beams", "Bm", "output StbBeams to Bar", GH_ParamAccess.list); -// } - -// /// -// /// This is the method that actually does the work. -// /// -// /// The DA object can be used to retrieve data from input parameters and -// /// to store data in output parameters. -// protected override void SolveInstance(IGH_DataAccess DA) -// { -// // 対象の stb の pathを取得 -// if (!DA.GetData("path", ref _path)) { return; } -// var xDocument = XDocument.Load(_path); - -// Init(); -// Load(xDocument); - -// // meshの生成 -// MakeBar(); - -// for (var i = 0; i < 4; i++) -// { -// DA.SetDataList(i, _frameBreps[i]); -// } -// } - -// /// -// /// Provides an Icon for every component that will be visible in the User Interface. -// /// Icons need to be 24x24 pixels. -// /// -// protected override System.Drawing.Bitmap Icon => null; - -// /// -// /// Each component must have a unique Guid to identify it. -// /// It is vital this Guid doesn't change otherwise old ghx files -// /// that use the old ID will partially fail during loading. -// /// -// public override Guid ComponentGuid => new Guid("8C6A2977-EC3A-43D0-90B2-0B10EF2E124B"); - -// private static void Init() -// { -// _nodes = new StbNodes(); -// _columns = new StbColumns(); -// _posts = new StbPosts(); -// _girders = new StbGirders(); -// _beams = new StbBeams(); -// SecColumnRc = new StbSecColRC(); -// SecBeamRc = new StbSecBeamRC(); -// } - -// private static void Load(XDocument xDoc) -// { -// var members = new List() -// { -// _nodes, -// _columns, _posts, _girders, _beams, -// SecColumnRc, SecBeamRc -// }; - -// foreach (var member in members) -// { -// member.Load(xDoc); -// } -// } - -// private void MakeBar() -// { -// var stbFrames = new List() { -// _columns, _girders, _posts, _beams -// }; - -// var breps = new CreateBar(_nodes); - -// foreach (var frame in stbFrames) -// _frameBreps.Add(breps.Frame(frame)); -// } -// } -//} - diff --git a/HoaryFox/Component_v2/Tag/Name/BeamNameTag.cs b/HoaryFox/Component_v2/Tag/Name/BeamNameTag.cs new file mode 100644 index 00000000..18ea4a48 --- /dev/null +++ b/HoaryFox/Component_v2/Tag/Name/BeamNameTag.cs @@ -0,0 +1,72 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using Grasshopper.Kernel; +using Rhino.Geometry; +using STBDotNet.v202; + +namespace HoaryFox.Component_v2.Tag.Name +{ + public class BeamNameTag : GH_Component + { + private ST_BRIDGE _stBridge; + private int _size; + + private readonly List _frameName = new List(); + private readonly List _framePos = new List(); + + public override bool IsPreviewCapable => true; + + protected BeamNameTag() + : base(name: "Beam Name Tag", nickname: "BeamTag", description: "Display Beam Name Tag", "HoaryFox", "NameTag_v2") + { + } + + public override void ClearData() + { + base.ClearData(); + _frameName.Clear(); + _framePos.Clear(); + } + + protected override void RegisterInputParams(GH_InputParamManager pManager) + { + pManager.AddGenericParameter("Data", "D", "input ST-Bridge file data", GH_ParamAccess.item); + pManager.AddIntegerParameter("Size", "S", "Tag size", GH_ParamAccess.item, 12); + } + + protected override void RegisterOutputParams(GH_OutputParamManager pManager) + { + pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.list); + } + + protected override void SolveInstance(IGH_DataAccess DA) + { + if (!DA.GetData("Data", ref _stBridge)) { return; } + if (!DA.GetData("Size", ref _size)) { return; } + + StbNode[] nodes = _stBridge.StbModel.StbNodes; + StbBeam[] beams = _stBridge.StbModel.StbMembers.StbBeams; + foreach (StbBeam beam in beams) + { + _frameName.Add(beam.name); + + string idNodeStart = beam.id_node_start; + string idNodeEnd = beam.id_node_end; + _framePos.Add(Util.GetFramePosition(idNodeStart, idNodeEnd, nodes)); + } + DA.SetDataList(0, _frameName); + } + + public override void DrawViewportWires(IGH_PreviewArgs args) + { + for (var i = 0; i < _frameName.Count; i++) + { + args.Display.Draw2dText(_frameName[i], Color.Black, _framePos[i], true, _size); + } + } + + protected override Bitmap Icon => Properties.Resource.BeamName; + public override Guid ComponentGuid => new Guid("CD6A5143-0574-46E1-A4DE-1177A5922713"); + } +} diff --git a/HoaryFox/Component_v2/Tag/Name/BraceNameTag.cs b/HoaryFox/Component_v2/Tag/Name/BraceNameTag.cs new file mode 100644 index 00000000..e61eeeb5 --- /dev/null +++ b/HoaryFox/Component_v2/Tag/Name/BraceNameTag.cs @@ -0,0 +1,72 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using Grasshopper.Kernel; +using Rhino.Geometry; +using STBDotNet.v202; + +namespace HoaryFox.Component_v2.Tag.Name +{ + public class BraceNameTag : GH_Component + { + private ST_BRIDGE _stBridge; + private int _size; + + private readonly List _frameName = new List(); + private readonly List _framePos = new List(); + + public override bool IsPreviewCapable => true; + + protected BraceNameTag() + : base(name: "Brace Name Tag", nickname: "BraceTag", description: "Display Brace Name Tag", "HoaryFox", "NameTag_v2") + { + } + + public override void ClearData() + { + base.ClearData(); + _frameName.Clear(); + _framePos.Clear(); + } + + protected override void RegisterInputParams(GH_InputParamManager pManager) + { + pManager.AddGenericParameter("Data", "D", "input ST-Bridge file data", GH_ParamAccess.item); + pManager.AddIntegerParameter("Size", "S", "Tag size", GH_ParamAccess.item, 12); + } + + protected override void RegisterOutputParams(GH_OutputParamManager pManager) + { + pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.list); + } + + protected override void SolveInstance(IGH_DataAccess DA) + { + if (!DA.GetData("Data", ref _stBridge)) { return; } + if (!DA.GetData("Size", ref _size)) { return; } + + StbNode[] nodes = _stBridge.StbModel.StbNodes; + StbBrace[] braces = _stBridge.StbModel.StbMembers.StbBraces; + foreach (StbBrace brace in braces) + { + _frameName.Add(brace.name); + + string idNodeStart = brace.id_node_start; + string idNodeEnd = brace.id_node_end; + _framePos.Add(Util.GetFramePosition(idNodeStart, idNodeEnd, nodes)); + } + DA.SetDataList(0, _frameName); + } + + public override void DrawViewportWires(IGH_PreviewArgs args) + { + for (var i = 0; i < _frameName.Count; i++) + { + args.Display.Draw2dText(_frameName[i], Color.Black, _framePos[i], true, _size); + } + } + + protected override Bitmap Icon => Properties.Resource.BraceName; + public override Guid ComponentGuid => new Guid("21F7885E-6321-4C0D-8974-BC40769AAEAE"); + } +} diff --git a/HoaryFox/Component_v2/Tag/Name/ColumnNameTag.cs b/HoaryFox/Component_v2/Tag/Name/ColumnNameTag.cs new file mode 100644 index 00000000..611d53d3 --- /dev/null +++ b/HoaryFox/Component_v2/Tag/Name/ColumnNameTag.cs @@ -0,0 +1,72 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using Grasshopper.Kernel; +using Rhino.Geometry; +using STBDotNet.v202; + +namespace HoaryFox.Component_v2.Tag.Name +{ + public class ColumnNameTag : GH_Component + { + private ST_BRIDGE _stBridge; + private int _size; + + private readonly List _frameName = new List(); + private readonly List _framePos = new List(); + + public override bool IsPreviewCapable => true; + + protected ColumnNameTag() + : base(name: "Column Name Tag", nickname: "ColumnTag", description: "Display Column Name Tag", "HoaryFox", "NameTag_v2") + { + } + + public override void ClearData() + { + base.ClearData(); + _frameName.Clear(); + _framePos.Clear(); + } + + protected override void RegisterInputParams(GH_InputParamManager pManager) + { + pManager.AddGenericParameter("Data", "D", "input ST-Bridge file data", GH_ParamAccess.item); + pManager.AddIntegerParameter("Size", "S", "Tag size", GH_ParamAccess.item, 12); + } + + protected override void RegisterOutputParams(GH_OutputParamManager pManager) + { + pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.list); + } + + protected override void SolveInstance(IGH_DataAccess DA) + { + if (!DA.GetData("Data", ref _stBridge)) { return; } + if (!DA.GetData("Size", ref _size)) { return; } + + StbNode[] nodes = _stBridge.StbModel.StbNodes; + StbColumn[] columns = _stBridge.StbModel.StbMembers.StbColumns; + foreach (StbColumn column in columns) + { + _frameName.Add(column.name); + + string idNodeStart = column.id_node_bottom; + string idNodeEnd = column.id_node_top; + _framePos.Add(Util.GetFramePosition(idNodeStart, idNodeEnd, nodes)); + } + DA.SetDataList(0, _frameName); + } + + public override void DrawViewportWires(IGH_PreviewArgs args) + { + for (var i = 0; i < _frameName.Count; i++) + { + args.Display.Draw2dText(_frameName[i], Color.Black, _framePos[i], true, _size); + } + } + + protected override Bitmap Icon => Properties.Resource.ColumnName; + public override Guid ComponentGuid => new Guid("A21D711E-8AFB-4B72-8EEA-D8DBABA72462"); + } +} diff --git a/HoaryFox/Component_v2/Tag/Name/GirderNameTag.cs b/HoaryFox/Component_v2/Tag/Name/GirderNameTag.cs new file mode 100644 index 00000000..6541b84b --- /dev/null +++ b/HoaryFox/Component_v2/Tag/Name/GirderNameTag.cs @@ -0,0 +1,72 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using Grasshopper.Kernel; +using Rhino.Geometry; +using STBDotNet.v202; + +namespace HoaryFox.Component_v2.Tag.Name +{ + public class GirderNameTag : GH_Component + { + private ST_BRIDGE _stBridge; + private int _size; + + private readonly List _frameName = new List(); + private readonly List _framePos = new List(); + + public override bool IsPreviewCapable => true; + + protected GirderNameTag() + : base(name: "Girder Name Tag", nickname: "GirderTag", description: "Display Girder Name Tag", "HoaryFox", "NameTag_v2") + { + } + + public override void ClearData() + { + base.ClearData(); + _frameName.Clear(); + _framePos.Clear(); + } + + protected override void RegisterInputParams(GH_InputParamManager pManager) + { + pManager.AddGenericParameter("Data", "D", "input ST-Bridge file data", GH_ParamAccess.item); + pManager.AddIntegerParameter("Size", "S", "Tag size", GH_ParamAccess.item, 12); + } + + protected override void RegisterOutputParams(GH_OutputParamManager pManager) + { + pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.list); + } + + protected override void SolveInstance(IGH_DataAccess DA) + { + if (!DA.GetData("Data", ref _stBridge)) { return; } + if (!DA.GetData("Size", ref _size)) { return; } + + StbNode[] nodes = _stBridge.StbModel.StbNodes; + StbGirder[] girders = _stBridge.StbModel.StbMembers.StbGirders; + foreach (StbGirder girder in girders) + { + _frameName.Add(girder.name); + + string idNodeStart = girder.id_node_start; + string idNodeEnd = girder.id_node_end; + _framePos.Add(Util.GetFramePosition(idNodeStart, idNodeEnd, nodes)); + } + DA.SetDataList(0, _frameName); + } + + public override void DrawViewportWires(IGH_PreviewArgs args) + { + for (var i = 0; i < _frameName.Count; i++) + { + args.Display.Draw2dText(_frameName[i], Color.Black, _framePos[i], true, _size); + } + } + + protected override Bitmap Icon => Properties.Resource.GirderName; + public override Guid ComponentGuid => new Guid("31664B98-E1F0-4635-A718-18C8FDE14A14"); + } +} diff --git a/HoaryFox/Component_v2/Tag/Name/PostNameTag.cs b/HoaryFox/Component_v2/Tag/Name/PostNameTag.cs new file mode 100644 index 00000000..b8423229 --- /dev/null +++ b/HoaryFox/Component_v2/Tag/Name/PostNameTag.cs @@ -0,0 +1,72 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using Grasshopper.Kernel; +using Rhino.Geometry; +using STBDotNet.v202; + +namespace HoaryFox.Component_v2.Tag.Name +{ + public class PostNameTag : GH_Component + { + private ST_BRIDGE _stBridge; + private int _size; + + private readonly List _frameName = new List(); + private readonly List _framePos = new List(); + + public override bool IsPreviewCapable => true; + + protected PostNameTag() + : base(name: "Post Name Tag", nickname: "PostTag", description: "Display Post Name Tag", "HoaryFox", "NameTag_v2") + { + } + + public override void ClearData() + { + base.ClearData(); + _frameName.Clear(); + _framePos.Clear(); + } + + protected override void RegisterInputParams(GH_InputParamManager pManager) + { + pManager.AddGenericParameter("Data", "D", "input ST-Bridge file data", GH_ParamAccess.item); + pManager.AddIntegerParameter("Size", "S", "Tag size", GH_ParamAccess.item, 12); + } + + protected override void RegisterOutputParams(GH_OutputParamManager pManager) + { + pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.list); + } + + protected override void SolveInstance(IGH_DataAccess DA) + { + if (!DA.GetData("Data", ref _stBridge)) { return; } + if (!DA.GetData("Size", ref _size)) { return; } + + StbNode[] nodes = _stBridge.StbModel.StbNodes; + StbPost[] posts = _stBridge.StbModel.StbMembers.StbPosts; + foreach (StbPost post in posts) + { + _frameName.Add(post.name); + + string idNodeStart = post.id_node_bottom; + string idNodeEnd = post.id_node_top; + _framePos.Add(Util.GetFramePosition(idNodeStart, idNodeEnd, nodes)); + } + DA.SetDataList(0, _frameName); + } + + public override void DrawViewportWires(IGH_PreviewArgs args) + { + for (var i = 0; i < _frameName.Count; i++) + { + args.Display.Draw2dText(_frameName[i], Color.Black, _framePos[i], true, _size); + } + } + + protected override Bitmap Icon => Properties.Resource.PostName; + public override Guid ComponentGuid => new Guid("AD517629-4CD1-4109-B071-653D80DC6B70"); + } +} diff --git a/HoaryFox/Component_v2/Tag/Name/util.cs b/HoaryFox/Component_v2/Tag/Name/util.cs new file mode 100644 index 00000000..a7be0160 --- /dev/null +++ b/HoaryFox/Component_v2/Tag/Name/util.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using Rhino.Geometry; +using STBDotNet.v202; + +namespace HoaryFox.Component_v2.Tag.Name +{ + internal static class Util + { + internal static Point3d GetFramePosition(string idStart, string idEnd, IEnumerable nodes) + { + var startNode = new StbNode(); + var endNode = new StbNode(); + + // TODO: アルゴリズム直す + foreach (StbNode n in nodes) + { + if (n.id == idStart) + { + startNode = n; + } + else if (n.id == idEnd) + { + endNode = n; + } + } + + return (new Point3d( + (startNode.X + endNode.X) / 2.0, + (startNode.Y + endNode.Y) / 2.0, + (startNode.Z + endNode.Z) / 2.0 + )); + } + } +} diff --git a/HoaryFox/HoaryFox.csproj b/HoaryFox/HoaryFox.csproj index f2db0c4b..af2e481e 100644 --- a/HoaryFox/HoaryFox.csproj +++ b/HoaryFox/HoaryFox.csproj @@ -35,10 +35,15 @@ 4 + + + + + + - @@ -69,6 +74,9 @@ + + ..\..\STBDotNet\STBDotNet\bin\Debug\net5.0\STBDotNet.dll + False Library\STBReader.dll From 2f1337f18e33669def21195b24cb585c34170b4d Mon Sep 17 00:00:00 2001 From: hiron Date: Thu, 1 Jul 2021 21:55:50 +0900 Subject: [PATCH 012/162] Fix v2 component build error --- HoaryFox/Component_v2/Tag/Name/BeamNameTag.cs | 12 +++++++----- HoaryFox/Component_v2/Tag/Name/BraceNameTag.cs | 10 ++++++---- HoaryFox/Component_v2/Tag/Name/ColumnNameTag.cs | 12 +++++++----- HoaryFox/Component_v2/Tag/Name/GirderNameTag.cs | 10 ++++++---- HoaryFox/Component_v2/Tag/Name/PostNameTag.cs | 8 +++++--- HoaryFox/HoaryFox.csproj | 2 +- 6 files changed, 32 insertions(+), 22 deletions(-) diff --git a/HoaryFox/Component_v2/Tag/Name/BeamNameTag.cs b/HoaryFox/Component_v2/Tag/Name/BeamNameTag.cs index 18ea4a48..8a72d1db 100644 --- a/HoaryFox/Component_v2/Tag/Name/BeamNameTag.cs +++ b/HoaryFox/Component_v2/Tag/Name/BeamNameTag.cs @@ -16,9 +16,10 @@ public class BeamNameTag : GH_Component private readonly List _framePos = new List(); public override bool IsPreviewCapable => true; - - protected BeamNameTag() - : base(name: "Beam Name Tag", nickname: "BeamTag", description: "Display Beam Name Tag", "HoaryFox", "NameTag_v2") + public BeamNameTag() + : base("Beam Name Tag", "BeamTag", + "Display Beam Name Tag", + "HoaryFox2", "NameTag") { } @@ -66,7 +67,8 @@ public override void DrawViewportWires(IGH_PreviewArgs args) } } - protected override Bitmap Icon => Properties.Resource.BeamName; - public override Guid ComponentGuid => new Guid("CD6A5143-0574-46E1-A4DE-1177A5922713"); + protected override System.Drawing.Bitmap Icon => Properties.Resource.BeamName; + + public override Guid ComponentGuid => new Guid("FDC62C6D-7C03-412D-8FF8-B76439197730"); } } diff --git a/HoaryFox/Component_v2/Tag/Name/BraceNameTag.cs b/HoaryFox/Component_v2/Tag/Name/BraceNameTag.cs index e61eeeb5..2a934a1b 100644 --- a/HoaryFox/Component_v2/Tag/Name/BraceNameTag.cs +++ b/HoaryFox/Component_v2/Tag/Name/BraceNameTag.cs @@ -16,9 +16,10 @@ public class BraceNameTag : GH_Component private readonly List _framePos = new List(); public override bool IsPreviewCapable => true; - - protected BraceNameTag() - : base(name: "Brace Name Tag", nickname: "BraceTag", description: "Display Brace Name Tag", "HoaryFox", "NameTag_v2") + public BraceNameTag() + : base("Brace Name Tag", "BraceTag", + "Display Brace Name Tag", + "HoaryFox2", "NameTag") { } @@ -66,7 +67,8 @@ public override void DrawViewportWires(IGH_PreviewArgs args) } } - protected override Bitmap Icon => Properties.Resource.BraceName; + protected override System.Drawing.Bitmap Icon => Properties.Resource.BraceName; + public override Guid ComponentGuid => new Guid("21F7885E-6321-4C0D-8974-BC40769AAEAE"); } } diff --git a/HoaryFox/Component_v2/Tag/Name/ColumnNameTag.cs b/HoaryFox/Component_v2/Tag/Name/ColumnNameTag.cs index 611d53d3..4ad720bf 100644 --- a/HoaryFox/Component_v2/Tag/Name/ColumnNameTag.cs +++ b/HoaryFox/Component_v2/Tag/Name/ColumnNameTag.cs @@ -16,9 +16,10 @@ public class ColumnNameTag : GH_Component private readonly List _framePos = new List(); public override bool IsPreviewCapable => true; - - protected ColumnNameTag() - : base(name: "Column Name Tag", nickname: "ColumnTag", description: "Display Column Name Tag", "HoaryFox", "NameTag_v2") + public ColumnNameTag() + : base("Column Name Tag", "ColumnTag", + "Display Column Name Tag", + "HoaryFox2", "NameTag") { } @@ -66,7 +67,8 @@ public override void DrawViewportWires(IGH_PreviewArgs args) } } - protected override Bitmap Icon => Properties.Resource.ColumnName; - public override Guid ComponentGuid => new Guid("A21D711E-8AFB-4B72-8EEA-D8DBABA72462"); + protected override System.Drawing.Bitmap Icon => Properties.Resource.ColumnName; + + public override Guid ComponentGuid => new Guid("AB439AE1-A56F-4764-BC36-F3752D30461A"); } } diff --git a/HoaryFox/Component_v2/Tag/Name/GirderNameTag.cs b/HoaryFox/Component_v2/Tag/Name/GirderNameTag.cs index 6541b84b..ced4fc1f 100644 --- a/HoaryFox/Component_v2/Tag/Name/GirderNameTag.cs +++ b/HoaryFox/Component_v2/Tag/Name/GirderNameTag.cs @@ -16,9 +16,10 @@ public class GirderNameTag : GH_Component private readonly List _framePos = new List(); public override bool IsPreviewCapable => true; - - protected GirderNameTag() - : base(name: "Girder Name Tag", nickname: "GirderTag", description: "Display Girder Name Tag", "HoaryFox", "NameTag_v2") + public GirderNameTag() + : base("Girder Name Tag", "GirderTag", + "Display Girder Name Tag", + "HoaryFox2", "NameTag") { } @@ -66,7 +67,8 @@ public override void DrawViewportWires(IGH_PreviewArgs args) } } - protected override Bitmap Icon => Properties.Resource.GirderName; + protected override System.Drawing.Bitmap Icon => Properties.Resource.GirderName; + public override Guid ComponentGuid => new Guid("31664B98-E1F0-4635-A718-18C8FDE14A14"); } } diff --git a/HoaryFox/Component_v2/Tag/Name/PostNameTag.cs b/HoaryFox/Component_v2/Tag/Name/PostNameTag.cs index b8423229..d2eecf45 100644 --- a/HoaryFox/Component_v2/Tag/Name/PostNameTag.cs +++ b/HoaryFox/Component_v2/Tag/Name/PostNameTag.cs @@ -16,9 +16,10 @@ public class PostNameTag : GH_Component private readonly List _framePos = new List(); public override bool IsPreviewCapable => true; - - protected PostNameTag() - : base(name: "Post Name Tag", nickname: "PostTag", description: "Display Post Name Tag", "HoaryFox", "NameTag_v2") + public PostNameTag() + : base("Post Name Tag", "PostTag", + "Display Post Name Tag", + "HoaryFox2", "NameTag") { } @@ -67,6 +68,7 @@ public override void DrawViewportWires(IGH_PreviewArgs args) } protected override Bitmap Icon => Properties.Resource.PostName; + public override Guid ComponentGuid => new Guid("AD517629-4CD1-4109-B071-653D80DC6B70"); } } diff --git a/HoaryFox/HoaryFox.csproj b/HoaryFox/HoaryFox.csproj index af2e481e..c3401525 100644 --- a/HoaryFox/HoaryFox.csproj +++ b/HoaryFox/HoaryFox.csproj @@ -37,9 +37,9 @@ + - From 90da94c2f66d888d7920c1ab6cd0780216e27245 Mon Sep 17 00:00:00 2001 From: hiron Date: Sun, 4 Jul 2021 11:15:22 +0900 Subject: [PATCH 013/162] Add v2 loader --- HoaryFox/Component_v2/IO/StbLoader.cs | 41 +++++++++++++++++++++++++++ HoaryFox/HoaryFox.csproj | 6 ++-- 2 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 HoaryFox/Component_v2/IO/StbLoader.cs diff --git a/HoaryFox/Component_v2/IO/StbLoader.cs b/HoaryFox/Component_v2/IO/StbLoader.cs new file mode 100644 index 00000000..b8787194 --- /dev/null +++ b/HoaryFox/Component_v2/IO/StbLoader.cs @@ -0,0 +1,41 @@ +using System; +using Grasshopper.Kernel; +using STBDotNet.v202; + +namespace HoaryFox.Component_v2.IO +{ + public class StbLoader : GH_Component + { + private string _path; + public override GH_Exposure Exposure => GH_Exposure.primary; + + public StbLoader() + : base("Load STB file", "Loader", + "Read ST-Bridge file", + "HoaryFox2", "IO") + { + } + + protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager) + { + pManager.AddTextParameter("path", "path", "input ST-Bridge file path", GH_ParamAccess.item); + } + + protected override void RegisterOutputParams(GH_Component.GH_OutputParamManager pManager) + { + pManager.AddGenericParameter("Data", "D", "output StbData", GH_ParamAccess.item); + } + + protected override void SolveInstance(IGH_DataAccess DA) + { + // 対象の stb の path を取得 + if (!DA.GetData("path", ref _path)) { return; } + + var stbData = (ST_BRIDGE)STBDotNet.Serialization.Serializer.Deserialize(_path); + DA.SetData(0, stbData); + } + + protected override System.Drawing.Bitmap Icon => Properties.Resource.LoadStb; + public override Guid ComponentGuid => new Guid("C1E1CD82-9AC0-479C-A22F-DB7C44F3C77D"); + } +} diff --git a/HoaryFox/HoaryFox.csproj b/HoaryFox/HoaryFox.csproj index c3401525..ab67e5d6 100644 --- a/HoaryFox/HoaryFox.csproj +++ b/HoaryFox/HoaryFox.csproj @@ -35,6 +35,7 @@ 4 + @@ -74,8 +75,9 @@ - - ..\..\STBDotNet\STBDotNet\bin\Debug\net5.0\STBDotNet.dll + + False + ..\..\STBDotNet\STBDotNet\bin\Debug\netstandard2.0\STBDotNet.dll False From b3995dd1ac4b733fff4a7ee4edb8ad113e5703b9 Mon Sep 17 00:00:00 2001 From: hiron Date: Sun, 4 Jul 2021 14:28:49 +0900 Subject: [PATCH 014/162] Add BeamSectionTag --- HoaryFox/Component_v2/Tag/Name/BeamNameTag.cs | 2 +- .../Component_v2/Tag/Name/BraceNameTag.cs | 2 +- .../Component_v2/Tag/Name/ColumnNameTag.cs | 2 +- .../Component_v2/Tag/Name/GirderNameTag.cs | 2 +- HoaryFox/Component_v2/Tag/Name/PostNameTag.cs | 2 +- HoaryFox/Component_v2/Tag/Name/util.cs | 35 ----- .../Component_v2/Tag/Section/BeamSecTag.cs | 129 ++++++++++++++++++ HoaryFox/Component_v2/Tag/TagUtil.cs | 65 +++++++++ HoaryFox/HoaryFox.csproj | 4 +- 9 files changed, 202 insertions(+), 41 deletions(-) delete mode 100644 HoaryFox/Component_v2/Tag/Name/util.cs create mode 100644 HoaryFox/Component_v2/Tag/Section/BeamSecTag.cs create mode 100644 HoaryFox/Component_v2/Tag/TagUtil.cs diff --git a/HoaryFox/Component_v2/Tag/Name/BeamNameTag.cs b/HoaryFox/Component_v2/Tag/Name/BeamNameTag.cs index 8a72d1db..c9397b7f 100644 --- a/HoaryFox/Component_v2/Tag/Name/BeamNameTag.cs +++ b/HoaryFox/Component_v2/Tag/Name/BeamNameTag.cs @@ -54,7 +54,7 @@ protected override void SolveInstance(IGH_DataAccess DA) string idNodeStart = beam.id_node_start; string idNodeEnd = beam.id_node_end; - _framePos.Add(Util.GetFramePosition(idNodeStart, idNodeEnd, nodes)); + _framePos.Add(TagUtil.GetTagPosition(idNodeStart, idNodeEnd, nodes)); } DA.SetDataList(0, _frameName); } diff --git a/HoaryFox/Component_v2/Tag/Name/BraceNameTag.cs b/HoaryFox/Component_v2/Tag/Name/BraceNameTag.cs index 2a934a1b..5c0fc993 100644 --- a/HoaryFox/Component_v2/Tag/Name/BraceNameTag.cs +++ b/HoaryFox/Component_v2/Tag/Name/BraceNameTag.cs @@ -54,7 +54,7 @@ protected override void SolveInstance(IGH_DataAccess DA) string idNodeStart = brace.id_node_start; string idNodeEnd = brace.id_node_end; - _framePos.Add(Util.GetFramePosition(idNodeStart, idNodeEnd, nodes)); + _framePos.Add(TagUtil.GetTagPosition(idNodeStart, idNodeEnd, nodes)); } DA.SetDataList(0, _frameName); } diff --git a/HoaryFox/Component_v2/Tag/Name/ColumnNameTag.cs b/HoaryFox/Component_v2/Tag/Name/ColumnNameTag.cs index 4ad720bf..28256bda 100644 --- a/HoaryFox/Component_v2/Tag/Name/ColumnNameTag.cs +++ b/HoaryFox/Component_v2/Tag/Name/ColumnNameTag.cs @@ -54,7 +54,7 @@ protected override void SolveInstance(IGH_DataAccess DA) string idNodeStart = column.id_node_bottom; string idNodeEnd = column.id_node_top; - _framePos.Add(Util.GetFramePosition(idNodeStart, idNodeEnd, nodes)); + _framePos.Add(TagUtil.GetTagPosition(idNodeStart, idNodeEnd, nodes)); } DA.SetDataList(0, _frameName); } diff --git a/HoaryFox/Component_v2/Tag/Name/GirderNameTag.cs b/HoaryFox/Component_v2/Tag/Name/GirderNameTag.cs index ced4fc1f..e64da041 100644 --- a/HoaryFox/Component_v2/Tag/Name/GirderNameTag.cs +++ b/HoaryFox/Component_v2/Tag/Name/GirderNameTag.cs @@ -54,7 +54,7 @@ protected override void SolveInstance(IGH_DataAccess DA) string idNodeStart = girder.id_node_start; string idNodeEnd = girder.id_node_end; - _framePos.Add(Util.GetFramePosition(idNodeStart, idNodeEnd, nodes)); + _framePos.Add(TagUtil.GetTagPosition(idNodeStart, idNodeEnd, nodes)); } DA.SetDataList(0, _frameName); } diff --git a/HoaryFox/Component_v2/Tag/Name/PostNameTag.cs b/HoaryFox/Component_v2/Tag/Name/PostNameTag.cs index d2eecf45..e10bb398 100644 --- a/HoaryFox/Component_v2/Tag/Name/PostNameTag.cs +++ b/HoaryFox/Component_v2/Tag/Name/PostNameTag.cs @@ -54,7 +54,7 @@ protected override void SolveInstance(IGH_DataAccess DA) string idNodeStart = post.id_node_bottom; string idNodeEnd = post.id_node_top; - _framePos.Add(Util.GetFramePosition(idNodeStart, idNodeEnd, nodes)); + _framePos.Add(TagUtil.GetTagPosition(idNodeStart, idNodeEnd, nodes)); } DA.SetDataList(0, _frameName); } diff --git a/HoaryFox/Component_v2/Tag/Name/util.cs b/HoaryFox/Component_v2/Tag/Name/util.cs deleted file mode 100644 index a7be0160..00000000 --- a/HoaryFox/Component_v2/Tag/Name/util.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System; -using System.Collections.Generic; -using Rhino.Geometry; -using STBDotNet.v202; - -namespace HoaryFox.Component_v2.Tag.Name -{ - internal static class Util - { - internal static Point3d GetFramePosition(string idStart, string idEnd, IEnumerable nodes) - { - var startNode = new StbNode(); - var endNode = new StbNode(); - - // TODO: アルゴリズム直す - foreach (StbNode n in nodes) - { - if (n.id == idStart) - { - startNode = n; - } - else if (n.id == idEnd) - { - endNode = n; - } - } - - return (new Point3d( - (startNode.X + endNode.X) / 2.0, - (startNode.Y + endNode.Y) / 2.0, - (startNode.Z + endNode.Z) / 2.0 - )); - } - } -} diff --git a/HoaryFox/Component_v2/Tag/Section/BeamSecTag.cs b/HoaryFox/Component_v2/Tag/Section/BeamSecTag.cs new file mode 100644 index 00000000..a0aad983 --- /dev/null +++ b/HoaryFox/Component_v2/Tag/Section/BeamSecTag.cs @@ -0,0 +1,129 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using Grasshopper.Kernel; +using Grasshopper.Kernel.Data; +using Grasshopper.Kernel.Types; +using HoaryFox.Properties; +using Rhino.Geometry; +using STBDotNet.v202; + +namespace HoaryFox.Component_v2.Tag.Section +{ + public class BeamSecTag : GH_Component + { + private ST_BRIDGE _stBridge; + private int _size; + private GH_Structure _frameTags = new GH_Structure(); + private List _tagPos = new List(); + + public BeamSecTag() + : base("Beam Section Tag", "BeamSec", + "Description", + "HoaryFox2", "Section") + { + } + + public override void ClearData() + { + base.ClearData(); + _frameTags.Clear(); + _tagPos.Clear(); + } + + public override bool IsPreviewCapable => true; + + protected override void RegisterInputParams(GH_InputParamManager pManager) + { + pManager.AddGenericParameter("Data", "D", "input ST-Bridge file data", GH_ParamAccess.item); + pManager.AddIntegerParameter("Size", "S", "Tag size", GH_ParamAccess.item, 12); + } + + protected override void RegisterOutputParams(GH_OutputParamManager pManager) + { + pManager.AddTextParameter("SecTag", "STag", "output section tag", GH_ParamAccess.tree); + } + + protected override void SolveInstance(IGH_DataAccess DA) + { + if (!DA.GetData("Data", ref _stBridge)) { return; } + if (!DA.GetData("Size", ref _size)) { return; } + + _frameTags = GetTagStrings(_stBridge.StbModel.StbMembers.StbBeams, _stBridge.StbModel.StbSections); + _tagPos = GetTagPosition(_stBridge.StbModel.StbMembers.StbBeams, _stBridge.StbModel.StbNodes); + + DA.SetDataTree(0, _frameTags); + } + private static GH_Structure GetTagStrings(IEnumerable beams, StbSections sections) + { + var ghSecStrings = new GH_Structure(); + + foreach (var item in beams.Select((beam, index) => new { beam, index })) + { + string secId = item.beam.id_section; + var ghPath = new GH_Path(0, item.index); + StbGirderKind_structure kindStruct = item.beam.kind_structure; + + switch (kindStruct) + { + case StbGirderKind_structure.RC: + StbSecBeam_RC secRc = sections.StbSecBeam_RC.First(i => i.id == secId); + foreach (object figureObj in secRc.StbSecFigureBeam_RC.Items) + { + ghSecStrings.AppendRange(TagUtil.GetRcSection(figureObj, secRc.strength_concrete), ghPath); + } + break; + case StbGirderKind_structure.S: + StbSecBeam_S secS = sections.StbSecBeam_S.First(i => i.id == secId); + foreach (object figureObj in secS.StbSecSteelFigureBeam_S.Items) + { + ghSecStrings.AppendRange(TagUtil.GetSteelSection(figureObj), ghPath); + } + break; + case StbGirderKind_structure.SRC: + StbSecBeam_SRC secSrc = sections.StbSecBeam_SRC.First(i => i.id == secId); + foreach (object figureObj in secSrc.StbSecFigureBeam_SRC.Items) + { + ghSecStrings.AppendRange(TagUtil.GetRcSection(figureObj, secSrc.strength_concrete), ghPath); + } + foreach (object figureObj in secSrc.StbSecSteelFigureBeam_SRC.Items) + { + ghSecStrings.AppendRange(TagUtil.GetSteelSection(figureObj), ghPath); + } + break; + case StbGirderKind_structure.UNDEFINED: + break; + default: + throw new ArgumentOutOfRangeException(); + } + } + + return ghSecStrings; + } + + private static List GetTagPosition(IEnumerable beams, IEnumerable nodes) + { + return beams.Select(beam => TagUtil.GetTagPosition(beam.id_node_start, beam.id_node_end, nodes)).ToList(); + } + + public override void DrawViewportWires(IGH_PreviewArgs args) + { + if (_frameTags.DataCount == 0) + { + return; + } + + for (var i = 0; i < _frameTags.PathCount; i++) + { + List tags = _frameTags.Branches[i]; + string tag = tags.Aggregate(string.Empty, (current, tagString) => current + (tagString + "\n")); + args.Display.Draw2dText(tag, Color.Black, _tagPos[i], true, _size); + } + } + + protected override Bitmap Icon => Resource.BeamSection; + public override Guid ComponentGuid => new Guid("73277668-972F-4E7B-821F-FC86C6868FF3"); + + } +} diff --git a/HoaryFox/Component_v2/Tag/TagUtil.cs b/HoaryFox/Component_v2/Tag/TagUtil.cs new file mode 100644 index 00000000..5ce0bebd --- /dev/null +++ b/HoaryFox/Component_v2/Tag/TagUtil.cs @@ -0,0 +1,65 @@ +using System.Collections.Generic; +using System.Linq; +using Grasshopper.Kernel.Data; +using Grasshopper.Kernel.Types; +using Rhino.Geometry; +using STBDotNet.v202; + +namespace HoaryFox.Component_v2.Tag +{ + internal static class TagUtil + { + internal static Point3d GetTagPosition(string idStart, string idEnd, IEnumerable nodes) + { + StbNode startNode = nodes.First(node => node.id == idStart); + StbNode endNode = nodes.First(node => node.id == idEnd); + + return new Point3d( + (startNode.X + endNode.X) / 2.0, + (startNode.Y + endNode.Y) / 2.0, + (startNode.Z + endNode.Z) / 2.0 + ); + } + + internal static IEnumerable GetRcSection(object rcFigure, string strength) + { + var ghSecStrings = new GH_Structure(); + switch (rcFigure) + { + case StbSecBeam_RC_Straight figure: + ghSecStrings.Append(new GH_String("BD-" + figure.width + "x" + figure.depth + "(" + strength + ")")); + break; + case StbSecBeam_RC_Haunch figure: + ghSecStrings.Append(new GH_String(figure.pos + ": BD-" + figure.width + "x" + figure.depth + "(" + strength + ")")); + break; + case StbSecBeam_RC_Taper figure: + ghSecStrings.Append(new GH_String(figure.pos + ": BD-" + figure.width + "x" + figure.depth + "(" + strength + ")")); + break; + } + + return ghSecStrings; + } + + internal static IEnumerable GetSteelSection(object steelFigure) + { + var ghSecStrings = new GH_Structure(); + switch (steelFigure) + { + case StbSecSteelBeam_S_Haunch figure: + ghSecStrings.Append(new GH_String(figure.pos_name + ": " + figure.shape + "(" + figure.strength_main + ")")); + break; + case StbSecSteelBeam_S_FiveTypes figure: + ghSecStrings.Append(new GH_String(figure.pos_name + ": " + figure.shape + "(" + figure.strength_main + ")")); + break; + case StbSecSteelBeam_S_Taper figure: + ghSecStrings.Append(new GH_String(figure.pos_name + ": " + figure.shape + "(" + figure.strength_main + ")")); + break; + case StbSecSteelBeam_S_Straight figure: + ghSecStrings.Append(new GH_String(figure.shape + "(" + figure.strength_main + ")")); + break; + } + + return ghSecStrings; + } + } +} diff --git a/HoaryFox/HoaryFox.csproj b/HoaryFox/HoaryFox.csproj index ab67e5d6..6292254a 100644 --- a/HoaryFox/HoaryFox.csproj +++ b/HoaryFox/HoaryFox.csproj @@ -41,7 +41,8 @@ - + + @@ -57,6 +58,7 @@ + From 63c060c4985219e7053bd49562bb40d8ee79899a Mon Sep 17 00:00:00 2001 From: hiron Date: Sun, 4 Jul 2021 14:41:35 +0900 Subject: [PATCH 015/162] Add description --- HoaryFox/Component_v2/Tag/Section/BeamSecTag.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/HoaryFox/Component_v2/Tag/Section/BeamSecTag.cs b/HoaryFox/Component_v2/Tag/Section/BeamSecTag.cs index a0aad983..245c60c2 100644 --- a/HoaryFox/Component_v2/Tag/Section/BeamSecTag.cs +++ b/HoaryFox/Component_v2/Tag/Section/BeamSecTag.cs @@ -20,7 +20,7 @@ public class BeamSecTag : GH_Component public BeamSecTag() : base("Beam Section Tag", "BeamSec", - "Description", + "Display Beam Section Tag", "HoaryFox2", "Section") { } From 7889f25dd7937768016893334ce130dcf0230978 Mon Sep 17 00:00:00 2001 From: hiron Date: Sun, 4 Jul 2021 14:42:05 +0900 Subject: [PATCH 016/162] Add girder section tag --- .../Component_v2/Tag/Section/GirderSecTag.cs | 129 ++++++++++++++++++ HoaryFox/Component_v2/Tag/TagUtil.cs | 6 +- 2 files changed, 132 insertions(+), 3 deletions(-) create mode 100644 HoaryFox/Component_v2/Tag/Section/GirderSecTag.cs diff --git a/HoaryFox/Component_v2/Tag/Section/GirderSecTag.cs b/HoaryFox/Component_v2/Tag/Section/GirderSecTag.cs new file mode 100644 index 00000000..ba9ff7d3 --- /dev/null +++ b/HoaryFox/Component_v2/Tag/Section/GirderSecTag.cs @@ -0,0 +1,129 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using Grasshopper.Kernel; +using Grasshopper.Kernel.Data; +using Grasshopper.Kernel.Types; +using HoaryFox.Properties; +using Rhino.Geometry; +using STBDotNet.v202; + +namespace HoaryFox.Component_v2.Tag.Section +{ + public class GirderSecTag : GH_Component + { + private ST_BRIDGE _stBridge; + private int _size; + private GH_Structure _frameTags = new GH_Structure(); + private List _tagPos = new List(); + + public GirderSecTag() + : base("Girder Section Tag", "GirderSec", + "Display Girder Section Tag", + "HoaryFox2", "Section") + { + } + + public override void ClearData() + { + base.ClearData(); + _frameTags.Clear(); + _tagPos.Clear(); + } + + public override bool IsPreviewCapable => true; + + protected override void RegisterInputParams(GH_InputParamManager pManager) + { + pManager.AddGenericParameter("Data", "D", "input ST-Bridge file data", GH_ParamAccess.item); + pManager.AddIntegerParameter("Size", "S", "Tag size", GH_ParamAccess.item, 12); + } + + protected override void RegisterOutputParams(GH_OutputParamManager pManager) + { + pManager.AddTextParameter("SecTag", "STag", "output section tag", GH_ParamAccess.tree); + } + + protected override void SolveInstance(IGH_DataAccess DA) + { + if (!DA.GetData("Data", ref _stBridge)) { return; } + if (!DA.GetData("Size", ref _size)) { return; } + + _frameTags = GetTagStrings(_stBridge.StbModel.StbMembers.StbGirders, _stBridge.StbModel.StbSections); + _tagPos = GetTagPosition(_stBridge.StbModel.StbMembers.StbGirders, _stBridge.StbModel.StbNodes); + + DA.SetDataTree(0, _frameTags); + } + private static GH_Structure GetTagStrings(IEnumerable beams, StbSections sections) + { + var ghSecStrings = new GH_Structure(); + + foreach (var item in beams.Select((beam, index) => new { beam, index })) + { + string secId = item.beam.id_section; + var ghPath = new GH_Path(0, item.index); + StbGirderKind_structure kindStruct = item.beam.kind_structure; + + switch (kindStruct) + { + case StbGirderKind_structure.RC: + StbSecBeam_RC secRc = sections.StbSecBeam_RC.First(i => i.id == secId); + foreach (object figureObj in secRc.StbSecFigureBeam_RC.Items) + { + ghSecStrings.AppendRange(TagUtil.GetRcSection(figureObj, secRc.strength_concrete), ghPath); + } + break; + case StbGirderKind_structure.S: + StbSecBeam_S secS = sections.StbSecBeam_S.First(i => i.id == secId); + foreach (object figureObj in secS.StbSecSteelFigureBeam_S.Items) + { + ghSecStrings.AppendRange(TagUtil.GetSteelSection(figureObj), ghPath); + } + break; + case StbGirderKind_structure.SRC: + StbSecBeam_SRC secSrc = sections.StbSecBeam_SRC.First(i => i.id == secId); + foreach (object figureObj in secSrc.StbSecFigureBeam_SRC.Items) + { + ghSecStrings.AppendRange(TagUtil.GetRcSection(figureObj, secSrc.strength_concrete), ghPath); + } + foreach (object figureObj in secSrc.StbSecSteelFigureBeam_SRC.Items) + { + ghSecStrings.AppendRange(TagUtil.GetSteelSection(figureObj), ghPath); + } + break; + case StbGirderKind_structure.UNDEFINED: + break; + default: + throw new ArgumentOutOfRangeException(); + } + } + + return ghSecStrings; + } + + private static List GetTagPosition(IEnumerable girders, IEnumerable nodes) + { + return girders.Select(girder => TagUtil.GetTagPosition(girder.id_node_start, girder.id_node_end, nodes)).ToList(); + } + + public override void DrawViewportWires(IGH_PreviewArgs args) + { + if (_frameTags.DataCount == 0) + { + return; + } + + for (var i = 0; i < _frameTags.PathCount; i++) + { + List tags = _frameTags.Branches[i]; + string tag = tags.Aggregate(string.Empty, (current, tagString) => current + (tagString + "\n")); + args.Display.Draw2dText(tag, Color.Black, _tagPos[i], true, _size); + } + } + + protected override Bitmap Icon => Resource.GirderSection; + public override Guid ComponentGuid => new Guid("6E1E7529-826B-4214-9C63-B77AF0715009"); + + } +} diff --git a/HoaryFox/Component_v2/Tag/TagUtil.cs b/HoaryFox/Component_v2/Tag/TagUtil.cs index 5ce0bebd..d8d3a9e2 100644 --- a/HoaryFox/Component_v2/Tag/TagUtil.cs +++ b/HoaryFox/Component_v2/Tag/TagUtil.cs @@ -46,13 +46,13 @@ internal static IEnumerable GetSteelSection(object steelFigure) switch (steelFigure) { case StbSecSteelBeam_S_Haunch figure: - ghSecStrings.Append(new GH_String(figure.pos_name + ": " + figure.shape + "(" + figure.strength_main + ")")); + ghSecStrings.Append(new GH_String(figure.pos + ":" + figure.shape + "(" + figure.strength_main + ")")); break; case StbSecSteelBeam_S_FiveTypes figure: - ghSecStrings.Append(new GH_String(figure.pos_name + ": " + figure.shape + "(" + figure.strength_main + ")")); + ghSecStrings.Append(new GH_String(figure.pos + ":" + figure.shape + "(" + figure.strength_main + ")")); break; case StbSecSteelBeam_S_Taper figure: - ghSecStrings.Append(new GH_String(figure.pos_name + ": " + figure.shape + "(" + figure.strength_main + ")")); + ghSecStrings.Append(new GH_String(figure.pos + ":" + figure.shape + "(" + figure.strength_main + ")")); break; case StbSecSteelBeam_S_Straight figure: ghSecStrings.Append(new GH_String(figure.shape + "(" + figure.strength_main + ")")); From 869a505fb8f6768d22d3c27c856d90bded3ef218 Mon Sep 17 00:00:00 2001 From: hiron Date: Sun, 4 Jul 2021 15:18:00 +0900 Subject: [PATCH 017/162] Add ColumnSecTag --- .../Component_v2/Tag/Section/BeamSecTag.cs | 8 +- .../Component_v2/Tag/Section/ColumnSecTag.cs | 124 ++++++++++++++++++ .../Component_v2/Tag/Section/GirderSecTag.cs | 8 +- HoaryFox/Component_v2/Tag/TagUtil.cs | 39 +++++- HoaryFox/HoaryFox.csproj | 1 + 5 files changed, 170 insertions(+), 10 deletions(-) create mode 100644 HoaryFox/Component_v2/Tag/Section/ColumnSecTag.cs diff --git a/HoaryFox/Component_v2/Tag/Section/BeamSecTag.cs b/HoaryFox/Component_v2/Tag/Section/BeamSecTag.cs index 245c60c2..c943836f 100644 --- a/HoaryFox/Component_v2/Tag/Section/BeamSecTag.cs +++ b/HoaryFox/Component_v2/Tag/Section/BeamSecTag.cs @@ -71,25 +71,25 @@ private static GH_Structure GetTagStrings(IEnumerable beams, StbSecBeam_RC secRc = sections.StbSecBeam_RC.First(i => i.id == secId); foreach (object figureObj in secRc.StbSecFigureBeam_RC.Items) { - ghSecStrings.AppendRange(TagUtil.GetRcSection(figureObj, secRc.strength_concrete), ghPath); + ghSecStrings.AppendRange(TagUtil.GetBeamRcSection(figureObj, secRc.strength_concrete), ghPath); } break; case StbGirderKind_structure.S: StbSecBeam_S secS = sections.StbSecBeam_S.First(i => i.id == secId); foreach (object figureObj in secS.StbSecSteelFigureBeam_S.Items) { - ghSecStrings.AppendRange(TagUtil.GetSteelSection(figureObj), ghPath); + ghSecStrings.AppendRange(TagUtil.GetBeamSSection(figureObj), ghPath); } break; case StbGirderKind_structure.SRC: StbSecBeam_SRC secSrc = sections.StbSecBeam_SRC.First(i => i.id == secId); foreach (object figureObj in secSrc.StbSecFigureBeam_SRC.Items) { - ghSecStrings.AppendRange(TagUtil.GetRcSection(figureObj, secSrc.strength_concrete), ghPath); + ghSecStrings.AppendRange(TagUtil.GetBeamRcSection(figureObj, secSrc.strength_concrete), ghPath); } foreach (object figureObj in secSrc.StbSecSteelFigureBeam_SRC.Items) { - ghSecStrings.AppendRange(TagUtil.GetSteelSection(figureObj), ghPath); + ghSecStrings.AppendRange(TagUtil.GetBeamSSection(figureObj), ghPath); } break; case StbGirderKind_structure.UNDEFINED: diff --git a/HoaryFox/Component_v2/Tag/Section/ColumnSecTag.cs b/HoaryFox/Component_v2/Tag/Section/ColumnSecTag.cs new file mode 100644 index 00000000..8674183d --- /dev/null +++ b/HoaryFox/Component_v2/Tag/Section/ColumnSecTag.cs @@ -0,0 +1,124 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using Grasshopper.Kernel; +using Grasshopper.Kernel.Data; +using Grasshopper.Kernel.Types; +using HoaryFox.Properties; +using Rhino.Geometry; +using STBDotNet.v202; + +namespace HoaryFox.Component_v2.Tag.Section +{ + public class ColumnSecTag : GH_Component + { + private ST_BRIDGE _stBridge; + private int _size; + private GH_Structure _frameTags = new GH_Structure(); + private List _tagPos = new List(); + + public ColumnSecTag() + : base("Column Section Tag", "ColumnSec", + "Display Column Section Tag", + "HoaryFox2", "Section") + { + } + + public override void ClearData() + { + base.ClearData(); + _frameTags.Clear(); + _tagPos.Clear(); + } + + public override bool IsPreviewCapable => true; + + protected override void RegisterInputParams(GH_InputParamManager pManager) + { + pManager.AddGenericParameter("Data", "D", "input ST-Bridge file data", GH_ParamAccess.item); + pManager.AddIntegerParameter("Size", "S", "Tag size", GH_ParamAccess.item, 12); + } + + protected override void RegisterOutputParams(GH_OutputParamManager pManager) + { + pManager.AddTextParameter("SecTag", "STag", "output section tag", GH_ParamAccess.tree); + } + + protected override void SolveInstance(IGH_DataAccess DA) + { + if (!DA.GetData("Data", ref _stBridge)) { return; } + if (!DA.GetData("Size", ref _size)) { return; } + + _frameTags = GetTagStrings(_stBridge.StbModel.StbMembers.StbColumns, _stBridge.StbModel.StbSections); + _tagPos = GetTagPosition(_stBridge.StbModel.StbMembers.StbColumns, _stBridge.StbModel.StbNodes); + + DA.SetDataTree(0, _frameTags); + } + private static GH_Structure GetTagStrings(IEnumerable columns, StbSections sections) + { + var ghSecStrings = new GH_Structure(); + + foreach (var item in columns.Select((beam, index) => new { column = beam, index })) + { + string secId = item.column.id_section; + var ghPath = new GH_Path(0, item.index); + StbColumnKind_structure kindStruct = item.column.kind_structure; + + switch (kindStruct) + { + case StbColumnKind_structure.RC: + StbSecColumn_RC secRc = sections.StbSecColumn_RC.First(i => i.id == secId); + ghSecStrings.AppendRange(TagUtil.GetColumnRcSection(secRc.StbSecFigureColumn_RC.Item, secRc.strength_concrete), ghPath); + break; + case StbColumnKind_structure.S: + StbSecColumn_S secS = sections.StbSecColumn_S.First(i => i.id == secId); + foreach (object figureObj in secS.StbSecSteelFigureColumn_S.Items) + { + ghSecStrings.AppendRange(TagUtil.GetColumnSSection(figureObj), ghPath); + } + break; + case StbColumnKind_structure.SRC: + StbSecColumn_SRC secSrc = sections.StbSecColumn_SRC.First(i => i.id == secId); + ghSecStrings.AppendRange(TagUtil.GetColumnRcSection(secSrc.StbSecFigureColumn_SRC.Item, secSrc.strength_concrete), ghPath); + foreach (object figureObj in secSrc.StbSecSteelFigureColumn_SRC.Items) + { + ghSecStrings.AppendRange(TagUtil.GetColumnSSection(figureObj), ghPath); + } + break; + case StbColumnKind_structure.CFT: + case StbColumnKind_structure.UNDEFINED: + throw new ArgumentException("Unsupported section type."); + default: + throw new ArgumentOutOfRangeException(); + } + } + + return ghSecStrings; + } + + private static List GetTagPosition(IEnumerable columns, IEnumerable nodes) + { + return columns.Select(beam => TagUtil.GetTagPosition(beam.id_node_bottom, beam.id_node_top, nodes)).ToList(); + } + + public override void DrawViewportWires(IGH_PreviewArgs args) + { + if (_frameTags.DataCount == 0) + { + return; + } + + for (var i = 0; i < _frameTags.PathCount; i++) + { + List tags = _frameTags.Branches[i]; + string tag = tags.Aggregate(string.Empty, (current, tagString) => current + (tagString + "\n")); + args.Display.Draw2dText(tag, Color.Black, _tagPos[i], true, _size); + } + } + + protected override Bitmap Icon => Resource.ColumnSection; + public override Guid ComponentGuid => new Guid("BCF4A288-DA26-4F28-A919-CB9FD1FCF3B1"); + + } +} diff --git a/HoaryFox/Component_v2/Tag/Section/GirderSecTag.cs b/HoaryFox/Component_v2/Tag/Section/GirderSecTag.cs index ba9ff7d3..bf34ae25 100644 --- a/HoaryFox/Component_v2/Tag/Section/GirderSecTag.cs +++ b/HoaryFox/Component_v2/Tag/Section/GirderSecTag.cs @@ -71,25 +71,25 @@ private static GH_Structure GetTagStrings(IEnumerable beam StbSecBeam_RC secRc = sections.StbSecBeam_RC.First(i => i.id == secId); foreach (object figureObj in secRc.StbSecFigureBeam_RC.Items) { - ghSecStrings.AppendRange(TagUtil.GetRcSection(figureObj, secRc.strength_concrete), ghPath); + ghSecStrings.AppendRange(TagUtil.GetBeamRcSection(figureObj, secRc.strength_concrete), ghPath); } break; case StbGirderKind_structure.S: StbSecBeam_S secS = sections.StbSecBeam_S.First(i => i.id == secId); foreach (object figureObj in secS.StbSecSteelFigureBeam_S.Items) { - ghSecStrings.AppendRange(TagUtil.GetSteelSection(figureObj), ghPath); + ghSecStrings.AppendRange(TagUtil.GetBeamSSection(figureObj), ghPath); } break; case StbGirderKind_structure.SRC: StbSecBeam_SRC secSrc = sections.StbSecBeam_SRC.First(i => i.id == secId); foreach (object figureObj in secSrc.StbSecFigureBeam_SRC.Items) { - ghSecStrings.AppendRange(TagUtil.GetRcSection(figureObj, secSrc.strength_concrete), ghPath); + ghSecStrings.AppendRange(TagUtil.GetBeamRcSection(figureObj, secSrc.strength_concrete), ghPath); } foreach (object figureObj in secSrc.StbSecSteelFigureBeam_SRC.Items) { - ghSecStrings.AppendRange(TagUtil.GetSteelSection(figureObj), ghPath); + ghSecStrings.AppendRange(TagUtil.GetBeamSSection(figureObj), ghPath); } break; case StbGirderKind_structure.UNDEFINED: diff --git a/HoaryFox/Component_v2/Tag/TagUtil.cs b/HoaryFox/Component_v2/Tag/TagUtil.cs index d8d3a9e2..916133ff 100644 --- a/HoaryFox/Component_v2/Tag/TagUtil.cs +++ b/HoaryFox/Component_v2/Tag/TagUtil.cs @@ -21,7 +21,7 @@ internal static Point3d GetTagPosition(string idStart, string idEnd, IEnumerable ); } - internal static IEnumerable GetRcSection(object rcFigure, string strength) + internal static IEnumerable GetBeamRcSection(object rcFigure, string strength) { var ghSecStrings = new GH_Structure(); switch (rcFigure) @@ -40,7 +40,23 @@ internal static IEnumerable GetRcSection(object rcFigure, string stre return ghSecStrings; } - internal static IEnumerable GetSteelSection(object steelFigure) + internal static IEnumerable GetColumnRcSection(object rcFigure, string strength) + { + var ghSecStrings = new GH_Structure(); + switch (rcFigure) + { + case StbSecColumn_RC_Rect figure: + ghSecStrings.Append(new GH_String("CD-" + figure.width_X + "x" + figure.width_Y + "(" + strength + ")")); + break; + case StbSecColumn_RC_Circle figure: + ghSecStrings.Append(new GH_String("P-" + figure.D + "(" + strength + ")")); + break; + } + + return ghSecStrings; + } + + internal static IEnumerable GetBeamSSection(object steelFigure) { var ghSecStrings = new GH_Structure(); switch (steelFigure) @@ -61,5 +77,24 @@ internal static IEnumerable GetSteelSection(object steelFigure) return ghSecStrings; } + + internal static IEnumerable GetColumnSSection(object steelFigure) + { + var ghSecStrings = new GH_Structure(); + switch (steelFigure) + { + case StbSecSteelColumn_S_Same figure: + ghSecStrings.Append(new GH_String(figure.shape + "(" + figure.strength_main + ")")); + break; + case StbSecSteelColumn_S_NotSame figure: + ghSecStrings.Append(new GH_String(figure.pos + ":" + figure.shape + "(" + figure.strength_main + ")")); + break; + case StbSecSteelColumn_S_ThreeTypes figure: + ghSecStrings.Append(new GH_String(figure.pos + ":" + figure.shape + "(" + figure.strength_main + ")")); + break; + } + + return ghSecStrings; + } } } diff --git a/HoaryFox/HoaryFox.csproj b/HoaryFox/HoaryFox.csproj index 6292254a..a8c3b7ab 100644 --- a/HoaryFox/HoaryFox.csproj +++ b/HoaryFox/HoaryFox.csproj @@ -41,6 +41,7 @@ + From d07dbefeb0d030eb74ab6325ff3ea4d311ac1414 Mon Sep 17 00:00:00 2001 From: hiron Date: Sun, 4 Jul 2021 15:24:11 +0900 Subject: [PATCH 018/162] Add PostSecTag --- .../Component_v2/Tag/Section/ColumnSecTag.cs | 2 +- .../Component_v2/Tag/Section/PostSecTag.cs | 124 ++++++++++++++++++ HoaryFox/HoaryFox.csproj | 1 + 3 files changed, 126 insertions(+), 1 deletion(-) create mode 100644 HoaryFox/Component_v2/Tag/Section/PostSecTag.cs diff --git a/HoaryFox/Component_v2/Tag/Section/ColumnSecTag.cs b/HoaryFox/Component_v2/Tag/Section/ColumnSecTag.cs index 8674183d..fda766ad 100644 --- a/HoaryFox/Component_v2/Tag/Section/ColumnSecTag.cs +++ b/HoaryFox/Component_v2/Tag/Section/ColumnSecTag.cs @@ -59,7 +59,7 @@ private static GH_Structure GetTagStrings(IEnumerable colu { var ghSecStrings = new GH_Structure(); - foreach (var item in columns.Select((beam, index) => new { column = beam, index })) + foreach (var item in columns.Select((column, index) => new { column, index })) { string secId = item.column.id_section; var ghPath = new GH_Path(0, item.index); diff --git a/HoaryFox/Component_v2/Tag/Section/PostSecTag.cs b/HoaryFox/Component_v2/Tag/Section/PostSecTag.cs new file mode 100644 index 00000000..e1e83610 --- /dev/null +++ b/HoaryFox/Component_v2/Tag/Section/PostSecTag.cs @@ -0,0 +1,124 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using Grasshopper.Kernel; +using Grasshopper.Kernel.Data; +using Grasshopper.Kernel.Types; +using HoaryFox.Properties; +using Rhino.Geometry; +using STBDotNet.v202; + +namespace HoaryFox.Component_v2.Tag.Section +{ + public class PostSecTag : GH_Component + { + private ST_BRIDGE _stBridge; + private int _size; + private GH_Structure _frameTags = new GH_Structure(); + private List _tagPos = new List(); + + public PostSecTag() + : base("Post Section Tag", "PostSec", + "Display Post Section Tag", + "HoaryFox2", "Section") + { + } + + public override void ClearData() + { + base.ClearData(); + _frameTags.Clear(); + _tagPos.Clear(); + } + + public override bool IsPreviewCapable => true; + + protected override void RegisterInputParams(GH_InputParamManager pManager) + { + pManager.AddGenericParameter("Data", "D", "input ST-Bridge file data", GH_ParamAccess.item); + pManager.AddIntegerParameter("Size", "S", "Tag size", GH_ParamAccess.item, 12); + } + + protected override void RegisterOutputParams(GH_OutputParamManager pManager) + { + pManager.AddTextParameter("SecTag", "STag", "output section tag", GH_ParamAccess.tree); + } + + protected override void SolveInstance(IGH_DataAccess DA) + { + if (!DA.GetData("Data", ref _stBridge)) { return; } + if (!DA.GetData("Size", ref _size)) { return; } + + _frameTags = GetTagStrings(_stBridge.StbModel.StbMembers.StbPosts, _stBridge.StbModel.StbSections); + _tagPos = GetTagPosition(_stBridge.StbModel.StbMembers.StbPosts, _stBridge.StbModel.StbNodes); + + DA.SetDataTree(0, _frameTags); + } + private static GH_Structure GetTagStrings(IEnumerable columns, StbSections sections) + { + var ghSecStrings = new GH_Structure(); + + foreach (var item in columns.Select((column, index) => new {column, index })) + { + string secId = item.column.id_section; + var ghPath = new GH_Path(0, item.index); + StbColumnKind_structure kindStruct = item.column.kind_structure; + + switch (kindStruct) + { + case StbColumnKind_structure.RC: + StbSecColumn_RC secRc = sections.StbSecColumn_RC.First(i => i.id == secId); + ghSecStrings.AppendRange(TagUtil.GetColumnRcSection(secRc.StbSecFigureColumn_RC.Item, secRc.strength_concrete), ghPath); + break; + case StbColumnKind_structure.S: + StbSecColumn_S secS = sections.StbSecColumn_S.First(i => i.id == secId); + foreach (object figureObj in secS.StbSecSteelFigureColumn_S.Items) + { + ghSecStrings.AppendRange(TagUtil.GetColumnSSection(figureObj), ghPath); + } + break; + case StbColumnKind_structure.SRC: + StbSecColumn_SRC secSrc = sections.StbSecColumn_SRC.First(i => i.id == secId); + ghSecStrings.AppendRange(TagUtil.GetColumnRcSection(secSrc.StbSecFigureColumn_SRC.Item, secSrc.strength_concrete), ghPath); + foreach (object figureObj in secSrc.StbSecSteelFigureColumn_SRC.Items) + { + ghSecStrings.AppendRange(TagUtil.GetColumnSSection(figureObj), ghPath); + } + break; + case StbColumnKind_structure.CFT: + case StbColumnKind_structure.UNDEFINED: + throw new ArgumentException("Unsupported section type."); + default: + throw new ArgumentOutOfRangeException(); + } + } + + return ghSecStrings; + } + + private static List GetTagPosition(IEnumerable columns, IEnumerable nodes) + { + return columns.Select(beam => TagUtil.GetTagPosition(beam.id_node_bottom, beam.id_node_top, nodes)).ToList(); + } + + public override void DrawViewportWires(IGH_PreviewArgs args) + { + if (_frameTags.DataCount == 0) + { + return; + } + + for (var i = 0; i < _frameTags.PathCount; i++) + { + List tags = _frameTags.Branches[i]; + string tag = tags.Aggregate(string.Empty, (current, tagString) => current + (tagString + "\n")); + args.Display.Draw2dText(tag, Color.Black, _tagPos[i], true, _size); + } + } + + protected override Bitmap Icon => Resource.PostSection; + public override Guid ComponentGuid => new Guid("B0C5FFF4-B510-4A0F-B441-C0B3144BF757"); + + } +} diff --git a/HoaryFox/HoaryFox.csproj b/HoaryFox/HoaryFox.csproj index a8c3b7ab..ec84c18d 100644 --- a/HoaryFox/HoaryFox.csproj +++ b/HoaryFox/HoaryFox.csproj @@ -41,6 +41,7 @@ + From a8d3d2ce5f6877f48f41533f7b2d462e8bd5834a Mon Sep 17 00:00:00 2001 From: hiron Date: Sun, 4 Jul 2021 15:39:00 +0900 Subject: [PATCH 019/162] Add BraceSecTag --- .../Component_v2/Tag/Section/BraceSecTag.cs | 112 ++++++++++++++++++ HoaryFox/Component_v2/Tag/TagUtil.cs | 19 +++ HoaryFox/HoaryFox.csproj | 1 + 3 files changed, 132 insertions(+) create mode 100644 HoaryFox/Component_v2/Tag/Section/BraceSecTag.cs diff --git a/HoaryFox/Component_v2/Tag/Section/BraceSecTag.cs b/HoaryFox/Component_v2/Tag/Section/BraceSecTag.cs new file mode 100644 index 00000000..fd9857a7 --- /dev/null +++ b/HoaryFox/Component_v2/Tag/Section/BraceSecTag.cs @@ -0,0 +1,112 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using Grasshopper.Kernel; +using Grasshopper.Kernel.Data; +using Grasshopper.Kernel.Types; +using HoaryFox.Properties; +using Rhino.Geometry; +using STBDotNet.v202; + +namespace HoaryFox.Component_v2.Tag.Section +{ + public class BraceSecTag : GH_Component + { + private ST_BRIDGE _stBridge; + private int _size; + private GH_Structure _frameTags = new GH_Structure(); + private List _tagPos = new List(); + + public BraceSecTag() + : base("Brace Section Tag", "BraceSec", + "Display Brace Section Tag", + "HoaryFox2", "Section") + { + } + + public override void ClearData() + { + base.ClearData(); + _frameTags.Clear(); + _tagPos.Clear(); + } + + public override bool IsPreviewCapable => true; + + protected override void RegisterInputParams(GH_InputParamManager pManager) + { + pManager.AddGenericParameter("Data", "D", "input ST-Bridge file data", GH_ParamAccess.item); + pManager.AddIntegerParameter("Size", "S", "Tag size", GH_ParamAccess.item, 12); + } + + protected override void RegisterOutputParams(GH_OutputParamManager pManager) + { + pManager.AddTextParameter("SecTag", "STag", "output section tag", GH_ParamAccess.tree); + } + + protected override void SolveInstance(IGH_DataAccess DA) + { + if (!DA.GetData("Data", ref _stBridge)) { return; } + if (!DA.GetData("Size", ref _size)) { return; } + + _frameTags = GetTagStrings(_stBridge.StbModel.StbMembers.StbBraces, _stBridge.StbModel.StbSections); + _tagPos = GetTagPosition(_stBridge.StbModel.StbMembers.StbBraces, _stBridge.StbModel.StbNodes); + + DA.SetDataTree(0, _frameTags); + } + private static GH_Structure GetTagStrings(IEnumerable beams, StbSections sections) + { + var ghSecStrings = new GH_Structure(); + + foreach (var item in beams.Select((brace, index) => new {brace, index })) + { + string secId = item.brace.id_section; + var ghPath = new GH_Path(0, item.index); + StbBraceKind_structure kindStruct = item.brace.kind_structure; + + switch (kindStruct) + { + case StbBraceKind_structure.S: + StbSecBrace_S secS = sections.StbSecBrace_S.First(i => i.id == secId); + foreach (object figureObj in secS.StbSecSteelFigureBrace_S.Items) + { + ghSecStrings.AppendRange(TagUtil.GetBraceSSection(figureObj), ghPath); + } + break; + case StbBraceKind_structure.RC: + case StbBraceKind_structure.SRC: + throw new ArgumentException("Unsupported section type."); + default: + throw new ArgumentOutOfRangeException(); + } + } + + return ghSecStrings; + } + + private static List GetTagPosition(IEnumerable beams, IEnumerable nodes) + { + return beams.Select(beam => TagUtil.GetTagPosition(beam.id_node_start, beam.id_node_end, nodes)).ToList(); + } + + public override void DrawViewportWires(IGH_PreviewArgs args) + { + if (_frameTags.DataCount == 0) + { + return; + } + + for (var i = 0; i < _frameTags.PathCount; i++) + { + List tags = _frameTags.Branches[i]; + string tag = tags.Aggregate(string.Empty, (current, tagString) => current + (tagString + "\n")); + args.Display.Draw2dText(tag, Color.Black, _tagPos[i], true, _size); + } + } + + protected override Bitmap Icon => Resource.BraceSection; + public override Guid ComponentGuid => new Guid("86763C20-7C6C-4D8C-9AFF-CC4380127991"); + + } +} diff --git a/HoaryFox/Component_v2/Tag/TagUtil.cs b/HoaryFox/Component_v2/Tag/TagUtil.cs index 916133ff..a204a43e 100644 --- a/HoaryFox/Component_v2/Tag/TagUtil.cs +++ b/HoaryFox/Component_v2/Tag/TagUtil.cs @@ -78,6 +78,25 @@ internal static IEnumerable GetBeamSSection(object steelFigure) return ghSecStrings; } + internal static IEnumerable GetBraceSSection(object steelFigure) + { + var ghSecStrings = new GH_Structure(); + switch (steelFigure) + { + case StbSecSteelBrace_S_Same figure: + ghSecStrings.Append(new GH_String(figure.shape + "(" + figure.strength_main + ")")); + break; + case StbSecSteelBrace_S_NotSame figure: + ghSecStrings.Append(new GH_String(figure.pos + ":" + figure.shape + "(" + figure.strength_main + ")")); + break; + case StbSecSteelBrace_S_ThreeTypes figure: + ghSecStrings.Append(new GH_String(figure.pos + ":" + figure.shape + "(" + figure.strength_main + ")")); + break; + } + + return ghSecStrings; + } + internal static IEnumerable GetColumnSSection(object steelFigure) { var ghSecStrings = new GH_Structure(); diff --git a/HoaryFox/HoaryFox.csproj b/HoaryFox/HoaryFox.csproj index ec84c18d..c342d582 100644 --- a/HoaryFox/HoaryFox.csproj +++ b/HoaryFox/HoaryFox.csproj @@ -41,6 +41,7 @@ + From d4c5ce1aee32df22a0b2af3ec1da0d73b6b594b1 Mon Sep 17 00:00:00 2001 From: hiron Date: Mon, 5 Jul 2021 21:50:16 +0900 Subject: [PATCH 020/162] Apply dotnet format --- HoaryFox/Component_v2/Tag/Section/BraceSecTag.cs | 2 +- HoaryFox/Component_v2/Tag/Section/PostSecTag.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/HoaryFox/Component_v2/Tag/Section/BraceSecTag.cs b/HoaryFox/Component_v2/Tag/Section/BraceSecTag.cs index fd9857a7..4d6c6907 100644 --- a/HoaryFox/Component_v2/Tag/Section/BraceSecTag.cs +++ b/HoaryFox/Component_v2/Tag/Section/BraceSecTag.cs @@ -59,7 +59,7 @@ private static GH_Structure GetTagStrings(IEnumerable beams { var ghSecStrings = new GH_Structure(); - foreach (var item in beams.Select((brace, index) => new {brace, index })) + foreach (var item in beams.Select((brace, index) => new { brace, index })) { string secId = item.brace.id_section; var ghPath = new GH_Path(0, item.index); diff --git a/HoaryFox/Component_v2/Tag/Section/PostSecTag.cs b/HoaryFox/Component_v2/Tag/Section/PostSecTag.cs index e1e83610..906bd42b 100644 --- a/HoaryFox/Component_v2/Tag/Section/PostSecTag.cs +++ b/HoaryFox/Component_v2/Tag/Section/PostSecTag.cs @@ -59,7 +59,7 @@ private static GH_Structure GetTagStrings(IEnumerable column { var ghSecStrings = new GH_Structure(); - foreach (var item in columns.Select((column, index) => new {column, index })) + foreach (var item in columns.Select((column, index) => new { column, index })) { string secId = item.column.id_section; var ghPath = new GH_Path(0, item.index); From f1c3edcf6701098d2470dc54136af1c7bf225e79 Mon Sep 17 00:00:00 2001 From: hiron Date: Mon, 5 Jul 2021 22:00:07 +0900 Subject: [PATCH 021/162] Add Stb2Line v2 --- HoaryFox/Component_v2/Geometry/Stb2Line.cs | 85 ++++++++++++++ .../Utils/Geometry/CreateLineFromStb.cs | 108 ++++++++++++++++++ HoaryFox/HoaryFox.csproj | 2 + 3 files changed, 195 insertions(+) create mode 100644 HoaryFox/Component_v2/Geometry/Stb2Line.cs create mode 100644 HoaryFox/Component_v2/Utils/Geometry/CreateLineFromStb.cs diff --git a/HoaryFox/Component_v2/Geometry/Stb2Line.cs b/HoaryFox/Component_v2/Geometry/Stb2Line.cs new file mode 100644 index 00000000..5592069c --- /dev/null +++ b/HoaryFox/Component_v2/Geometry/Stb2Line.cs @@ -0,0 +1,85 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using Grasshopper.Kernel; +using HoaryFox.Component_v2.Utils.Geometry; +using Rhino.Geometry; +using STBDotNet.v202; + +namespace HoaryFox.Component_v2.Geometry +{ + public class Stb2Line : GH_Component + { + private ST_BRIDGE _stBridge; + private List _nodes = new List(); + private readonly List> _lineList = new List>(); + + public Stb2Line() + : base("Stb to Line", "S2L", + "Display ST-Bridge model in line", + "HoaryFox2", "Geometry") + { + } + + public override void ClearData() + { + base.ClearData(); + _lineList.Clear(); + } + + protected override void RegisterInputParams(GH_InputParamManager pManager) + { + pManager.AddGenericParameter("Data", "D", "input ST-Bridge Data", GH_ParamAccess.item); + pManager.AddBooleanParameter("Bake", "Bake", "If it true, bake geometry.", GH_ParamAccess.item, false); + } + + protected override void RegisterOutputParams(GH_OutputParamManager pManager) + { + pManager.AddPointParameter("Nodes", "pt", "output StbNodes to point3d", GH_ParamAccess.list); + pManager.AddLineParameter("Columns", "Col", "output StbColumns to Line", GH_ParamAccess.list); + pManager.AddLineParameter("Girders", "Gird", "output StbGirders to Line", GH_ParamAccess.list); + pManager.AddLineParameter("Posts", "Pst", "output StbPosts to Line", GH_ParamAccess.list); + pManager.AddLineParameter("Beams", "Beam", "output StbBeams to Line", GH_ParamAccess.list); + pManager.AddLineParameter("Braces", "Brc", "output StbBraces to Line", GH_ParamAccess.list); + } + + protected override void SolveInstance(IGH_DataAccess DA) + { + var isBake = false; + if (!DA.GetData("Data", ref _stBridge)) { return; } + if (!DA.GetData("Bake", ref isBake)) { return; } + + CreateLine(); + if (isBake) + { + BakeLine(); + } + + DA.SetDataList(0, _nodes); + foreach ((List geometry, int i) in _lineList.Select((geo, index) => (geo, index + 1))) + { + DA.SetDataList(i, geometry); + } + } + + private void BakeLine() + { + throw new NotImplementedException(); + } + + private void CreateLine() + { + var createLines = new CreateLineFromStb(_stBridge); + _nodes = createLines.Nodes(); + _lineList.Add(createLines.Columns()); + _lineList.Add(createLines.Girders()); + _lineList.Add(createLines.Posts()); + _lineList.Add(createLines.Beams()); + _lineList.Add(createLines.Braces()); + } + + protected override Bitmap Icon => Properties.Resource.Line; + public override Guid ComponentGuid => new Guid("FDC62C6D-7C03-412D-8FF8-B76439197730"); + } +} diff --git a/HoaryFox/Component_v2/Utils/Geometry/CreateLineFromStb.cs b/HoaryFox/Component_v2/Utils/Geometry/CreateLineFromStb.cs new file mode 100644 index 00000000..1c2ddc6e --- /dev/null +++ b/HoaryFox/Component_v2/Utils/Geometry/CreateLineFromStb.cs @@ -0,0 +1,108 @@ +using System.Collections.Generic; +using System.Linq; +using Rhino.Geometry; +using STBDotNet.v202; + +namespace HoaryFox.Component_v2.Utils.Geometry +{ + public class CreateLineFromStb + { + private readonly ST_BRIDGE _stBridge; + private readonly StbNode[] _nodes; + + public CreateLineFromStb(ST_BRIDGE stBridge) + { + _stBridge = stBridge; + _nodes = stBridge.StbModel.StbNodes; + } + + public List Nodes() + { + return _nodes.Select(node => new Point3d(node.X, node.Y, node.Z)).ToList(); + } + + public List Columns() + { + var lines = new List(); + + foreach (StbColumn column in _stBridge.StbModel.StbMembers.StbColumns) + { + StbNode nodeBottom = _nodes.First(node => node.id == column.id_node_bottom); + StbNode nodeTop = _nodes.First(node => node.id == column.id_node_top); + + lines.Add(LineFromStbNode(nodeBottom, nodeTop)); + } + + return lines; + } + + public List Girders() + { + var lines = new List(); + + foreach (StbGirder girder in _stBridge.StbModel.StbMembers.StbGirders) + { + StbNode nodeStart = _nodes.First(node => node.id == girder.id_node_start); + StbNode nodeEnd = _nodes.First(node => node.id == girder.id_node_end); + + lines.Add(LineFromStbNode(nodeStart, nodeEnd)); + } + + return lines; + } + + public List Posts() + { + var lines = new List(); + + foreach (StbPost post in _stBridge.StbModel.StbMembers.StbPosts) + { + StbNode nodeBottom = _nodes.First(node => node.id == post.id_node_bottom); + StbNode nodeTop = _nodes.First(node => node.id == post.id_node_top); + + lines.Add(LineFromStbNode(nodeBottom, nodeTop)); + } + + return lines; + } + + public List Beams() + { + var lines = new List(); + + foreach (StbBeam beam in _stBridge.StbModel.StbMembers.StbBeams) + { + StbNode nodeStart = _nodes.First(node => node.id == beam.id_node_start); + StbNode nodeEnd = _nodes.First(node => node.id == beam.id_node_end); + + lines.Add(LineFromStbNode(nodeStart, nodeEnd)); + } + + return lines; + } + + public List Braces() + { + var lines = new List(); + + foreach (StbBrace brace in _stBridge.StbModel.StbMembers.StbBraces) + { + StbNode nodeStart = _nodes.First(node => node.id == brace.id_node_start); + StbNode nodeEnd = _nodes.First(node => node.id == brace.id_node_end); + + lines.Add(LineFromStbNode(nodeStart, nodeEnd)); + } + + return lines; + } + + private static Line LineFromStbNode(StbNode from, StbNode to) + { + var ptFrom = new Point3d(from.X, from.Y, from.Z); + var ptTo = new Point3d(to.X, to.Y, to.Z); + + return new Line(ptFrom, ptTo); + } + + } +} diff --git a/HoaryFox/HoaryFox.csproj b/HoaryFox/HoaryFox.csproj index c342d582..27d467d8 100644 --- a/HoaryFox/HoaryFox.csproj +++ b/HoaryFox/HoaryFox.csproj @@ -35,6 +35,8 @@ 4 + + From 088e256ad289b0951de51cf35809d6b707b76d18 Mon Sep 17 00:00:00 2001 From: hiron Date: Mon, 5 Jul 2021 22:18:11 +0900 Subject: [PATCH 022/162] Move TagUtils to Util directory --- HoaryFox/Component_v2/Tag/Name/BeamNameTag.cs | 3 ++- HoaryFox/Component_v2/Tag/Name/BraceNameTag.cs | 3 ++- HoaryFox/Component_v2/Tag/Name/ColumnNameTag.cs | 3 ++- HoaryFox/Component_v2/Tag/Name/GirderNameTag.cs | 3 ++- HoaryFox/Component_v2/Tag/Name/PostNameTag.cs | 3 ++- HoaryFox/Component_v2/Tag/Section/BeamSecTag.cs | 11 ++++++----- HoaryFox/Component_v2/Tag/Section/BraceSecTag.cs | 5 +++-- HoaryFox/Component_v2/Tag/Section/ColumnSecTag.cs | 11 ++++++----- HoaryFox/Component_v2/Tag/Section/GirderSecTag.cs | 11 ++++++----- HoaryFox/Component_v2/Tag/Section/PostSecTag.cs | 11 ++++++----- .../{Tag/TagUtil.cs => Utils/TagUtils.cs} | 4 ++-- 11 files changed, 39 insertions(+), 29 deletions(-) rename HoaryFox/Component_v2/{Tag/TagUtil.cs => Utils/TagUtils.cs} (98%) diff --git a/HoaryFox/Component_v2/Tag/Name/BeamNameTag.cs b/HoaryFox/Component_v2/Tag/Name/BeamNameTag.cs index c9397b7f..2ec00293 100644 --- a/HoaryFox/Component_v2/Tag/Name/BeamNameTag.cs +++ b/HoaryFox/Component_v2/Tag/Name/BeamNameTag.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Drawing; using Grasshopper.Kernel; +using HoaryFox.Component_v2.Utils; using Rhino.Geometry; using STBDotNet.v202; @@ -54,7 +55,7 @@ protected override void SolveInstance(IGH_DataAccess DA) string idNodeStart = beam.id_node_start; string idNodeEnd = beam.id_node_end; - _framePos.Add(TagUtil.GetTagPosition(idNodeStart, idNodeEnd, nodes)); + _framePos.Add(TagUtils.GetTagPosition(idNodeStart, idNodeEnd, nodes)); } DA.SetDataList(0, _frameName); } diff --git a/HoaryFox/Component_v2/Tag/Name/BraceNameTag.cs b/HoaryFox/Component_v2/Tag/Name/BraceNameTag.cs index 5c0fc993..b462da0d 100644 --- a/HoaryFox/Component_v2/Tag/Name/BraceNameTag.cs +++ b/HoaryFox/Component_v2/Tag/Name/BraceNameTag.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Drawing; using Grasshopper.Kernel; +using HoaryFox.Component_v2.Utils; using Rhino.Geometry; using STBDotNet.v202; @@ -54,7 +55,7 @@ protected override void SolveInstance(IGH_DataAccess DA) string idNodeStart = brace.id_node_start; string idNodeEnd = brace.id_node_end; - _framePos.Add(TagUtil.GetTagPosition(idNodeStart, idNodeEnd, nodes)); + _framePos.Add(TagUtils.GetTagPosition(idNodeStart, idNodeEnd, nodes)); } DA.SetDataList(0, _frameName); } diff --git a/HoaryFox/Component_v2/Tag/Name/ColumnNameTag.cs b/HoaryFox/Component_v2/Tag/Name/ColumnNameTag.cs index 28256bda..6b24222c 100644 --- a/HoaryFox/Component_v2/Tag/Name/ColumnNameTag.cs +++ b/HoaryFox/Component_v2/Tag/Name/ColumnNameTag.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Drawing; using Grasshopper.Kernel; +using HoaryFox.Component_v2.Utils; using Rhino.Geometry; using STBDotNet.v202; @@ -54,7 +55,7 @@ protected override void SolveInstance(IGH_DataAccess DA) string idNodeStart = column.id_node_bottom; string idNodeEnd = column.id_node_top; - _framePos.Add(TagUtil.GetTagPosition(idNodeStart, idNodeEnd, nodes)); + _framePos.Add(TagUtils.GetTagPosition(idNodeStart, idNodeEnd, nodes)); } DA.SetDataList(0, _frameName); } diff --git a/HoaryFox/Component_v2/Tag/Name/GirderNameTag.cs b/HoaryFox/Component_v2/Tag/Name/GirderNameTag.cs index e64da041..23d3e5e1 100644 --- a/HoaryFox/Component_v2/Tag/Name/GirderNameTag.cs +++ b/HoaryFox/Component_v2/Tag/Name/GirderNameTag.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Drawing; using Grasshopper.Kernel; +using HoaryFox.Component_v2.Utils; using Rhino.Geometry; using STBDotNet.v202; @@ -54,7 +55,7 @@ protected override void SolveInstance(IGH_DataAccess DA) string idNodeStart = girder.id_node_start; string idNodeEnd = girder.id_node_end; - _framePos.Add(TagUtil.GetTagPosition(idNodeStart, idNodeEnd, nodes)); + _framePos.Add(TagUtils.GetTagPosition(idNodeStart, idNodeEnd, nodes)); } DA.SetDataList(0, _frameName); } diff --git a/HoaryFox/Component_v2/Tag/Name/PostNameTag.cs b/HoaryFox/Component_v2/Tag/Name/PostNameTag.cs index e10bb398..ac2b39df 100644 --- a/HoaryFox/Component_v2/Tag/Name/PostNameTag.cs +++ b/HoaryFox/Component_v2/Tag/Name/PostNameTag.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Drawing; using Grasshopper.Kernel; +using HoaryFox.Component_v2.Utils; using Rhino.Geometry; using STBDotNet.v202; @@ -54,7 +55,7 @@ protected override void SolveInstance(IGH_DataAccess DA) string idNodeStart = post.id_node_bottom; string idNodeEnd = post.id_node_top; - _framePos.Add(TagUtil.GetTagPosition(idNodeStart, idNodeEnd, nodes)); + _framePos.Add(TagUtils.GetTagPosition(idNodeStart, idNodeEnd, nodes)); } DA.SetDataList(0, _frameName); } diff --git a/HoaryFox/Component_v2/Tag/Section/BeamSecTag.cs b/HoaryFox/Component_v2/Tag/Section/BeamSecTag.cs index c943836f..72c8f738 100644 --- a/HoaryFox/Component_v2/Tag/Section/BeamSecTag.cs +++ b/HoaryFox/Component_v2/Tag/Section/BeamSecTag.cs @@ -5,6 +5,7 @@ using Grasshopper.Kernel; using Grasshopper.Kernel.Data; using Grasshopper.Kernel.Types; +using HoaryFox.Component_v2.Utils; using HoaryFox.Properties; using Rhino.Geometry; using STBDotNet.v202; @@ -71,25 +72,25 @@ private static GH_Structure GetTagStrings(IEnumerable beams, StbSecBeam_RC secRc = sections.StbSecBeam_RC.First(i => i.id == secId); foreach (object figureObj in secRc.StbSecFigureBeam_RC.Items) { - ghSecStrings.AppendRange(TagUtil.GetBeamRcSection(figureObj, secRc.strength_concrete), ghPath); + ghSecStrings.AppendRange(TagUtils.GetBeamRcSection(figureObj, secRc.strength_concrete), ghPath); } break; case StbGirderKind_structure.S: StbSecBeam_S secS = sections.StbSecBeam_S.First(i => i.id == secId); foreach (object figureObj in secS.StbSecSteelFigureBeam_S.Items) { - ghSecStrings.AppendRange(TagUtil.GetBeamSSection(figureObj), ghPath); + ghSecStrings.AppendRange(TagUtils.GetBeamSSection(figureObj), ghPath); } break; case StbGirderKind_structure.SRC: StbSecBeam_SRC secSrc = sections.StbSecBeam_SRC.First(i => i.id == secId); foreach (object figureObj in secSrc.StbSecFigureBeam_SRC.Items) { - ghSecStrings.AppendRange(TagUtil.GetBeamRcSection(figureObj, secSrc.strength_concrete), ghPath); + ghSecStrings.AppendRange(TagUtils.GetBeamRcSection(figureObj, secSrc.strength_concrete), ghPath); } foreach (object figureObj in secSrc.StbSecSteelFigureBeam_SRC.Items) { - ghSecStrings.AppendRange(TagUtil.GetBeamSSection(figureObj), ghPath); + ghSecStrings.AppendRange(TagUtils.GetBeamSSection(figureObj), ghPath); } break; case StbGirderKind_structure.UNDEFINED: @@ -104,7 +105,7 @@ private static GH_Structure GetTagStrings(IEnumerable beams, private static List GetTagPosition(IEnumerable beams, IEnumerable nodes) { - return beams.Select(beam => TagUtil.GetTagPosition(beam.id_node_start, beam.id_node_end, nodes)).ToList(); + return beams.Select(beam => TagUtils.GetTagPosition(beam.id_node_start, beam.id_node_end, nodes)).ToList(); } public override void DrawViewportWires(IGH_PreviewArgs args) diff --git a/HoaryFox/Component_v2/Tag/Section/BraceSecTag.cs b/HoaryFox/Component_v2/Tag/Section/BraceSecTag.cs index 4d6c6907..36caa188 100644 --- a/HoaryFox/Component_v2/Tag/Section/BraceSecTag.cs +++ b/HoaryFox/Component_v2/Tag/Section/BraceSecTag.cs @@ -5,6 +5,7 @@ using Grasshopper.Kernel; using Grasshopper.Kernel.Data; using Grasshopper.Kernel.Types; +using HoaryFox.Component_v2.Utils; using HoaryFox.Properties; using Rhino.Geometry; using STBDotNet.v202; @@ -71,7 +72,7 @@ private static GH_Structure GetTagStrings(IEnumerable beams StbSecBrace_S secS = sections.StbSecBrace_S.First(i => i.id == secId); foreach (object figureObj in secS.StbSecSteelFigureBrace_S.Items) { - ghSecStrings.AppendRange(TagUtil.GetBraceSSection(figureObj), ghPath); + ghSecStrings.AppendRange(TagUtils.GetBraceSSection(figureObj), ghPath); } break; case StbBraceKind_structure.RC: @@ -87,7 +88,7 @@ private static GH_Structure GetTagStrings(IEnumerable beams private static List GetTagPosition(IEnumerable beams, IEnumerable nodes) { - return beams.Select(beam => TagUtil.GetTagPosition(beam.id_node_start, beam.id_node_end, nodes)).ToList(); + return beams.Select(beam => TagUtils.GetTagPosition(beam.id_node_start, beam.id_node_end, nodes)).ToList(); } public override void DrawViewportWires(IGH_PreviewArgs args) diff --git a/HoaryFox/Component_v2/Tag/Section/ColumnSecTag.cs b/HoaryFox/Component_v2/Tag/Section/ColumnSecTag.cs index fda766ad..875a3bcf 100644 --- a/HoaryFox/Component_v2/Tag/Section/ColumnSecTag.cs +++ b/HoaryFox/Component_v2/Tag/Section/ColumnSecTag.cs @@ -5,6 +5,7 @@ using Grasshopper.Kernel; using Grasshopper.Kernel.Data; using Grasshopper.Kernel.Types; +using HoaryFox.Component_v2.Utils; using HoaryFox.Properties; using Rhino.Geometry; using STBDotNet.v202; @@ -69,21 +70,21 @@ private static GH_Structure GetTagStrings(IEnumerable colu { case StbColumnKind_structure.RC: StbSecColumn_RC secRc = sections.StbSecColumn_RC.First(i => i.id == secId); - ghSecStrings.AppendRange(TagUtil.GetColumnRcSection(secRc.StbSecFigureColumn_RC.Item, secRc.strength_concrete), ghPath); + ghSecStrings.AppendRange(TagUtils.GetColumnRcSection(secRc.StbSecFigureColumn_RC.Item, secRc.strength_concrete), ghPath); break; case StbColumnKind_structure.S: StbSecColumn_S secS = sections.StbSecColumn_S.First(i => i.id == secId); foreach (object figureObj in secS.StbSecSteelFigureColumn_S.Items) { - ghSecStrings.AppendRange(TagUtil.GetColumnSSection(figureObj), ghPath); + ghSecStrings.AppendRange(TagUtils.GetColumnSSection(figureObj), ghPath); } break; case StbColumnKind_structure.SRC: StbSecColumn_SRC secSrc = sections.StbSecColumn_SRC.First(i => i.id == secId); - ghSecStrings.AppendRange(TagUtil.GetColumnRcSection(secSrc.StbSecFigureColumn_SRC.Item, secSrc.strength_concrete), ghPath); + ghSecStrings.AppendRange(TagUtils.GetColumnRcSection(secSrc.StbSecFigureColumn_SRC.Item, secSrc.strength_concrete), ghPath); foreach (object figureObj in secSrc.StbSecSteelFigureColumn_SRC.Items) { - ghSecStrings.AppendRange(TagUtil.GetColumnSSection(figureObj), ghPath); + ghSecStrings.AppendRange(TagUtils.GetColumnSSection(figureObj), ghPath); } break; case StbColumnKind_structure.CFT: @@ -99,7 +100,7 @@ private static GH_Structure GetTagStrings(IEnumerable colu private static List GetTagPosition(IEnumerable columns, IEnumerable nodes) { - return columns.Select(beam => TagUtil.GetTagPosition(beam.id_node_bottom, beam.id_node_top, nodes)).ToList(); + return columns.Select(beam => TagUtils.GetTagPosition(beam.id_node_bottom, beam.id_node_top, nodes)).ToList(); } public override void DrawViewportWires(IGH_PreviewArgs args) diff --git a/HoaryFox/Component_v2/Tag/Section/GirderSecTag.cs b/HoaryFox/Component_v2/Tag/Section/GirderSecTag.cs index bf34ae25..70cb7447 100644 --- a/HoaryFox/Component_v2/Tag/Section/GirderSecTag.cs +++ b/HoaryFox/Component_v2/Tag/Section/GirderSecTag.cs @@ -5,6 +5,7 @@ using Grasshopper.Kernel; using Grasshopper.Kernel.Data; using Grasshopper.Kernel.Types; +using HoaryFox.Component_v2.Utils; using HoaryFox.Properties; using Rhino.Geometry; using STBDotNet.v202; @@ -71,25 +72,25 @@ private static GH_Structure GetTagStrings(IEnumerable beam StbSecBeam_RC secRc = sections.StbSecBeam_RC.First(i => i.id == secId); foreach (object figureObj in secRc.StbSecFigureBeam_RC.Items) { - ghSecStrings.AppendRange(TagUtil.GetBeamRcSection(figureObj, secRc.strength_concrete), ghPath); + ghSecStrings.AppendRange(TagUtils.GetBeamRcSection(figureObj, secRc.strength_concrete), ghPath); } break; case StbGirderKind_structure.S: StbSecBeam_S secS = sections.StbSecBeam_S.First(i => i.id == secId); foreach (object figureObj in secS.StbSecSteelFigureBeam_S.Items) { - ghSecStrings.AppendRange(TagUtil.GetBeamSSection(figureObj), ghPath); + ghSecStrings.AppendRange(TagUtils.GetBeamSSection(figureObj), ghPath); } break; case StbGirderKind_structure.SRC: StbSecBeam_SRC secSrc = sections.StbSecBeam_SRC.First(i => i.id == secId); foreach (object figureObj in secSrc.StbSecFigureBeam_SRC.Items) { - ghSecStrings.AppendRange(TagUtil.GetBeamRcSection(figureObj, secSrc.strength_concrete), ghPath); + ghSecStrings.AppendRange(TagUtils.GetBeamRcSection(figureObj, secSrc.strength_concrete), ghPath); } foreach (object figureObj in secSrc.StbSecSteelFigureBeam_SRC.Items) { - ghSecStrings.AppendRange(TagUtil.GetBeamSSection(figureObj), ghPath); + ghSecStrings.AppendRange(TagUtils.GetBeamSSection(figureObj), ghPath); } break; case StbGirderKind_structure.UNDEFINED: @@ -104,7 +105,7 @@ private static GH_Structure GetTagStrings(IEnumerable beam private static List GetTagPosition(IEnumerable girders, IEnumerable nodes) { - return girders.Select(girder => TagUtil.GetTagPosition(girder.id_node_start, girder.id_node_end, nodes)).ToList(); + return girders.Select(girder => TagUtils.GetTagPosition(girder.id_node_start, girder.id_node_end, nodes)).ToList(); } public override void DrawViewportWires(IGH_PreviewArgs args) diff --git a/HoaryFox/Component_v2/Tag/Section/PostSecTag.cs b/HoaryFox/Component_v2/Tag/Section/PostSecTag.cs index 906bd42b..ce1d2964 100644 --- a/HoaryFox/Component_v2/Tag/Section/PostSecTag.cs +++ b/HoaryFox/Component_v2/Tag/Section/PostSecTag.cs @@ -5,6 +5,7 @@ using Grasshopper.Kernel; using Grasshopper.Kernel.Data; using Grasshopper.Kernel.Types; +using HoaryFox.Component_v2.Utils; using HoaryFox.Properties; using Rhino.Geometry; using STBDotNet.v202; @@ -69,21 +70,21 @@ private static GH_Structure GetTagStrings(IEnumerable column { case StbColumnKind_structure.RC: StbSecColumn_RC secRc = sections.StbSecColumn_RC.First(i => i.id == secId); - ghSecStrings.AppendRange(TagUtil.GetColumnRcSection(secRc.StbSecFigureColumn_RC.Item, secRc.strength_concrete), ghPath); + ghSecStrings.AppendRange(TagUtils.GetColumnRcSection(secRc.StbSecFigureColumn_RC.Item, secRc.strength_concrete), ghPath); break; case StbColumnKind_structure.S: StbSecColumn_S secS = sections.StbSecColumn_S.First(i => i.id == secId); foreach (object figureObj in secS.StbSecSteelFigureColumn_S.Items) { - ghSecStrings.AppendRange(TagUtil.GetColumnSSection(figureObj), ghPath); + ghSecStrings.AppendRange(TagUtils.GetColumnSSection(figureObj), ghPath); } break; case StbColumnKind_structure.SRC: StbSecColumn_SRC secSrc = sections.StbSecColumn_SRC.First(i => i.id == secId); - ghSecStrings.AppendRange(TagUtil.GetColumnRcSection(secSrc.StbSecFigureColumn_SRC.Item, secSrc.strength_concrete), ghPath); + ghSecStrings.AppendRange(TagUtils.GetColumnRcSection(secSrc.StbSecFigureColumn_SRC.Item, secSrc.strength_concrete), ghPath); foreach (object figureObj in secSrc.StbSecSteelFigureColumn_SRC.Items) { - ghSecStrings.AppendRange(TagUtil.GetColumnSSection(figureObj), ghPath); + ghSecStrings.AppendRange(TagUtils.GetColumnSSection(figureObj), ghPath); } break; case StbColumnKind_structure.CFT: @@ -99,7 +100,7 @@ private static GH_Structure GetTagStrings(IEnumerable column private static List GetTagPosition(IEnumerable columns, IEnumerable nodes) { - return columns.Select(beam => TagUtil.GetTagPosition(beam.id_node_bottom, beam.id_node_top, nodes)).ToList(); + return columns.Select(beam => TagUtils.GetTagPosition(beam.id_node_bottom, beam.id_node_top, nodes)).ToList(); } public override void DrawViewportWires(IGH_PreviewArgs args) diff --git a/HoaryFox/Component_v2/Tag/TagUtil.cs b/HoaryFox/Component_v2/Utils/TagUtils.cs similarity index 98% rename from HoaryFox/Component_v2/Tag/TagUtil.cs rename to HoaryFox/Component_v2/Utils/TagUtils.cs index a204a43e..0487437f 100644 --- a/HoaryFox/Component_v2/Tag/TagUtil.cs +++ b/HoaryFox/Component_v2/Utils/TagUtils.cs @@ -5,9 +5,9 @@ using Rhino.Geometry; using STBDotNet.v202; -namespace HoaryFox.Component_v2.Tag +namespace HoaryFox.Component_v2.Utils { - internal static class TagUtil + internal static class TagUtils { internal static Point3d GetTagPosition(string idStart, string idEnd, IEnumerable nodes) { From 9b452e782c3377530b7adb5b8b74f274bb98bc6b Mon Sep 17 00:00:00 2001 From: hiron Date: Mon, 5 Jul 2021 22:21:08 +0900 Subject: [PATCH 023/162] Update to support null arrary --- HoaryFox/Component_v2/Geometry/Stb2Line.cs | 2 +- .../Utils/Geometry/CreateLineFromStb.cs | 20 +++++++++++++++++++ HoaryFox/HoaryFox.csproj | 2 +- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/HoaryFox/Component_v2/Geometry/Stb2Line.cs b/HoaryFox/Component_v2/Geometry/Stb2Line.cs index 5592069c..7f204040 100644 --- a/HoaryFox/Component_v2/Geometry/Stb2Line.cs +++ b/HoaryFox/Component_v2/Geometry/Stb2Line.cs @@ -80,6 +80,6 @@ private void CreateLine() } protected override Bitmap Icon => Properties.Resource.Line; - public override Guid ComponentGuid => new Guid("FDC62C6D-7C03-412D-8FF8-B76439197730"); + public override Guid ComponentGuid => new Guid("D1E6793B-F75C-4AEE-9A9F-B9DD08D6EB77"); } } diff --git a/HoaryFox/Component_v2/Utils/Geometry/CreateLineFromStb.cs b/HoaryFox/Component_v2/Utils/Geometry/CreateLineFromStb.cs index 1c2ddc6e..793b0d13 100644 --- a/HoaryFox/Component_v2/Utils/Geometry/CreateLineFromStb.cs +++ b/HoaryFox/Component_v2/Utils/Geometry/CreateLineFromStb.cs @@ -24,6 +24,10 @@ public List Nodes() public List Columns() { var lines = new List(); + if (_stBridge.StbModel.StbMembers.StbColumns == null) + { + return lines; + } foreach (StbColumn column in _stBridge.StbModel.StbMembers.StbColumns) { @@ -39,6 +43,10 @@ public List Columns() public List Girders() { var lines = new List(); + if (_stBridge.StbModel.StbMembers.StbGirders == null) + { + return lines; + } foreach (StbGirder girder in _stBridge.StbModel.StbMembers.StbGirders) { @@ -54,6 +62,10 @@ public List Girders() public List Posts() { var lines = new List(); + if (_stBridge.StbModel.StbMembers.StbPosts == null) + { + return lines; + } foreach (StbPost post in _stBridge.StbModel.StbMembers.StbPosts) { @@ -69,6 +81,10 @@ public List Posts() public List Beams() { var lines = new List(); + if (_stBridge.StbModel.StbMembers.StbBeams == null) + { + return lines; + } foreach (StbBeam beam in _stBridge.StbModel.StbMembers.StbBeams) { @@ -84,6 +100,10 @@ public List Beams() public List Braces() { var lines = new List(); + if (_stBridge.StbModel.StbMembers.StbBraces == null) + { + return lines; + } foreach (StbBrace brace in _stBridge.StbModel.StbMembers.StbBraces) { diff --git a/HoaryFox/HoaryFox.csproj b/HoaryFox/HoaryFox.csproj index 27d467d8..7936aa9c 100644 --- a/HoaryFox/HoaryFox.csproj +++ b/HoaryFox/HoaryFox.csproj @@ -47,7 +47,7 @@ - + From 06db1f17a1e8f8fd86c8a7420abeb50c8644c70c Mon Sep 17 00:00:00 2001 From: hiron Date: Tue, 6 Jul 2021 22:31:32 +0900 Subject: [PATCH 024/162] Add bake method --- HoaryFox/Component_v2/Geometry/Stb2Line.cs | 48 ++++++++++++++++++- .../Utils/Geometry/GeometryBaker.cs | 23 +++++++++ HoaryFox/Component_v2/Utils/TagUtils.cs | 39 ++++++++++++++- HoaryFox/HoaryFox.csproj | 1 + 4 files changed, 108 insertions(+), 3 deletions(-) create mode 100644 HoaryFox/Component_v2/Utils/Geometry/GeometryBaker.cs diff --git a/HoaryFox/Component_v2/Geometry/Stb2Line.cs b/HoaryFox/Component_v2/Geometry/Stb2Line.cs index 7f204040..89eba0cd 100644 --- a/HoaryFox/Component_v2/Geometry/Stb2Line.cs +++ b/HoaryFox/Component_v2/Geometry/Stb2Line.cs @@ -4,6 +4,9 @@ using System.Linq; using Grasshopper.Kernel; using HoaryFox.Component_v2.Utils.Geometry; +using HoaryFox.Properties; +using Rhino; +using Rhino.DocObjects; using Rhino.Geometry; using STBDotNet.v202; @@ -65,7 +68,48 @@ protected override void SolveInstance(IGH_DataAccess DA) private void BakeLine() { - throw new NotImplementedException(); + RhinoDoc activeDoc = RhinoDoc.ActiveDoc; + var parentLayerNames = new[] { "Column", "Girder", "Post", "Beam", "Brace", "Slab", "Wall" }; + Color[] layerColors = { Color.Red, Color.Green, Color.Aquamarine, Color.LightCoral, Color.MediumPurple, Color.DarkGray, Color.CornflowerBlue }; + GeometryBaker.MakeParentLayers(activeDoc, parentLayerNames, layerColors); + + Dictionary[][] sectionInfo = Utils.TagUtils.GetAllSectionInfoDictionary(_stBridge.StbModel.StbMembers); + + foreach ((List lines, int index) in _lineList.Select((frameBrep, index) => (frameBrep, index))) + { + Layer parentLayer = activeDoc.Layers.FindName(parentLayerNames[index]); + int parentIndex = parentLayer.Index; + Guid parentId = parentLayer.Id; + foreach ((Line line, int bIndex) in lines.Select((brep, bIndex) => (brep, bIndex))) + { + var objAttr = new ObjectAttributes(); + objAttr.SetUserString("Type", parentLayerNames[index]); + + if (index < 5) + { + Dictionary[] tags = sectionInfo[index]; + Dictionary tag = tags[bIndex]; + // Misc.SetFrameUserString(ref objAttr, tag); + objAttr.SetUserString("Tag", tag["name"]); + + var layer = new Layer { Name = tag["name"], ParentLayerId = parentId, Color = layerColors[index] }; + int layerIndex = activeDoc.Layers.Add(layer); + if (layerIndex == -1) + { + layer = activeDoc.Layers.FindName(tag["name"]); + layerIndex = layer.Index; + } + objAttr.LayerIndex = layerIndex; + } + else + { + objAttr.LayerIndex = parentIndex; + } + + activeDoc.Objects.AddLine(line, objAttr); + } + } + } private void CreateLine() @@ -79,7 +123,7 @@ private void CreateLine() _lineList.Add(createLines.Braces()); } - protected override Bitmap Icon => Properties.Resource.Line; + protected override Bitmap Icon => Resource.Line; public override Guid ComponentGuid => new Guid("D1E6793B-F75C-4AEE-9A9F-B9DD08D6EB77"); } } diff --git a/HoaryFox/Component_v2/Utils/Geometry/GeometryBaker.cs b/HoaryFox/Component_v2/Utils/Geometry/GeometryBaker.cs new file mode 100644 index 00000000..59cce538 --- /dev/null +++ b/HoaryFox/Component_v2/Utils/Geometry/GeometryBaker.cs @@ -0,0 +1,23 @@ +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using Rhino; +using Rhino.DocObjects; + +namespace HoaryFox.Component_v2.Utils.Geometry +{ + public class GeometryBaker + { + public static void MakeParentLayers( + RhinoDoc activeDoc, + IEnumerable parentLayerNames, + IReadOnlyList layerColors) + { + foreach ((string name, int index) in parentLayerNames.Select((name, index) => (name, index))) + { + var parentLayer = new Layer { Name = name, Color = layerColors[index] }; + activeDoc.Layers.Add(parentLayer); + } + } + } +} diff --git a/HoaryFox/Component_v2/Utils/TagUtils.cs b/HoaryFox/Component_v2/Utils/TagUtils.cs index 0487437f..15821fb5 100644 --- a/HoaryFox/Component_v2/Utils/TagUtils.cs +++ b/HoaryFox/Component_v2/Utils/TagUtils.cs @@ -1,5 +1,8 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using System.Linq; +using System.Reflection; +using System.Xml; using Grasshopper.Kernel.Data; using Grasshopper.Kernel.Types; using Rhino.Geometry; @@ -115,5 +118,39 @@ internal static IEnumerable GetColumnSSection(object steelFigure) return ghSecStrings; } + + public static Dictionary[][] GetAllSectionInfoDictionary(StbMembers members) + { + var allTagList = new Dictionary[5][]; + + // TODO: 必要な中身をDictionaryで返すようにする + allTagList[0] = members.StbColumns != null + ? members.StbColumns + .Select(column => column.name) + .Select(s => new Dictionary { { "name", s } }).ToArray() + : new Dictionary[] { }; + allTagList[1] = members.StbGirders != null + ? members.StbGirders + .Select(column => column.name) + .Select(s => new Dictionary { { "name", s } }).ToArray() + : new Dictionary[] { }; + allTagList[2] = members.StbPosts != null + ? members.StbPosts + .Select(column => column.name) + .Select(s => new Dictionary { { "name", s } }).ToArray() + : new Dictionary[] { }; + allTagList[3] = members.StbBeams != null + ? members.StbBeams + .Select(column => column.name) + .Select(s => new Dictionary { { "name", s } }).ToArray() + : new Dictionary[] { }; + allTagList[4] = members.StbBraces != null + ? members.StbBraces + .Select(column => column.name) + .Select(s => new Dictionary { { "name", s } }).ToArray() + : new Dictionary[] { }; + + return allTagList; + } } } diff --git a/HoaryFox/HoaryFox.csproj b/HoaryFox/HoaryFox.csproj index 7936aa9c..e27466de 100644 --- a/HoaryFox/HoaryFox.csproj +++ b/HoaryFox/HoaryFox.csproj @@ -35,6 +35,7 @@ 4 + From 950719c9847f438d91090ec8f1f4986bbcbdf5ec Mon Sep 17 00:00:00 2001 From: hiron Date: Tue, 6 Jul 2021 22:42:06 +0900 Subject: [PATCH 025/162] Update bake method to set attrubute by dict --- HoaryFox/Component_v2/Geometry/Stb2Line.cs | 15 +++++++++------ HoaryFox/Component_v2/Utils/TagUtils.cs | 12 ++++++------ 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/HoaryFox/Component_v2/Geometry/Stb2Line.cs b/HoaryFox/Component_v2/Geometry/Stb2Line.cs index 89eba0cd..f88bfbea 100644 --- a/HoaryFox/Component_v2/Geometry/Stb2Line.cs +++ b/HoaryFox/Component_v2/Geometry/Stb2Line.cs @@ -73,7 +73,7 @@ private void BakeLine() Color[] layerColors = { Color.Red, Color.Green, Color.Aquamarine, Color.LightCoral, Color.MediumPurple, Color.DarkGray, Color.CornflowerBlue }; GeometryBaker.MakeParentLayers(activeDoc, parentLayerNames, layerColors); - Dictionary[][] sectionInfo = Utils.TagUtils.GetAllSectionInfoDictionary(_stBridge.StbModel.StbMembers); + Dictionary[][] infoArray = Utils.TagUtils.GetAllSectionInfoArray(_stBridge.StbModel.StbMembers); foreach ((List lines, int index) in _lineList.Select((frameBrep, index) => (frameBrep, index))) { @@ -87,16 +87,19 @@ private void BakeLine() if (index < 5) { - Dictionary[] tags = sectionInfo[index]; - Dictionary tag = tags[bIndex]; + Dictionary[] infos = infoArray[index]; + Dictionary info = infos[bIndex]; // Misc.SetFrameUserString(ref objAttr, tag); - objAttr.SetUserString("Tag", tag["name"]); + foreach (KeyValuePair pair in info) + { + objAttr.SetUserString(pair.Key, pair.Value); + } - var layer = new Layer { Name = tag["name"], ParentLayerId = parentId, Color = layerColors[index] }; + var layer = new Layer { Name = info["name"], ParentLayerId = parentId, Color = layerColors[index] }; int layerIndex = activeDoc.Layers.Add(layer); if (layerIndex == -1) { - layer = activeDoc.Layers.FindName(tag["name"]); + layer = activeDoc.Layers.FindName(info["name"]); layerIndex = layer.Index; } objAttr.LayerIndex = layerIndex; diff --git a/HoaryFox/Component_v2/Utils/TagUtils.cs b/HoaryFox/Component_v2/Utils/TagUtils.cs index 15821fb5..5239698f 100644 --- a/HoaryFox/Component_v2/Utils/TagUtils.cs +++ b/HoaryFox/Component_v2/Utils/TagUtils.cs @@ -119,7 +119,7 @@ internal static IEnumerable GetColumnSSection(object steelFigure) return ghSecStrings; } - public static Dictionary[][] GetAllSectionInfoDictionary(StbMembers members) + public static Dictionary[][] GetAllSectionInfoArray(StbMembers members) { var allTagList = new Dictionary[5][]; @@ -127,27 +127,27 @@ public static Dictionary[][] GetAllSectionInfoDictionary(StbMemb allTagList[0] = members.StbColumns != null ? members.StbColumns .Select(column => column.name) - .Select(s => new Dictionary { { "name", s } }).ToArray() + .Select(s => new Dictionary { { "name", s }, { "StbElementName", "StbColumn" } }).ToArray() : new Dictionary[] { }; allTagList[1] = members.StbGirders != null ? members.StbGirders .Select(column => column.name) - .Select(s => new Dictionary { { "name", s } }).ToArray() + .Select(s => new Dictionary { { "name", s }, { "StbElementName", "StbGirder" } }).ToArray() : new Dictionary[] { }; allTagList[2] = members.StbPosts != null ? members.StbPosts .Select(column => column.name) - .Select(s => new Dictionary { { "name", s } }).ToArray() + .Select(s => new Dictionary { { "name", s }, { "StbElementName", "StbPost" } }).ToArray() : new Dictionary[] { }; allTagList[3] = members.StbBeams != null ? members.StbBeams .Select(column => column.name) - .Select(s => new Dictionary { { "name", s } }).ToArray() + .Select(s => new Dictionary { { "name", s }, { "StbElementName", "StbBeam" } }).ToArray() : new Dictionary[] { }; allTagList[4] = members.StbBraces != null ? members.StbBraces .Select(column => column.name) - .Select(s => new Dictionary { { "name", s } }).ToArray() + .Select(s => new Dictionary { { "name", s }, { "StbElementName", "StbBrace" } }).ToArray() : new Dictionary[] { }; return allTagList; From 5e57dbce654cf2657916ca17cf90c688b5ff97be Mon Sep 17 00:00:00 2001 From: hiron Date: Wed, 7 Jul 2021 10:13:02 +0900 Subject: [PATCH 026/162] Add reflection method to get props --- HoaryFox/Component_v2/Utils/TagUtils.cs | 32 +++++++++++++++++++++---- HoaryFox/HoaryFox.csproj | 3 +++ 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/HoaryFox/Component_v2/Utils/TagUtils.cs b/HoaryFox/Component_v2/Utils/TagUtils.cs index 5239698f..947fbf22 100644 --- a/HoaryFox/Component_v2/Utils/TagUtils.cs +++ b/HoaryFox/Component_v2/Utils/TagUtils.cs @@ -2,12 +2,13 @@ using System.Collections.Generic; using System.Linq; using System.Reflection; -using System.Xml; using Grasshopper.Kernel.Data; using Grasshopper.Kernel.Types; +using Newtonsoft.Json; using Rhino.Geometry; using STBDotNet.v202; + namespace HoaryFox.Component_v2.Utils { internal static class TagUtils @@ -125,9 +126,7 @@ public static Dictionary[][] GetAllSectionInfoArray(StbMembers m // TODO: 必要な中身をDictionaryで返すようにする allTagList[0] = members.StbColumns != null - ? members.StbColumns - .Select(column => column.name) - .Select(s => new Dictionary { { "name", s }, { "StbElementName", "StbColumn" } }).ToArray() + ? AllStbColumnToDictArray(members) : new Dictionary[] { }; allTagList[1] = members.StbGirders != null ? members.StbGirders @@ -152,5 +151,30 @@ public static Dictionary[][] GetAllSectionInfoArray(StbMembers m return allTagList; } + + private static Dictionary[] AllStbColumnToDictArray(StbMembers members) + { + var propertiesArray = new Dictionary[members.StbColumns.Length]; + + var item = members.StbColumns[0]; + + Type t = item.GetType(); + PropertyInfo[] props = t.GetProperties(); + + foreach ((StbColumn column, int index) in members.StbColumns.Select((column, index) => (column, index))) + { + var instanceProps = new Dictionary(); + foreach (PropertyInfo prop in props) + { + if (prop.PropertyType == typeof(string) & prop.GetValue(column) != null) + { + instanceProps.Add(prop.Name, prop.GetValue(column).ToString()); + } + } + propertiesArray[index] = instanceProps; + } + + return propertiesArray; + } } } diff --git a/HoaryFox/HoaryFox.csproj b/HoaryFox/HoaryFox.csproj index e27466de..09ea2953 100644 --- a/HoaryFox/HoaryFox.csproj +++ b/HoaryFox/HoaryFox.csproj @@ -136,6 +136,9 @@ 6.20.19322.20361 compile; build; native; contentfiles; analyzers; buildtransitive + + 13.0.1 + 6.20.19322.20361 compile; build; native; contentfiles; analyzers; buildtransitive From 6856f81e735a6365fc4c5efc650fb265e1aca797 Mon Sep 17 00:00:00 2001 From: hiron Date: Wed, 7 Jul 2021 21:57:07 +0900 Subject: [PATCH 027/162] Clean reflection method to get props --- HoaryFox/Component_v2/Geometry/Stb2Line.cs | 4 +- HoaryFox/Component_v2/Utils/TagUtils.cs | 71 ++++++++++------------ 2 files changed, 33 insertions(+), 42 deletions(-) diff --git a/HoaryFox/Component_v2/Geometry/Stb2Line.cs b/HoaryFox/Component_v2/Geometry/Stb2Line.cs index f88bfbea..de236362 100644 --- a/HoaryFox/Component_v2/Geometry/Stb2Line.cs +++ b/HoaryFox/Component_v2/Geometry/Stb2Line.cs @@ -83,13 +83,12 @@ private void BakeLine() foreach ((Line line, int bIndex) in lines.Select((brep, bIndex) => (brep, bIndex))) { var objAttr = new ObjectAttributes(); - objAttr.SetUserString("Type", parentLayerNames[index]); if (index < 5) { Dictionary[] infos = infoArray[index]; Dictionary info = infos[bIndex]; - // Misc.SetFrameUserString(ref objAttr, tag); + foreach (KeyValuePair pair in info) { objAttr.SetUserString(pair.Key, pair.Value); @@ -112,7 +111,6 @@ private void BakeLine() activeDoc.Objects.AddLine(line, objAttr); } } - } private void CreateLine() diff --git a/HoaryFox/Component_v2/Utils/TagUtils.cs b/HoaryFox/Component_v2/Utils/TagUtils.cs index 947fbf22..010b821b 100644 --- a/HoaryFox/Component_v2/Utils/TagUtils.cs +++ b/HoaryFox/Component_v2/Utils/TagUtils.cs @@ -4,7 +4,6 @@ using System.Reflection; using Grasshopper.Kernel.Data; using Grasshopper.Kernel.Types; -using Newtonsoft.Json; using Rhino.Geometry; using STBDotNet.v202; @@ -124,57 +123,51 @@ public static Dictionary[][] GetAllSectionInfoArray(StbMembers m { var allTagList = new Dictionary[5][]; - // TODO: 必要な中身をDictionaryで返すようにする - allTagList[0] = members.StbColumns != null - ? AllStbColumnToDictArray(members) - : new Dictionary[] { }; - allTagList[1] = members.StbGirders != null - ? members.StbGirders - .Select(column => column.name) - .Select(s => new Dictionary { { "name", s }, { "StbElementName", "StbGirder" } }).ToArray() - : new Dictionary[] { }; - allTagList[2] = members.StbPosts != null - ? members.StbPosts - .Select(column => column.name) - .Select(s => new Dictionary { { "name", s }, { "StbElementName", "StbPost" } }).ToArray() - : new Dictionary[] { }; - allTagList[3] = members.StbBeams != null - ? members.StbBeams - .Select(column => column.name) - .Select(s => new Dictionary { { "name", s }, { "StbElementName", "StbBeam" } }).ToArray() - : new Dictionary[] { }; - allTagList[4] = members.StbBraces != null - ? members.StbBraces - .Select(column => column.name) - .Select(s => new Dictionary { { "name", s }, { "StbElementName", "StbBrace" } }).ToArray() - : new Dictionary[] { }; + var memberArray = new object[][] { members.StbColumns, members.StbGirders, members.StbPosts, members.StbBeams, members.StbBraces }; + for (var i = 0; i < 5; i++) + { + allTagList[i] = memberArray[i] != null ? StbMembersToDictArray(memberArray[i]) : new Dictionary[] { }; + } return allTagList; } - private static Dictionary[] AllStbColumnToDictArray(StbMembers members) + private static Dictionary[] StbMembersToDictArray(IReadOnlyList members) { - var propertiesArray = new Dictionary[members.StbColumns.Length]; - - var item = members.StbColumns[0]; + var propertiesArray = new Dictionary[members.Count]; + object item = members[0]; Type t = item.GetType(); - PropertyInfo[] props = t.GetProperties(); - foreach ((StbColumn column, int index) in members.StbColumns.Select((column, index) => (column, index))) + foreach ((object column, int index) in members.Select((column, index) => (column, index))) { - var instanceProps = new Dictionary(); - foreach (PropertyInfo prop in props) + propertiesArray[index] = GetMemberInfoDictionary(t, column); + } + + return propertiesArray; + } + + private static Dictionary GetMemberInfoDictionary(Type type, object member) + { + PropertyInfo[] props = type.GetProperties(); + var instanceProps = new Dictionary { { "stb_element_type", type.Name } }; + foreach (PropertyInfo prop in props) + { + if (prop.GetValue(member) == null) + { + continue; + } + try { - if (prop.PropertyType == typeof(string) & prop.GetValue(column) != null) - { - instanceProps.Add(prop.Name, prop.GetValue(column).ToString()); - } + instanceProps.Add(prop.Name, prop.GetValue(member).ToString()); + } + catch + { + // ignored } - propertiesArray[index] = instanceProps; } - return propertiesArray; + return instanceProps; } } } From 0a8bdd4121f751cf9e4bc197c90508c9599e8e3f Mon Sep 17 00:00:00 2001 From: hiron Date: Sat, 10 Jul 2021 22:53:53 +0900 Subject: [PATCH 028/162] Add column rc brep output --- HoaryFox/Component_v2/Geometry/Stb2Brep.cs | 74 ++++++++++++++++ .../Utils/Geometry/CreateBrepFromStb.cs | 84 +++++++++++++++++++ .../Utils/Geometry/SectionCornerPoints.cs | 52 ++++++++++++ HoaryFox/HoaryFox.csproj | 5 +- 4 files changed, 214 insertions(+), 1 deletion(-) create mode 100644 HoaryFox/Component_v2/Geometry/Stb2Brep.cs create mode 100644 HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs create mode 100644 HoaryFox/Component_v2/Utils/Geometry/SectionCornerPoints.cs diff --git a/HoaryFox/Component_v2/Geometry/Stb2Brep.cs b/HoaryFox/Component_v2/Geometry/Stb2Brep.cs new file mode 100644 index 00000000..b9b98973 --- /dev/null +++ b/HoaryFox/Component_v2/Geometry/Stb2Brep.cs @@ -0,0 +1,74 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using Grasshopper.Kernel; +using HoaryFox.Component_v2.Utils.Geometry; +using HoaryFox.Properties; +using Rhino.Geometry; +using STBDotNet.v202; + +namespace HoaryFox.Component_v2.Geometry +{ + public class Stb2Brep : GH_Component + { + private ST_BRIDGE _stBridge; + private readonly List> _brepList = new List>(); + + public Stb2Brep() + : base("Stb to Brep", "S2B", + "Display ST-Bridge model in Brep", + "HoaryFox2", "Geometry") + { + } + + public override void ClearData() + { + base.ClearData(); + _brepList.Clear(); + } + + protected override void RegisterInputParams(GH_InputParamManager pManager) + { + pManager.AddGenericParameter("Data", "D", "input ST-Bridge Data", GH_ParamAccess.item); + pManager.AddBooleanParameter("Bake", "Bake", "If it true, bake geometry.", GH_ParamAccess.item, false); + } + + protected override void RegisterOutputParams(GH_OutputParamManager pManager) + { + pManager.AddBrepParameter("Columns", "Col", "output StbColumns to Brep", GH_ParamAccess.list); + pManager.AddBrepParameter("Girders", "Gird", "output StbGirders to Brep", GH_ParamAccess.list); + pManager.AddBrepParameter("Posts", "Pst", "output StbPosts to Brep", GH_ParamAccess.list); + pManager.AddBrepParameter("Beams", "Bm", "output StbBeams to Brep", GH_ParamAccess.list); + pManager.AddBrepParameter("Braces", "Brc", "output StbBraces to Brep", GH_ParamAccess.list); + pManager.AddBrepParameter("Slabs", "Slb", "output StbSlabs to Brep", GH_ParamAccess.list); + pManager.AddBrepParameter("Walls", "Wl", "output StbWalls to Brep", GH_ParamAccess.list); + } + + protected override void SolveInstance(IGH_DataAccess DA) + { + var isBake = false; + if (!DA.GetData("Data", ref _stBridge)) { return; } + if (!DA.GetData("Bake", ref isBake)) { return; } + + MakeBrep(); + + for (var i = 0; i < 7; i++) + { + DA.SetDataList(i, _brepList[i]); + } + } + protected override Bitmap Icon => Resource.Brep; + public override Guid ComponentGuid => new Guid("B2D5EA7F-E75F-406B-8D22-C267B43C5E72"); + + private void MakeBrep() + { + var aaa = new CreateBrepFromStb(_stBridge.StbModel.StbNodes, new[] { DocumentTolerance(), DocumentAngleTolerance() }); + _brepList.Add(aaa.Column(_stBridge.StbModel.StbMembers.StbColumns, _stBridge.StbModel.StbSections)); + + for (var i = 0; i < 6; i++) + { + _brepList.Add(new List()); + } + } + } +} diff --git a/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs b/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs new file mode 100644 index 00000000..165b8067 --- /dev/null +++ b/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs @@ -0,0 +1,84 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Rhino.Geometry; +using STBDotNet.v202; + +namespace HoaryFox.Component_v2.Utils.Geometry +{ + public class CreateBrepFromStb + { + private readonly IEnumerable _nodes; + private readonly IReadOnlyList _tolerance; + + public CreateBrepFromStb(IEnumerable nodes, IReadOnlyList tolerance) + { + _nodes = nodes; + _tolerance = tolerance; + } + + public List Column(IEnumerable columns, StbSections sections) + { + var brepList = new List(); + + foreach (StbColumn column in columns) + { + StbColumnKind_structure kind = column.kind_structure; + + StbNode[] endNodes = + { + _nodes.First(node => node.id == column.id_node_bottom), + _nodes.First(node => node.id == column.id_node_top) + }; + Point3d[] endPoints = + { + new Point3d(endNodes[0].X, endNodes[0].Y, endNodes[0].Z), + new Point3d(endNodes[1].X, endNodes[1].Y, endNodes[1].Z) + }; + + var brep = new Brep(); + + switch (kind) + { + case StbColumnKind_structure.RC: + StbSecColumn_RC section = sections.StbSecColumn_RC.First(sec => sec.id == column.id_section); + + switch (section.StbSecFigureColumn_RC.Item) + { + case StbSecColumn_RC_Rect figure: + var startSection = + new PolylineCurve(SectionCornerPoints.Column(endPoints[0], figure.width_X, figure.width_Y)); + var endSection = + new PolylineCurve(SectionCornerPoints.Column(endPoints[1], figure.width_X, figure.width_Y)); + brep = Brep.CreateFromLoft(new[] { startSection, endSection }, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] + .CapPlanarHoles(_tolerance[0]); + break; + case StbSecColumn_RC_Circle figure: + var lineCurve = new LineCurve(endPoints[0], endPoints[1]); + brep = Brep.CreatePipe(lineCurve, figure.D / 2d, true, PipeCapMode.Flat, true, _tolerance[0], _tolerance[1])[0]; + break; + default: + throw new Exception(); + } + break; + case StbColumnKind_structure.S: + case StbColumnKind_structure.SRC: + case StbColumnKind_structure.CFT: + case StbColumnKind_structure.UNDEFINED: + break; + default: + throw new ArgumentOutOfRangeException(); + } + + Vector3d memberAxis = endPoints[1] - endPoints[0]; + Vector3d rotateAxis = Vector3d.CrossProduct(Vector3d.ZAxis, memberAxis); + double angle = Vector3d.VectorAngle(Vector3d.ZAxis, memberAxis); + brep.Rotate(column.rotate, Vector3d.ZAxis, endPoints[0]); // 要素軸での回転 + brep.Rotate(angle, rotateAxis, endPoints[0]); // デフォルトではZ方向を向いているので、正確な要素方向への回転 + brepList.Add(brep); + } + + return brepList; + } + } +} diff --git a/HoaryFox/Component_v2/Utils/Geometry/SectionCornerPoints.cs b/HoaryFox/Component_v2/Utils/Geometry/SectionCornerPoints.cs new file mode 100644 index 00000000..c857ca98 --- /dev/null +++ b/HoaryFox/Component_v2/Utils/Geometry/SectionCornerPoints.cs @@ -0,0 +1,52 @@ +using System; +using System.Collections.Generic; +using Rhino.Geometry; + +namespace HoaryFox.Component_v2.Utils.Geometry +{ + public static class SectionCornerPoints + { + // Z 3 - 2 + // ^ | | + // o > Y 0 - 1 + public static Point3d[] Column(Point3d node, double width, double height) + { + var points = new[] + { + new Point3d(node.X - width / 2 , node.Y - height / 2, node.Z), + new Point3d(node.X + width / 2 , node.Y - height / 2, node.Z), + new Point3d(node.X + width / 2 , node.Y + height / 2, node.Z), + new Point3d(node.X - width / 2 , node.Y + height / 2, node.Z), + new Point3d(node.X - width / 2 , node.Y - height / 2, node.Z), + }; + + return points; + } + + public static List Girder(Point3d node, double width, double height, double angle) + { + var points = new List + { + new Point3d(node.X + width / 2 * Math.Sin(angle), node.Y + width / 2 * Math.Cos(angle), node.Z - height), + new Point3d(node.X - width / 2 * Math.Sin(angle), node.Y - width / 2 * Math.Cos(angle), node.Z - height), + new Point3d(node.X + width / 2 * Math.Sin(angle), node.Y + width / 2 * Math.Cos(angle), node.Z), + new Point3d(node.X - width / 2 * Math.Sin(angle), node.Y - width / 2 * Math.Cos(angle), node.Z) + }; + + return points; + } + + public static List Brace(Point3d node, double width, double angle) + { + var points = new List + { + new Point3d(node.X + width / 2 * Math.Sin(angle), node.Y + width / 2 * Math.Cos(angle), node.Z - width / 2), + new Point3d(node.X - width / 2 * Math.Sin(angle), node.Y - width / 2 * Math.Cos(angle), node.Z - width / 2), + new Point3d(node.X + width / 2 * Math.Sin(angle), node.Y + width / 2 * Math.Cos(angle), node.Z + width / 2), + new Point3d(node.X - width / 2 * Math.Sin(angle), node.Y - width / 2 * Math.Cos(angle), node.Z + width / 2) + }; + + return points; + } + } +} diff --git a/HoaryFox/HoaryFox.csproj b/HoaryFox/HoaryFox.csproj index e27466de..467fa34d 100644 --- a/HoaryFox/HoaryFox.csproj +++ b/HoaryFox/HoaryFox.csproj @@ -10,7 +10,7 @@ Properties HoaryFox HoaryFox - v4.7.2 + v4.8 512 false @@ -35,6 +35,8 @@ 4 + + @@ -70,6 +72,7 @@ + From f3746e09aa36604520dfad5850f505300e893986 Mon Sep 17 00:00:00 2001 From: hiron Date: Sun, 11 Jul 2021 18:40:49 +0900 Subject: [PATCH 029/162] Add get rect s section --- HoaryFox/Component_v2/Geometry/Stb2Brep.cs | 4 +- .../Utils/Geometry/CreateBrepFromStb.cs | 139 ++++++++++++++++-- 2 files changed, 125 insertions(+), 18 deletions(-) diff --git a/HoaryFox/Component_v2/Geometry/Stb2Brep.cs b/HoaryFox/Component_v2/Geometry/Stb2Brep.cs index b9b98973..68bc8130 100644 --- a/HoaryFox/Component_v2/Geometry/Stb2Brep.cs +++ b/HoaryFox/Component_v2/Geometry/Stb2Brep.cs @@ -62,8 +62,8 @@ protected override void SolveInstance(IGH_DataAccess DA) private void MakeBrep() { - var aaa = new CreateBrepFromStb(_stBridge.StbModel.StbNodes, new[] { DocumentTolerance(), DocumentAngleTolerance() }); - _brepList.Add(aaa.Column(_stBridge.StbModel.StbMembers.StbColumns, _stBridge.StbModel.StbSections)); + var aaa = new CreateBrepFromStb(_stBridge.StbModel.StbSections, _stBridge.StbModel.StbNodes, new[] { DocumentTolerance(), DocumentAngleTolerance() }); + _brepList.Add(aaa.Column(_stBridge.StbModel.StbMembers.StbColumns)); for (var i = 0; i < 6; i++) { diff --git a/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs b/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs index 165b8067..0ebe4900 100644 --- a/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs +++ b/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs @@ -10,14 +10,16 @@ public class CreateBrepFromStb { private readonly IEnumerable _nodes; private readonly IReadOnlyList _tolerance; + private readonly StbSections _sections; - public CreateBrepFromStb(IEnumerable nodes, IReadOnlyList tolerance) + public CreateBrepFromStb(StbSections sections, IEnumerable nodes, IReadOnlyList tolerance) { _nodes = nodes; _tolerance = tolerance; + _sections = sections; } - public List Column(IEnumerable columns, StbSections sections) + public List Column(IEnumerable columns) { var brepList = new List(); @@ -30,38 +32,51 @@ public List Column(IEnumerable columns, StbSections sections) _nodes.First(node => node.id == column.id_node_bottom), _nodes.First(node => node.id == column.id_node_top) }; - Point3d[] endPoints = + + Point3d[] sectionPoints = { new Point3d(endNodes[0].X, endNodes[0].Y, endNodes[0].Z), + new Point3d(endNodes[0].X, endNodes[0].Y, endNodes[0].Z + column.joint_bottom), + new Point3d(endNodes[1].X, endNodes[1].Y, endNodes[1].Z - column.joint_top), new Point3d(endNodes[1].X, endNodes[1].Y, endNodes[1].Z) }; var brep = new Brep(); + var curveList = new List(); switch (kind) { case StbColumnKind_structure.RC: - StbSecColumn_RC section = sections.StbSecColumn_RC.First(sec => sec.id == column.id_section); + StbSecColumn_RC rcSec = _sections.StbSecColumn_RC.First(sec => sec.id == column.id_section); - switch (section.StbSecFigureColumn_RC.Item) + switch (rcSec.StbSecFigureColumn_RC.Item) { case StbSecColumn_RC_Rect figure: - var startSection = - new PolylineCurve(SectionCornerPoints.Column(endPoints[0], figure.width_X, figure.width_Y)); - var endSection = - new PolylineCurve(SectionCornerPoints.Column(endPoints[1], figure.width_X, figure.width_Y)); - brep = Brep.CreateFromLoft(new[] { startSection, endSection }, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] - .CapPlanarHoles(_tolerance[0]); + curveList.Add(new PolylineCurve(SectionCornerPoints.Column(sectionPoints[0], + figure.width_X, figure.width_Y))); + curveList.Add(new PolylineCurve(SectionCornerPoints.Column(sectionPoints[3], + figure.width_X, figure.width_Y))); break; case StbSecColumn_RC_Circle figure: - var lineCurve = new LineCurve(endPoints[0], endPoints[1]); - brep = Brep.CreatePipe(lineCurve, figure.D / 2d, true, PipeCapMode.Flat, true, _tolerance[0], _tolerance[1])[0]; + curveList.Add(new ArcCurve(new Circle(sectionPoints[0], figure.D / 2d))); + curveList.Add(new ArcCurve(new Circle(sectionPoints[3], figure.D / 2d))); break; default: throw new Exception(); } + break; case StbColumnKind_structure.S: + StbSecColumn_S sSec = _sections.StbSecColumn_S.First(sec => sec.id == column.id_section); + object[] figures = sSec.StbSecSteelFigureColumn_S.Items; + + switch (figures[0]) + { + case StbSecSteelColumn_S_Same _: + curveList = SteelSecToCurves(figures, sectionPoints); + break; + } + break; case StbColumnKind_structure.SRC: case StbColumnKind_structure.CFT: case StbColumnKind_structure.UNDEFINED: @@ -70,15 +85,107 @@ public List Column(IEnumerable columns, StbSections sections) throw new ArgumentOutOfRangeException(); } - Vector3d memberAxis = endPoints[1] - endPoints[0]; + brep = Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] + .CapPlanarHoles(_tolerance[0]); + + Vector3d memberAxis = sectionPoints[1] - sectionPoints[0]; Vector3d rotateAxis = Vector3d.CrossProduct(Vector3d.ZAxis, memberAxis); double angle = Vector3d.VectorAngle(Vector3d.ZAxis, memberAxis); - brep.Rotate(column.rotate, Vector3d.ZAxis, endPoints[0]); // 要素軸での回転 - brep.Rotate(angle, rotateAxis, endPoints[0]); // デフォルトではZ方向を向いているので、正確な要素方向への回転 + brep.Rotate(column.rotate, Vector3d.ZAxis, sectionPoints[0]); // 要素軸での回転 + brep.Rotate(angle, rotateAxis, sectionPoints[0]); // デフォルトではZ方向を向いているので、正確な要素方向への回転 brepList.Add(brep); } return brepList; } + + private List SteelSecToCurves(object[] figures, IReadOnlyList sectionPoints) + { + var curveList = new List(); + + switch (figures) + { + case StbSecSteelColumn_S_Same[] same: // 1断面 + curveList.Add(GetSteelSec(same[0].shape, sectionPoints[0], SectionType.Column)); + curveList.Add(GetSteelSec(same[0].shape, sectionPoints[3], SectionType.Column)); + break; + case StbSecSteelColumn_S_NotSame[] notSames: // 2断面 + curveList.Add(GetSteelSec(notSames[0].shape, sectionPoints[0], SectionType.Column)); + curveList.Add(GetSteelSec(notSames[0].shape, sectionPoints[3], SectionType.Column)); + break; + case StbSecSteelColumn_S_ThreeTypes[] three: // 3断面 + curveList.Add(GetSteelSec(three[0].shape, sectionPoints[0], SectionType.Column)); + curveList.Add(GetSteelSec(three[0].shape, sectionPoints[3], SectionType.Column)); + break; + default: + throw new ArgumentException("Unmatched StbSecSteelColumn_S"); + } + + return curveList; + } + + private Curve GetSteelSec(string shape, Point3d point, SectionType type) + { + StbSecSteel secSteel = _sections.StbSecSteel; + + if (secSteel.StbSecBuildBOX != null) + { + foreach (StbSecBuildBOX box in _sections.StbSecSteel.StbSecBuildBOX) + { + if (box.name == shape) + { + switch (type) + { + case SectionType.Column: + return new PolylineCurve(SectionCornerPoints.Column(point, box.A, box.B)); + case SectionType.Beam: + break; + case SectionType.Brace: + break; + default: + throw new ArgumentOutOfRangeException(nameof(type), type, null); + } + } + } + } + + if (secSteel.StbSecRollBOX != null) + { + foreach (StbSecRollBOX box in _sections.StbSecSteel.StbSecRollBOX) + { + if (box.name == shape) + { + switch (type) + { + case SectionType.Column: + return new PolylineCurve(SectionCornerPoints.Column(point, box.A, box.B)); + case SectionType.Beam: + break; + case SectionType.Brace: + break; + default: + throw new ArgumentOutOfRangeException(nameof(type), type, null); + } + } + } + } + + // foreach (StbSecBuildH buildH in _sections.StbSecSteel.StbSecBuildH) + // { + // if (buildH.name == shape) + // { + // + // } + // } + + throw new ArgumentException("There are no matching steel section"); + } + + private enum SectionType + { + Column, + Beam, + Brace + } } } From 7f37ca5ea2e6b15615037d2082f4bc9b5d063323 Mon Sep 17 00:00:00 2001 From: hiron Date: Sun, 11 Jul 2021 18:41:21 +0900 Subject: [PATCH 030/162] Apply dotnet format --- .../Component_v2/Utils/Geometry/SectionCornerPoints.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/HoaryFox/Component_v2/Utils/Geometry/SectionCornerPoints.cs b/HoaryFox/Component_v2/Utils/Geometry/SectionCornerPoints.cs index c857ca98..2bfaa68f 100644 --- a/HoaryFox/Component_v2/Utils/Geometry/SectionCornerPoints.cs +++ b/HoaryFox/Component_v2/Utils/Geometry/SectionCornerPoints.cs @@ -13,11 +13,11 @@ public static Point3d[] Column(Point3d node, double width, double height) { var points = new[] { - new Point3d(node.X - width / 2 , node.Y - height / 2, node.Z), - new Point3d(node.X + width / 2 , node.Y - height / 2, node.Z), - new Point3d(node.X + width / 2 , node.Y + height / 2, node.Z), - new Point3d(node.X - width / 2 , node.Y + height / 2, node.Z), - new Point3d(node.X - width / 2 , node.Y - height / 2, node.Z), + new Point3d(node.X - width / 2, node.Y - height / 2, node.Z), + new Point3d(node.X + width / 2, node.Y - height / 2, node.Z), + new Point3d(node.X + width / 2, node.Y + height / 2, node.Z), + new Point3d(node.X - width / 2, node.Y + height / 2, node.Z), + new Point3d(node.X - width / 2, node.Y - height / 2, node.Z), }; return points; From 18d1ec7c01a7de0b3dcf420db3e462e5a1515389 Mon Sep 17 00:00:00 2001 From: hiron Date: Mon, 12 Jul 2021 00:02:39 +0900 Subject: [PATCH 031/162] Add H column brep output --- .../Utils/Geometry/CreateBrepFromStb.cs | 172 +++++++++++++----- .../Utils/Geometry/SectionCornerPoints.cs | 63 +++++-- 2 files changed, 172 insertions(+), 63 deletions(-) diff --git a/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs b/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs index 0ebe4900..2907bc66 100644 --- a/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs +++ b/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs @@ -48,34 +48,13 @@ public List Column(IEnumerable columns) { case StbColumnKind_structure.RC: StbSecColumn_RC rcSec = _sections.StbSecColumn_RC.First(sec => sec.id == column.id_section); - - switch (rcSec.StbSecFigureColumn_RC.Item) - { - case StbSecColumn_RC_Rect figure: - curveList.Add(new PolylineCurve(SectionCornerPoints.Column(sectionPoints[0], - figure.width_X, figure.width_Y))); - curveList.Add(new PolylineCurve(SectionCornerPoints.Column(sectionPoints[3], - figure.width_X, figure.width_Y))); - break; - case StbSecColumn_RC_Circle figure: - curveList.Add(new ArcCurve(new Circle(sectionPoints[0], figure.D / 2d))); - curveList.Add(new ArcCurve(new Circle(sectionPoints[3], figure.D / 2d))); - break; - default: - throw new Exception(); - } - + object figure = rcSec.StbSecFigureColumn_RC.Item; + curveList = SecRcColumnToCurves(figure, sectionPoints); break; case StbColumnKind_structure.S: StbSecColumn_S sSec = _sections.StbSecColumn_S.First(sec => sec.id == column.id_section); object[] figures = sSec.StbSecSteelFigureColumn_S.Items; - - switch (figures[0]) - { - case StbSecSteelColumn_S_Same _: - curveList = SteelSecToCurves(figures, sectionPoints); - break; - } + curveList = SecSteelColumnToCurves(figures, sectionPoints); break; case StbColumnKind_structure.SRC: case StbColumnKind_structure.CFT: @@ -88,7 +67,7 @@ public List Column(IEnumerable columns) brep = Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] .CapPlanarHoles(_tolerance[0]); - Vector3d memberAxis = sectionPoints[1] - sectionPoints[0]; + Vector3d memberAxis = sectionPoints[3] - sectionPoints[0]; Vector3d rotateAxis = Vector3d.CrossProduct(Vector3d.ZAxis, memberAxis); double angle = Vector3d.VectorAngle(Vector3d.ZAxis, memberAxis); brep.Rotate(column.rotate, Vector3d.ZAxis, sectionPoints[0]); // 要素軸での回転 @@ -99,23 +78,66 @@ public List Column(IEnumerable columns) return brepList; } - private List SteelSecToCurves(object[] figures, IReadOnlyList sectionPoints) + private List SecRcColumnToCurves(object figure, IReadOnlyList sectionPoints) { var curveList = new List(); - switch (figures) + switch (figure) { - case StbSecSteelColumn_S_Same[] same: // 1断面 - curveList.Add(GetSteelSec(same[0].shape, sectionPoints[0], SectionType.Column)); - curveList.Add(GetSteelSec(same[0].shape, sectionPoints[3], SectionType.Column)); + case StbSecColumn_RC_Rect rect: + curveList.Add(new PolylineCurve( + SectionCornerPoints.ColumnRect(sectionPoints[0], rect.width_X, rect.width_Y))); + curveList.Add(new PolylineCurve( + SectionCornerPoints.ColumnRect(sectionPoints[3], rect.width_X, rect.width_Y))); break; - case StbSecSteelColumn_S_NotSame[] notSames: // 2断面 - curveList.Add(GetSteelSec(notSames[0].shape, sectionPoints[0], SectionType.Column)); - curveList.Add(GetSteelSec(notSames[0].shape, sectionPoints[3], SectionType.Column)); + case StbSecColumn_RC_Circle circle: + curveList.Add(new ArcCurve(new Circle(sectionPoints[0], circle.D / 2d))); + curveList.Add(new ArcCurve(new Circle(sectionPoints[3], circle.D / 2d))); break; - case StbSecSteelColumn_S_ThreeTypes[] three: // 3断面 - curveList.Add(GetSteelSec(three[0].shape, sectionPoints[0], SectionType.Column)); - curveList.Add(GetSteelSec(three[0].shape, sectionPoints[3], SectionType.Column)); + default: + throw new Exception(); + } + + return curveList; + } + + private List SecSteelColumnToCurves(IReadOnlyList figures, IReadOnlyList sectionPoints) + { + var curveList = new List(); + + switch (figures.Count) + { + case 1: + var same = figures[0] as StbSecSteelColumn_S_Same; + curveList.Add(GetSteelSec(same.shape, sectionPoints[0], SectionType.Column)); + curveList.Add(GetSteelSec(same.shape, sectionPoints[3], SectionType.Column)); + break; + case 2: + var notSames = new[] { figures[0] as StbSecSteelColumn_S_NotSame, figures[1] as StbSecSteelColumn_S_NotSame }; + StbSecSteelColumn_S_NotSame nsBottom = notSames.First(item => item.pos == StbSecSteelColumn_S_NotSamePos.BOTTOM); + StbSecSteelColumn_S_NotSame nsTop = notSames.First(item => item.pos == StbSecSteelColumn_S_NotSamePos.TOP); + curveList.Add(GetSteelSec(nsBottom.shape, sectionPoints[0], SectionType.Column)); + if (sectionPoints[1].Z > sectionPoints[0].Z) + { + curveList.Add(GetSteelSec(nsBottom.shape, sectionPoints[1], SectionType.Column)); + curveList.Add(GetSteelSec(nsTop.shape, sectionPoints[1], SectionType.Column)); + } + else + { + curveList.Add(GetSteelSec(nsBottom.shape, sectionPoints[2], SectionType.Column)); + curveList.Add(GetSteelSec(nsTop.shape, sectionPoints[2], SectionType.Column)); + } + curveList.Add(GetSteelSec(nsTop.shape, sectionPoints[3], SectionType.Column)); + break; + case 3: + var three = new[] { figures[0] as StbSecSteelColumn_S_ThreeTypes, figures[1] as StbSecSteelColumn_S_ThreeTypes, figures[2] as StbSecSteelColumn_S_ThreeTypes }; + StbSecSteelColumn_S_ThreeTypes tBottom = three.First(item => item.pos == StbSecSteelColumn_S_ThreeTypesPos.BOTTOM); + StbSecSteelColumn_S_ThreeTypes tCenter = three.First(item => item.pos == StbSecSteelColumn_S_ThreeTypesPos.CENTER); + StbSecSteelColumn_S_ThreeTypes tTop = three.First(item => item.pos == StbSecSteelColumn_S_ThreeTypesPos.TOP); + curveList.Add(GetSteelSec(tBottom.shape, sectionPoints[0], SectionType.Column)); + curveList.Add(GetSteelSec(tCenter.shape, sectionPoints[1], SectionType.Column)); + curveList.Add(GetSteelSec(tCenter.shape, sectionPoints[2], SectionType.Column)); + curveList.Add(GetSteelSec(tTop.shape, sectionPoints[3], SectionType.Column)); break; default: throw new ArgumentException("Unmatched StbSecSteelColumn_S"); @@ -124,6 +146,29 @@ private List SteelSecToCurves(object[] figures, IReadOnlyList se return curveList; } + private List SecSteelBeamToCurves(object[] figures, IReadOnlyList sectionPoints) + { + var curveList = new List(); + + switch (figures) + { + case StbSecSteelBeam_S_Straight[] straights: + break; + case StbSecSteelBeam_S_Taper[] tapers: + break; + case StbSecSteelBeam_S_Joint[] joints: + break; + case StbSecSteelBeam_S_Haunch[] haunches: + break; + case StbSecSteelBeam_S_FiveTypes[] five: + break; + default: + throw new ArgumentException("Unmatched StbSecSteelBeam_S"); + } + + return curveList; + } + private Curve GetSteelSec(string shape, Point3d point, SectionType type) { StbSecSteel secSteel = _sections.StbSecSteel; @@ -137,7 +182,7 @@ private Curve GetSteelSec(string shape, Point3d point, SectionType type) switch (type) { case SectionType.Column: - return new PolylineCurve(SectionCornerPoints.Column(point, box.A, box.B)); + return new PolylineCurve(SectionCornerPoints.ColumnRect(point, box.B, box.A)); case SectionType.Beam: break; case SectionType.Brace: @@ -158,7 +203,50 @@ private Curve GetSteelSec(string shape, Point3d point, SectionType type) switch (type) { case SectionType.Column: - return new PolylineCurve(SectionCornerPoints.Column(point, box.A, box.B)); + return new PolylineCurve(SectionCornerPoints.ColumnRect(point, box.B, box.A)); + case SectionType.Beam: + break; + case SectionType.Brace: + break; + default: + throw new ArgumentOutOfRangeException(nameof(type), type, null); + } + } + } + } + + if (secSteel.StbSecBuildH != null) + { + foreach (StbSecBuildH buildH in _sections.StbSecSteel.StbSecBuildH) + { + if (buildH.name == shape) + { + switch (type) + { + case SectionType.Column: + return new PolylineCurve(SectionCornerPoints.ColumnH(point, buildH.B, buildH.A, + buildH.t1, buildH.t2)); + case SectionType.Beam: + break; + case SectionType.Brace: + break; + default: + throw new ArgumentOutOfRangeException(nameof(type), type, null); + } + } + } + } + + if (secSteel.StbSecRollH != null) + { + foreach (StbSecRollH rollH in _sections.StbSecSteel.StbSecRollH) + { + if (rollH.name == shape) + { + switch (type) + { + case SectionType.Column: + return new PolylineCurve(SectionCornerPoints.ColumnH(point, rollH.B, rollH.A, rollH.t1, rollH.t2)); case SectionType.Beam: break; case SectionType.Brace: @@ -170,13 +258,7 @@ private Curve GetSteelSec(string shape, Point3d point, SectionType type) } } - // foreach (StbSecBuildH buildH in _sections.StbSecSteel.StbSecBuildH) - // { - // if (buildH.name == shape) - // { - // - // } - // } + // TODO: Box と H 以外の断面を実装する throw new ArgumentException("There are no matching steel section"); } diff --git a/HoaryFox/Component_v2/Utils/Geometry/SectionCornerPoints.cs b/HoaryFox/Component_v2/Utils/Geometry/SectionCornerPoints.cs index 2bfaa68f..42f7f719 100644 --- a/HoaryFox/Component_v2/Utils/Geometry/SectionCornerPoints.cs +++ b/HoaryFox/Component_v2/Utils/Geometry/SectionCornerPoints.cs @@ -6,44 +6,71 @@ namespace HoaryFox.Component_v2.Utils.Geometry { public static class SectionCornerPoints { - // Z 3 - 2 + // Y 3 - 2 // ^ | | - // o > Y 0 - 1 - public static Point3d[] Column(Point3d node, double width, double height) + // o > X 0 - 1 + public static Point3d[] ColumnRect(Point3d pt, double width, double height) { var points = new[] { - new Point3d(node.X - width / 2, node.Y - height / 2, node.Z), - new Point3d(node.X + width / 2, node.Y - height / 2, node.Z), - new Point3d(node.X + width / 2, node.Y + height / 2, node.Z), - new Point3d(node.X - width / 2, node.Y + height / 2, node.Z), - new Point3d(node.X - width / 2, node.Y - height / 2, node.Z), + new Point3d(pt.X - width / 2, pt.Y - height / 2, pt.Z), + new Point3d(pt.X + width / 2, pt.Y - height / 2, pt.Z), + new Point3d(pt.X + width / 2, pt.Y + height / 2, pt.Z), + new Point3d(pt.X - width / 2, pt.Y + height / 2, pt.Z), + new Point3d(pt.X - width / 2, pt.Y - height / 2, pt.Z), }; return points; } - public static List Girder(Point3d node, double width, double height, double angle) + public static List Girder(Point3d pt, double width, double height, double angle) { var points = new List { - new Point3d(node.X + width / 2 * Math.Sin(angle), node.Y + width / 2 * Math.Cos(angle), node.Z - height), - new Point3d(node.X - width / 2 * Math.Sin(angle), node.Y - width / 2 * Math.Cos(angle), node.Z - height), - new Point3d(node.X + width / 2 * Math.Sin(angle), node.Y + width / 2 * Math.Cos(angle), node.Z), - new Point3d(node.X - width / 2 * Math.Sin(angle), node.Y - width / 2 * Math.Cos(angle), node.Z) + new Point3d(pt.X + width / 2 * Math.Sin(angle), pt.Y + width / 2 * Math.Cos(angle), pt.Z - height), + new Point3d(pt.X - width / 2 * Math.Sin(angle), pt.Y - width / 2 * Math.Cos(angle), pt.Z - height), + new Point3d(pt.X + width / 2 * Math.Sin(angle), pt.Y + width / 2 * Math.Cos(angle), pt.Z), + new Point3d(pt.X - width / 2 * Math.Sin(angle), pt.Y - width / 2 * Math.Cos(angle), pt.Z) }; return points; } - public static List Brace(Point3d node, double width, double angle) + public static List Brace(Point3d pt, double width, double angle) { var points = new List { - new Point3d(node.X + width / 2 * Math.Sin(angle), node.Y + width / 2 * Math.Cos(angle), node.Z - width / 2), - new Point3d(node.X - width / 2 * Math.Sin(angle), node.Y - width / 2 * Math.Cos(angle), node.Z - width / 2), - new Point3d(node.X + width / 2 * Math.Sin(angle), node.Y + width / 2 * Math.Cos(angle), node.Z + width / 2), - new Point3d(node.X - width / 2 * Math.Sin(angle), node.Y - width / 2 * Math.Cos(angle), node.Z + width / 2) + new Point3d(pt.X + width / 2 * Math.Sin(angle), pt.Y + width / 2 * Math.Cos(angle), pt.Z - width / 2), + new Point3d(pt.X - width / 2 * Math.Sin(angle), pt.Y - width / 2 * Math.Cos(angle), pt.Z - width / 2), + new Point3d(pt.X + width / 2 * Math.Sin(angle), pt.Y + width / 2 * Math.Cos(angle), pt.Z + width / 2), + new Point3d(pt.X - width / 2 * Math.Sin(angle), pt.Y - width / 2 * Math.Cos(angle), pt.Z + width / 2) + }; + + return points; + } + + // 7 - - - - 6 + // 8 - 9 4 - 5 + // Y | | + // ^ 11-10 3 - 2 + // o > X 0 - - - - 1 + public static Point3d[] ColumnH(Point3d pt, double height, double width, double tw, double tf) + { + var points = new[] + { + new Point3d(pt.X - width / 2, pt.Y - height / 2, pt.Z), + new Point3d(pt.X + width / 2, pt.Y - height / 2, pt.Z), + new Point3d(pt.X + width / 2, pt.Y - height / 2 + tf, pt.Z), + new Point3d(pt.X + tw / 2, pt.Y - height / 2 + tf, pt.Z), + new Point3d(pt.X + tw / 2, pt.Y + height / 2 - tf, pt.Z), + new Point3d(pt.X + width / 2, pt.Y + height / 2 - tf, pt.Z), + new Point3d(pt.X + width / 2, pt.Y + height / 2, pt.Z), + new Point3d(pt.X - width / 2, pt.Y + height / 2, pt.Z), + new Point3d(pt.X - width / 2, pt.Y + height / 2 - tf, pt.Z), + new Point3d(pt.X - tw / 2, pt.Y + height / 2 - tf, pt.Z), + new Point3d(pt.X - tw / 2, pt.Y - height / 2 + tf, pt.Z), + new Point3d(pt.X - width / 2, pt.Y - height / 2 + tf, pt.Z), + new Point3d(pt.X - width / 2, pt.Y - height / 2, pt.Z) }; return points; From b6fa749d066b0d75a8f355fc0a3a92078d165dfa Mon Sep 17 00:00:00 2001 From: hiron Date: Mon, 12 Jul 2021 22:41:53 +0900 Subject: [PATCH 032/162] Add girder method to CreateBrepFromStb --- HoaryFox/Component_v2/Geometry/Stb2Brep.cs | 5 +- .../Utils/Geometry/CreateBrepFromStb.cs | 77 +++++++++++++++++-- 2 files changed, 75 insertions(+), 7 deletions(-) diff --git a/HoaryFox/Component_v2/Geometry/Stb2Brep.cs b/HoaryFox/Component_v2/Geometry/Stb2Brep.cs index 68bc8130..845156c7 100644 --- a/HoaryFox/Component_v2/Geometry/Stb2Brep.cs +++ b/HoaryFox/Component_v2/Geometry/Stb2Brep.cs @@ -62,8 +62,9 @@ protected override void SolveInstance(IGH_DataAccess DA) private void MakeBrep() { - var aaa = new CreateBrepFromStb(_stBridge.StbModel.StbSections, _stBridge.StbModel.StbNodes, new[] { DocumentTolerance(), DocumentAngleTolerance() }); - _brepList.Add(aaa.Column(_stBridge.StbModel.StbMembers.StbColumns)); + var brepFromStb = new CreateBrepFromStb(_stBridge.StbModel.StbSections, _stBridge.StbModel.StbNodes, new[] { DocumentTolerance(), DocumentAngleTolerance() }); + _brepList.Add(brepFromStb.Column(_stBridge.StbModel.StbMembers.StbColumns)); + // _brepList.Add(brepFromStb.Girder(_stBridge.StbModel.StbMembers.StbGirders)); for (var i = 0; i < 6; i++) { diff --git a/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs b/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs index 2907bc66..6b722656 100644 --- a/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs +++ b/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs @@ -36,10 +36,13 @@ public List Column(IEnumerable columns) Point3d[] sectionPoints = { new Point3d(endNodes[0].X, endNodes[0].Y, endNodes[0].Z), - new Point3d(endNodes[0].X, endNodes[0].Y, endNodes[0].Z + column.joint_bottom), - new Point3d(endNodes[1].X, endNodes[1].Y, endNodes[1].Z - column.joint_top), + new Point3d(), + new Point3d(), new Point3d(endNodes[1].X, endNodes[1].Y, endNodes[1].Z) }; + Vector3d memberAxis = sectionPoints[3] - sectionPoints[0]; + sectionPoints[1] = sectionPoints[0] + memberAxis / memberAxis.Length * column.joint_bottom; + sectionPoints[2] = sectionPoints[3] - memberAxis / memberAxis.Length * column.joint_top; var brep = new Brep(); var curveList = new List(); @@ -67,7 +70,6 @@ public List Column(IEnumerable columns) brep = Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] .CapPlanarHoles(_tolerance[0]); - Vector3d memberAxis = sectionPoints[3] - sectionPoints[0]; Vector3d rotateAxis = Vector3d.CrossProduct(Vector3d.ZAxis, memberAxis); double angle = Vector3d.VectorAngle(Vector3d.ZAxis, memberAxis); brep.Rotate(column.rotate, Vector3d.ZAxis, sectionPoints[0]); // 要素軸での回転 @@ -78,7 +80,7 @@ public List Column(IEnumerable columns) return brepList; } - private List SecRcColumnToCurves(object figure, IReadOnlyList sectionPoints) + private static List SecRcColumnToCurves(object figure, IReadOnlyList sectionPoints) { var curveList = new List(); @@ -146,7 +148,72 @@ private List SecSteelColumnToCurves(IReadOnlyList figures, IReadO return curveList; } - private List SecSteelBeamToCurves(object[] figures, IReadOnlyList sectionPoints) + public List Girder(IEnumerable girders) + { + var brepList = new List(); + + foreach (StbGirder girder in girders) + { + StbGirderKind_structure kind = girder.kind_structure; + + StbNode[] endNodes = + { + _nodes.First(node => node.id == girder.id_node_start), + _nodes.First(node => node.id == girder.id_node_end) + }; + + Point3d[] sectionPoints = + { + new Point3d(endNodes[0].X, endNodes[0].Y, endNodes[0].Z), + new Point3d(), + new Point3d(), + new Point3d(endNodes[1].X, endNodes[1].Y, endNodes[1].Z) + }; + Vector3d memberAxis = sectionPoints[3] - sectionPoints[0]; + sectionPoints[1] = sectionPoints[0] + memberAxis / memberAxis.Length * girder.joint_start; + sectionPoints[2] = sectionPoints[3] - memberAxis / memberAxis.Length * girder.joint_end; + + var brep = new Brep(); + var curveList = new List(); + + switch (kind) + { + case StbGirderKind_structure.RC: + StbSecBeam_RC rcSec = _sections.StbSecBeam_RC.First(sec => sec.id == girder.id_section); + object[] figure = rcSec.StbSecFigureBeam_RC.Items; + curveList = SecRcBeamCurves(figure, sectionPoints); + break; + case StbGirderKind_structure.S: + StbSecBeam_S sSec = _sections.StbSecBeam_S.First(sec => sec.id == girder.id_section); + object[] figures = sSec.StbSecSteelFigureBeam_S.Items; + curveList = SecSteelBeamToCurves(figures, sectionPoints); + break; + case StbGirderKind_structure.SRC: + case StbGirderKind_structure.UNDEFINED: + break; + default: + throw new ArgumentOutOfRangeException(); + } + + brep = Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] + .CapPlanarHoles(_tolerance[0]); + + Vector3d rotateAxis = Vector3d.CrossProduct(Vector3d.ZAxis, memberAxis); + double angle = Vector3d.VectorAngle(Vector3d.ZAxis, memberAxis); + brep.Rotate(girder.rotate, Vector3d.ZAxis, sectionPoints[0]); // 要素軸での回転 + brep.Rotate(angle, rotateAxis, sectionPoints[0]); // デフォルトではZ方向を向いているので、正確な要素方向への回転 + brepList.Add(brep); + } + + return brepList; + } + + private List SecRcBeamCurves(IReadOnlyList figures, IReadOnlyList sectionPoints) + { + throw new NotImplementedException(); + } + + private List SecSteelBeamToCurves(IReadOnlyList figures, IReadOnlyList sectionPoints) { var curveList = new List(); From b096e04544dd9c6bbd7a972c03dabef0fc6934b4 Mon Sep 17 00:00:00 2001 From: hiron Date: Tue, 13 Jul 2021 18:40:16 +0900 Subject: [PATCH 033/162] Add RotateCurveList method --- .../Utils/Geometry/CreateBrepFromStb.cs | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs b/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs index 6b722656..91585798 100644 --- a/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs +++ b/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs @@ -195,19 +195,28 @@ public List Girder(IEnumerable girders) throw new ArgumentOutOfRangeException(); } + double rotate = girder.rotate; + RotateCurveList(memberAxis, curveList, rotate, sectionPoints); brep = Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] .CapPlanarHoles(_tolerance[0]); - Vector3d rotateAxis = Vector3d.CrossProduct(Vector3d.ZAxis, memberAxis); - double angle = Vector3d.VectorAngle(Vector3d.ZAxis, memberAxis); - brep.Rotate(girder.rotate, Vector3d.ZAxis, sectionPoints[0]); // 要素軸での回転 - brep.Rotate(angle, rotateAxis, sectionPoints[0]); // デフォルトではZ方向を向いているので、正確な要素方向への回転 brepList.Add(brep); } return brepList; } + private static void RotateCurveList(Vector3d memberAxis, IEnumerable curveList, double rotate, IReadOnlyList sectionPoints) + { + Vector3d rotateAxis = Vector3d.CrossProduct(Vector3d.ZAxis, memberAxis); + double angle = Vector3d.VectorAngle(Vector3d.ZAxis, memberAxis); + foreach (Curve curve in curveList) + { + curve.Rotate(rotate, Vector3d.ZAxis, sectionPoints[0]); // 断面の回転 + curve.Rotate(angle, rotateAxis, sectionPoints[0]); // 軸の回転 + } + } + private List SecRcBeamCurves(IReadOnlyList figures, IReadOnlyList sectionPoints) { throw new NotImplementedException(); From 0a4c99244f07978e34b9b9e048097d65f774ad8f Mon Sep 17 00:00:00 2001 From: hiron Date: Tue, 13 Jul 2021 21:51:39 +0900 Subject: [PATCH 034/162] Add RotateCurveList method --- HoaryFox/Component_v2/Geometry/Stb2Brep.cs | 2 +- .../Utils/Geometry/CreateBrepFromStb.cs | 96 +++++++++++++++---- .../Utils/Geometry/SectionCornerPoints.cs | 43 ++++----- 3 files changed, 94 insertions(+), 47 deletions(-) diff --git a/HoaryFox/Component_v2/Geometry/Stb2Brep.cs b/HoaryFox/Component_v2/Geometry/Stb2Brep.cs index 845156c7..c35771ee 100644 --- a/HoaryFox/Component_v2/Geometry/Stb2Brep.cs +++ b/HoaryFox/Component_v2/Geometry/Stb2Brep.cs @@ -64,7 +64,7 @@ private void MakeBrep() { var brepFromStb = new CreateBrepFromStb(_stBridge.StbModel.StbSections, _stBridge.StbModel.StbNodes, new[] { DocumentTolerance(), DocumentAngleTolerance() }); _brepList.Add(brepFromStb.Column(_stBridge.StbModel.StbMembers.StbColumns)); - // _brepList.Add(brepFromStb.Girder(_stBridge.StbModel.StbMembers.StbGirders)); + _brepList.Add(brepFromStb.Girder(_stBridge.StbModel.StbMembers.StbGirders)); for (var i = 0; i < 6; i++) { diff --git a/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs b/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs index 91585798..be4b8f28 100644 --- a/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs +++ b/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs @@ -44,7 +44,6 @@ public List Column(IEnumerable columns) sectionPoints[1] = sectionPoints[0] + memberAxis / memberAxis.Length * column.joint_bottom; sectionPoints[2] = sectionPoints[3] - memberAxis / memberAxis.Length * column.joint_top; - var brep = new Brep(); var curveList = new List(); switch (kind) @@ -67,13 +66,10 @@ public List Column(IEnumerable columns) throw new ArgumentOutOfRangeException(); } - brep = Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] + RotateCurveList(memberAxis, curveList, column.rotate, sectionPoints, Vector3d.ZAxis); + Brep brep = Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] .CapPlanarHoles(_tolerance[0]); - Vector3d rotateAxis = Vector3d.CrossProduct(Vector3d.ZAxis, memberAxis); - double angle = Vector3d.VectorAngle(Vector3d.ZAxis, memberAxis); - brep.Rotate(column.rotate, Vector3d.ZAxis, sectionPoints[0]); // 要素軸での回転 - brep.Rotate(angle, rotateAxis, sectionPoints[0]); // デフォルトではZ方向を向いているので、正確な要素方向への回転 brepList.Add(brep); } @@ -165,17 +161,15 @@ public List Girder(IEnumerable girders) Point3d[] sectionPoints = { new Point3d(endNodes[0].X, endNodes[0].Y, endNodes[0].Z), - new Point3d(), - new Point3d(), + Point3d.Origin, + Point3d.Origin, new Point3d(endNodes[1].X, endNodes[1].Y, endNodes[1].Z) }; Vector3d memberAxis = sectionPoints[3] - sectionPoints[0]; sectionPoints[1] = sectionPoints[0] + memberAxis / memberAxis.Length * girder.joint_start; sectionPoints[2] = sectionPoints[3] - memberAxis / memberAxis.Length * girder.joint_end; - var brep = new Brep(); var curveList = new List(); - switch (kind) { case StbGirderKind_structure.RC: @@ -195,9 +189,8 @@ public List Girder(IEnumerable girders) throw new ArgumentOutOfRangeException(); } - double rotate = girder.rotate; - RotateCurveList(memberAxis, curveList, rotate, sectionPoints); - brep = Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] + RotateCurveList(memberAxis, curveList, girder.rotate, sectionPoints, Vector3d.XAxis); + Brep brep = Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] .CapPlanarHoles(_tolerance[0]); brepList.Add(brep); @@ -206,20 +199,83 @@ public List Girder(IEnumerable girders) return brepList; } - private static void RotateCurveList(Vector3d memberAxis, IEnumerable curveList, double rotate, IReadOnlyList sectionPoints) + private static void RotateCurveList(Vector3d memberAxis, IReadOnlyList curveList, double rotate, IReadOnlyList sectionPoints, Vector3d secLocalAxis) { - Vector3d rotateAxis = Vector3d.CrossProduct(Vector3d.ZAxis, memberAxis); - double angle = Vector3d.VectorAngle(Vector3d.ZAxis, memberAxis); - foreach (Curve curve in curveList) + Vector3d rotateAxis = Vector3d.CrossProduct(secLocalAxis, memberAxis); + double angle = Vector3d.VectorAngle(secLocalAxis, memberAxis); + int len = curveList.Count; + switch (len) { - curve.Rotate(rotate, Vector3d.ZAxis, sectionPoints[0]); // 断面の回転 - curve.Rotate(angle, rotateAxis, sectionPoints[0]); // 軸の回転 + case 2: + curveList[0].Rotate(rotate, secLocalAxis, sectionPoints[0]); // 断面内の回転 + curveList[0].Rotate(angle, rotateAxis, sectionPoints[0]); // 断面外の回転 + curveList[1].Rotate(rotate, secLocalAxis, sectionPoints[3]); + curveList[1].Rotate(angle, rotateAxis, sectionPoints[3]); + break; + case 3: + curveList[0].Rotate(rotate, secLocalAxis, sectionPoints[0]); + curveList[0].Rotate(angle, rotateAxis, sectionPoints[0]); + curveList[2].Rotate(rotate, secLocalAxis, sectionPoints[3]); + curveList[2].Rotate(angle, rotateAxis, sectionPoints[3]); + if (sectionPoints[1] == Point3d.Origin) + { + curveList[1].Rotate(rotate, secLocalAxis, sectionPoints[1]); + curveList[1].Rotate(angle, rotateAxis, sectionPoints[1]); + } + else + { + curveList[1].Rotate(rotate, secLocalAxis, sectionPoints[2]); + curveList[1].Rotate(angle, rotateAxis, sectionPoints[2]); + } + break; + case 4: + for (var i = 0; i < 4; i++) + { + curveList[i].Rotate(rotate, secLocalAxis, sectionPoints[i]); + curveList[i].Rotate(angle, rotateAxis, sectionPoints[i]); + } + break; + default: + throw new ArgumentException(); } } private List SecRcBeamCurves(IReadOnlyList figures, IReadOnlyList sectionPoints) { - throw new NotImplementedException(); + var curveList = new List(); + + switch (figures.Count) + { + case 1: + var straight = figures[0] as StbSecBeam_RC_Straight; + curveList.Add(new PolylineCurve( + SectionCornerPoints.BeamRect(sectionPoints[0], straight.depth, straight.width))); + curveList.Add(new PolylineCurve( + SectionCornerPoints.BeamRect(sectionPoints[3], straight.depth, straight.width))); + break; + case 2: + var taper = new[] { figures[0] as StbSecBeam_RC_Taper, figures[1] as StbSecBeam_RC_Taper }; + curveList.Add(new PolylineCurve( + SectionCornerPoints.BeamRect(sectionPoints[0], taper[0].depth, taper[0].width))); + curveList.Add(new PolylineCurve( + SectionCornerPoints.BeamRect(sectionPoints[3], taper[1].depth, taper[1].width))); + break; + case 3: + var haunches = new[] { figures[0] as StbSecBeam_RC_Haunch, figures[1] as StbSecBeam_RC_Haunch, figures[2] as StbSecBeam_RC_Haunch }; + curveList.Add(new PolylineCurve( + SectionCornerPoints.BeamRect(sectionPoints[0], haunches[0].depth, haunches[0].width))); + curveList.Add(new PolylineCurve( + SectionCornerPoints.BeamRect(sectionPoints[1], haunches[1].depth, haunches[1].width))); + curveList.Add(new PolylineCurve( + SectionCornerPoints.BeamRect(sectionPoints[2], haunches[1].depth, haunches[1].width))); + curveList.Add(new PolylineCurve( + SectionCornerPoints.BeamRect(sectionPoints[3], haunches[2].depth, haunches[2].width))); + break; + default: + throw new Exception(); + } + + return curveList; } private List SecSteelBeamToCurves(IReadOnlyList figures, IReadOnlyList sectionPoints) diff --git a/HoaryFox/Component_v2/Utils/Geometry/SectionCornerPoints.cs b/HoaryFox/Component_v2/Utils/Geometry/SectionCornerPoints.cs index 42f7f719..bf511d42 100644 --- a/HoaryFox/Component_v2/Utils/Geometry/SectionCornerPoints.cs +++ b/HoaryFox/Component_v2/Utils/Geometry/SectionCornerPoints.cs @@ -23,32 +23,6 @@ public static Point3d[] ColumnRect(Point3d pt, double width, double height) return points; } - public static List Girder(Point3d pt, double width, double height, double angle) - { - var points = new List - { - new Point3d(pt.X + width / 2 * Math.Sin(angle), pt.Y + width / 2 * Math.Cos(angle), pt.Z - height), - new Point3d(pt.X - width / 2 * Math.Sin(angle), pt.Y - width / 2 * Math.Cos(angle), pt.Z - height), - new Point3d(pt.X + width / 2 * Math.Sin(angle), pt.Y + width / 2 * Math.Cos(angle), pt.Z), - new Point3d(pt.X - width / 2 * Math.Sin(angle), pt.Y - width / 2 * Math.Cos(angle), pt.Z) - }; - - return points; - } - - public static List Brace(Point3d pt, double width, double angle) - { - var points = new List - { - new Point3d(pt.X + width / 2 * Math.Sin(angle), pt.Y + width / 2 * Math.Cos(angle), pt.Z - width / 2), - new Point3d(pt.X - width / 2 * Math.Sin(angle), pt.Y - width / 2 * Math.Cos(angle), pt.Z - width / 2), - new Point3d(pt.X + width / 2 * Math.Sin(angle), pt.Y + width / 2 * Math.Cos(angle), pt.Z + width / 2), - new Point3d(pt.X - width / 2 * Math.Sin(angle), pt.Y - width / 2 * Math.Cos(angle), pt.Z + width / 2) - }; - - return points; - } - // 7 - - - - 6 // 8 - 9 4 - 5 // Y | | @@ -75,5 +49,22 @@ public static Point3d[] ColumnH(Point3d pt, double height, double width, double return points; } + + // Z 3 - 2 + // ^ | | + // o > Y 0 - 1 + public static Point3d[] BeamRect(Point3d pt, double depth, double width) + { + var points = new[] + { + new Point3d(pt.X, pt.Y - width / 2, pt.Z - depth), + new Point3d(pt.X, pt.Y + width / 2, pt.Z - depth), + new Point3d(pt.X, pt.Y + width / 2, pt.Z), + new Point3d(pt.X, pt.Y - width / 2, pt.Z), + new Point3d(pt.X, pt.Y - width / 2, pt.Z - depth), + }; + + return points; + } } } From 566249dddcdcc1434df2bf2fa2f62a6f569091e8 Mon Sep 17 00:00:00 2001 From: hiron Date: Tue, 13 Jul 2021 23:14:35 +0900 Subject: [PATCH 035/162] Fix output Girder brep --- .../Utils/Geometry/CreateBrepFromStb.cs | 122 +++++++++++------- .../Utils/Geometry/SectionCornerPoints.cs | 28 ++++ 2 files changed, 105 insertions(+), 45 deletions(-) diff --git a/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs b/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs index be4b8f28..4c3ebbba 100644 --- a/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs +++ b/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs @@ -103,39 +103,41 @@ private List SecSteelColumnToCurves(IReadOnlyList figures, IReadO { var curveList = new List(); + string bottom, center, top; switch (figures.Count) { case 1: var same = figures[0] as StbSecSteelColumn_S_Same; - curveList.Add(GetSteelSec(same.shape, sectionPoints[0], SectionType.Column)); - curveList.Add(GetSteelSec(same.shape, sectionPoints[3], SectionType.Column)); + center = same.shape; + curveList.Add(GetSteelSec(center, sectionPoints[0], SectionType.Column)); + curveList.Add(GetSteelSec(center, sectionPoints[3], SectionType.Column)); break; case 2: var notSames = new[] { figures[0] as StbSecSteelColumn_S_NotSame, figures[1] as StbSecSteelColumn_S_NotSame }; - StbSecSteelColumn_S_NotSame nsBottom = notSames.First(item => item.pos == StbSecSteelColumn_S_NotSamePos.BOTTOM); - StbSecSteelColumn_S_NotSame nsTop = notSames.First(item => item.pos == StbSecSteelColumn_S_NotSamePos.TOP); - curveList.Add(GetSteelSec(nsBottom.shape, sectionPoints[0], SectionType.Column)); + bottom = notSames.First(item => item.pos == StbSecSteelColumn_S_NotSamePos.BOTTOM).shape; + top = notSames.First(item => item.pos == StbSecSteelColumn_S_NotSamePos.TOP).shape; + curveList.Add(GetSteelSec(bottom, sectionPoints[0], SectionType.Column)); if (sectionPoints[1].Z > sectionPoints[0].Z) { - curveList.Add(GetSteelSec(nsBottom.shape, sectionPoints[1], SectionType.Column)); - curveList.Add(GetSteelSec(nsTop.shape, sectionPoints[1], SectionType.Column)); + curveList.Add(GetSteelSec(bottom, sectionPoints[1], SectionType.Column)); + curveList.Add(GetSteelSec(top, sectionPoints[1], SectionType.Column)); } else { - curveList.Add(GetSteelSec(nsBottom.shape, sectionPoints[2], SectionType.Column)); - curveList.Add(GetSteelSec(nsTop.shape, sectionPoints[2], SectionType.Column)); + curveList.Add(GetSteelSec(bottom, sectionPoints[2], SectionType.Column)); + curveList.Add(GetSteelSec(top, sectionPoints[2], SectionType.Column)); } - curveList.Add(GetSteelSec(nsTop.shape, sectionPoints[3], SectionType.Column)); + curveList.Add(GetSteelSec(top, sectionPoints[3], SectionType.Column)); break; case 3: var three = new[] { figures[0] as StbSecSteelColumn_S_ThreeTypes, figures[1] as StbSecSteelColumn_S_ThreeTypes, figures[2] as StbSecSteelColumn_S_ThreeTypes }; - StbSecSteelColumn_S_ThreeTypes tBottom = three.First(item => item.pos == StbSecSteelColumn_S_ThreeTypesPos.BOTTOM); - StbSecSteelColumn_S_ThreeTypes tCenter = three.First(item => item.pos == StbSecSteelColumn_S_ThreeTypesPos.CENTER); - StbSecSteelColumn_S_ThreeTypes tTop = three.First(item => item.pos == StbSecSteelColumn_S_ThreeTypesPos.TOP); - curveList.Add(GetSteelSec(tBottom.shape, sectionPoints[0], SectionType.Column)); - curveList.Add(GetSteelSec(tCenter.shape, sectionPoints[1], SectionType.Column)); - curveList.Add(GetSteelSec(tCenter.shape, sectionPoints[2], SectionType.Column)); - curveList.Add(GetSteelSec(tTop.shape, sectionPoints[3], SectionType.Column)); + bottom = three.First(item => item.pos == StbSecSteelColumn_S_ThreeTypesPos.BOTTOM).shape; + center = three.First(item => item.pos == StbSecSteelColumn_S_ThreeTypesPos.CENTER).shape; + top = three.First(item => item.pos == StbSecSteelColumn_S_ThreeTypesPos.TOP).shape; + curveList.Add(GetSteelSec(bottom, sectionPoints[0], SectionType.Column)); + curveList.Add(GetSteelSec(center, sectionPoints[1], SectionType.Column)); + curveList.Add(GetSteelSec(center, sectionPoints[2], SectionType.Column)); + curveList.Add(GetSteelSec(top, sectionPoints[3], SectionType.Column)); break; default: throw new ArgumentException("Unmatched StbSecSteelColumn_S"); @@ -214,10 +216,10 @@ private static void RotateCurveList(Vector3d memberAxis, IReadOnlyList cu break; case 3: curveList[0].Rotate(rotate, secLocalAxis, sectionPoints[0]); - curveList[0].Rotate(angle, rotateAxis, sectionPoints[0]); + curveList[0].Rotate(angle, rotateAxis, sectionPoints[0]); curveList[2].Rotate(rotate, secLocalAxis, sectionPoints[3]); curveList[2].Rotate(angle, rotateAxis, sectionPoints[3]); - if (sectionPoints[1] == Point3d.Origin) + if (sectionPoints[2] == sectionPoints[3]) { curveList[1].Rotate(rotate, secLocalAxis, sectionPoints[1]); curveList[1].Rotate(angle, rotateAxis, sectionPoints[1]); @@ -261,15 +263,12 @@ private List SecRcBeamCurves(IReadOnlyList figures, IReadOnlyList SectionCornerPoints.BeamRect(sectionPoints[3], taper[1].depth, taper[1].width))); break; case 3: - var haunches = new[] { figures[0] as StbSecBeam_RC_Haunch, figures[1] as StbSecBeam_RC_Haunch, figures[2] as StbSecBeam_RC_Haunch }; - curveList.Add(new PolylineCurve( - SectionCornerPoints.BeamRect(sectionPoints[0], haunches[0].depth, haunches[0].width))); - curveList.Add(new PolylineCurve( - SectionCornerPoints.BeamRect(sectionPoints[1], haunches[1].depth, haunches[1].width))); - curveList.Add(new PolylineCurve( - SectionCornerPoints.BeamRect(sectionPoints[2], haunches[1].depth, haunches[1].width))); - curveList.Add(new PolylineCurve( - SectionCornerPoints.BeamRect(sectionPoints[3], haunches[2].depth, haunches[2].width))); + var haunch4 = new[] { figures[0] as StbSecBeam_RC_Haunch, figures[1] as StbSecBeam_RC_Haunch, figures[2] as StbSecBeam_RC_Haunch, figures[3] as StbSecBeam_RC_Haunch }; + for (var i = 0; i < 4; i++) + { + curveList.Add(new PolylineCurve( + SectionCornerPoints.BeamRect(sectionPoints[i], haunch4[i].depth, haunch4[i].width))); + } break; default: throw new Exception(); @@ -281,19 +280,45 @@ private List SecRcBeamCurves(IReadOnlyList figures, IReadOnlyList private List SecSteelBeamToCurves(IReadOnlyList figures, IReadOnlyList sectionPoints) { var curveList = new List(); + string start, center, end; - switch (figures) + switch (figures.Count) { - case StbSecSteelBeam_S_Straight[] straights: - break; - case StbSecSteelBeam_S_Taper[] tapers: - break; - case StbSecSteelBeam_S_Joint[] joints: + case 1: + var straight = figures[0] as StbSecSteelBeam_S_Straight; + center = straight.shape; + curveList.Add(GetSteelSec(center, sectionPoints[0], SectionType.Beam)); + curveList.Add(GetSteelSec(center, sectionPoints[3], SectionType.Beam)); break; - case StbSecSteelBeam_S_Haunch[] haunches: + case 2: + var tapers = new[] { figures[0] as StbSecSteelBeam_S_Taper, figures[1] as StbSecSteelBeam_S_Taper }; + start = tapers.First(sec => sec.pos == StbSecSteelBeam_S_TaperPos.START).shape; + end = tapers.First(sec => sec.pos == StbSecSteelBeam_S_TaperPos.END).shape; + curveList.Add(GetSteelSec(start, sectionPoints[0], SectionType.Beam)); + curveList.Add(GetSteelSec(end, sectionPoints[3], SectionType.Beam)); break; - case StbSecSteelBeam_S_FiveTypes[] five: + case 3: + if (figures[0] is StbSecSteelBeam_S_Haunch) + { + var haunch = new[] { figures[0] as StbSecSteelBeam_S_Haunch, figures[1] as StbSecSteelBeam_S_Haunch, figures[2] as StbSecSteelBeam_S_Haunch }; + start = haunch.First(sec => sec.pos == StbSecSteelBeam_S_HaunchPos.START).shape; + center = haunch.First(sec => sec.pos == StbSecSteelBeam_S_HaunchPos.CENTER).shape; + end = haunch.First(sec => sec.pos == StbSecSteelBeam_S_HaunchPos.END).shape; + } + else + { + var joint = new[] { figures[0] as StbSecSteelBeam_S_Joint, figures[1] as StbSecSteelBeam_S_Joint, figures[2] as StbSecSteelBeam_S_Joint }; + start = joint.First(sec => sec.pos == StbSecSteelBeam_S_JointPos.START).shape; + center = joint.First(sec => sec.pos == StbSecSteelBeam_S_JointPos.CENTER).shape; + end = joint.First(sec => sec.pos == StbSecSteelBeam_S_JointPos.END).shape; + } + curveList.Add(GetSteelSec(start, sectionPoints[0], SectionType.Beam)); + curveList.Add(GetSteelSec(center, sectionPoints[1], SectionType.Beam)); + curveList.Add(GetSteelSec(center, sectionPoints[2], SectionType.Beam)); + curveList.Add(GetSteelSec(end, sectionPoints[3], SectionType.Beam)); break; + case 5: + throw new ArgumentException("5 section steel is not supported"); default: throw new ArgumentException("Unmatched StbSecSteelBeam_S"); } @@ -314,9 +339,11 @@ private Curve GetSteelSec(string shape, Point3d point, SectionType type) switch (type) { case SectionType.Column: - return new PolylineCurve(SectionCornerPoints.ColumnRect(point, box.B, box.A)); + return new PolylineCurve( + SectionCornerPoints.ColumnRect(point, box.B, box.A)); case SectionType.Beam: - break; + return new PolylineCurve( + SectionCornerPoints.BeamRect(point, box.B, box.A)); case SectionType.Brace: break; default: @@ -335,9 +362,11 @@ private Curve GetSteelSec(string shape, Point3d point, SectionType type) switch (type) { case SectionType.Column: - return new PolylineCurve(SectionCornerPoints.ColumnRect(point, box.B, box.A)); + return new PolylineCurve( + SectionCornerPoints.ColumnRect(point, box.B, box.A)); case SectionType.Beam: - break; + return new PolylineCurve( + SectionCornerPoints.BeamRect(point, box.B, box.A)); case SectionType.Brace: break; default: @@ -356,10 +385,11 @@ private Curve GetSteelSec(string shape, Point3d point, SectionType type) switch (type) { case SectionType.Column: - return new PolylineCurve(SectionCornerPoints.ColumnH(point, buildH.B, buildH.A, - buildH.t1, buildH.t2)); + return new PolylineCurve( + SectionCornerPoints.ColumnH(point, buildH.A, buildH.B, buildH.t1, buildH.t2)); case SectionType.Beam: - break; + return new PolylineCurve( + SectionCornerPoints.BeamH(point, buildH.A, buildH.B, buildH.t1, buildH.t2)); case SectionType.Brace: break; default: @@ -378,9 +408,11 @@ private Curve GetSteelSec(string shape, Point3d point, SectionType type) switch (type) { case SectionType.Column: - return new PolylineCurve(SectionCornerPoints.ColumnH(point, rollH.B, rollH.A, rollH.t1, rollH.t2)); + return new PolylineCurve( + SectionCornerPoints.ColumnH(point, rollH.A, rollH.B, rollH.t1, rollH.t2)); case SectionType.Beam: - break; + return new PolylineCurve( + SectionCornerPoints.BeamH(point, rollH.A, rollH.B, rollH.t1, rollH.t2)); case SectionType.Brace: break; default: diff --git a/HoaryFox/Component_v2/Utils/Geometry/SectionCornerPoints.cs b/HoaryFox/Component_v2/Utils/Geometry/SectionCornerPoints.cs index bf511d42..cd9d91f2 100644 --- a/HoaryFox/Component_v2/Utils/Geometry/SectionCornerPoints.cs +++ b/HoaryFox/Component_v2/Utils/Geometry/SectionCornerPoints.cs @@ -66,5 +66,33 @@ public static Point3d[] BeamRect(Point3d pt, double depth, double width) return points; } + + // 7 - - - - 6 + // 8 - 9 4 - 5 + // Z | | + // ^ 11-10 3 - 2 + // o > Y 0 - - - - 1 + public static Point3d[] BeamH(Point3d pt, double height, double width, double tw, double tf) + { + var points = new[] + { + new Point3d(pt.X, pt.Y - width / 2, pt.Z - height), + new Point3d(pt.X, pt.Y + width / 2, pt.Z - height), + new Point3d(pt.X, pt.Y + width / 2, pt.Z - height + tf), + new Point3d(pt.X, pt.Y + tw / 2, pt.Z - height + tf), + new Point3d(pt.X, pt.Y + tw / 2, pt.Z - tf), + new Point3d(pt.X, pt.Y + width / 2, pt.Z - tf), + new Point3d(pt.X, pt.Y + width / 2, pt.Z), + new Point3d(pt.X, pt.Y - width / 2, pt.Z), + new Point3d(pt.X, pt.Y - width / 2, pt.Z - tf), + new Point3d(pt.X, pt.Y - tw / 2, pt.Z - tf), + new Point3d(pt.X, pt.Y - tw / 2, pt.Z - height + tf), + new Point3d(pt.X, pt.Y - width / 2, pt.Z - height + tf), + new Point3d(pt.X, pt.Y - width / 2, pt.Z - height) + }; + + return points; + } + } } From 60eedc3a2be0bf333ad53db582d1eee5c85b82b3 Mon Sep 17 00:00:00 2001 From: hiron Date: Wed, 14 Jul 2021 21:23:51 +0900 Subject: [PATCH 036/162] Add output post brep --- HoaryFox/Component_v2/Geometry/Stb2Brep.cs | 4 +- .../Utils/Geometry/CreateBrepFromStb.cs | 93 ++++++++++++++----- 2 files changed, 73 insertions(+), 24 deletions(-) diff --git a/HoaryFox/Component_v2/Geometry/Stb2Brep.cs b/HoaryFox/Component_v2/Geometry/Stb2Brep.cs index c35771ee..aedba899 100644 --- a/HoaryFox/Component_v2/Geometry/Stb2Brep.cs +++ b/HoaryFox/Component_v2/Geometry/Stb2Brep.cs @@ -65,8 +65,10 @@ private void MakeBrep() var brepFromStb = new CreateBrepFromStb(_stBridge.StbModel.StbSections, _stBridge.StbModel.StbNodes, new[] { DocumentTolerance(), DocumentAngleTolerance() }); _brepList.Add(brepFromStb.Column(_stBridge.StbModel.StbMembers.StbColumns)); _brepList.Add(brepFromStb.Girder(_stBridge.StbModel.StbMembers.StbGirders)); + _brepList.Add(brepFromStb.Post(_stBridge.StbModel.StbMembers.StbPosts)); + // _brepList.Add(brepFromStb.Beam(_stBridge.StbModel.StbMembers.StbBeams)); - for (var i = 0; i < 6; i++) + for (var i = 0; i < 5; i++) { _brepList.Add(new List()); } diff --git a/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs b/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs index 4c3ebbba..92fdb2b8 100644 --- a/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs +++ b/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs @@ -22,6 +22,10 @@ public CreateBrepFromStb(StbSections sections, IEnumerable nodes, IRead public List Column(IEnumerable columns) { var brepList = new List(); + if (columns == null) + { + return brepList; + } foreach (StbColumn column in columns) { @@ -44,38 +48,77 @@ public List Column(IEnumerable columns) sectionPoints[1] = sectionPoints[0] + memberAxis / memberAxis.Length * column.joint_bottom; sectionPoints[2] = sectionPoints[3] - memberAxis / memberAxis.Length * column.joint_top; - var curveList = new List(); + brepList.Add(CreateColumnBrep(column.id_section, column.rotate, kind, sectionPoints, memberAxis)); + } - switch (kind) + return brepList; + } + + public List Post(IEnumerable posts) + { + var brepList = new List(); + if (posts == null) + { + return brepList; + } + + foreach (StbPost post in posts) + { + StbColumnKind_structure kind = post.kind_structure; + + StbNode[] endNodes = { - case StbColumnKind_structure.RC: - StbSecColumn_RC rcSec = _sections.StbSecColumn_RC.First(sec => sec.id == column.id_section); - object figure = rcSec.StbSecFigureColumn_RC.Item; - curveList = SecRcColumnToCurves(figure, sectionPoints); - break; - case StbColumnKind_structure.S: - StbSecColumn_S sSec = _sections.StbSecColumn_S.First(sec => sec.id == column.id_section); - object[] figures = sSec.StbSecSteelFigureColumn_S.Items; - curveList = SecSteelColumnToCurves(figures, sectionPoints); - break; - case StbColumnKind_structure.SRC: - case StbColumnKind_structure.CFT: - case StbColumnKind_structure.UNDEFINED: - break; - default: - throw new ArgumentOutOfRangeException(); - } + _nodes.First(node => node.id == post.id_node_bottom), + _nodes.First(node => node.id == post.id_node_top) + }; - RotateCurveList(memberAxis, curveList, column.rotate, sectionPoints, Vector3d.ZAxis); - Brep brep = Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] - .CapPlanarHoles(_tolerance[0]); + Point3d[] sectionPoints = + { + new Point3d(endNodes[0].X, endNodes[0].Y, endNodes[0].Z), + new Point3d(), + new Point3d(), + new Point3d(endNodes[1].X, endNodes[1].Y, endNodes[1].Z) + }; + Vector3d memberAxis = sectionPoints[3] - sectionPoints[0]; + sectionPoints[1] = sectionPoints[0] + memberAxis / memberAxis.Length * post.joint_bottom; + sectionPoints[2] = sectionPoints[3] - memberAxis / memberAxis.Length * post.joint_top; - brepList.Add(brep); + brepList.Add(CreateColumnBrep(post.id_section, post.rotate, kind, sectionPoints, memberAxis)); } return brepList; } + private Brep CreateColumnBrep(string idSection, double rotate, StbColumnKind_structure kind, IReadOnlyList sectionPoints, Vector3d memberAxis) + { + var curveList = new List(); + + switch (kind) + { + case StbColumnKind_structure.RC: + StbSecColumn_RC rcSec = _sections.StbSecColumn_RC.First(sec => sec.id == idSection); + object figure = rcSec.StbSecFigureColumn_RC.Item; + curveList = SecRcColumnToCurves(figure, sectionPoints); + break; + case StbColumnKind_structure.S: + StbSecColumn_S sSec = _sections.StbSecColumn_S.First(sec => sec.id == idSection); + object[] figures = sSec.StbSecSteelFigureColumn_S.Items; + curveList = SecSteelColumnToCurves(figures, sectionPoints); + break; + case StbColumnKind_structure.SRC: + case StbColumnKind_structure.CFT: + case StbColumnKind_structure.UNDEFINED: + break; + default: + throw new ArgumentOutOfRangeException(); + } + + RotateCurveList(memberAxis, curveList, rotate, sectionPoints, Vector3d.ZAxis); + Brep brep = Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] + .CapPlanarHoles(_tolerance[0]); + return brep; + } + private static List SecRcColumnToCurves(object figure, IReadOnlyList sectionPoints) { var curveList = new List(); @@ -149,6 +192,10 @@ private List SecSteelColumnToCurves(IReadOnlyList figures, IReadO public List Girder(IEnumerable girders) { var brepList = new List(); + if (girders == null) + { + return brepList; + } foreach (StbGirder girder in girders) { From 99407f8c70116ba099b59feb3ae58c401c871bd7 Mon Sep 17 00:00:00 2001 From: hiron Date: Wed, 14 Jul 2021 21:40:41 +0900 Subject: [PATCH 037/162] Add output beam brep --- HoaryFox/Component_v2/Geometry/Stb2Brep.cs | 2 +- .../Utils/Geometry/CreateBrepFromStb.cs | 147 +++++++++++------- 2 files changed, 94 insertions(+), 55 deletions(-) diff --git a/HoaryFox/Component_v2/Geometry/Stb2Brep.cs b/HoaryFox/Component_v2/Geometry/Stb2Brep.cs index aedba899..4f9c4058 100644 --- a/HoaryFox/Component_v2/Geometry/Stb2Brep.cs +++ b/HoaryFox/Component_v2/Geometry/Stb2Brep.cs @@ -66,7 +66,7 @@ private void MakeBrep() _brepList.Add(brepFromStb.Column(_stBridge.StbModel.StbMembers.StbColumns)); _brepList.Add(brepFromStb.Girder(_stBridge.StbModel.StbMembers.StbGirders)); _brepList.Add(brepFromStb.Post(_stBridge.StbModel.StbMembers.StbPosts)); - // _brepList.Add(brepFromStb.Beam(_stBridge.StbModel.StbMembers.StbBeams)); + _brepList.Add(brepFromStb.Beam(_stBridge.StbModel.StbMembers.StbBeams)); for (var i = 0; i < 5; i++) { diff --git a/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs b/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs index 92fdb2b8..c522baed 100644 --- a/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs +++ b/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs @@ -218,77 +218,76 @@ public List Girder(IEnumerable girders) sectionPoints[1] = sectionPoints[0] + memberAxis / memberAxis.Length * girder.joint_start; sectionPoints[2] = sectionPoints[3] - memberAxis / memberAxis.Length * girder.joint_end; - var curveList = new List(); - switch (kind) + brepList.Add(CreateGirderBrep(girder.id_section, girder.rotate, kind, sectionPoints, memberAxis)); + } + + return brepList; + } + + public List Beam(IEnumerable beams) + { + var brepList = new List(); + if (beams == null) + { + return brepList; + } + + foreach (StbBeam beam in beams) + { + StbGirderKind_structure kind = beam.kind_structure; + + StbNode[] endNodes = { - case StbGirderKind_structure.RC: - StbSecBeam_RC rcSec = _sections.StbSecBeam_RC.First(sec => sec.id == girder.id_section); - object[] figure = rcSec.StbSecFigureBeam_RC.Items; - curveList = SecRcBeamCurves(figure, sectionPoints); - break; - case StbGirderKind_structure.S: - StbSecBeam_S sSec = _sections.StbSecBeam_S.First(sec => sec.id == girder.id_section); - object[] figures = sSec.StbSecSteelFigureBeam_S.Items; - curveList = SecSteelBeamToCurves(figures, sectionPoints); - break; - case StbGirderKind_structure.SRC: - case StbGirderKind_structure.UNDEFINED: - break; - default: - throw new ArgumentOutOfRangeException(); - } + _nodes.First(node => node.id == beam.id_node_start), + _nodes.First(node => node.id == beam.id_node_end) + }; - RotateCurveList(memberAxis, curveList, girder.rotate, sectionPoints, Vector3d.XAxis); - Brep brep = Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] - .CapPlanarHoles(_tolerance[0]); + Point3d[] sectionPoints = + { + new Point3d(endNodes[0].X, endNodes[0].Y, endNodes[0].Z), + Point3d.Origin, + Point3d.Origin, + new Point3d(endNodes[1].X, endNodes[1].Y, endNodes[1].Z) + }; + Vector3d memberAxis = sectionPoints[3] - sectionPoints[0]; + sectionPoints[1] = sectionPoints[0] + memberAxis / memberAxis.Length * beam.joint_start; + sectionPoints[2] = sectionPoints[3] - memberAxis / memberAxis.Length * beam.joint_end; - brepList.Add(brep); + brepList.Add(CreateGirderBrep(beam.id_section, beam.rotate, kind, sectionPoints, memberAxis)); } return brepList; } - private static void RotateCurveList(Vector3d memberAxis, IReadOnlyList curveList, double rotate, IReadOnlyList sectionPoints, Vector3d secLocalAxis) + private Brep CreateGirderBrep(string idSection, double rotate, StbGirderKind_structure kind, IReadOnlyList sectionPoints, Vector3d memberAxis) { - Vector3d rotateAxis = Vector3d.CrossProduct(secLocalAxis, memberAxis); - double angle = Vector3d.VectorAngle(secLocalAxis, memberAxis); - int len = curveList.Count; - switch (len) + var curveList = new List(); + switch (kind) { - case 2: - curveList[0].Rotate(rotate, secLocalAxis, sectionPoints[0]); // 断面内の回転 - curveList[0].Rotate(angle, rotateAxis, sectionPoints[0]); // 断面外の回転 - curveList[1].Rotate(rotate, secLocalAxis, sectionPoints[3]); - curveList[1].Rotate(angle, rotateAxis, sectionPoints[3]); + case StbGirderKind_structure.RC: + StbSecBeam_RC rcSec = _sections.StbSecBeam_RC.First(sec => sec.id == idSection); + object[] figure = rcSec.StbSecFigureBeam_RC.Items; + curveList = SecRcBeamCurves(figure, sectionPoints); break; - case 3: - curveList[0].Rotate(rotate, secLocalAxis, sectionPoints[0]); - curveList[0].Rotate(angle, rotateAxis, sectionPoints[0]); - curveList[2].Rotate(rotate, secLocalAxis, sectionPoints[3]); - curveList[2].Rotate(angle, rotateAxis, sectionPoints[3]); - if (sectionPoints[2] == sectionPoints[3]) - { - curveList[1].Rotate(rotate, secLocalAxis, sectionPoints[1]); - curveList[1].Rotate(angle, rotateAxis, sectionPoints[1]); - } - else - { - curveList[1].Rotate(rotate, secLocalAxis, sectionPoints[2]); - curveList[1].Rotate(angle, rotateAxis, sectionPoints[2]); - } + case StbGirderKind_structure.S: + StbSecBeam_S sSec = _sections.StbSecBeam_S.First(sec => sec.id == idSection); + object[] figures = sSec.StbSecSteelFigureBeam_S.Items; + curveList = SecSteelBeamToCurves(figures, sectionPoints); break; - case 4: - for (var i = 0; i < 4; i++) - { - curveList[i].Rotate(rotate, secLocalAxis, sectionPoints[i]); - curveList[i].Rotate(angle, rotateAxis, sectionPoints[i]); - } + case StbGirderKind_structure.SRC: + case StbGirderKind_structure.UNDEFINED: break; default: - throw new ArgumentException(); + throw new ArgumentOutOfRangeException(); } + + RotateCurveList(memberAxis, curveList, rotate, sectionPoints, Vector3d.XAxis); + Brep brep = Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] + .CapPlanarHoles(_tolerance[0]); + return brep; } + private List SecRcBeamCurves(IReadOnlyList figures, IReadOnlyList sectionPoints) { var curveList = new List(); @@ -372,6 +371,46 @@ private List SecSteelBeamToCurves(IReadOnlyList figures, IReadOnl return curveList; } + private static void RotateCurveList(Vector3d memberAxis, IReadOnlyList curveList, double rotate, IReadOnlyList sectionPoints, Vector3d secLocalAxis) + { + Vector3d rotateAxis = Vector3d.CrossProduct(secLocalAxis, memberAxis); + double angle = Vector3d.VectorAngle(secLocalAxis, memberAxis); + int len = curveList.Count; + switch (len) + { + case 2: + curveList[0].Rotate(rotate, secLocalAxis, sectionPoints[0]); // 断面内の回転 + curveList[0].Rotate(angle, rotateAxis, sectionPoints[0]); // 断面外の回転 + curveList[1].Rotate(rotate, secLocalAxis, sectionPoints[3]); + curveList[1].Rotate(angle, rotateAxis, sectionPoints[3]); + break; + case 3: + curveList[0].Rotate(rotate, secLocalAxis, sectionPoints[0]); + curveList[0].Rotate(angle, rotateAxis, sectionPoints[0]); + curveList[2].Rotate(rotate, secLocalAxis, sectionPoints[3]); + curveList[2].Rotate(angle, rotateAxis, sectionPoints[3]); + if (sectionPoints[2] == sectionPoints[3]) + { + curveList[1].Rotate(rotate, secLocalAxis, sectionPoints[1]); + curveList[1].Rotate(angle, rotateAxis, sectionPoints[1]); + } + else + { + curveList[1].Rotate(rotate, secLocalAxis, sectionPoints[2]); + curveList[1].Rotate(angle, rotateAxis, sectionPoints[2]); + } + break; + case 4: + for (var i = 0; i < 4; i++) + { + curveList[i].Rotate(rotate, secLocalAxis, sectionPoints[i]); + curveList[i].Rotate(angle, rotateAxis, sectionPoints[i]); + } + break; + default: + throw new ArgumentException(); + } + } private Curve GetSteelSec(string shape, Point3d point, SectionType type) { From 44f04920f86f144f0b8c24572dcb42363a954be0 Mon Sep 17 00:00:00 2001 From: hiron Date: Wed, 14 Jul 2021 21:45:47 +0900 Subject: [PATCH 038/162] Clean Make Brep --- HoaryFox/Component_v2/Geometry/Stb2Brep.cs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/HoaryFox/Component_v2/Geometry/Stb2Brep.cs b/HoaryFox/Component_v2/Geometry/Stb2Brep.cs index 4f9c4058..f99f5b30 100644 --- a/HoaryFox/Component_v2/Geometry/Stb2Brep.cs +++ b/HoaryFox/Component_v2/Geometry/Stb2Brep.cs @@ -62,13 +62,14 @@ protected override void SolveInstance(IGH_DataAccess DA) private void MakeBrep() { + StbMembers member = _stBridge.StbModel.StbMembers; var brepFromStb = new CreateBrepFromStb(_stBridge.StbModel.StbSections, _stBridge.StbModel.StbNodes, new[] { DocumentTolerance(), DocumentAngleTolerance() }); - _brepList.Add(brepFromStb.Column(_stBridge.StbModel.StbMembers.StbColumns)); - _brepList.Add(brepFromStb.Girder(_stBridge.StbModel.StbMembers.StbGirders)); - _brepList.Add(brepFromStb.Post(_stBridge.StbModel.StbMembers.StbPosts)); - _brepList.Add(brepFromStb.Beam(_stBridge.StbModel.StbMembers.StbBeams)); + _brepList.Add(brepFromStb.Column(member.StbColumns)); + _brepList.Add(brepFromStb.Girder(member.StbGirders)); + _brepList.Add(brepFromStb.Post(member.StbPosts)); + _brepList.Add(brepFromStb.Beam(member.StbBeams)); - for (var i = 0; i < 5; i++) + for (var i = 0; i < 3; i++) { _brepList.Add(new List()); } From 26b79e75acbc975d18364e8a8ba397a49f0bb80b Mon Sep 17 00:00:00 2001 From: hiron Date: Thu, 15 Jul 2021 22:43:50 +0900 Subject: [PATCH 039/162] Add get steel L corner point --- .../Utils/Geometry/SectionCornerPoints.cs | 123 +++++++++++++++--- 1 file changed, 108 insertions(+), 15 deletions(-) diff --git a/HoaryFox/Component_v2/Utils/Geometry/SectionCornerPoints.cs b/HoaryFox/Component_v2/Utils/Geometry/SectionCornerPoints.cs index cd9d91f2..cd933022 100644 --- a/HoaryFox/Component_v2/Utils/Geometry/SectionCornerPoints.cs +++ b/HoaryFox/Component_v2/Utils/Geometry/SectionCornerPoints.cs @@ -1,17 +1,17 @@ using System; -using System.Collections.Generic; using Rhino.Geometry; +using STBDotNet.v202; namespace HoaryFox.Component_v2.Utils.Geometry { public static class SectionCornerPoints { // Y 3 - 2 - // ^ | | + // ^ | o | // o > X 0 - 1 public static Point3d[] ColumnRect(Point3d pt, double width, double height) { - var points = new[] + return new[] { new Point3d(pt.X - width / 2, pt.Y - height / 2, pt.Z), new Point3d(pt.X + width / 2, pt.Y - height / 2, pt.Z), @@ -19,18 +19,16 @@ public static Point3d[] ColumnRect(Point3d pt, double width, double height) new Point3d(pt.X - width / 2, pt.Y + height / 2, pt.Z), new Point3d(pt.X - width / 2, pt.Y - height / 2, pt.Z), }; - - return points; } // 7 - - - - 6 // 8 - 9 4 - 5 - // Y | | + // Y |o| // ^ 11-10 3 - 2 // o > X 0 - - - - 1 public static Point3d[] ColumnH(Point3d pt, double height, double width, double tw, double tf) { - var points = new[] + return new[] { new Point3d(pt.X - width / 2, pt.Y - height / 2, pt.Z), new Point3d(pt.X + width / 2, pt.Y - height / 2, pt.Z), @@ -46,16 +44,64 @@ public static Point3d[] ColumnH(Point3d pt, double height, double width, double new Point3d(pt.X - width / 2, pt.Y - height / 2 + tf, pt.Z), new Point3d(pt.X - width / 2, pt.Y - height / 2, pt.Z) }; + } + + public static Point3d[] ColumnL(Point3d pt, double height, double width, double tw, double tf, StbSecRollLType type) + { + switch (type) + { + case StbSecRollLType.SINGLE: + return ColumnLSingle(pt, height, width, tw, tf); + case StbSecRollLType.BACKTOBACK: + return ColumnLBackToBack(pt, height, width, tw, tf); + case StbSecRollLType.FACETOFACE: + return ColumnLFaceToFace(pt, height, width, tw, tf); + default: + throw new ArgumentOutOfRangeException(nameof(type), type, null); + } + } + + // TODO: 重心位置をちゃんと計算する + // 今は 0-5 間長さと 4-5 間長さ から計算していて板厚を考慮していない。 + // 5 - - 4 + // Y | 2 - 3 + // ^ | | o + // o > X 0 1 + private static Point3d[] ColumnLSingle(Point3d pt, double height, double width, double tw, double tf) + { + var cpt = new Point3d(width / 2 * height / (height + width), height / 2 * width / (height + width), 0); + return new[] + { + new Point3d(pt.X - cpt.X, pt.Y - (height - cpt.Y), pt.Z), + new Point3d(pt.X - (cpt.X + tw), pt.Y - (height - cpt.Y), pt.Z), + new Point3d(pt.X - (cpt.X + tw), pt.Y + (cpt.Y - tf), pt.Z), + new Point3d(pt.X + (width - cpt.X), pt.Y + (cpt.Y - tf), pt.Z), + new Point3d(pt.X + (width - cpt.X), pt.Y + cpt.Y, pt.Z), + new Point3d(pt.X - cpt.X, pt.Y + cpt.Y, pt.Z), + new Point3d(pt.X - cpt.X, pt.Y - (height - cpt.Y), pt.Z), + }; + } - return points; + // 5 - - - - - 4 + // Y 6 - 7 2 - 3 + // ^ | o | + // o > X 0 - 1 + private static Point3d[] ColumnLBackToBack(Point3d pt, double height, double width, double tw, double tf) + { + throw new NotImplementedException(); + } + + private static Point3d[] ColumnLFaceToFace(Point3d pt, double height, double width, double tw, double tf) + { + throw new NotImplementedException(); } - // Z 3 - 2 + // Z 3 o 2 // ^ | | // o > Y 0 - 1 public static Point3d[] BeamRect(Point3d pt, double depth, double width) { - var points = new[] + return new[] { new Point3d(pt.X, pt.Y - width / 2, pt.Z - depth), new Point3d(pt.X, pt.Y + width / 2, pt.Z - depth), @@ -63,18 +109,16 @@ public static Point3d[] BeamRect(Point3d pt, double depth, double width) new Point3d(pt.X, pt.Y - width / 2, pt.Z), new Point3d(pt.X, pt.Y - width / 2, pt.Z - depth), }; - - return points; } - // 7 - - - - 6 + // 7 - -o- - 6 // 8 - 9 4 - 5 // Z | | // ^ 11-10 3 - 2 // o > Y 0 - - - - 1 public static Point3d[] BeamH(Point3d pt, double height, double width, double tw, double tf) { - var points = new[] + return new[] { new Point3d(pt.X, pt.Y - width / 2, pt.Z - height), new Point3d(pt.X, pt.Y + width / 2, pt.Z - height), @@ -90,9 +134,58 @@ public static Point3d[] BeamH(Point3d pt, double height, double width, double tw new Point3d(pt.X, pt.Y - width / 2, pt.Z - height + tf), new Point3d(pt.X, pt.Y - width / 2, pt.Z - height) }; + } - return points; + public static Point3d[] BeamL(Point3d pt, double height, double width, double tw, double tf, StbSecRollLType type) + { + switch (type) + { + case StbSecRollLType.SINGLE: + return BeamLSingle(pt, height, width, tw, tf); + case StbSecRollLType.BACKTOBACK: + return BeamLBackToBack(pt, height, width, tw, tf); + case StbSecRollLType.FACETOFACE: + return BeamLFaceToFace(pt, height, width, tw, tf); + default: + throw new ArgumentOutOfRangeException(nameof(type), type, null); + } } + // TODO: 断面の原点位置はここでよい?今は4と5の中心 + // 5 - o - 4 + // Z | 2 - - 3 + // ^ | | + // o > Y 0 1 + private static Point3d[] BeamLSingle(Point3d pt, double height, double width, double tw, double tf) + { + return new[] + { + new Point3d(pt.X, pt.Y - width/2, pt.Z - height), + new Point3d(pt.X, pt.Y - width/2 + tw, pt.Z - height), + new Point3d(pt.X, pt.Y - width/2 + tw, pt.Z - tf), + new Point3d(pt.X, pt.Y + width/2, pt.Z - tf), + new Point3d(pt.X, pt.Y + width/2, pt.Z), + new Point3d(pt.X, pt.Y - width/2, pt.Z), + new Point3d(pt.X, pt.Y - width/2, pt.Z - height), + }; + } + + // 5 - - o - - 4 + // Z 6 - 7 2 - 3 + // ^ | | + // o > Y 0 - 1 + private static Point3d[] BeamLBackToBack(Point3d pt, double height, double width, double tw, double tf) + { + throw new NotImplementedException(); + } + + // 7 - - o - - 6 + // Z | 2 - 3 | + // ^ | | | | + // o > Y 0 - 1 4 - 5 + private static Point3d[] BeamLFaceToFace(Point3d pt, double height, double width, double tw, double tf) + { + throw new NotImplementedException(); + } } } From 8046c01e68c4c0b026a6f065ce4afd02ecb63e8e Mon Sep 17 00:00:00 2001 From: hiron Date: Thu, 15 Jul 2021 22:44:36 +0900 Subject: [PATCH 040/162] Add output Brace brep --- HoaryFox/Component_v2/Geometry/Stb2Brep.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/HoaryFox/Component_v2/Geometry/Stb2Brep.cs b/HoaryFox/Component_v2/Geometry/Stb2Brep.cs index f99f5b30..3a16c948 100644 --- a/HoaryFox/Component_v2/Geometry/Stb2Brep.cs +++ b/HoaryFox/Component_v2/Geometry/Stb2Brep.cs @@ -68,6 +68,7 @@ private void MakeBrep() _brepList.Add(brepFromStb.Girder(member.StbGirders)); _brepList.Add(brepFromStb.Post(member.StbPosts)); _brepList.Add(brepFromStb.Beam(member.StbBeams)); + _brepList.Add(brepFromStb.Brace(member.StbBraces)); for (var i = 0; i < 3; i++) { From 2e66b0938bd0426c17c572cf467e0a1b8670cff8 Mon Sep 17 00:00:00 2001 From: hiron Date: Sat, 17 Jul 2021 12:26:07 +0900 Subject: [PATCH 041/162] Add Brace brep creation --- .../Utils/Geometry/CreateBrepFromStb.cs | 135 +++++++++++++++++- 1 file changed, 128 insertions(+), 7 deletions(-) diff --git a/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs b/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs index c522baed..ef11169f 100644 --- a/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs +++ b/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs @@ -371,6 +371,109 @@ private List SecSteelBeamToCurves(IReadOnlyList figures, IReadOnl return curveList; } + + public List Brace(IEnumerable braces) + { + var brepList = new List(); + if (braces == null) + { + return brepList; + } + + foreach (StbBrace brace in braces) + { + StbBraceKind_structure kind = brace.kind_structure; + + StbNode[] endNodes = + { + _nodes.First(node => node.id == brace.id_node_start), + _nodes.First(node => node.id == brace.id_node_end) + }; + + Point3d[] sectionPoints = + { + new Point3d(endNodes[0].X, endNodes[0].Y, endNodes[0].Z), + Point3d.Origin, + Point3d.Origin, + new Point3d(endNodes[1].X, endNodes[1].Y, endNodes[1].Z) + }; + Vector3d memberAxis = sectionPoints[3] - sectionPoints[0]; + sectionPoints[1] = sectionPoints[0] + memberAxis / memberAxis.Length * brace.joint_start; + sectionPoints[2] = sectionPoints[3] - memberAxis / memberAxis.Length * brace.joint_end; + + brepList.Add(CreateBraceBrep(brace.id_section, brace.rotate, kind, sectionPoints, memberAxis)); + } + + return brepList; + } + + private Brep CreateBraceBrep(string idSection, double rotate, StbBraceKind_structure kind, IReadOnlyList sectionPoints, Vector3d memberAxis) + { + var curveList = new List(); + + switch (kind) + { + case StbBraceKind_structure.S: + StbSecBrace_S sSec = _sections.StbSecBrace_S.First(sec => sec.id == idSection); + object[] figures = sSec.StbSecSteelFigureBrace_S.Items; + curveList = SecSteelBraceToCurves(figures, sectionPoints); + break; + case StbBraceKind_structure.RC: + case StbBraceKind_structure.SRC: + throw new ArgumentException("Unsupported brace structure type"); + default: + throw new ArgumentOutOfRangeException(); + } + + RotateCurveList(memberAxis, curveList, rotate, sectionPoints, Vector3d.ZAxis); + Brep brep = Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] + .CapPlanarHoles(_tolerance[0]); + return brep; + } + + private List SecSteelBraceToCurves(IReadOnlyList figures, IReadOnlyList sectionPoints) + { + var curveList = new List(); + string start, center, end; + + switch (figures.Count) + { + case 1: + var same = figures[0] as StbSecSteelBrace_S_Same; + center = same.shape; + curveList.Add(GetSteelSec(center, sectionPoints[0], SectionType.Brace)); + curveList.Add(GetSteelSec(center, sectionPoints[3], SectionType.Brace)); + break; + case 2: + var notSames = new[] { figures[0] as StbSecSteelBrace_S_NotSame, figures[1] as StbSecSteelBrace_S_NotSame }; + start = notSames.First(sec => sec.pos == StbSecSteelBrace_S_NotSamePos.BOTTOM).shape; + end = notSames.First(sec => sec.pos == StbSecSteelBrace_S_NotSamePos.TOP).shape; + curveList.Add(GetSteelSec(start, sectionPoints[0], SectionType.Brace)); + curveList.Add(sectionPoints[0] == sectionPoints[1] + ? GetSteelSec(start, sectionPoints[2], SectionType.Brace) + : GetSteelSec(start, sectionPoints[1], SectionType.Brace)); + curveList.Add(sectionPoints[0] == sectionPoints[1] + ? GetSteelSec(end, sectionPoints[2], SectionType.Brace) + : GetSteelSec(end, sectionPoints[1], SectionType.Brace)); + curveList.Add(GetSteelSec(end, sectionPoints[3], SectionType.Brace)); + break; + case 3: + var three = new[] { figures[0] as StbSecSteelBrace_S_ThreeTypes, figures[1] as StbSecSteelBrace_S_ThreeTypes, figures[2] as StbSecSteelBrace_S_ThreeTypes }; + start = three.First(sec => sec.pos == StbSecSteelBrace_S_ThreeTypesPos.BOTTOM).shape; + center = three.First(sec => sec.pos == StbSecSteelBrace_S_ThreeTypesPos.CENTER).shape; + end = three.First(sec => sec.pos == StbSecSteelBrace_S_ThreeTypesPos.TOP).shape; + curveList.Add(GetSteelSec(start, sectionPoints[0], SectionType.Brace)); + curveList.Add(GetSteelSec(center, sectionPoints[1], SectionType.Brace)); + curveList.Add(GetSteelSec(center, sectionPoints[2], SectionType.Brace)); + curveList.Add(GetSteelSec(end, sectionPoints[3], SectionType.Brace)); + break; + default: + throw new ArgumentException("Unmatched StbSecSteelBrace_S"); + } + + return curveList; + } + private static void RotateCurveList(Vector3d memberAxis, IReadOnlyList curveList, double rotate, IReadOnlyList sectionPoints, Vector3d secLocalAxis) { Vector3d rotateAxis = Vector3d.CrossProduct(secLocalAxis, memberAxis); @@ -425,13 +528,12 @@ private Curve GetSteelSec(string shape, Point3d point, SectionType type) switch (type) { case SectionType.Column: + case SectionType.Brace: return new PolylineCurve( SectionCornerPoints.ColumnRect(point, box.B, box.A)); case SectionType.Beam: return new PolylineCurve( SectionCornerPoints.BeamRect(point, box.B, box.A)); - case SectionType.Brace: - break; default: throw new ArgumentOutOfRangeException(nameof(type), type, null); } @@ -448,13 +550,12 @@ private Curve GetSteelSec(string shape, Point3d point, SectionType type) switch (type) { case SectionType.Column: + case SectionType.Brace: return new PolylineCurve( SectionCornerPoints.ColumnRect(point, box.B, box.A)); case SectionType.Beam: return new PolylineCurve( SectionCornerPoints.BeamRect(point, box.B, box.A)); - case SectionType.Brace: - break; default: throw new ArgumentOutOfRangeException(nameof(type), type, null); } @@ -471,13 +572,12 @@ private Curve GetSteelSec(string shape, Point3d point, SectionType type) switch (type) { case SectionType.Column: + case SectionType.Brace: return new PolylineCurve( SectionCornerPoints.ColumnH(point, buildH.A, buildH.B, buildH.t1, buildH.t2)); case SectionType.Beam: return new PolylineCurve( SectionCornerPoints.BeamH(point, buildH.A, buildH.B, buildH.t1, buildH.t2)); - case SectionType.Brace: - break; default: throw new ArgumentOutOfRangeException(nameof(type), type, null); } @@ -494,13 +594,34 @@ private Curve GetSteelSec(string shape, Point3d point, SectionType type) switch (type) { case SectionType.Column: + case SectionType.Brace: return new PolylineCurve( SectionCornerPoints.ColumnH(point, rollH.A, rollH.B, rollH.t1, rollH.t2)); case SectionType.Beam: return new PolylineCurve( SectionCornerPoints.BeamH(point, rollH.A, rollH.B, rollH.t1, rollH.t2)); + default: + throw new ArgumentOutOfRangeException(nameof(type), type, null); + } + } + } + } + + if (secSteel.StbSecRollL != null) + { + foreach (StbSecRollL rollL in _sections.StbSecSteel.StbSecRollL) + { + if (rollL.name == shape) + { + switch (type) + { + case SectionType.Column: case SectionType.Brace: - break; + return new PolylineCurve( + SectionCornerPoints.ColumnL(point, rollL.A, rollL.B, rollL.t1, rollL.t2, rollL.type)); + case SectionType.Beam: + return new PolylineCurve( + SectionCornerPoints.BeamL(point, rollL.A, rollL.B, rollL.t1, rollL.t2, rollL.type)); default: throw new ArgumentOutOfRangeException(nameof(type), type, null); } From 59cffe1b2a7e96a0a272f7447b4777f7d596789e Mon Sep 17 00:00:00 2001 From: hiron Date: Sat, 17 Jul 2021 13:33:01 +0900 Subject: [PATCH 042/162] Update csproj --- HoaryFox/HoaryFox.csproj | 179 +++------------------- HoaryFox/Properties/AssemblyInfo.cs | 36 ----- KarambaConnect/Properties/AssemblyInfo.cs | 36 ----- KarambaConnect/karambaConnect.csproj | 152 ++++-------------- 4 files changed, 48 insertions(+), 355 deletions(-) delete mode 100644 HoaryFox/Properties/AssemblyInfo.cs delete mode 100644 KarambaConnect/Properties/AssemblyInfo.cs diff --git a/HoaryFox/HoaryFox.csproj b/HoaryFox/HoaryFox.csproj index 5ca59171..fb624614 100644 --- a/HoaryFox/HoaryFox.csproj +++ b/HoaryFox/HoaryFox.csproj @@ -1,172 +1,33 @@ - - + - Debug - AnyCPU - 8.0.30703 - 2.0 - {9637855D-D144-4448-9F56-A391A3575DAC} - Library - Properties - HoaryFox - HoaryFox - v4.8 - 512 - false - - - - - - true - full - false - bin\ - DEBUG;TRACE - prompt - false - - - pdbonly - true - bin\ - TRACE - prompt - 4 + net48 + 1.0 + HoaryFox + Description of HoaryFox + .gha + hrntsm + true + true + true + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - True - True - Resource.resx - + + - - False + ..\..\STBDotNet\STBDotNet\bin\Debug\netstandard2.0\STBDotNet.dll - - False + Library\STBReader.dll - True - - - - - - - - - - - - - - - - - - - - - - - - - - - ResXFileCodeGenerator - Resource.Designer.cs - - - - - - - - - - - - - 6.20.19322.20361 - compile; build; native; contentfiles; analyzers; buildtransitive - - - 13.0.1 - - - 6.20.19322.20361 - compile; build; native; contentfiles; analyzers; buildtransitive - - - - - - - Copy "$(TargetPath)" "$(TargetDir)$(ProjectName).gha" -Erase "$(TargetPath)" - - - en-US - - - C:\Program Files\Rhino 6\System\Rhino.exe - - + + + C:\Program Files\Rhino 7\System\Rhino.exe + Program + \ No newline at end of file diff --git a/HoaryFox/Properties/AssemblyInfo.cs b/HoaryFox/Properties/AssemblyInfo.cs deleted file mode 100644 index ca8b1312..00000000 --- a/HoaryFox/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("HoaryFox")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("hrntsm")] -[assembly: AssemblyProduct("HoaryFox")] -[assembly: AssemblyCopyright("Copyright ©hrntsm 2019")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("9637855d-d144-4448-9f56-a391a3575dac")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/KarambaConnect/Properties/AssemblyInfo.cs b/KarambaConnect/Properties/AssemblyInfo.cs deleted file mode 100644 index 032c241f..00000000 --- a/KarambaConnect/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("HoaryFox(karambaConnect)")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("hrntsm")] -[assembly: AssemblyProduct("HoaryFox(karambaConnect)")] -[assembly: AssemblyCopyright("Copyright ©hrntsm 2020")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("cd5d3228-2b3e-4112-9b42-c82615673dfe")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/KarambaConnect/karambaConnect.csproj b/KarambaConnect/karambaConnect.csproj index 7e2fcb79..985b36aa 100644 --- a/KarambaConnect/karambaConnect.csproj +++ b/KarambaConnect/karambaConnect.csproj @@ -1,134 +1,38 @@ - - + + - Debug - AnyCPU - 8.0.30703 - 2.0 - {CD5D3228-2B3E-4112-9B42-C82615673DFE} - Library - Properties - KarambaConnect - KarambaConnect - v4.7.2 - 512 - false - - - - true - full - false - bin\ - DEBUG;TRACE - prompt - false - - - pdbonly - true - bin\ - TRACE - prompt - 4 + net48 + 1.0 + karambaConnect + Description of karambaConnect + .gha + hrntsm + true + true + true + - - Library\karamba132\karamba.gha - False - - - False + + + + + + Library\karamba132\karambaCommon.dll - False + + + Library\karamba132\karamba.gha - Library\STBReader.dll - True + ..\HoaryFox\Library\STBReader.dll - - - - - - - - - - - - - - - - - - - - - - - - - - - - - True - True - Resource.resx - - - - - - - - - - - - - - - ResXFileCodeGenerator - Resource.Designer.cs - - - - - 6.20.19322.20361 - compile; build; native; contentfiles; analyzers; buildtransitive - - - 6.20.19322.20361 - compile; build; native; contentfiles; analyzers; buildtransitive - - - 0.1.3 - - - - - - - Copy "$(TargetPath)" "$(TargetDir)$(ProjectName).gha" -Erase "$(TargetPath)" - - - en-US - - - C:\Program Files\Rhino 6\System\Rhino.exe - - + + + C:\Program Files\Rhino 7\System\Rhino.exe + Program - \ No newline at end of file + + From cfe07b44d049e715eb63fa234dc2d8f22d5904f9 Mon Sep 17 00:00:00 2001 From: hiron Date: Sat, 17 Jul 2021 13:43:49 +0900 Subject: [PATCH 043/162] Fix dotnet build error --- HoaryFox/HoaryFox.csproj | 1 + KarambaConnect/karambaConnect.csproj | 3 +++ 2 files changed, 4 insertions(+) diff --git a/HoaryFox/HoaryFox.csproj b/HoaryFox/HoaryFox.csproj index fb624614..db8bbcc2 100644 --- a/HoaryFox/HoaryFox.csproj +++ b/HoaryFox/HoaryFox.csproj @@ -13,6 +13,7 @@ + diff --git a/KarambaConnect/karambaConnect.csproj b/KarambaConnect/karambaConnect.csproj index 985b36aa..8e0574a0 100644 --- a/KarambaConnect/karambaConnect.csproj +++ b/KarambaConnect/karambaConnect.csproj @@ -15,14 +15,17 @@ + Library\karamba132\karambaCommon.dll + false Library\karamba132\karamba.gha + false ..\HoaryFox\Library\STBReader.dll From 41515ab81aee02ce9e46a3ee5eb04d0f6ba32adf Mon Sep 17 00:00:00 2001 From: hiron Date: Sat, 17 Jul 2021 14:30:06 +0900 Subject: [PATCH 044/162] Add .vscode/lauch & task.json --- .gitignore | 11 +++++++++++ .vscode/launch.json | 25 +++++++++++++++++++++++++ .vscode/tasks.json | 42 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 78 insertions(+) create mode 100644 .vscode/launch.json create mode 100644 .vscode/tasks.json diff --git a/.gitignore b/.gitignore index 9e802910..3152d7b6 100644 --- a/.gitignore +++ b/.gitignore @@ -260,3 +260,14 @@ paket-files/ __pycache__/ *.pyc /StbData + +# vscode settings +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +*.code-workspace + +# Local History for Visual Studio Code +.history/ diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 00000000..bf07d24f --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,25 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": ".NET Core Launch (console)", + "type": "coreclr", + "request": "launch", + "preLaunchTask": "build", + "program": "C:/Program Files/Rhino 6/System/Rhino.exe", + "args": [], + "cwd": "${workspaceFolder}", + "console": "internalConsole", + "stopAtEntry": true + }, + { + "name": ".NET Core Attach", + "type": "coreclr", + "request": "attach", + "processId": "${command:pickProcess}" + } + ] +} \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 00000000..d96f354e --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,42 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "label": "build", + "command": "dotnet", + "type": "process", + "args": [ + "build", + "${workspaceFolder}/HoaryFox/HoaryFox.csproj", + "/property:GenerateFullPaths=true", + "/consoleloggerparameters:NoSummary" + ], + "problemMatcher": "$msCompile" + }, + { + "label": "publish", + "command": "dotnet", + "type": "process", + "args": [ + "publish", + "${workspaceFolder}/HoaryFox/HoaryFox.csproj", + "/property:GenerateFullPaths=true", + "/consoleloggerparameters:NoSummary" + ], + "problemMatcher": "$msCompile" + }, + { + "label": "watch", + "command": "dotnet", + "type": "process", + "args": [ + "watch", + "run", + "${workspaceFolder}/HoaryFox/HoaryFox.csproj", + "/property:GenerateFullPaths=true", + "/consoleloggerparameters:NoSummary" + ], + "problemMatcher": "$msCompile" + } + ] +} \ No newline at end of file From 37400f4d1061f0dc4946a3d31290a32ea2fad279 Mon Sep 17 00:00:00 2001 From: hiron Date: Sat, 17 Jul 2021 14:46:16 +0900 Subject: [PATCH 045/162] Updata npm --- website/package-lock.json | 33539 ++++++++---------------------------- website/package.json | 4 +- 2 files changed, 6912 insertions(+), 26631 deletions(-) diff --git a/website/package-lock.json b/website/package-lock.json index 5c5490ac..3c6cc010 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -1,1167 +1,1215 @@ { "name": "website", "version": "0.0.0", - "lockfileVersion": 2, + "lockfileVersion": 1, "requires": true, - "packages": { - "": { - "version": "0.0.0", - "dependencies": { - "@docusaurus/core": "^2.0.0-alpha.70", - "@docusaurus/preset-classic": "^2.0.0-alpha.70", - "@mdx-js/react": "^1.6.21", - "clsx": "^1.1.1", - "react": "^16.8.4", - "react-dom": "^16.8.4" - } - }, - "node_modules/@algolia/autocomplete-core": { - "version": "1.0.0-alpha.38", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.0.0-alpha.38.tgz", - "integrity": "sha512-mN/cMSNqMvkodkUZ8yMZUof8RquKCjNMGJwt+sejpLuvq4/kTzZZmsJQW7pplWxp+E/axXkdfMwkh/OdRTa8vA==", - "dependencies": { - "@algolia/autocomplete-shared": "1.0.0-alpha.38" + "dependencies": { + "@algolia/autocomplete-core": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.2.1.tgz", + "integrity": "sha512-/SLS6636Wpl7eFiX7eEy0E3wBo60sUm1qRYybJBDt1fs8reiJ1+OSy+dZgrLBfLL4mSFqRIIUHXbVp25QdZ+iw==", + "requires": { + "@algolia/autocomplete-shared": "1.2.1" } }, - "node_modules/@algolia/autocomplete-preset-algolia": { - "version": "1.0.0-alpha.38", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.0.0-alpha.38.tgz", - "integrity": "sha512-wwdU1kjUWkOa0XrGi9Smp2eS6R3hfOze1O0AUnAFQ+kGLOpo02DmydU1yXRFfXnYgW3mW97CvsMpMe73BWKkDA==", - "dependencies": { - "@algolia/autocomplete-shared": "1.0.0-alpha.38" + "@algolia/autocomplete-preset-algolia": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.2.1.tgz", + "integrity": "sha512-Lf4PpPVgHNXm1ytrnVdrZYV7hAYSCpAI/TrebF8UC6xflPY6sKb1RL/2OfrO9On7SDjPBtNd+6MArSar5JmK0g==", + "requires": { + "@algolia/autocomplete-shared": "1.2.1" } }, - "node_modules/@algolia/autocomplete-shared": { - "version": "1.0.0-alpha.38", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.0.0-alpha.38.tgz", - "integrity": "sha512-4GPHme9Wm8JN2ZTQWZaOgfJk28Z3WdC9XUaAhdd0Vii0GZkBMXSwlpeLPvKyrpuaocnkrMPafKJOMRHU0baMGQ==" + "@algolia/autocomplete-shared": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.2.1.tgz", + "integrity": "sha512-RHCwcXAYFwDXTlomstjWRFIzOfyxtQ9KmViacPE5P5hxUSSjkmG3dAb77xdydift1PaZNbho5TNTCi5UZe0RpA==" }, - "node_modules/@algolia/cache-browser-local-storage": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.8.3.tgz", - "integrity": "sha512-Cwc03hikHSUI+xvgUdN+H+f6jFyoDsC9fegzXzJ2nPn1YSN9EXzDMBnbrgl0sbl9iLGXe0EIGMYqR2giCv1wMQ==", - "dependencies": { - "@algolia/cache-common": "4.8.3" + "@algolia/cache-browser-local-storage": { + "version": "4.10.3", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.10.3.tgz", + "integrity": "sha512-TD1N7zg5lb56/PLjjD4bBl2eccEvVHhC7yfgFu2r9k5tf+gvbGxEZ3NhRZVKu2MObUIcEy2VR4LVLxOQu45Hlg==", + "requires": { + "@algolia/cache-common": "4.10.3" } }, - "node_modules/@algolia/cache-common": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.8.3.tgz", - "integrity": "sha512-Cf7zZ2i6H+tLSBTkFePHhYvlgc9fnMPKsF9qTmiU38kFIGORy/TN2Fx5n1GBuRLIzaSXvcf+oHv1HvU0u1gE1g==" + "@algolia/cache-common": { + "version": "4.10.3", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.10.3.tgz", + "integrity": "sha512-q13cPPUmtf8a2suBC4kySSr97EyulSXuxUkn7l1tZUCX/k1y5KNheMp8npBy8Kc8gPPmHpacxddRSfOncjiKFw==" }, - "node_modules/@algolia/cache-in-memory": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.8.3.tgz", - "integrity": "sha512-+N7tkvmijXiDy2E7u1mM73AGEgGPWFmEmPeJS96oT46I98KXAwVPNYbcAqBE79YlixdXpkYJk41cFcORzNh+Iw==", - "dependencies": { - "@algolia/cache-common": "4.8.3" + "@algolia/cache-in-memory": { + "version": "4.10.3", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.10.3.tgz", + "integrity": "sha512-JhPajhOXAjUP+TZrZTh6KJpF5VKTKyWK2aR1cD8NtrcVHwfGS7fTyfXfVm5BqBqkD9U0gVvufUt/mVyI80aZww==", + "requires": { + "@algolia/cache-common": "4.10.3" } }, - "node_modules/@algolia/client-account": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.8.3.tgz", - "integrity": "sha512-Uku8LqnXBwfDCtsTCDYTUOz2/2oqcAQCKgaO0uGdIR8DTQENBXFQvzziambHdn9KuFuY+6Et9k1+cjpTPBDTBg==", - "dependencies": { - "@algolia/client-common": "4.8.3", - "@algolia/client-search": "4.8.3", - "@algolia/transporter": "4.8.3" + "@algolia/client-account": { + "version": "4.10.3", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.10.3.tgz", + "integrity": "sha512-S/IsJB4s+e1xYctdpW3nAbwrR2y3pjSo9X21fJGoiGeIpTRdvQG7nydgsLkhnhcgAdLnmqBapYyAqMGmlcyOkg==", + "requires": { + "@algolia/client-common": "4.10.3", + "@algolia/client-search": "4.10.3", + "@algolia/transporter": "4.10.3" } }, - "node_modules/@algolia/client-analytics": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.8.3.tgz", - "integrity": "sha512-9ensIWmjYJprZ+YjAVSZdWUG05xEnbytENXp508X59tf34IMIX8BR2xl0RjAQODtxBdAteGxuKt5THX6U9tQLA==", - "dependencies": { - "@algolia/client-common": "4.8.3", - "@algolia/client-search": "4.8.3", - "@algolia/requester-common": "4.8.3", - "@algolia/transporter": "4.8.3" + "@algolia/client-analytics": { + "version": "4.10.3", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.10.3.tgz", + "integrity": "sha512-vlHTbBqJktRgclh3v7bPQLfZvFIqY4erNFIZA5C7nisCj9oLeTgzefoUrr+R90+I+XjfoLxnmoeigS1Z1yg1vw==", + "requires": { + "@algolia/client-common": "4.10.3", + "@algolia/client-search": "4.10.3", + "@algolia/requester-common": "4.10.3", + "@algolia/transporter": "4.10.3" } }, - "node_modules/@algolia/client-common": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.8.3.tgz", - "integrity": "sha512-TU3623AEFAWUQlDTznkgAMSYo8lfS9pNs5QYDQzkvzWdqK0GBDWthwdRfo9iIsfxiR9qdCMHqwEu+AlZMVhNSA==", - "dependencies": { - "@algolia/requester-common": "4.8.3", - "@algolia/transporter": "4.8.3" + "@algolia/client-common": { + "version": "4.10.3", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.10.3.tgz", + "integrity": "sha512-uFyP2Z14jG2hsFRbAoavna6oJf4NTXaSDAZgouZUZlHlBp5elM38sjNeA5HR9/D9J/GjwaB1SgB7iUiIWYBB4w==", + "requires": { + "@algolia/requester-common": "4.10.3", + "@algolia/transporter": "4.10.3" } }, - "node_modules/@algolia/client-recommendation": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/@algolia/client-recommendation/-/client-recommendation-4.8.3.tgz", - "integrity": "sha512-qysGbmkcc6Agt29E38KWJq9JuxjGsyEYoKuX9K+P5HyQh08yR/BlRYrA8mB7vT/OIUHRGFToGO6Vq/rcg0NIOQ==", - "dependencies": { - "@algolia/client-common": "4.8.3", - "@algolia/requester-common": "4.8.3", - "@algolia/transporter": "4.8.3" + "@algolia/client-personalization": { + "version": "4.10.3", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.10.3.tgz", + "integrity": "sha512-NS7Nx8EJ/nduGXT8CFo5z7kLF0jnFehTP3eC+z+GOEESH3rrs7uR12IZHxv5QhQswZa9vl925zCOZDcDVoENCg==", + "requires": { + "@algolia/client-common": "4.10.3", + "@algolia/requester-common": "4.10.3", + "@algolia/transporter": "4.10.3" } }, - "node_modules/@algolia/client-search": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.8.3.tgz", - "integrity": "sha512-rAnvoy3GAhbzOQVniFcKVn1eM2NX77LearzYNCbtFrFYavG+hJI187bNVmajToiuGZ10FfJvK99X2OB1AzzezQ==", - "dependencies": { - "@algolia/client-common": "4.8.3", - "@algolia/requester-common": "4.8.3", - "@algolia/transporter": "4.8.3" + "@algolia/client-search": { + "version": "4.10.3", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.10.3.tgz", + "integrity": "sha512-Zwnp2G94IrNFKWCG/k7epI5UswRkPvL9FCt7/slXe2bkjP2y/HA37gzRn+9tXoLVRwd7gBzrtOA4jFKIyjrtVw==", + "requires": { + "@algolia/client-common": "4.10.3", + "@algolia/requester-common": "4.10.3", + "@algolia/transporter": "4.10.3" } }, - "node_modules/@algolia/logger-common": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.8.3.tgz", - "integrity": "sha512-03wksHRbhl2DouEKnqWuUb64s1lV6kDAAabMCQ2Du1fb8X/WhDmxHC4UXMzypeOGlH5BZBsgVwSB7vsZLP3MZg==" + "@algolia/logger-common": { + "version": "4.10.3", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.10.3.tgz", + "integrity": "sha512-M6xi+qov2bkgg1H9e1Qtvq/E/eKsGcgz8RBbXNzqPIYoDGZNkv+b3b8YMo3dxd4Wd6M24HU1iqF3kmr1LaXndg==" }, - "node_modules/@algolia/logger-console": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.8.3.tgz", - "integrity": "sha512-Npt+hI4UF8t3TLMluL5utr9Gc11BjL5kDnGZOhDOAz5jYiSO2nrHMFmnpLT4Cy/u7a5t7EB5dlypuC4/AGStkA==", - "dependencies": { - "@algolia/logger-common": "4.8.3" + "@algolia/logger-console": { + "version": "4.10.3", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.10.3.tgz", + "integrity": "sha512-vVgRI7b4PHjgBdRkv/cRz490twvkLoGdpC4VYzIouSrKj8SIVLRhey3qgXk7oQXi3xoxVAv6NrklHfpO8Bpx0w==", + "requires": { + "@algolia/logger-common": "4.10.3" } }, - "node_modules/@algolia/requester-browser-xhr": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.8.3.tgz", - "integrity": "sha512-/LTTIpgEmEwkyhn8yXxDdBWqXqzlgw5w2PtTpIwkSlP2/jDwdR/9w1TkFzhNbJ81ki6LAEQM5mSwoTTnbIIecg==", - "dependencies": { - "@algolia/requester-common": "4.8.3" + "@algolia/requester-browser-xhr": { + "version": "4.10.3", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.10.3.tgz", + "integrity": "sha512-4WIk1zreFbc1EF6+gsfBTQvwSNjWc20zJAAExRWql/Jq5yfVHmwOqi/CajA53/cXKFBqo80DAMRvOiwP+hOLYw==", + "requires": { + "@algolia/requester-common": "4.10.3" } }, - "node_modules/@algolia/requester-common": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.8.3.tgz", - "integrity": "sha512-+Yo9vBkofoKR1SCqqtMnmnfq9yt/BiaDewY/6bYSMNxSYCnu2Fw1JKSIaf/4zos09PMSsxGpLohZwGas3+0GDQ==" + "@algolia/requester-common": { + "version": "4.10.3", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.10.3.tgz", + "integrity": "sha512-PNfLHmg0Hujugs3rx55uz/ifv7b9HVdSFQDb2hj0O5xZaBEuQCNOXC6COrXR8+9VEfqp2swpg7zwgtqFxh+BtQ==" }, - "node_modules/@algolia/requester-node-http": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.8.3.tgz", - "integrity": "sha512-k2fiKIeMIFqgC01FnzII6kqC2GQBAfbNaUX4k7QCPa6P8t4sp2xE6fImOUiztLnnL3C9X9ZX6Fw3L+cudi7jvQ==", - "dependencies": { - "@algolia/requester-common": "4.8.3" + "@algolia/requester-node-http": { + "version": "4.10.3", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.10.3.tgz", + "integrity": "sha512-A9ZcGfEvgqf0luJApdNcIhsRh6MShn2zn2tbjwjGG1joF81w+HUY+BWuLZn56vGwAA9ZB9n00IoJJpxibbfofg==", + "requires": { + "@algolia/requester-common": "4.10.3" } }, - "node_modules/@algolia/transporter": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.8.3.tgz", - "integrity": "sha512-nU7fy2iU8snxATlsks0MjMyv97QJWQmOVwTjDc+KZ4+nue8CLcgm4LA4dsTBqvxeCQIoEtt3n72GwXcaqiJSjQ==", - "dependencies": { - "@algolia/cache-common": "4.8.3", - "@algolia/logger-common": "4.8.3", - "@algolia/requester-common": "4.8.3" + "@algolia/transporter": { + "version": "4.10.3", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.10.3.tgz", + "integrity": "sha512-n1lRyKDbrckbMEgm7QXtj3nEWUuzA3aKLzVQ43/F/RCFib15j4IwtmYhXR6OIBRSc7+T0Hm48S0J6F+HeYCQkw==", + "requires": { + "@algolia/cache-common": "4.10.3", + "@algolia/logger-common": "4.10.3", + "@algolia/requester-common": "4.10.3" } }, - "node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dependencies": { - "@babel/highlight": "^7.10.4" + "@babel/code-frame": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "requires": { + "@babel/highlight": "^7.14.5" } }, - "node_modules/@babel/compat-data": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.7.tgz", - "integrity": "sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==" + "@babel/compat-data": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.7.tgz", + "integrity": "sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw==" }, - "node_modules/@babel/core": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz", - "integrity": "sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==", - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.10", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.5", - "@babel/parser": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/traverse": "^7.12.10", - "@babel/types": "^7.12.10", + "@babel/core": { + "version": "7.14.6", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.6.tgz", + "integrity": "sha512-gJnOEWSqTk96qG5BoIrl5bVtc23DCycmIePPYnamY9RboYdI4nFy5vAQMSl81O5K/W0sLDWfGysnOECC+KUUCA==", + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.14.5", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helpers": "^7.14.6", + "@babel/parser": "^7.14.6", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5", "convert-source-map": "^1.7.0", "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", + "gensync": "^1.0.0-beta.2", "json5": "^2.1.2", - "lodash": "^4.17.19", - "semver": "^5.4.1", + "semver": "^6.3.0", "source-map": "^0.5.0" }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } } }, - "node_modules/@babel/generator": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", - "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", - "dependencies": { - "@babel/types": "^7.12.11", + "@babel/generator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.5.tgz", + "integrity": "sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA==", + "requires": { + "@babel/types": "^7.14.5", "jsesc": "^2.5.1", "source-map": "^0.5.0" } }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.10.tgz", - "integrity": "sha512-XplmVbC1n+KY6jL8/fgLVXXUauDIB+lD5+GsQEh6F6GBF1dq1qy4DP4yXWzDKcoqXB3X58t61e85Fitoww4JVQ==", - "dependencies": { - "@babel/types": "^7.12.10" + "@babel/helper-annotate-as-pure": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz", + "integrity": "sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA==", + "requires": { + "@babel/types": "^7.14.5" } }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", - "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", - "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.14.5.tgz", + "integrity": "sha512-YTA/Twn0vBXDVGJuAX6PwW7x5zQei1luDDo2Pl6q1qZ7hVNl0RZrhHCQG/ArGpR29Vl7ETiB8eJyrvpuRp300w==", + "requires": { + "@babel/helper-explode-assignable-expression": "^7.14.5", + "@babel/types": "^7.14.5" } }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz", - "integrity": "sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==", + "@babel/helper-compilation-targets": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz", + "integrity": "sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==", + "requires": { + "@babel/compat-data": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.16.6", + "semver": "^6.3.0" + }, "dependencies": { - "@babel/compat-data": "^7.12.5", - "@babel/helper-validator-option": "^7.12.1", - "browserslist": "^4.14.5", - "semver": "^5.5.0" + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } } }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" + "@babel/helper-create-class-features-plugin": { + "version": "7.14.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.6.tgz", + "integrity": "sha512-Z6gsfGofTxH/+LQXqYEK45kxmcensbzmk/oi8DmaQytlQCgqNZt9XQF8iqlI/SeXWVjaMNxvYvzaYw+kh42mDg==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-member-expression-to-functions": "^7.14.5", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5" } }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", - "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", - "dependencies": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-member-expression-to-functions": "^7.12.1", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4" + "@babel/helper-create-regexp-features-plugin": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz", + "integrity": "sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "regexpu-core": "^4.7.1" } }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz", - "integrity": "sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ==", + "@babel/helper-define-polyfill-provider": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz", + "integrity": "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==", + "requires": { + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "regexpu-core": "^4.7.1" + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } } }, - "node_modules/@babel/helper-define-map": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", - "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", - "dependencies": { - "@babel/helper-function-name": "^7.10.4", - "@babel/types": "^7.10.5", - "lodash": "^4.17.19" + "@babel/helper-explode-assignable-expression": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.14.5.tgz", + "integrity": "sha512-Htb24gnGJdIGT4vnRKMdoXiOIlqOLmdiUYpAQ0mYfgVT/GDm8GOYhgi4GL+hMKrkiPRohO4ts34ELFsGAPQLDQ==", + "requires": { + "@babel/types": "^7.14.5" } }, - "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz", - "integrity": "sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==", - "dependencies": { - "@babel/types": "^7.12.1" + "@babel/helper-function-name": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", + "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", + "requires": { + "@babel/helper-get-function-arity": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/types": "^7.14.5" } }, - "node_modules/@babel/helper-function-name": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", - "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", - "dependencies": { - "@babel/helper-get-function-arity": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/types": "^7.12.11" + "@babel/helper-get-function-arity": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", + "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", + "requires": { + "@babel/types": "^7.14.5" } }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", - "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", - "dependencies": { - "@babel/types": "^7.12.10" + "@babel/helper-hoist-variables": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", + "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", + "requires": { + "@babel/types": "^7.14.5" } }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", - "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", - "dependencies": { - "@babel/types": "^7.10.4" + "@babel/helper-member-expression-to-functions": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz", + "integrity": "sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA==", + "requires": { + "@babel/types": "^7.14.5" } }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", - "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", - "dependencies": { - "@babel/types": "^7.12.7" + "@babel/helper-module-imports": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", + "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", + "requires": { + "@babel/types": "^7.14.5" } }, - "node_modules/@babel/helper-module-imports": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", - "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", - "dependencies": { - "@babel/types": "^7.12.5" + "@babel/helper-module-transforms": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.5.tgz", + "integrity": "sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA==", + "requires": { + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5", + "@babel/helper-simple-access": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" } }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", - "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", - "dependencies": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-simple-access": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/helper-validator-identifier": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.1", - "@babel/types": "^7.12.1", - "lodash": "^4.17.19" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz", - "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==", - "dependencies": { - "@babel/types": "^7.12.10" + "@babel/helper-optimise-call-expression": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", + "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", + "requires": { + "@babel/types": "^7.14.5" } }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==" }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz", - "integrity": "sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-wrap-function": "^7.10.4", - "@babel/types": "^7.12.1" + "@babel/helper-remap-async-to-generator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.14.5.tgz", + "integrity": "sha512-rLQKdQU+HYlxBwQIj8dk4/0ENOUEhA/Z0l4hN8BexpvmSMN9oA9EagjnhnDpNsRdWCfjwa4mn/HyBXO9yhQP6A==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-wrap-function": "^7.14.5", + "@babel/types": "^7.14.5" } }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz", - "integrity": "sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==", - "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.12.7", - "@babel/helper-optimise-call-expression": "^7.12.10", - "@babel/traverse": "^7.12.10", - "@babel/types": "^7.12.11" + "@babel/helper-replace-supers": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz", + "integrity": "sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==", + "requires": { + "@babel/helper-member-expression-to-functions": "^7.14.5", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", - "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", - "dependencies": { - "@babel/types": "^7.12.1" + "@babel/helper-simple-access": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz", + "integrity": "sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw==", + "requires": { + "@babel/types": "^7.14.5" } }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", - "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", - "dependencies": { - "@babel/types": "^7.12.1" + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.14.5.tgz", + "integrity": "sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ==", + "requires": { + "@babel/types": "^7.14.5" } }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", - "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", - "dependencies": { - "@babel/types": "^7.12.11" + "@babel/helper-split-export-declaration": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", + "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", + "requires": { + "@babel/types": "^7.14.5" } }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" + "@babel/helper-validator-identifier": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz", + "integrity": "sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==" }, - "node_modules/@babel/helper-validator-option": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz", - "integrity": "sha512-TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw==" + "@babel/helper-validator-option": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", + "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==" }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.12.3", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz", - "integrity": "sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==", - "dependencies": { - "@babel/helper-function-name": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/helper-wrap-function": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.14.5.tgz", + "integrity": "sha512-YEdjTCq+LNuNS1WfxsDCNpgXkJaIyqco6DAelTUjT4f2KIWC1nBcaCaSdHTBqQVLnTBexBcVcFhLSU1KnYuePQ==", + "requires": { + "@babel/helper-function-name": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" } }, - "node_modules/@babel/helpers": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", - "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", - "dependencies": { - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.5", - "@babel/types": "^7.12.5" + "@babel/helpers": { + "version": "7.14.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.6.tgz", + "integrity": "sha512-yesp1ENQBiLI+iYHSJdoZKUtRpfTlL1grDIX9NRlAVppljLw/4tTyYupIB7uIYmC3stW/imAv8EqaKaS/ibmeA==", + "requires": { + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" } }, - "node_modules/@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/highlight": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", "chalk": "^2.0.0", "js-tokens": "^4.0.0" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + } } }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" + "@babel/parser": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.7.tgz", + "integrity": "sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA==" + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5.tgz", + "integrity": "sha512-ZoJS2XCKPBfTmL122iP6NM9dOg+d4lc9fFk3zxc8iDjvt8Pk4+TlsHSKhIPf6X+L5ORCdBzqMZDjL/WHj7WknQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", + "@babel/plugin-proposal-optional-chaining": "^7.14.5" } }, - "node_modules/@babel/parser": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", - "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.7.tgz", + "integrity": "sha512-RK8Wj7lXLY3bqei69/cc25gwS5puEc3dknoFPFbqfy3XxYQBQFvu4ioWpafMBAB+L9NyptQK4nMOa5Xz16og8Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5", + "@babel/plugin-syntax-async-generators": "^7.8.4" } }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.12.tgz", - "integrity": "sha512-nrz9y0a4xmUrRq51bYkWJIO5SBZyG2ys2qinHsN0zHDHVsUaModrkpyWWWXfGqYQmOL3x9sQIcTNN/pBGpo09A==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.12.1", - "@babel/plugin-syntax-async-generators": "^7.8.0" + "@babel/plugin-proposal-class-properties": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz", + "integrity": "sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", - "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/plugin-proposal-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.5.tgz", + "integrity": "sha512-KBAH5ksEnYHCegqseI5N9skTdxgJdmDoAOc0uXa+4QMYKeZD0w5IARh4FMlTNtaHhbB8v+KzMdTgxMMzsIy6Yg==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" } }, - "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz", - "integrity": "sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-dynamic-import": "^7.8.0" + "@babel/plugin-proposal-dynamic-import": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz", + "integrity": "sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" } }, - "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz", - "integrity": "sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz", + "integrity": "sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, - "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz", - "integrity": "sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.0" + "@babel/plugin-proposal-json-strings": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz", + "integrity": "sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" } }, - "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz", - "integrity": "sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz", + "integrity": "sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, - "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz", - "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz", + "integrity": "sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" } }, - "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz", - "integrity": "sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-proposal-numeric-separator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz", + "integrity": "sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-numeric-separator": "^7.10.4" } }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", - "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.12.1" + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.7.tgz", + "integrity": "sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g==", + "requires": { + "@babel/compat-data": "^7.14.7", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.14.5" } }, - "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz", - "integrity": "sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz", + "integrity": "sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" } }, - "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz", - "integrity": "sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", - "@babel/plugin-syntax-optional-chaining": "^7.8.0" + "@babel/plugin-proposal-optional-chaining": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz", + "integrity": "sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" } }, - "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz", - "integrity": "sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/plugin-proposal-private-methods": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz", + "integrity": "sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz", - "integrity": "sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - }, - "engines": { - "node": ">=4" + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-62EyfyA3WA0mZiF2e2IV9mc9Ghwxcg8YTu8BS4Wss4Y3PY725OmS9M0qLORbJwLqFtGh+jiE4wAmocK2CTUK2Q==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz", + "integrity": "sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/@babel/plugin-syntax-async-generators": { + "@babel/plugin-syntax-async-generators": { "version": "7.8.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", - "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/@babel/plugin-syntax-dynamic-import": { + "@babel/plugin-syntax-dynamic-import": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { + "@babel/plugin-syntax-export-namespace-from": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.8.3" } }, - "node_modules/@babel/plugin-syntax-json-strings": { + "@babel/plugin-syntax-json-strings": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", - "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/plugin-syntax-jsx": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz", + "integrity": "sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.10.4" } }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "@babel/plugin-syntax-nullish-coalescing-operator": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/@babel/plugin-syntax-numeric-separator": { + "@babel/plugin-syntax-numeric-separator": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.10.4" } }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { + "@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "@babel/plugin-syntax-optional-catch-binding": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/@babel/plugin-syntax-optional-chaining": { + "@babel/plugin-syntax-optional-chaining": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", - "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.1.tgz", - "integrity": "sha512-UZNEcCY+4Dp9yYRCAHrHDU+9ZXLYaY9MgBXSRLkB9WjYFRR6quJBumfVrEkUxrePPBwFcpWfNKXqVRQQtm7mMA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz", - "integrity": "sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/plugin-syntax-typescript": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz", + "integrity": "sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", - "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", - "dependencies": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.12.1" + "@babel/plugin-transform-arrow-functions": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz", + "integrity": "sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz", - "integrity": "sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/plugin-transform-async-to-generator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz", + "integrity": "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==", + "requires": { + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5" } }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.12.tgz", - "integrity": "sha512-VOEPQ/ExOVqbukuP7BYJtI5ZxxsmegTwzZ04j1aF0dkSypGo9XpDHuOrABsJu+ie+penpSJheDJ11x1BEZNiyQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz", + "integrity": "sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz", - "integrity": "sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-define-map": "^7.10.4", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4", - "globals": "^11.1.0" + "@babel/plugin-transform-block-scoping": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.5.tgz", + "integrity": "sha512-LBYm4ZocNgoCqyxMLoOnwpsmQ18HWTQvql64t3GvMUzLQrNoV1BDG0lNftC8QKYERkZgCCT/7J5xWGObGAyHDw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz", - "integrity": "sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/plugin-transform-classes": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.5.tgz", + "integrity": "sha512-J4VxKAMykM06K/64z9rwiL6xnBHgB1+FVspqvlgCdwD1KUbQNfszeKVVOMh59w3sztHYIZDgnhOC4WbdEfHFDA==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "globals": "^11.1.0" } }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz", - "integrity": "sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/plugin-transform-computed-properties": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz", + "integrity": "sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz", - "integrity": "sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/plugin-transform-destructuring": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz", + "integrity": "sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz", - "integrity": "sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/plugin-transform-dotall-regex": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz", + "integrity": "sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz", - "integrity": "sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==", - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/plugin-transform-duplicate-keys": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz", + "integrity": "sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz", - "integrity": "sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz", + "integrity": "sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==", + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz", - "integrity": "sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==", - "dependencies": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/plugin-transform-for-of": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.14.5.tgz", + "integrity": "sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz", - "integrity": "sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/plugin-transform-function-name": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz", + "integrity": "sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==", + "requires": { + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz", - "integrity": "sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/plugin-transform-literals": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz", + "integrity": "sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz", - "integrity": "sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==", - "dependencies": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/plugin-transform-member-expression-literals": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz", + "integrity": "sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/@babel/plugin-transform-modules-amd/node_modules/babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "@babel/plugin-transform-modules-amd": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz", + "integrity": "sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==", + "requires": { + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, "dependencies": { - "object.assign": "^4.1.0" + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "requires": { + "object.assign": "^4.1.0" + } + } } }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz", - "integrity": "sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==", - "dependencies": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-simple-access": "^7.12.1", + "@babel/plugin-transform-modules-commonjs": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.5.tgz", + "integrity": "sha512-en8GfBtgnydoao2PS+87mKyw62k02k7kJ9ltbKe0fXTHrQmG6QZZflYuGI1VVG7sVpx4E1n7KBpNlPb8m78J+A==", + "requires": { + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-simple-access": "^7.14.5", "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs/node_modules/babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + }, "dependencies": { - "object.assign": "^4.1.0" + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "requires": { + "object.assign": "^4.1.0" + } + } } }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz", - "integrity": "sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==", - "dependencies": { - "@babel/helper-hoist-variables": "^7.10.4", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/plugin-transform-modules-systemjs": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.14.5.tgz", + "integrity": "sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA==", + "requires": { + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.5", "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs/node_modules/babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + }, "dependencies": { - "object.assign": "^4.1.0" + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "requires": { + "object.assign": "^4.1.0" + } + } } }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz", - "integrity": "sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==", - "dependencies": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/plugin-transform-modules-umd": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz", + "integrity": "sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==", + "requires": { + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz", - "integrity": "sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1" + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.7.tgz", + "integrity": "sha512-DTNOTaS7TkW97xsDMrp7nycUVh6sn/eq22VaxWfEdzuEbRsiaOU0pqU7DlyUGHVsbQbSghvjKRpEl+nUCKGQSg==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5" } }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz", - "integrity": "sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/plugin-transform-new-target": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz", + "integrity": "sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz", - "integrity": "sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1" + "@babel/plugin-transform-object-super": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz", + "integrity": "sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5" } }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz", - "integrity": "sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/plugin-transform-parameters": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.5.tgz", + "integrity": "sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz", - "integrity": "sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/plugin-transform-property-literals": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz", + "integrity": "sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/@babel/plugin-transform-react-constant-elements": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.12.1.tgz", - "integrity": "sha512-KOHd0tIRLoER+J+8f9DblZDa1fLGPwaaN1DI1TVHuQFOpjHV22C3CUB3obeC4fexHY9nx+fH0hQNvLFFfA1mxA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/plugin-transform-react-constant-elements": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.14.5.tgz", + "integrity": "sha512-NBqLEx1GxllIOXJInJAQbrnwwYJsV3WaMHIcOwD8rhYS0AabTWn7kHdHgPgu5RmHLU0q4DMxhAMu8ue/KampgQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.1.tgz", - "integrity": "sha512-cAzB+UzBIrekfYxyLlFqf/OagTvHLcVBb5vpouzkYkBclRPraiygVnafvAoipErZLI8ANv8Ecn6E/m5qPXD26w==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/plugin-transform-react-display-name": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.14.5.tgz", + "integrity": "sha512-07aqY1ChoPgIxsuDviptRpVkWCSbXWmzQqcgy65C6YSFOfPFvb/DX3bBRHh7pCd/PMEEYHYWUTSVkCbkVainYQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.12.tgz", - "integrity": "sha512-JDWGuzGNWscYcq8oJVCtSE61a5+XAOos+V0HrxnDieUus4UMnBEosDnY1VJqU5iZ4pA04QY7l0+JvHL1hZEfsw==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.12.10", - "@babel/helper-module-imports": "^7.12.5", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-jsx": "^7.12.1", - "@babel/types": "^7.12.12" + "@babel/plugin-transform-react-jsx": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.5.tgz", + "integrity": "sha512-7RylxNeDnxc1OleDm0F5Q/BSL+whYRbOAR+bwgCxIr0L32v7UFh/pz1DLMZideAUxKT6eMoS2zQH6fyODLEi8Q==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-jsx": "^7.14.5", + "@babel/types": "^7.14.5" } }, - "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.12.tgz", - "integrity": "sha512-i1AxnKxHeMxUaWVXQOSIco4tvVvvCxMSfeBMnMM06mpaJt3g+MpxYQQrDfojUQldP1xxraPSJYSMEljoWM/dCg==", - "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.12.12" + "@babel/plugin-transform-react-jsx-development": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.14.5.tgz", + "integrity": "sha512-rdwG/9jC6QybWxVe2UVOa7q6cnTpw8JRRHOxntG/h6g/guAOe6AhtQHJuJh5FwmnXIT1bdm5vC2/5huV8ZOorQ==", + "requires": { + "@babel/plugin-transform-react-jsx": "^7.14.5" } }, - "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.12.1.tgz", - "integrity": "sha512-RqeaHiwZtphSIUZ5I85PEH19LOSzxfuEazoY7/pWASCAIBuATQzpSVD+eT6MebeeZT2F4eSL0u4vw6n4Nm0Mjg==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/plugin-transform-react-pure-annotations": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.14.5.tgz", + "integrity": "sha512-3X4HpBJimNxW4rhUy/SONPyNQHp5YRr0HhJdT2OH1BRp0of7u3Dkirc7x9FRJMKMqTBI079VZ1hzv7Ouuz///g==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz", - "integrity": "sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==", - "dependencies": { + "@babel/plugin-transform-regenerator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz", + "integrity": "sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==", + "requires": { "regenerator-transform": "^0.14.2" } }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz", - "integrity": "sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/plugin-transform-reserved-words": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz", + "integrity": "sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.10.tgz", - "integrity": "sha512-xOrUfzPxw7+WDm9igMgQCbO3cJKymX7dFdsgRr1eu9n3KjjyU4pptIXbXPseQDquw+W+RuJEJMHKHNsPNNm3CA==", + "@babel/plugin-transform-runtime": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.14.5.tgz", + "integrity": "sha512-fPMBhh1AV8ZyneiCIA+wYYUH1arzlXR1UMcApjvchDhfKxhy2r2lReJv8uHEyihi4IFIGlr1Pdx7S5fkESDQsg==", + "requires": { + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "babel-plugin-polyfill-corejs2": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.2", + "babel-plugin-polyfill-regenerator": "^0.2.2", + "semver": "^6.3.0" + }, "dependencies": { - "@babel/helper-module-imports": "^7.12.5", - "@babel/helper-plugin-utils": "^7.10.4", - "semver": "^5.5.1" - } - }, - "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } } }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz", - "integrity": "sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/plugin-transform-shorthand-properties": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz", + "integrity": "sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz", - "integrity": "sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" + "@babel/plugin-transform-spread": { + "version": "7.14.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz", + "integrity": "sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5" } }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz", - "integrity": "sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/plugin-transform-sticky-regex": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz", + "integrity": "sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz", - "integrity": "sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/plugin-transform-template-literals": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz", + "integrity": "sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz", - "integrity": "sha512-JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/plugin-transform-typeof-symbol": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz", + "integrity": "sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.12.1.tgz", - "integrity": "sha512-VrsBByqAIntM+EYMqSm59SiMEf7qkmI9dqMt6RbD/wlwueWmYcI0FFK5Fj47pP6DRZm+3teXjosKlwcZJ5lIMw==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-typescript": "^7.12.1" + "@babel/plugin-transform-typescript": { + "version": "7.14.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.14.6.tgz", + "integrity": "sha512-XlTdBq7Awr4FYIzqhmYY80WN0V0azF74DMPyFqVHBvf81ZUgc4X7ZOpx6O8eLDK6iM5cCQzeyJw0ynTaefixRA==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.14.6", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-typescript": "^7.14.5" } }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz", - "integrity": "sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/plugin-transform-unicode-escapes": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz", + "integrity": "sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz", - "integrity": "sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/plugin-transform-unicode-regex": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz", + "integrity": "sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/@babel/preset-env": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.11.tgz", - "integrity": "sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw==", - "dependencies": { - "@babel/compat-data": "^7.12.7", - "@babel/helper-compilation-targets": "^7.12.5", - "@babel/helper-module-imports": "^7.12.5", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-option": "^7.12.11", - "@babel/plugin-proposal-async-generator-functions": "^7.12.1", - "@babel/plugin-proposal-class-properties": "^7.12.1", - "@babel/plugin-proposal-dynamic-import": "^7.12.1", - "@babel/plugin-proposal-export-namespace-from": "^7.12.1", - "@babel/plugin-proposal-json-strings": "^7.12.1", - "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", - "@babel/plugin-proposal-numeric-separator": "^7.12.7", - "@babel/plugin-proposal-object-rest-spread": "^7.12.1", - "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.12.7", - "@babel/plugin-proposal-private-methods": "^7.12.1", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", - "@babel/plugin-syntax-async-generators": "^7.8.0", - "@babel/plugin-syntax-class-properties": "^7.12.1", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/preset-env": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.7.tgz", + "integrity": "sha512-itOGqCKLsSUl0Y+1nSfhbuuOlTs0MJk2Iv7iSH+XT/mR8U1zRLO7NjWlYXB47yhK4J/7j+HYty/EhFZDYKa/VA==", + "requires": { + "@babel/compat-data": "^7.14.7", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-async-generator-functions": "^7.14.7", + "@babel/plugin-proposal-class-properties": "^7.14.5", + "@babel/plugin-proposal-class-static-block": "^7.14.5", + "@babel/plugin-proposal-dynamic-import": "^7.14.5", + "@babel/plugin-proposal-export-namespace-from": "^7.14.5", + "@babel/plugin-proposal-json-strings": "^7.14.5", + "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", + "@babel/plugin-proposal-numeric-separator": "^7.14.5", + "@babel/plugin-proposal-object-rest-spread": "^7.14.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", + "@babel/plugin-proposal-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-private-methods": "^7.14.5", + "@babel/plugin-proposal-private-property-in-object": "^7.14.5", + "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.12.1", - "@babel/plugin-transform-arrow-functions": "^7.12.1", - "@babel/plugin-transform-async-to-generator": "^7.12.1", - "@babel/plugin-transform-block-scoped-functions": "^7.12.1", - "@babel/plugin-transform-block-scoping": "^7.12.11", - "@babel/plugin-transform-classes": "^7.12.1", - "@babel/plugin-transform-computed-properties": "^7.12.1", - "@babel/plugin-transform-destructuring": "^7.12.1", - "@babel/plugin-transform-dotall-regex": "^7.12.1", - "@babel/plugin-transform-duplicate-keys": "^7.12.1", - "@babel/plugin-transform-exponentiation-operator": "^7.12.1", - "@babel/plugin-transform-for-of": "^7.12.1", - "@babel/plugin-transform-function-name": "^7.12.1", - "@babel/plugin-transform-literals": "^7.12.1", - "@babel/plugin-transform-member-expression-literals": "^7.12.1", - "@babel/plugin-transform-modules-amd": "^7.12.1", - "@babel/plugin-transform-modules-commonjs": "^7.12.1", - "@babel/plugin-transform-modules-systemjs": "^7.12.1", - "@babel/plugin-transform-modules-umd": "^7.12.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", - "@babel/plugin-transform-new-target": "^7.12.1", - "@babel/plugin-transform-object-super": "^7.12.1", - "@babel/plugin-transform-parameters": "^7.12.1", - "@babel/plugin-transform-property-literals": "^7.12.1", - "@babel/plugin-transform-regenerator": "^7.12.1", - "@babel/plugin-transform-reserved-words": "^7.12.1", - "@babel/plugin-transform-shorthand-properties": "^7.12.1", - "@babel/plugin-transform-spread": "^7.12.1", - "@babel/plugin-transform-sticky-regex": "^7.12.7", - "@babel/plugin-transform-template-literals": "^7.12.1", - "@babel/plugin-transform-typeof-symbol": "^7.12.10", - "@babel/plugin-transform-unicode-escapes": "^7.12.1", - "@babel/plugin-transform-unicode-regex": "^7.12.1", - "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.12.11", - "core-js-compat": "^3.8.0", - "semver": "^5.5.0" - } - }, - "node_modules/@babel/preset-env/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.14.5", + "@babel/plugin-transform-async-to-generator": "^7.14.5", + "@babel/plugin-transform-block-scoped-functions": "^7.14.5", + "@babel/plugin-transform-block-scoping": "^7.14.5", + "@babel/plugin-transform-classes": "^7.14.5", + "@babel/plugin-transform-computed-properties": "^7.14.5", + "@babel/plugin-transform-destructuring": "^7.14.7", + "@babel/plugin-transform-dotall-regex": "^7.14.5", + "@babel/plugin-transform-duplicate-keys": "^7.14.5", + "@babel/plugin-transform-exponentiation-operator": "^7.14.5", + "@babel/plugin-transform-for-of": "^7.14.5", + "@babel/plugin-transform-function-name": "^7.14.5", + "@babel/plugin-transform-literals": "^7.14.5", + "@babel/plugin-transform-member-expression-literals": "^7.14.5", + "@babel/plugin-transform-modules-amd": "^7.14.5", + "@babel/plugin-transform-modules-commonjs": "^7.14.5", + "@babel/plugin-transform-modules-systemjs": "^7.14.5", + "@babel/plugin-transform-modules-umd": "^7.14.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.7", + "@babel/plugin-transform-new-target": "^7.14.5", + "@babel/plugin-transform-object-super": "^7.14.5", + "@babel/plugin-transform-parameters": "^7.14.5", + "@babel/plugin-transform-property-literals": "^7.14.5", + "@babel/plugin-transform-regenerator": "^7.14.5", + "@babel/plugin-transform-reserved-words": "^7.14.5", + "@babel/plugin-transform-shorthand-properties": "^7.14.5", + "@babel/plugin-transform-spread": "^7.14.6", + "@babel/plugin-transform-sticky-regex": "^7.14.5", + "@babel/plugin-transform-template-literals": "^7.14.5", + "@babel/plugin-transform-typeof-symbol": "^7.14.5", + "@babel/plugin-transform-unicode-escapes": "^7.14.5", + "@babel/plugin-transform-unicode-regex": "^7.14.5", + "@babel/preset-modules": "^0.1.4", + "@babel/types": "^7.14.5", + "babel-plugin-polyfill-corejs2": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.2", + "babel-plugin-polyfill-regenerator": "^0.2.2", + "core-js-compat": "^3.15.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } } }, - "node_modules/@babel/preset-modules": { + "@babel/preset-modules": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", "@babel/plugin-transform-dotall-regex": "^7.4.4", @@ -1169,663 +1217,567 @@ "esutils": "^2.0.2" } }, - "node_modules/@babel/preset-react": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.12.10.tgz", - "integrity": "sha512-vtQNjaHRl4DUpp+t+g4wvTHsLQuye+n0H/wsXIZRn69oz/fvNC7gQ4IK73zGJBaxvHoxElDvnYCthMcT7uzFoQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-transform-react-display-name": "^7.12.1", - "@babel/plugin-transform-react-jsx": "^7.12.10", - "@babel/plugin-transform-react-jsx-development": "^7.12.7", - "@babel/plugin-transform-react-pure-annotations": "^7.12.1" + "@babel/preset-react": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.14.5.tgz", + "integrity": "sha512-XFxBkjyObLvBaAvkx1Ie95Iaq4S/GUEIrejyrntQ/VCMKUYvKLoyKxOBzJ2kjA3b6rC9/KL6KXfDC2GqvLiNqQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "@babel/plugin-transform-react-display-name": "^7.14.5", + "@babel/plugin-transform-react-jsx": "^7.14.5", + "@babel/plugin-transform-react-jsx-development": "^7.14.5", + "@babel/plugin-transform-react-pure-annotations": "^7.14.5" } }, - "node_modules/@babel/preset-typescript": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.12.7.tgz", - "integrity": "sha512-nOoIqIqBmHBSEgBXWR4Dv/XBehtIFcw9PqZw6rFYuKrzsZmOQm3PR5siLBnKZFEsDb03IegG8nSjU/iXXXYRmw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-option": "^7.12.1", - "@babel/plugin-transform-typescript": "^7.12.1" + "@babel/preset-typescript": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.14.5.tgz", + "integrity": "sha512-u4zO6CdbRKbS9TypMqrlGH7sd2TAJppZwn3c/ZRLeO/wGsbddxgbPDUZVNrie3JWYLQ9vpineKlsrWFvO6Pwkw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "@babel/plugin-transform-typescript": "^7.14.5" } }, - "node_modules/@babel/runtime": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", - "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", - "dependencies": { + "@babel/runtime": { + "version": "7.14.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.6.tgz", + "integrity": "sha512-/PCB2uJ7oM44tz8YhC4Z/6PeOKXp4K588f+5M3clr1M4zbqztlo0XEfJ2LEzj/FgwfgGcIdl8n7YYjTCI0BYwg==", + "requires": { "regenerator-runtime": "^0.13.4" } }, - "node_modules/@babel/runtime-corejs3": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.12.5.tgz", - "integrity": "sha512-roGr54CsTmNPPzZoCP1AmDXuBoNao7tnSA83TXTwt+UK5QVyh1DIJnrgYRPWKCF2flqZQXwa7Yr8v7VmLzF0YQ==", - "dependencies": { - "core-js-pure": "^3.0.0", + "@babel/runtime-corejs3": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.14.7.tgz", + "integrity": "sha512-Wvzcw4mBYbTagyBVZpAJWI06auSIj033T/yNE0Zn1xcup83MieCddZA7ls3kme17L4NOGBrQ09Q+nKB41RLWBA==", + "requires": { + "core-js-pure": "^3.15.0", "regenerator-runtime": "^0.13.4" } }, - "node_modules/@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" + "@babel/template": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", + "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5" } }, - "node_modules/@babel/traverse": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz", - "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==", - "dependencies": { - "@babel/code-frame": "^7.12.11", - "@babel/generator": "^7.12.11", - "@babel/helper-function-name": "^7.12.11", - "@babel/helper-split-export-declaration": "^7.12.11", - "@babel/parser": "^7.12.11", - "@babel/types": "^7.12.12", + "@babel/traverse": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.7.tgz", + "integrity": "sha512-9vDr5NzHu27wgwejuKL7kIOm4bwEtaPQ4Z6cpCmjSuaRqpH/7xc4qcGEscwMqlkwgcXl6MvqoAjZkQ24uSdIZQ==", + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/parser": "^7.14.7", + "@babel/types": "^7.14.5", "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" + "globals": "^11.1.0" } }, - "node_modules/@babel/types": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", - "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", + "@babel/types": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz", + "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==", + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", "to-fast-properties": "^2.0.0" } }, - "node_modules/@csstools/convert-colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz", - "integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/@docsearch/css": { - "version": "3.0.0-alpha.32", - "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.0.0-alpha.32.tgz", - "integrity": "sha512-wafLX/jT1NPAwifPhzMJX394PjKdqf5TA4cz/JgvBYR1/+MiErLk/pyCmocXkawWGR17/6u2qw3wYvXu/Qe/DQ==" + "@docsearch/css": { + "version": "3.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.0.0-alpha.37.tgz", + "integrity": "sha512-EUr2AhvFw+TYPrkfePjDWh3NqpJgpwM8v6n8Mf0rUnL/ThxXKsdamzfBqWCWAh+N1o+eeGqypvy+p8Fp8dZXhQ==" }, - "node_modules/@docsearch/react": { - "version": "3.0.0-alpha.32", - "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.0.0-alpha.32.tgz", - "integrity": "sha512-2jqzPJu4y0mWiwwm+Kfgf/97Q8XaGxj1+jJfGJpJLkJyD8S2tK4OikyIRWI9gI9k3m48HxFm0+P8uAYYtIyjqA==", - "dependencies": { - "@algolia/autocomplete-core": "^1.0.0-alpha.35", - "@algolia/autocomplete-preset-algolia": "^1.0.0-alpha.35", - "@docsearch/css": "3.0.0-alpha.32", + "@docsearch/react": { + "version": "3.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.0.0-alpha.37.tgz", + "integrity": "sha512-W/O3OfL+LLQTlGXrT8/d7ztBYKgZmDWweu9f0O/41zV6Hirzo/qZEWzr25ky8utFUcMwj1pfTHLOp1F9UCtLAQ==", + "requires": { + "@algolia/autocomplete-core": "1.2.1", + "@algolia/autocomplete-preset-algolia": "1.2.1", + "@docsearch/css": "3.0.0-alpha.37", "algoliasearch": "^4.0.0" } }, - "node_modules/@docusaurus/core": { - "version": "2.0.0-alpha.70", - "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.0.0-alpha.70.tgz", - "integrity": "sha512-ccDcr5eb5T3C6k7VoqTclBFwjVkIHK1zISdhqzRNVl8AZTql1bYMvGUJP+2WbF6RSdmsGTNWreaUlrJc00dQqw==", - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/generator": "^7.12.5", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.12.1", + "@docusaurus/core": { + "version": "2.0.0-beta.3", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.0.0-beta.3.tgz", + "integrity": "sha512-vzKmQsvOCte9odf0ZRU2h5UzdI1km5D0NU3Ee6xn06VydYZ169B1IF5KV1LWHSYklnsEmzizJ/jeopFCry0cGg==", + "requires": { + "@babel/core": "^7.12.16", + "@babel/generator": "^7.12.15", "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-transform-runtime": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@babel/preset-react": "^7.12.5", - "@babel/preset-typescript": "^7.12.1", + "@babel/plugin-transform-runtime": "^7.12.15", + "@babel/preset-env": "^7.12.16", + "@babel/preset-react": "^7.12.13", + "@babel/preset-typescript": "^7.12.16", "@babel/runtime": "^7.12.5", - "@babel/runtime-corejs3": "^7.12.5", - "@babel/traverse": "^7.12.5", - "@docusaurus/cssnano-preset": "2.0.0-alpha.70", - "@docusaurus/types": "2.0.0-alpha.70", - "@docusaurus/utils": "2.0.0-alpha.70", - "@docusaurus/utils-validation": "2.0.0-alpha.70", - "@endiliey/static-site-generator-webpack-plugin": "^4.0.0", - "@svgr/webpack": "^5.4.0", - "babel-loader": "^8.2.1", + "@babel/runtime-corejs3": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@docusaurus/cssnano-preset": "2.0.0-beta.3", + "@docusaurus/react-loadable": "5.5.0", + "@docusaurus/types": "2.0.0-beta.3", + "@docusaurus/utils": "2.0.0-beta.3", + "@docusaurus/utils-common": "2.0.0-beta.3", + "@docusaurus/utils-validation": "2.0.0-beta.3", + "@slorber/static-site-generator-webpack-plugin": "^4.0.0", + "@svgr/webpack": "^5.5.0", + "autoprefixer": "^10.2.5", + "babel-loader": "^8.2.2", "babel-plugin-dynamic-import-node": "2.3.0", - "boxen": "^4.2.0", - "cache-loader": "^4.1.0", - "chalk": "^3.0.0", - "chokidar": "^3.4.3", - "clean-css": "^4.2.3", - "commander": "^4.0.1", - "copy-webpack-plugin": "^6.3.0", - "core-js": "^2.6.5", - "css-loader": "^3.4.2", - "del": "^5.1.0", + "boxen": "^5.0.1", + "chalk": "^4.1.1", + "chokidar": "^3.5.1", + "clean-css": "^5.1.2", + "commander": "^5.1.0", + "copy-webpack-plugin": "^9.0.0", + "core-js": "^3.9.1", + "css-loader": "^5.1.1", + "css-minimizer-webpack-plugin": "^3.0.1", + "cssnano": "^5.0.4", + "del": "^6.0.0", "detect-port": "^1.3.0", - "eta": "^1.11.0", + "escape-html": "^1.0.3", + "eta": "^1.12.1", "express": "^4.17.1", "file-loader": "^6.2.0", - "fs-extra": "^9.0.1", - "globby": "^10.0.1", + "fs-extra": "^10.0.0", + "github-slugger": "^1.3.0", + "globby": "^11.0.2", "html-minifier-terser": "^5.1.1", "html-tags": "^3.1.0", - "html-webpack-plugin": "^4.5.0", - "import-fresh": "^3.2.2", - "inquirer": "^7.2.0", + "html-webpack-plugin": "^5.3.2", + "import-fresh": "^3.3.0", "is-root": "^2.1.0", - "joi": "^17.2.1", "leven": "^3.1.0", "lodash": "^4.17.20", - "lodash.flatmap": "^4.5.0", - "lodash.has": "^4.5.2", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "mini-css-extract-plugin": "^0.8.0", + "mini-css-extract-plugin": "^1.6.0", + "module-alias": "^2.2.2", "nprogress": "^0.2.0", - "null-loader": "^3.0.0", - "optimize-css-assets-webpack-plugin": "^5.0.4", - "pnp-webpack-plugin": "^1.6.4", - "postcss-loader": "^3.0.0", - "postcss-preset-env": "^6.7.0", - "react-dev-utils": "^10.2.1", + "postcss": "^8.2.15", + "postcss-loader": "^5.3.0", + "prompts": "^2.4.1", + "react-dev-utils": "^11.0.1", + "react-error-overlay": "^6.0.9", "react-helmet": "^6.1.0", "react-loadable": "^5.5.0", - "react-loadable-ssr-addon": "^0.3.0", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", "react-router": "^5.2.0", "react-router-config": "^5.1.1", "react-router-dom": "^5.2.0", "resolve-pathname": "^3.0.0", - "semver": "^6.3.0", + "rtl-detect": "^1.0.3", + "semver": "^7.3.4", "serve-handler": "^6.1.3", "shelljs": "^0.8.4", "std-env": "^2.2.1", - "terser-webpack-plugin": "^4.1.0", - "update-notifier": "^4.1.0", + "strip-ansi": "^6.0.0", + "terser-webpack-plugin": "^5.1.3", + "tslib": "^2.2.0", + "update-notifier": "^5.1.0", "url-loader": "^4.1.1", - "wait-on": "^5.2.0", - "webpack": "^4.44.1", - "webpack-bundle-analyzer": "^3.6.1", - "webpack-dev-server": "^3.11.0", - "webpack-merge": "^4.2.2", - "webpackbar": "^4.0.0" - }, - "bin": { - "docusaurus": "bin/docusaurus.js" - }, - "engines": { - "node": ">=10.15.1" + "wait-on": "^5.3.0", + "webpack": "^5.40.0", + "webpack-bundle-analyzer": "^4.4.2", + "webpack-dev-server": "^3.11.2", + "webpack-merge": "^5.8.0", + "webpackbar": "^5.0.0-3" } }, - "node_modules/@docusaurus/cssnano-preset": { - "version": "2.0.0-alpha.70", - "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.0.0-alpha.70.tgz", - "integrity": "sha512-Zwk3SrlE5r/z5j/tjDcs4XoyeoyymCtEovoxLWLV7wb+iR1qb+Jdso4TRShAepbW/ff6SzjCZ8hRy8ahXPD9TA==", - "dependencies": { - "cssnano-preset-advanced": "^4.0.7", - "postcss": "^7.0.2", - "postcss-combine-duplicated-selectors": "^9.1.0", - "postcss-sort-media-queries": "^1.7.26" + "@docusaurus/cssnano-preset": { + "version": "2.0.0-beta.3", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.0.0-beta.3.tgz", + "integrity": "sha512-k7EkNPluB+TV++oZB8Je4EQ6Xs6cR0SvgIU9vdXm00qyPCu38MMfRwSY4HnsVUV797T/fQUD91zkuwhyXCUGLA==", + "requires": { + "cssnano-preset-advanced": "^5.1.1", + "postcss": "^8.2.15", + "postcss-sort-media-queries": "^3.10.11" } }, - "node_modules/@docusaurus/mdx-loader": { - "version": "2.0.0-alpha.70", - "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.0.0-alpha.70.tgz", - "integrity": "sha512-CDR4O4z7wO5/S8O3TAggCynnuBIGIlUT9q9uhhkDe8h5XDhF8n8d6bwqir0O+fUMN3EnyrMq6z1g4IDRB5G2vw==", - "dependencies": { - "@babel/parser": "^7.12.5", - "@babel/traverse": "^7.12.5", - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/utils": "2.0.0-alpha.70", + "@docusaurus/mdx-loader": { + "version": "2.0.0-beta.3", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.0.0-beta.3.tgz", + "integrity": "sha512-xH6zjNokZD2D7Y+Af3gMO692lwfw5N3NzxuLqMF3D0HPHOLrokDeIeVPeY/EBJBxZiXgqWGZ/ESewNDU1ZUfRQ==", + "requires": { + "@babel/parser": "^7.12.16", + "@babel/traverse": "^7.12.13", + "@docusaurus/core": "2.0.0-beta.3", + "@docusaurus/utils": "2.0.0-beta.3", "@mdx-js/mdx": "^1.6.21", "@mdx-js/react": "^1.6.21", "escape-html": "^1.0.3", "file-loader": "^6.2.0", - "fs-extra": "^9.0.1", + "fs-extra": "^10.0.0", "github-slugger": "^1.3.0", - "gray-matter": "^4.0.2", - "loader-utils": "^2.0.0", - "mdast-util-to-string": "^1.1.0", + "gray-matter": "^4.0.3", + "mdast-util-to-string": "^2.0.0", "remark-emoji": "^2.1.0", "stringify-object": "^3.3.0", "unist-util-visit": "^2.0.2", "url-loader": "^4.1.1", - "webpack": "^4.44.1" - }, - "engines": { - "node": ">=10.15.1" + "webpack": "^5.40.0" } }, - "node_modules/@docusaurus/plugin-content-blog": { - "version": "2.0.0-alpha.70", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.0.0-alpha.70.tgz", - "integrity": "sha512-qWXlSDovkhCZLJR0Wz4e3YcNjlelpuSNkS1rJ8sI1ehs/n32lj7A/nVoRfS/LnOMfIciY48vVPr64VLb6dfEeg==", - "dependencies": { - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/mdx-loader": "2.0.0-alpha.70", - "@docusaurus/types": "2.0.0-alpha.70", - "@docusaurus/utils": "2.0.0-alpha.70", - "@docusaurus/utils-validation": "2.0.0-alpha.70", - "chalk": "^3.0.0", - "feed": "^4.2.1", - "fs-extra": "^9.0.1", - "globby": "^10.0.1", - "joi": "^17.2.1", - "loader-utils": "^1.2.3", - "lodash": "^4.17.20", - "reading-time": "^1.2.0", + "@docusaurus/plugin-content-blog": { + "version": "2.0.0-beta.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.0.0-beta.3.tgz", + "integrity": "sha512-QynxHVzS3jItnDbmu9wkASyMxrduauqONVqYHrL4x2pC4kzSTIrcDnOK1JXUJAuDg9XY66ISWQ8dN7YZOpU+4Q==", + "requires": { + "@docusaurus/core": "2.0.0-beta.3", + "@docusaurus/mdx-loader": "2.0.0-beta.3", + "@docusaurus/types": "2.0.0-beta.3", + "@docusaurus/utils": "2.0.0-beta.3", + "@docusaurus/utils-validation": "2.0.0-beta.3", + "chalk": "^4.1.1", + "escape-string-regexp": "^4.0.0", + "feed": "^4.2.2", + "fs-extra": "^10.0.0", + "globby": "^11.0.2", + "loader-utils": "^2.0.0", + "lodash": "^4.17.20", + "reading-time": "^1.3.0", "remark-admonitions": "^1.2.1", - "webpack": "^4.44.1" - }, - "engines": { - "node": ">=10.15.1" - } - }, - "node_modules/@docusaurus/plugin-content-blog/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dependencies": { - "minimist": "^1.2.0" + "tslib": "^2.2.0", + "webpack": "^5.40.0" }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/@docusaurus/plugin-content-blog/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + } } }, - "node_modules/@docusaurus/plugin-content-docs": { - "version": "2.0.0-alpha.70", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.0.0-alpha.70.tgz", - "integrity": "sha512-LZre12Q0sxLgi2XgjQbNQMV+jFG7v0+8hRzgBL+iCRiLCa4NlV7+M6mEHJGJJXSKqbfH7CelaUOESqEgPpVQXQ==", - "dependencies": { - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/mdx-loader": "2.0.0-alpha.70", - "@docusaurus/types": "2.0.0-alpha.70", - "@docusaurus/utils": "2.0.0-alpha.70", - "@docusaurus/utils-validation": "2.0.0-alpha.70", - "chalk": "^3.0.0", - "execa": "^3.4.0", - "fs-extra": "^9.0.1", - "globby": "^10.0.1", + "@docusaurus/plugin-content-docs": { + "version": "2.0.0-beta.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.0.0-beta.3.tgz", + "integrity": "sha512-lB9UjDyFtq89tpyif+JDIJ/gtwtSTEwOBNTLAzOsg4ZIfNLfyifrWN4ci0TkZV0xShWUHqGp36/5XTpHRn1jJQ==", + "requires": { + "@docusaurus/core": "2.0.0-beta.3", + "@docusaurus/mdx-loader": "2.0.0-beta.3", + "@docusaurus/types": "2.0.0-beta.3", + "@docusaurus/utils": "2.0.0-beta.3", + "@docusaurus/utils-validation": "2.0.0-beta.3", + "chalk": "^4.1.1", + "combine-promises": "^1.1.0", + "escape-string-regexp": "^4.0.0", + "execa": "^5.0.0", + "fs-extra": "^10.0.0", + "globby": "^11.0.2", "import-fresh": "^3.2.2", - "joi": "^17.2.1", + "js-yaml": "^4.0.0", "loader-utils": "^1.2.3", - "lodash": "^4.17.19", - "lodash.flatmap": "^4.5.0", - "lodash.groupby": "^4.6.0", - "lodash.pick": "^4.4.0", - "lodash.pickby": "^4.6.0", - "lodash.sortby": "^4.6.0", + "lodash": "^4.17.20", "remark-admonitions": "^1.2.1", "shelljs": "^0.8.4", + "tslib": "^2.2.0", "utility-types": "^3.10.0", - "webpack": "^4.44.1" - }, - "engines": { - "node": ">=10.15.1" - } - }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/execa": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", - "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", - "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": "^8.12.0 || >=9.7.0" - } - }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" + "webpack": "^5.40.0" }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/p-finally": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", - "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", - "engines": { - "node": ">=8" + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==" + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "requires": { + "argparse": "^2.0.1" + } + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "requires": { + "path-key": "^3.0.0" + } + } } }, - "node_modules/@docusaurus/plugin-content-pages": { - "version": "2.0.0-alpha.70", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.0.0-alpha.70.tgz", - "integrity": "sha512-HiFa5l1RDs155ATyYKkPtyIs/d6WJgSAyVfY5ji0Bsixp/K/Kh9YUZYMeTfeMIdhGYe3AAJz+PSZHYRpwTo1wA==", - "dependencies": { - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/mdx-loader": "2.0.0-alpha.70", - "@docusaurus/types": "2.0.0-alpha.70", - "@docusaurus/utils": "2.0.0-alpha.70", - "@docusaurus/utils-validation": "2.0.0-alpha.70", - "globby": "^10.0.1", - "joi": "^17.2.1", - "loader-utils": "^1.2.3", - "lodash": "^4.17.19", + "@docusaurus/plugin-content-pages": { + "version": "2.0.0-beta.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.0.0-beta.3.tgz", + "integrity": "sha512-lV6ZoSkkVwN10kQLE4sEAubaEnzXjKBQBhMCx49wkrvRwKzjBoRnfWV8qAswN1KU2YZZL1ixFpcr8+oXvhxkuA==", + "requires": { + "@docusaurus/core": "2.0.0-beta.3", + "@docusaurus/mdx-loader": "2.0.0-beta.3", + "@docusaurus/types": "2.0.0-beta.3", + "@docusaurus/utils": "2.0.0-beta.3", + "@docusaurus/utils-validation": "2.0.0-beta.3", + "globby": "^11.0.2", + "lodash": "^4.17.20", "minimatch": "^3.0.4", "remark-admonitions": "^1.2.1", "slash": "^3.0.0", - "webpack": "^4.44.1" - }, - "engines": { - "node": ">=10.15.1" - } - }, - "node_modules/@docusaurus/plugin-content-pages/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/@docusaurus/plugin-content-pages/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" + "tslib": "^2.1.0", + "webpack": "^5.40.0" } }, - "node_modules/@docusaurus/plugin-debug": { - "version": "2.0.0-alpha.70", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.0.0-alpha.70.tgz", - "integrity": "sha512-h/x5KtS/YJerhY6C6sJOaP9gMaSVnjj1qZ6r9E/IFujQJ7bSKnk1unqBQpVXADkQhP081ENPL01ubc0/JbE1Mw==", - "dependencies": { - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/types": "2.0.0-alpha.70", - "@docusaurus/utils": "2.0.0-alpha.70", - "react-json-view": "^1.19.1" - }, - "engines": { - "node": ">=10.15.1" + "@docusaurus/plugin-debug": { + "version": "2.0.0-beta.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.0.0-beta.3.tgz", + "integrity": "sha512-EeHUcCPsr9S1tsyRo42SnhrCCOlcvkcA8CR4pOofiJkG1gJ8IwhY9fNOLJM7dYs0bMtViiqXy5fD2jUib4G1jw==", + "requires": { + "@docusaurus/core": "2.0.0-beta.3", + "@docusaurus/types": "2.0.0-beta.3", + "@docusaurus/utils": "2.0.0-beta.3", + "react-json-view": "^1.21.3", + "tslib": "^2.1.0" } }, - "node_modules/@docusaurus/plugin-google-analytics": { - "version": "2.0.0-alpha.70", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.0.0-alpha.70.tgz", - "integrity": "sha512-Ah9W83ZnA0VvmflKNuGq5f/CaEjWJxhjkISQn09/ykEvXfWV33000Bhck4RoCr5YxD+GBEBT5suG5LKH7Qkigw==", - "dependencies": { - "@docusaurus/core": "2.0.0-alpha.70" - }, - "engines": { - "node": ">=10.15.1" + "@docusaurus/plugin-google-analytics": { + "version": "2.0.0-beta.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.0.0-beta.3.tgz", + "integrity": "sha512-e6tO1FCIdAqIjcLAUaHugz/dErAP/wx67WyN6bWSdAMJRobmav+TFesE2iVzzIMxuRB3pY0Y7TtLL5dF5xpIsg==", + "requires": { + "@docusaurus/core": "2.0.0-beta.3" } }, - "node_modules/@docusaurus/plugin-google-gtag": { - "version": "2.0.0-alpha.70", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.0.0-alpha.70.tgz", - "integrity": "sha512-K3s894PqMPQnGXEZs0bSs2bRE3bVXFYSb/RN+K9sNd7zxGuOX4UytuvpXP+1r0Hj/YTwQIjj7AKsND0ZpDJHyw==", - "dependencies": { - "@docusaurus/core": "2.0.0-alpha.70" - }, - "engines": { - "node": ">=10.15.1" + "@docusaurus/plugin-google-gtag": { + "version": "2.0.0-beta.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.0.0-beta.3.tgz", + "integrity": "sha512-p48CK7ZwThs9wc/UEv+zG3lZ/Eh4Rwg2c0MBBLYATGE+Wwh6HIyilhjQAj4dC6wf9iYvCZFXX2pNOr+cKKafIA==", + "requires": { + "@docusaurus/core": "2.0.0-beta.3" } }, - "node_modules/@docusaurus/plugin-sitemap": { - "version": "2.0.0-alpha.70", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.0.0-alpha.70.tgz", - "integrity": "sha512-ev9yNLPoeHP03jTz67daGd7yA7YhUwHeoWz14SyiKuU7OYtwL/8SJTn/V5kMDRl7o8FRQt9T//mRkpa270hmXw==", - "dependencies": { - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/types": "2.0.0-alpha.70", - "fs-extra": "^9.0.1", - "joi": "^17.2.1", - "sitemap": "^3.2.2" - }, - "engines": { - "node": ">=10.15.1" + "@docusaurus/plugin-sitemap": { + "version": "2.0.0-beta.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.0.0-beta.3.tgz", + "integrity": "sha512-ilEJ3Xb8zbShjGhdRHGAm4OZ0bUwFxtMtcTyqLlGmk9r0U2h0CWcaS+geJfLwgUJkwgKZfGdDrmTpmf8oeGQvw==", + "requires": { + "@docusaurus/core": "2.0.0-beta.3", + "@docusaurus/types": "2.0.0-beta.3", + "@docusaurus/utils": "2.0.0-beta.3", + "@docusaurus/utils-common": "2.0.0-beta.3", + "@docusaurus/utils-validation": "2.0.0-beta.3", + "fs-extra": "^10.0.0", + "sitemap": "^7.0.0", + "tslib": "^2.2.0" } }, - "node_modules/@docusaurus/preset-classic": { - "version": "2.0.0-alpha.70", - "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.0.0-alpha.70.tgz", - "integrity": "sha512-Zx98KryJjHiqzGisWKR0glXl0HXuf/YbcK9yUl6ySyS+6cIMAuGMS0HGLgbvvEmYjywz7nMLpijzGderEOihjQ==", - "dependencies": { - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/plugin-content-blog": "2.0.0-alpha.70", - "@docusaurus/plugin-content-docs": "2.0.0-alpha.70", - "@docusaurus/plugin-content-pages": "2.0.0-alpha.70", - "@docusaurus/plugin-debug": "2.0.0-alpha.70", - "@docusaurus/plugin-google-analytics": "2.0.0-alpha.70", - "@docusaurus/plugin-google-gtag": "2.0.0-alpha.70", - "@docusaurus/plugin-sitemap": "2.0.0-alpha.70", - "@docusaurus/theme-classic": "2.0.0-alpha.70", - "@docusaurus/theme-search-algolia": "2.0.0-alpha.70" - }, - "engines": { - "node": ">=10.15.1" + "@docusaurus/preset-classic": { + "version": "2.0.0-beta.3", + "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.0.0-beta.3.tgz", + "integrity": "sha512-32B/7X3H8XX5jBqg23veEqNJ0JtKCG0Va+7wTX9+B36tMyPnsq3H3m0m5XICfX/NGfPICfjw/oCN2CEAYFd47Q==", + "requires": { + "@docusaurus/core": "2.0.0-beta.3", + "@docusaurus/plugin-content-blog": "2.0.0-beta.3", + "@docusaurus/plugin-content-docs": "2.0.0-beta.3", + "@docusaurus/plugin-content-pages": "2.0.0-beta.3", + "@docusaurus/plugin-debug": "2.0.0-beta.3", + "@docusaurus/plugin-google-analytics": "2.0.0-beta.3", + "@docusaurus/plugin-google-gtag": "2.0.0-beta.3", + "@docusaurus/plugin-sitemap": "2.0.0-beta.3", + "@docusaurus/theme-classic": "2.0.0-beta.3", + "@docusaurus/theme-search-algolia": "2.0.0-beta.3" + } + }, + "@docusaurus/react-loadable": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.0.tgz", + "integrity": "sha512-Ld/kwUE6yATIOTLq3JCsWiTa/drisajwKqBQ2Rw6IcT+sFsKfYek8F2jSH8f68AT73xX97UehduZeCSlnuCBIg==", + "requires": { + "prop-types": "^15.6.2" } }, - "node_modules/@docusaurus/theme-classic": { - "version": "2.0.0-alpha.70", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.0.0-alpha.70.tgz", - "integrity": "sha512-lKU+fgSd08fo3LNYTw31Wty7RgAdFm8bEOwBNkKZcCFnatTSG4qyDbrDZclCQT/SpXSv9XIEKUc0irg2IH6Qrg==", - "dependencies": { - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/plugin-content-blog": "2.0.0-alpha.70", - "@docusaurus/plugin-content-docs": "2.0.0-alpha.70", - "@docusaurus/plugin-content-pages": "2.0.0-alpha.70", - "@docusaurus/theme-common": "2.0.0-alpha.70", - "@docusaurus/types": "2.0.0-alpha.70", - "@docusaurus/utils": "2.0.0-alpha.70", - "@docusaurus/utils-validation": "2.0.0-alpha.70", + "@docusaurus/theme-classic": { + "version": "2.0.0-beta.3", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.0.0-beta.3.tgz", + "integrity": "sha512-d2I4r9FQ67hCTGq+fkz0tDNvpCLxm/HAtjuu+XsZkX6Snh50XpWYfwOD4w8oFbbup5Imli2q7Z8Q2+9izphizw==", + "requires": { + "@docusaurus/core": "2.0.0-beta.3", + "@docusaurus/plugin-content-blog": "2.0.0-beta.3", + "@docusaurus/plugin-content-docs": "2.0.0-beta.3", + "@docusaurus/plugin-content-pages": "2.0.0-beta.3", + "@docusaurus/theme-common": "2.0.0-beta.3", + "@docusaurus/types": "2.0.0-beta.3", + "@docusaurus/utils": "2.0.0-beta.3", + "@docusaurus/utils-common": "2.0.0-beta.3", + "@docusaurus/utils-validation": "2.0.0-beta.3", "@mdx-js/mdx": "^1.6.21", "@mdx-js/react": "^1.6.21", - "@types/react-toggle": "^4.0.2", + "chalk": "^4.1.1", "clsx": "^1.1.1", - "copy-text-to-clipboard": "^2.2.0", - "infima": "0.2.0-alpha.18", - "joi": "^17.2.1", - "lodash": "^4.17.19", + "copy-text-to-clipboard": "^3.0.1", + "fs-extra": "^10.0.0", + "globby": "^11.0.2", + "infima": "0.2.0-alpha.26", + "lodash": "^4.17.20", "parse-numeric-range": "^1.2.0", - "prism-react-renderer": "^1.1.1", - "prismjs": "^1.22.0", + "postcss": "^8.2.15", + "prism-react-renderer": "^1.2.1", + "prismjs": "^1.23.0", "prop-types": "^15.7.2", "react-router-dom": "^5.2.0", - "react-toggle": "^4.1.1" - }, - "engines": { - "node": ">=10.15.1" + "rtlcss": "^3.1.2" } }, - "node_modules/@docusaurus/theme-common": { - "version": "2.0.0-alpha.70", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.0.0-alpha.70.tgz", - "integrity": "sha512-Ge/dLGPCJhtyvumSMg0BlWcF00d1Qd2KnHf8kL/0nTxe257yNTHIOK95LKhIPAdcVgxG+ge9N0XcBm4KaubASQ==", - "dependencies": { - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/plugin-content-blog": "2.0.0-alpha.70", - "@docusaurus/plugin-content-docs": "2.0.0-alpha.70", - "@docusaurus/plugin-content-pages": "2.0.0-alpha.70", - "@docusaurus/types": "2.0.0-alpha.70" - }, - "engines": { - "node": ">=10.15.1" + "@docusaurus/theme-common": { + "version": "2.0.0-beta.3", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.0.0-beta.3.tgz", + "integrity": "sha512-XuiqpfQyOWGniN7d8uMfUQ3OmCc70u+O0ObPUONj7gFglCzwu33Izx05gNrV9ekhnpQ1pkPcvGU7Soe9Hc5i6g==", + "requires": { + "@docusaurus/core": "2.0.0-beta.3", + "@docusaurus/plugin-content-blog": "2.0.0-beta.3", + "@docusaurus/plugin-content-docs": "2.0.0-beta.3", + "@docusaurus/plugin-content-pages": "2.0.0-beta.3", + "@docusaurus/types": "2.0.0-beta.3", + "tslib": "^2.1.0" } }, - "node_modules/@docusaurus/theme-search-algolia": { - "version": "2.0.0-alpha.70", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.0.0-alpha.70.tgz", - "integrity": "sha512-xuoWZ+HUKzn1A5vPlNZM8mtyRL5uo15o34OX/i7HkTRmBVymWO1bBE0lECfDVJU2JUYGmwjpDXhZzNLDZmZRWg==", - "dependencies": { - "@docsearch/react": "^3.0.0-alpha.31", - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/theme-common": "2.0.0-alpha.70", - "@docusaurus/utils": "2.0.0-alpha.70", - "algoliasearch": "^4.0.0", - "algoliasearch-helper": "^3.1.1", + "@docusaurus/theme-search-algolia": { + "version": "2.0.0-beta.3", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.0.0-beta.3.tgz", + "integrity": "sha512-fxWxcXGmqjwuA7zYRAbwqSANx3PVVjYUehV9SI28u5qq8U2tSYflhd1nGogM6guiV+Er6u8gwO91PL6wg3/vBA==", + "requires": { + "@docsearch/react": "^3.0.0-alpha.36", + "@docusaurus/core": "2.0.0-beta.3", + "@docusaurus/theme-common": "2.0.0-beta.3", + "@docusaurus/utils": "2.0.0-beta.3", + "@docusaurus/utils-validation": "2.0.0-beta.3", + "algoliasearch": "^4.8.4", + "algoliasearch-helper": "^3.3.4", "clsx": "^1.1.1", - "eta": "^1.11.0", - "joi": "^17.2.1", - "lodash": "^4.17.19" - }, - "engines": { - "node": ">=10.15.1" + "eta": "^1.12.1", + "lodash": "^4.17.20" } }, - "node_modules/@docusaurus/types": { - "version": "2.0.0-alpha.70", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.0.0-alpha.70.tgz", - "integrity": "sha512-QoHmMiJhRDq5P/4o3eUIiJebdwRjShFlal01DST5B8MZo4k0ogl57FNHqJvIHc93NgonZzFlvC/auLlBnc/d4Q==", - "dependencies": { - "@types/webpack": "^4.41.0", - "commander": "^4.0.1", + "@docusaurus/types": { + "version": "2.0.0-beta.3", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.0.0-beta.3.tgz", + "integrity": "sha512-ivQ6L1ahju06ldTvFsZLQxcN6DP32iIB7DscxWVRqP0eyuyX2xAy+jrASqih3lB8lyw0JJaaDEeVE5fjroAQ/Q==", + "requires": { + "commander": "^5.1.0", + "joi": "^17.4.0", "querystring": "0.2.0", - "webpack-merge": "^4.2.2" + "webpack": "^5.40.0", + "webpack-merge": "^5.8.0" } }, - "node_modules/@docusaurus/utils": { - "version": "2.0.0-alpha.70", - "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.0.0-alpha.70.tgz", - "integrity": "sha512-xNSUcE7fGcneH00CPCEY0SP5V7H6pLEcu620UiU/m1367tCMsmv+MZcnII2ACcjAtvhjS22v/KLippM3VeTXqQ==", - "dependencies": { - "@docusaurus/types": "2.0.0-alpha.70", - "chalk": "^3.0.0", - "escape-string-regexp": "^2.0.0", - "fs-extra": "^9.0.1", - "gray-matter": "^4.0.2", + "@docusaurus/utils": { + "version": "2.0.0-beta.3", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.0.0-beta.3.tgz", + "integrity": "sha512-DApc6xcb3CvvsBCfRU6Zk3KoZa4mZfCJA4XRv5zhlhaSb0GFuAo7KQ353RUu6d0eYYylY3GGRABXkxRE1SEClA==", + "requires": { + "@docusaurus/types": "2.0.0-beta.3", + "@types/github-slugger": "^1.3.0", + "chalk": "^4.1.1", + "escape-string-regexp": "^4.0.0", + "fs-extra": "^10.0.0", + "gray-matter": "^4.0.3", "lodash": "^4.17.20", - "lodash.camelcase": "^4.3.0", - "lodash.kebabcase": "^4.1.1", - "resolve-pathname": "^3.0.0" + "resolve-pathname": "^3.0.0", + "tslib": "^2.2.0" }, - "engines": { - "node": ">=10.15.1" - } - }, - "node_modules/@docusaurus/utils-validation": { - "version": "2.0.0-alpha.70", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.0.0-alpha.70.tgz", - "integrity": "sha512-GJonaRjiJtlCk1+RfKA9f0YwRsSRGFMVbl6DrFidTgs4FmRb0hQsN4fnllsBvBJtbDZYwPTQ3T7c4cKJ/Ll7bQ==", "dependencies": { - "@docusaurus/utils": "2.0.0-alpha.70", - "chalk": "^3.0.0", - "joi": "^17.2.1" - }, - "engines": { - "node": ">=10.15.1" + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + } } }, - "node_modules/@docusaurus/utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "engines": { - "node": ">=8" + "@docusaurus/utils-common": { + "version": "2.0.0-beta.3", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.0.0-beta.3.tgz", + "integrity": "sha512-KJgDN4G2MzJcHy+OR2e/xgEwRy+vX26pzwtjPkRjNf24CPa0BwFbRmR5apbltCgTB10vT6xroStc8Quv/286Cg==", + "requires": { + "@docusaurus/types": "2.0.0-beta.3", + "tslib": "^2.2.0" } }, - "node_modules/@endiliey/static-site-generator-webpack-plugin": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@endiliey/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-4.0.0.tgz", - "integrity": "sha512-3MBqYCs30qk1OBRC697NqhGouYbs71D1B8hrk/AFJC6GwF2QaJOQZtA1JYAaGSe650sZ8r5ppRTtCRXepDWlng==", - "dependencies": { - "bluebird": "^3.7.1", - "cheerio": "^0.22.0", - "eval": "^0.1.4", - "url": "^0.11.0", - "webpack-sources": "^1.4.3" + "@docusaurus/utils-validation": { + "version": "2.0.0-beta.3", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.0.0-beta.3.tgz", + "integrity": "sha512-jGX78NNrxDZFgDjLaa6wuJ/eKDoHdZFG2CVX3uCaIGe1x8eTMG2/e/39GzbZl+W7VHYpW0bzdf/5dFhaKLfQbQ==", + "requires": { + "@docusaurus/utils": "2.0.0-beta.3", + "chalk": "^4.1.1", + "joi": "^17.4.0", + "tslib": "^2.1.0" } }, - "node_modules/@hapi/hoek": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.1.1.tgz", - "integrity": "sha512-CAEbWH7OIur6jEOzaai83jq3FmKmv4PmX1JYfs9IrYcGEVI/lyL1EXJGCj7eFVJ0bg5QR8LMxBlEtA+xKiLpFw==" + "@hapi/hoek": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.0.tgz", + "integrity": "sha512-sqKVVVOe5ivCaXDWivIJYVSaEgdQK9ul7a4Kity5Iw7u9+wBAPbX1RMSnLLmp7O4Vzj0WOWwMAJsTL00xwaNug==" }, - "node_modules/@hapi/topo": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.0.0.tgz", - "integrity": "sha512-tFJlT47db0kMqVm3H4nQYgn6Pwg10GTZHb1pwmSiv1K4ks6drQOtfEF5ZnPjkvC+y4/bUPHK+bc87QvLcL+WMw==", - "dependencies": { + "@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "requires": { "@hapi/hoek": "^9.0.0" } }, - "node_modules/@mdx-js/mdx": { + "@mdx-js/mdx": { "version": "1.6.22", "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.6.22.tgz", "integrity": "sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA==", - "dependencies": { + "requires": { "@babel/core": "7.12.9", "@babel/plugin-syntax-jsx": "7.12.1", "@babel/plugin-syntax-object-rest-spread": "7.8.3", @@ -1845,213 +1797,180 @@ "unified": "9.2.0", "unist-builder": "2.0.3", "unist-util-visit": "2.0.3" - } - }, - "node_modules/@mdx-js/mdx/node_modules/@babel/core": { - "version": "7.12.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz", - "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==", - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.5", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.5", - "@babel/parser": "^7.12.7", - "@babel/template": "^7.12.7", - "@babel/traverse": "^7.12.9", - "@babel/types": "^7.12.7", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.19", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@mdx-js/mdx/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" + "dependencies": { + "@babel/core": { + "version": "7.12.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz", + "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==", + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.5", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.5", + "@babel/parser": "^7.12.7", + "@babel/template": "^7.12.7", + "@babel/traverse": "^7.12.9", + "@babel/types": "^7.12.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", + "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } } }, - "node_modules/@mdx-js/react": { + "@mdx-js/react": { "version": "1.6.22", "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-1.6.22.tgz", "integrity": "sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==" }, - "node_modules/@mdx-js/util": { + "@mdx-js/util": { "version": "1.6.22", "resolved": "https://registry.npmjs.org/@mdx-js/util/-/util-1.6.22.tgz", "integrity": "sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==" }, - "node_modules/@mrmlnc/readdir-enhanced": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", - "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", - "dependencies": { - "call-me-maybe": "^1.0.1", - "glob-to-regexp": "^0.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", - "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", - "dependencies": { - "@nodelib/fs.stat": "2.0.4", + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "requires": { + "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", - "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", - "engines": { - "node": ">= 8" - } + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", - "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", - "dependencies": { - "@nodelib/fs.scandir": "2.1.4", + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "requires": { + "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" } }, - "node_modules/@npmcli/move-file": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.0.1.tgz", - "integrity": "sha512-Uv6h1sT+0DrblvIrolFtbvM1FgWm+/sy4B3pvLp67Zys+thcukzS5ekn7HsZFGpWP4Q3fYJCljbWQE/XivMRLw==", - "dependencies": { - "mkdirp": "^1.0.4" - }, - "engines": { - "node": ">=10" - } + "@polka/url": { + "version": "1.0.0-next.15", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.15.tgz", + "integrity": "sha512-15spi3V28QdevleWBNXE4pIls3nFZmBbUGrW9IVPwiQczuSb9n76TCB4bsk8TSel+I1OkHEdPhu5QKMfY6rQHA==" }, - "node_modules/@npmcli/move-file/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@sideway/address": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.0.tgz", - "integrity": "sha512-wAH/JYRXeIFQRsxerIuLjgUu2Xszam+O5xKeatJ4oudShOOirfmsQ1D6LL54XOU2tizpCYku+s1wmU0SYdpoSA==", - "dependencies": { + "@sideway/address": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.2.tgz", + "integrity": "sha512-idTz8ibqWFrPU8kMirL0CoPH/A29XOzzAzpyN3zQ4kAWnzmNfFmRaoMNN6VI8ske5M73HZyhIaW4OuSFIdM4oA==", + "requires": { "@hapi/hoek": "^9.0.0" } }, - "node_modules/@sideway/formula": { + "@sideway/formula": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz", "integrity": "sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==" }, - "node_modules/@sideway/pinpoint": { + "@sideway/pinpoint": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" }, - "node_modules/@sindresorhus/is": { + "@sindresorhus/is": { "version": "0.14.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", - "engines": { - "node": ">=6" + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" + }, + "@slorber/static-site-generator-webpack-plugin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@slorber/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-4.0.1.tgz", + "integrity": "sha512-PSv4RIVO1Y3kvHxjvqeVisk3E9XFoO04uwYBDWe217MFqKspplYswTuKLiJu0aLORQWzuQjfVsSlLPojwfYsLw==", + "requires": { + "bluebird": "^3.7.1", + "cheerio": "^0.22.0", + "eval": "^0.1.4", + "url": "^0.11.0", + "webpack-sources": "^1.4.3" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + } } }, - "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "@svgr/babel-plugin-add-jsx-attribute": { "version": "5.4.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", - "engines": { - "node": ">=10" - } + "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==" }, - "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "@svgr/babel-plugin-remove-jsx-attribute": { "version": "5.4.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", - "engines": { - "node": ">=10" - } + "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==" }, - "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "@svgr/babel-plugin-remove-jsx-empty-expression": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", - "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", - "engines": { - "node": ">=10" - } + "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==" }, - "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "@svgr/babel-plugin-replace-jsx-attribute-value": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", - "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", - "engines": { - "node": ">=10" - } + "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==" }, - "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "@svgr/babel-plugin-svg-dynamic-title": { "version": "5.4.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", - "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", - "engines": { - "node": ">=10" - } + "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==" }, - "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "@svgr/babel-plugin-svg-em-dimensions": { "version": "5.4.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", - "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", - "engines": { - "node": ">=10" - } + "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==" }, - "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "@svgr/babel-plugin-transform-react-native-svg": { "version": "5.4.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", - "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", - "engines": { - "node": ">=10" - } + "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==" }, - "node_modules/@svgr/babel-plugin-transform-svg-component": { + "@svgr/babel-plugin-transform-svg-component": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", - "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", - "engines": { - "node": ">=10" - } + "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==" }, - "node_modules/@svgr/babel-preset": { + "@svgr/babel-preset": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", - "dependencies": { + "requires": { "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", @@ -2060,67 +1979,157 @@ "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", "@svgr/babel-plugin-transform-svg-component": "^5.5.0" - }, - "engines": { - "node": ">=10" } }, - "node_modules/@svgr/core": { + "@svgr/core": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", - "dependencies": { + "requires": { "@svgr/plugin-jsx": "^5.5.0", "camelcase": "^6.2.0", "cosmiconfig": "^7.0.0" - }, - "engines": { - "node": ">=10" } }, - "node_modules/@svgr/hast-util-to-babel-ast": { + "@svgr/hast-util-to-babel-ast": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", - "dependencies": { + "requires": { "@babel/types": "^7.12.6" - }, - "engines": { - "node": ">=10" } }, - "node_modules/@svgr/plugin-jsx": { + "@svgr/plugin-jsx": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", - "dependencies": { + "requires": { "@babel/core": "^7.12.3", "@svgr/babel-preset": "^5.5.0", "@svgr/hast-util-to-babel-ast": "^5.5.0", "svg-parser": "^2.0.2" - }, - "engines": { - "node": ">=10" } }, - "node_modules/@svgr/plugin-svgo": { + "@svgr/plugin-svgo": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", - "dependencies": { + "requires": { "cosmiconfig": "^7.0.0", "deepmerge": "^4.2.2", "svgo": "^1.2.2" }, - "engines": { - "node": ">=10" + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "requires": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + } + }, + "css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==" + } + } + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "requires": { + "boolbase": "~1.0.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + } + } } }, - "node_modules/@svgr/webpack": { + "@svgr/webpack": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", - "dependencies": { + "requires": { "@babel/core": "^7.12.3", "@babel/plugin-transform-react-constant-elements": "^7.12.1", "@babel/preset-env": "^7.12.1", @@ -2129,880 +2138,664 @@ "@svgr/plugin-jsx": "^5.5.0", "@svgr/plugin-svgo": "^5.5.0", "loader-utils": "^2.0.0" - }, - "engines": { - "node": ">=10" } }, - "node_modules/@szmarczak/http-timer": { + "@szmarczak/http-timer": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", - "dependencies": { + "requires": { "defer-to-connect": "^1.0.1" - }, - "engines": { - "node": ">=6" } }, - "node_modules/@types/anymatch": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz", - "integrity": "sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==" + "@trysound/sax": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.1.1.tgz", + "integrity": "sha512-Z6DoceYb/1xSg5+e+ZlPZ9v0N16ZvZ+wYMraFue4HYrE4ttONKtsvruIRf6t9TBR0YvSOfi1hUU0fJfBLCDYow==" }, - "node_modules/@types/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", - "dependencies": { + "@types/eslint": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.0.tgz", + "integrity": "sha512-07XlgzX0YJUn4iG1ocY4IX9DzKSmMGUs6ESKlxWhZRaa0fatIWaHWUVapcuGa8r5HFnTqzj+4OCjd5f7EZ/i/A==", + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.1.tgz", + "integrity": "sha512-SCFeogqiptms4Fg29WpOTk5nHIzfpKCemSN63ksBQYKTcXoJEmJagV+DhVmbapZzY4/5YaOV1nZwrsU79fFm1g==", + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "0.0.50", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", + "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==" + }, + "@types/github-slugger": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@types/github-slugger/-/github-slugger-1.3.0.tgz", + "integrity": "sha512-J/rMZa7RqiH/rT29TEVZO4nBoDP9XJOjnbbIofg7GQKs4JIduEO3WLpte+6WeUz/TcrXKlY+bM7FYrp8yFB+3g==" + }, + "@types/glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA==", + "requires": { "@types/minimatch": "*", "@types/node": "*" } }, - "node_modules/@types/hast": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.1.tgz", - "integrity": "sha512-viwwrB+6xGzw+G1eWpF9geV3fnsDgXqHG+cqgiHrvQfDUW5hzhCyV7Sy3UJxhfRFBsgky2SSW33qi/YrIkjX5Q==", - "dependencies": { + "@types/hast": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.2.tgz", + "integrity": "sha512-Op5W7jYgZI7AWKY5wQ0/QNMzQM7dGQPyW1rXKNiymVCy5iTfdPuGu4HhYNOM2sIv8gUfIuIdcYlXmAepwaowow==", + "requires": { "@types/unist": "*" } }, - "node_modules/@types/html-minifier-terser": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", - "integrity": "sha512-giAlZwstKbmvMk1OO7WXSj4OZ0keXAcl2TQq4LWHiiPH2ByaH7WeUzng+Qej8UPxxv+8lRTuouo0iaNDBuzIBA==" + "@types/html-minifier-terser": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz", + "integrity": "sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==" }, - "node_modules/@types/json-schema": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", - "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==" + "@types/json-schema": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.8.tgz", + "integrity": "sha512-YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg==" }, - "node_modules/@types/mdast": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.3.tgz", - "integrity": "sha512-SXPBMnFVQg1s00dlMCc/jCdvPqdE4mXaMMCeRlxLDmTAEoegHT53xKtkDnzDTOcmMHUfcjyf36/YYZ6SxRdnsw==", - "dependencies": { + "@types/mdast": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.7.tgz", + "integrity": "sha512-YwR7OK8aPmaBvMMUi+pZXBNoW2unbVbfok4YRqGMJBe1dpDlzpRkJrYEYmvjxgs5JhuQmKfDexrN98u941Zasg==", + "requires": { "@types/unist": "*" } }, - "node_modules/@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" + "@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" }, - "node_modules/@types/node": { - "version": "14.14.17", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.17.tgz", - "integrity": "sha512-G0lD1/7qD60TJ/mZmhog76k7NcpLWkPVGgzkRy3CTlnFu4LUQh5v2Wa661z6vnXmD8EQrnALUyf0VRtrACYztw==" + "@types/node": { + "version": "16.3.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.3.3.tgz", + "integrity": "sha512-8h7k1YgQKxKXWckzFCMfsIwn0Y61UK6tlD6y2lOb3hTOIMlK3t9/QwHOhc81TwU+RMf0As5fj7NPjroERCnejQ==" }, - "node_modules/@types/parse-json": { + "@types/parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" }, - "node_modules/@types/parse5": { + "@types/parse5": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.3.tgz", "integrity": "sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==" }, - "node_modules/@types/prop-types": { - "version": "15.7.3", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", - "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==" - }, - "node_modules/@types/q": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", - "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==" - }, - "node_modules/@types/react": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.0.tgz", - "integrity": "sha512-aj/L7RIMsRlWML3YB6KZiXB3fV2t41+5RBGYF8z+tAKU43Px8C3cYUZsDvf1/+Bm4FK21QWBrDutu8ZJ/70qOw==", - "dependencies": { - "@types/prop-types": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-toggle": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/react-toggle/-/react-toggle-4.0.2.tgz", - "integrity": "sha512-sHqfoKFnL0YU2+OC4meNEC8Ptx9FE8/+nFeFvNcdBa6ANA8KpAzj3R9JN8GtrvlLgjKDoYgI7iILgXYcTPo2IA==", - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/source-list-map": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", - "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==" - }, - "node_modules/@types/tapable": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.6.tgz", - "integrity": "sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA==" - }, - "node_modules/@types/uglify-js": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.11.1.tgz", - "integrity": "sha512-7npvPKV+jINLu1SpSYVWG8KvyJBhBa8tmzMMdDoVc2pWUYHN8KIXlPJhjJ4LT97c4dXJA2SHL/q6ADbDriZN+Q==", - "dependencies": { - "source-map": "^0.6.1" - } - }, - "node_modules/@types/uglify-js/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@types/unist": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz", - "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==" + "@types/q": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", + "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" }, - "node_modules/@types/webpack": { - "version": "4.41.25", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.25.tgz", - "integrity": "sha512-cr6kZ+4m9lp86ytQc1jPOJXgINQyz3kLLunZ57jznW+WIAL0JqZbGubQk4GlD42MuQL5JGOABrxdpqqWeovlVQ==", - "dependencies": { - "@types/anymatch": "*", - "@types/node": "*", - "@types/tapable": "*", - "@types/uglify-js": "*", - "@types/webpack-sources": "*", - "source-map": "^0.6.0" + "@types/sax": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.3.tgz", + "integrity": "sha512-+QSw6Tqvs/KQpZX8DvIl3hZSjNFLW/OqE5nlyHXtTwODaJvioN2rOWpBNEWZp2HZUFhOh+VohmJku/WxEXU2XA==", + "requires": { + "@types/node": "*" } }, - "node_modules/@types/webpack-sources": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-2.1.0.tgz", - "integrity": "sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg==", - "dependencies": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.7.3" - } + "@types/unist": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", + "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==" }, - "node_modules/@types/webpack-sources/node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "engines": { - "node": ">= 8" + "@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "requires": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" } }, - "node_modules/@types/webpack/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==" }, - "node_modules/@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==" - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==" - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==" - }, - "node_modules/@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", - "dependencies": { - "@webassemblyjs/wast-printer": "1.9.0" - } + "@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==" }, - "node_modules/@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==" + "@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==" }, - "node_modules/@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", - "dependencies": { - "@webassemblyjs/ast": "1.9.0" + "@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" } }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==" + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==" }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" } }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", - "dependencies": { + "@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "requires": { "@xtuc/ieee754": "^1.2.0" } }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", - "dependencies": { + "@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "requires": { "@xtuc/long": "4.2.2" } }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==" + "@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==" }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" + "@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" } }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" + "@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" } }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "node_modules/@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" + "@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" } }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", + "@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "requires": { + "@webassemblyjs/ast": "1.11.1", "@xtuc/long": "4.2.2" } }, - "node_modules/@xtuc/ieee754": { + "@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" }, - "node_modules/@xtuc/long": { + "@xtuc/long": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" }, - "node_modules/accepts": { + "accepts": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "dependencies": { + "requires": { "mime-types": "~2.1.24", "negotiator": "0.6.2" - }, - "engines": { - "node": ">= 0.6" } }, - "node_modules/acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } + "acorn": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz", + "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==" }, - "node_modules/acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "engines": { - "node": ">=0.4.0" - } + "acorn-walk": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.1.1.tgz", + "integrity": "sha512-FbJdceMlPHEAWJOILDk1fXD8lnTlEIWFkqtfk+MvmL5q/qlHfN7GEHcsFZWt/Tea9jRNPWUZG4G976nqAAmU9w==" }, - "node_modules/address": { + "address": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", - "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==", - "engines": { - "node": ">= 0.12.0" - } + "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==" }, - "node_modules/aggregate-error": { + "aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dependencies": { + "requires": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" } }, - "node_modules/ajv": { + "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dependencies": { + "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, - "node_modules/ajv-errors": { + "ajv-errors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==" }, - "node_modules/ajv-keywords": { + "ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" }, - "node_modules/algoliasearch": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.8.3.tgz", - "integrity": "sha512-pljX9jEE2TQ3i1JayhG8afNdE8UuJg3O9c7unW6QO67yRWCKr6b0t5aKC3hSVtjt7pA2TQXLKoAISb4SHx9ozQ==", - "dependencies": { - "@algolia/cache-browser-local-storage": "4.8.3", - "@algolia/cache-common": "4.8.3", - "@algolia/cache-in-memory": "4.8.3", - "@algolia/client-account": "4.8.3", - "@algolia/client-analytics": "4.8.3", - "@algolia/client-common": "4.8.3", - "@algolia/client-recommendation": "4.8.3", - "@algolia/client-search": "4.8.3", - "@algolia/logger-common": "4.8.3", - "@algolia/logger-console": "4.8.3", - "@algolia/requester-browser-xhr": "4.8.3", - "@algolia/requester-common": "4.8.3", - "@algolia/requester-node-http": "4.8.3", - "@algolia/transporter": "4.8.3" - } - }, - "node_modules/algoliasearch-helper": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.3.4.tgz", - "integrity": "sha512-1Ts2XcgGdjGlDrp3v6zbY8VW+X9+jJ5rBmtPBmXOQLd4b5t/LpJlaBdxoAnlMfVFjywP7KSAdmyFUNNYVHDyRQ==", - "dependencies": { - "events": "^1.1.1" + "algoliasearch": { + "version": "4.10.3", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.10.3.tgz", + "integrity": "sha512-OLY0AWlPKGLbSaw14ivMB7BT5fPdp8VdzY4L8FtzZnqmLKsyes24cltGlf7/X96ACkYEcT390SReCDt/9SUIRg==", + "requires": { + "@algolia/cache-browser-local-storage": "4.10.3", + "@algolia/cache-common": "4.10.3", + "@algolia/cache-in-memory": "4.10.3", + "@algolia/client-account": "4.10.3", + "@algolia/client-analytics": "4.10.3", + "@algolia/client-common": "4.10.3", + "@algolia/client-personalization": "4.10.3", + "@algolia/client-search": "4.10.3", + "@algolia/logger-common": "4.10.3", + "@algolia/logger-console": "4.10.3", + "@algolia/requester-browser-xhr": "4.10.3", + "@algolia/requester-common": "4.10.3", + "@algolia/requester-node-http": "4.10.3", + "@algolia/transporter": "4.10.3" } }, - "node_modules/algoliasearch-helper/node_modules/events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", - "engines": { - "node": ">=0.4.x" + "algoliasearch-helper": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.5.4.tgz", + "integrity": "sha512-t+FLhXYnPZiwjYe5ExyN962HQY8mi3KwRju3Lyf6OBgtRdx30d6mqvtClXf5NeBihH45Xzj6t4Y5YyvAI432XA==", + "requires": { + "events": "^1.1.1" + }, + "dependencies": { + "events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + } } }, - "node_modules/alphanum-sort": { + "alphanum-sort": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" }, - "node_modules/ansi-align": { + "ansi-align": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", - "dependencies": { + "requires": { "string-width": "^3.0.0" - } - }, - "node_modules/ansi-align/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" }, - "engines": { - "node": ">=6" + "dependencies": { + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } } }, - "node_modules/ansi-colors": { + "ansi-colors": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", - "engines": { - "node": ">=6" - } + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==" }, - "node_modules/ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "dependencies": { - "type-fest": "^0.11.0" + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "requires": { + "type-fest": "^0.21.3" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "engines": { - "node": ">=8" + "dependencies": { + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" + } } }, - "node_modules/ansi-html": { + "ansi-html": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", - "engines": [ - "node >= 0.8.0" - ], - "bin": { - "ansi-html": "bin/ansi-html" - } + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=" }, - "node_modules/ansi-regex": { + "ansi-regex": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "engines": { - "node": ">=6" - } + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" }, - "node_modules/ansi-styles": { + "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { + "requires": { "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" } }, - "node_modules/anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dependencies": { + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" } }, - "node_modules/aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + "arg": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.0.tgz", + "integrity": "sha512-4P8Zm2H+BRS+c/xX1LrHw0qKpEhdlZjLCgWy+d78T9vqa2Z2SiD2wMrYuWIAFy5IZUD7nnNXroRttz+0RzlrzQ==" }, - "node_modules/argparse": { + "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { + "requires": { "sprintf-js": "~1.0.2" } }, - "node_modules/arr-diff": { + "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" }, - "node_modules/arr-flatten": { + "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" }, - "node_modules/arr-union": { + "arr-union": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" }, - "node_modules/array-flatten": { + "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" }, - "node_modules/array-union": { + "array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "engines": { - "node": ">=8" - } + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" }, - "node_modules/array-uniq": { + "array-uniq": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" }, - "node_modules/array-unique": { + "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" }, - "node_modules/asap": { + "asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" }, - "node_modules/asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/asn1.js/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - }, - "node_modules/assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "dependencies": { - "object-assign": "^4.1.1", - "util": "0.10.3" - } - }, - "node_modules/assert/node_modules/inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" - }, - "node_modules/assert/node_modules/util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dependencies": { - "inherits": "2.0.1" - } - }, - "node_modules/assign-symbols": { + "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" }, - "node_modules/async": { + "async": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "dependencies": { + "requires": { "lodash": "^4.17.14" } }, - "node_modules/async-each": { + "async-each": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" }, - "node_modules/async-limiter": { + "async-limiter": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/atob": { + "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" }, - "node_modules/autoprefixer": { - "version": "9.8.6", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", - "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==", - "dependencies": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001109", - "colorette": "^1.2.1", + "autoprefixer": { + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.3.1.tgz", + "integrity": "sha512-L8AmtKzdiRyYg7BUXJTzigmhbQRCXFKz6SA1Lqo0+AR2FBbQ4aTAPFSDlOutnFkjhiz8my4agGXog1xlMjPJ6A==", + "requires": { + "browserslist": "^4.16.6", + "caniuse-lite": "^1.0.30001243", + "colorette": "^1.2.2", + "fraction.js": "^4.1.1", "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^7.0.32", "postcss-value-parser": "^4.1.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" } }, - "node_modules/axios": { + "axios": { "version": "0.21.1", "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", - "dependencies": { + "requires": { "follow-redirects": "^1.10.0" } }, - "node_modules/babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "dependencies": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - } - }, - "node_modules/babel-code-frame/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/babel-code-frame/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/babel-code-frame/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/babel-code-frame/node_modules/js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" - }, - "node_modules/babel-code-frame/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/babel-code-frame/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/babel-loader": { + "babel-loader": { "version": "8.2.2", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==", - "dependencies": { + "requires": { "find-cache-dir": "^3.3.1", "loader-utils": "^1.4.0", "make-dir": "^3.1.0", "schema-utils": "^2.6.5" }, - "engines": { - "node": ">= 8.9" - } - }, - "node_modules/babel-loader/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/babel-loader/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + } } }, - "node_modules/babel-plugin-apply-mdx-type-prop": { + "babel-plugin-apply-mdx-type-prop": { "version": "1.6.22", "resolved": "https://registry.npmjs.org/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.22.tgz", "integrity": "sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ==", - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "7.10.4", "@mdx-js/util": "1.6.22" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + } } }, - "node_modules/babel-plugin-dynamic-import-node": { + "babel-plugin-dynamic-import-node": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", - "dependencies": { + "requires": { "object.assign": "^4.1.0" } }, - "node_modules/babel-plugin-extract-import-names": { + "babel-plugin-extract-import-names": { "version": "1.6.22", "resolved": "https://registry.npmjs.org/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz", "integrity": "sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ==", - "dependencies": { + "requires": { "@babel/helper-plugin-utils": "7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + } + } + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz", + "integrity": "sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==", + "requires": { + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.2.2", + "semver": "^6.1.1" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.3.tgz", + "integrity": "sha512-rCOFzEIJpJEAU14XCcV/erIf/wZQMmMT5l5vXOpL5uoznyOGfDIjPj6FVytMvtzaKSTSVKouOCTPJ5OMUZH30g==", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.2.2", + "core-js-compat": "^3.14.0" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz", + "integrity": "sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.2.2" } }, - "node_modules/bail": { + "bail": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==" }, - "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, - "node_modules/base": { + "base": { "version": "0.11.2", "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dependencies": { + "requires": { "cache-base": "^1.0.1", "class-utils": "^0.3.5", "component-emitter": "^1.2.1", @@ -3011,116 +2804,73 @@ "mixin-deep": "^1.2.0", "pascalcase": "^0.1.1" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } } }, - "node_modules/base16": { + "base16": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz", "integrity": "sha1-4pf2DX7BAUp6lxo568ipjAtoHnA=" }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "node_modules/batch": { + "batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=" }, - "node_modules/bfj": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/bfj/-/bfj-6.1.2.tgz", - "integrity": "sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw==", - "dependencies": { - "bluebird": "^3.5.5", - "check-types": "^8.0.3", - "hoopy": "^0.1.4", - "tryer": "^1.0.1" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/big.js": { + "big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "engines": { - "node": "*" - } + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" }, - "node_modules/binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", - "engines": { - "node": ">=8" - } + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" }, - "node_modules/bluebird": { + "bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" }, - "node_modules/bn.js": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", - "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==" - }, - "node_modules/body-parser": { + "body-parser": { "version": "1.19.0", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "dependencies": { + "requires": { "bytes": "3.1.0", "content-type": "~1.0.4", "debug": "2.6.9", @@ -3132,273 +2882,111 @@ "raw-body": "2.4.0", "type-is": "~1.6.17" }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { - "ms": "2.0.0" + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } } }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/bonjour": { + "bonjour": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", - "dependencies": { + "requires": { "array-flatten": "^2.1.0", "deep-equal": "^1.0.1", "dns-equal": "^1.0.0", "dns-txt": "^2.0.2", "multicast-dns": "^6.0.1", "multicast-dns-service-types": "^1.1.0" + }, + "dependencies": { + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + } } }, - "node_modules/bonjour/node_modules/array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" - }, - "node_modules/boolbase": { + "boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" }, - "node_modules/boxen": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz", - "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==", - "dependencies": { + "boxen": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.0.1.tgz", + "integrity": "sha512-49VBlw+PrWEF51aCmy7QIteYPIFZxSpvqBdP/2itCPPlJ49kj9zg/XPRFrdkne2W+CfwXUls8exMvu1RysZpKA==", + "requires": { "ansi-align": "^3.0.0", - "camelcase": "^5.3.1", - "chalk": "^3.0.0", - "cli-boxes": "^2.2.0", - "string-width": "^4.1.0", - "term-size": "^2.1.0", - "type-fest": "^0.8.1", - "widest-line": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/boxen/node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "engines": { - "node": ">=6" + "camelcase": "^6.2.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.1", + "string-width": "^4.2.0", + "type-fest": "^0.20.2", + "widest-line": "^3.1.0", + "wrap-ansi": "^7.0.0" } }, - "node_modules/brace-expansion": { + "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { + "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "node_modules/braces": { + "braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { + "requires": { "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" - }, - "node_modules/browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dependencies": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dependencies": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "node_modules/browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dependencies": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", - "dependencies": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - } - }, - "node_modules/browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", - "dependencies": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - } - }, - "node_modules/browserify-sign/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "node_modules/browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dependencies": { - "pako": "~1.0.5" } }, - "node_modules/browserslist": { - "version": "4.16.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.0.tgz", - "integrity": "sha512-/j6k8R0p3nxOC6kx5JGAxsnhc9ixaWJfYc+TNTzxg6+ARaESAvQGV7h0uNOB4t+pLQJZWzcrMxXOxjgsCj3dqQ==", - "dependencies": { - "caniuse-lite": "^1.0.30001165", - "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.621", + "browserslist": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", + "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", + "requires": { + "caniuse-lite": "^1.0.30001219", + "colorette": "^1.2.2", + "electron-to-chromium": "^1.3.723", "escalade": "^3.1.1", - "node-releases": "^1.1.67" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "node-releases": "^1.1.71" } }, - "node_modules/buffer-from": { + "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" }, - "node_modules/buffer-indexof": { + "buffer-indexof": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==" }, - "node_modules/buffer-json": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/buffer-json/-/buffer-json-2.0.0.tgz", - "integrity": "sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw==" - }, - "node_modules/buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" - }, - "node_modules/builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" - }, - "node_modules/bytes": { + "bytes": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/cacache": { - "version": "15.0.5", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.5.tgz", - "integrity": "sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A==", - "dependencies": { - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.0", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/cacache/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" }, - "node_modules/cache-base": { + "cache-base": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dependencies": { + "requires": { "collection-visit": "^1.0.0", "component-emitter": "^1.2.1", "get-value": "^2.0.6", @@ -3408,56 +2996,13 @@ "to-object-path": "^0.3.0", "union-value": "^1.0.0", "unset-value": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cache-loader": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cache-loader/-/cache-loader-4.1.0.tgz", - "integrity": "sha512-ftOayxve0PwKzBF/GLsZNC9fJBXl8lkZE3TOsjkboHfVHVkL39iUEs1FO07A33mizmci5Dudt38UZrrYXDtbhw==", - "dependencies": { - "buffer-json": "^2.0.0", - "find-cache-dir": "^3.0.0", - "loader-utils": "^1.2.3", - "mkdirp": "^0.5.1", - "neo-async": "^2.6.1", - "schema-utils": "^2.0.0" - }, - "engines": { - "node": ">= 8.9.0" - } - }, - "node_modules/cache-loader/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/cache-loader/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" } }, - "node_modules/cacheable-request": { + "cacheable-request": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", - "dependencies": { + "requires": { "clone-response": "^1.0.2", "get-stream": "^5.1.0", "http-cache-semantics": "^4.0.0", @@ -3466,227 +3011,146 @@ "normalize-url": "^4.1.0", "responselike": "^1.0.2" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cacheable-request/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cacheable-request/node_modules/lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/cacheable-request/node_modules/normalize-url": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", - "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==", - "engines": { - "node": ">=8" + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "requires": { + "pump": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + }, + "normalize-url": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==" + } } }, - "node_modules/call-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", - "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==", - "dependencies": { + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.0" - } - }, - "node_modules/call-me-maybe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", - "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=" - }, - "node_modules/caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", - "dependencies": { - "callsites": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/caller-callsite/node_modules/callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "engines": { - "node": ">=4" - } - }, - "node_modules/caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dependencies": { - "caller-callsite": "^2.0.0" - }, - "engines": { - "node": ">=4" + "get-intrinsic": "^1.0.2" } }, - "node_modules/callsites": { + "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "engines": { - "node": ">=6" - } + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" }, - "node_modules/camel-case": { + "camel-case": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "dependencies": { + "requires": { "pascal-case": "^3.1.2", "tslib": "^2.0.3" } }, - "node_modules/camelcase": { + "camelcase": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", - "engines": { - "node": ">=10" - } + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==" }, - "node_modules/camelcase-css": { + "camelcase-css": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", - "engines": { - "node": ">= 6" - } + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" }, - "node_modules/caniuse-api": { + "caniuse-api": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "dependencies": { + "requires": { "browserslist": "^4.0.0", "caniuse-lite": "^1.0.0", "lodash.memoize": "^4.1.2", "lodash.uniq": "^4.5.0" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001237", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001237.tgz", - "integrity": "sha512-pDHgRndit6p1NR2GhzMbQ6CkRrp4VKuSsqbcLeOQppYPKOYkKT/6ZvZDvKJUqcmtyWIAHuZq3SVS2vc1egCZzw==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } + "caniuse-lite": { + "version": "1.0.30001245", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001245.tgz", + "integrity": "sha512-768fM9j1PKXpOCKws6eTo3RHmvTUsG9UrpT4WoREFeZgJBTi4/X9g565azS/rVUGtqb8nt7FjLeF5u4kukERnA==" }, - "node_modules/ccount": { + "ccount": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==" }, - "node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dependencies": { + "chalk": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/chalk/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/chalk/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/chalk/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/chalk/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/chalk/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "node_modules/character-entities": { + "character-entities": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==" }, - "node_modules/character-entities-legacy": { + "character-entities-legacy": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==" }, - "node_modules/character-reference-invalid": { + "character-reference-invalid": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==" }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" - }, - "node_modules/check-types": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/check-types/-/check-types-8.0.3.tgz", - "integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==" - }, - "node_modules/cheerio": { + "cheerio": { "version": "0.22.0", "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz", "integrity": "sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=", - "dependencies": { + "requires": { "css-select": "~1.2.0", "dom-serializer": "~0.1.0", "entities": "~1.1.1", @@ -3704,362 +3168,292 @@ "lodash.reject": "^4.4.0", "lodash.some": "^4.4.0" }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cheerio/node_modules/css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", - "dependencies": { - "boolbase": "~1.0.0", - "css-what": "2.1", - "domutils": "1.5.1", - "nth-check": "~1.0.1" - } - }, - "node_modules/cheerio/node_modules/css-what": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", - "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", - "engines": { - "node": "*" - } - }, - "node_modules/cheerio/node_modules/dom-serializer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", - "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", - "dependencies": { - "domelementtype": "^1.3.0", - "entities": "^1.1.1" - } - }, - "node_modules/cheerio/node_modules/domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" + "css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "requires": { + "boolbase": "~1.0.0", + "css-what": "2.1", + "domutils": "1.5.1", + "nth-check": "~1.0.1" + } + }, + "css-what": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", + "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==" + }, + "dom-serializer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", + "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", + "requires": { + "domelementtype": "^1.3.0", + "entities": "^1.1.1" + } + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "requires": { + "boolbase": "~1.0.0" + } + } } }, - "node_modules/cheerio/node_modules/entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" - }, - "node_modules/chokidar": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", - "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", - "dependencies": { - "anymatch": "~3.1.1", + "chokidar": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "requires": { + "anymatch": "~3.1.2", "braces": "~3.0.2", - "glob-parent": "~5.1.0", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.1.2" - } - }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "engines": { - "node": ">=10" + "readdirp": "~3.6.0" } }, - "node_modules/chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/chrome-trace-event/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/ci-info": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", - "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==" + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" }, - "node_modules/cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } + "ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==" }, - "node_modules/class-utils": { + "class-utils": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dependencies": { + "requires": { "arr-union": "^3.1.0", "define-property": "^0.2.5", "isobject": "^3.0.0", "static-extend": "^0.1.1" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } } }, - "node_modules/classnames": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", - "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" - }, - "node_modules/clean-css": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", - "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", - "dependencies": { + "clean-css": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.1.3.tgz", + "integrity": "sha512-qGXzUCDpLwAlPx0kYeU4QXjzQIcIYZbJjD4FNm7NnSjoP0hYMVZhHOpUYJ6AwfkMX2cceLRq54MeCgHy/va1cA==", + "requires": { "source-map": "~0.6.0" }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/clean-css/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } } }, - "node_modules/clean-stack": { + "clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "engines": { - "node": ">=6" - } + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" }, - "node_modules/cli-boxes": { + "cli-boxes": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", - "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/clipboard": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.6.tgz", - "integrity": "sha512-g5zbiixBRk/wyKakSwCKd7vQXDjFnAMGHoEyBogG/bw9kTD9GvdAvaoRR1ALcEzt3pVKxZR0pViekPMIS0QyGg==", - "optional": true, - "dependencies": { - "good-listener": "^1.2.2", - "select": "^1.1.2", - "tiny-emitter": "^2.0.0" - } + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==" }, - "node_modules/cliui": { + "cliui": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dependencies": { + "requires": { "string-width": "^3.1.0", "strip-ansi": "^5.2.0", "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + } } }, - "node_modules/cliui/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" } }, - "node_modules/clone-response": { + "clone-response": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", - "dependencies": { + "requires": { "mimic-response": "^1.0.0" } }, - "node_modules/clsx": { + "clsx": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.1.1.tgz", - "integrity": "sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==", - "engines": { - "node": ">=6" - } + "integrity": "sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==" }, - "node_modules/coa": { + "coa": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "dependencies": { + "requires": { "@types/q": "^1.5.1", "chalk": "^2.4.1", "q": "^1.1.2" }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/coa/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/collapse-white-space": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", - "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==" + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + } + } + }, + "collapse-white-space": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", + "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==" }, - "node_modules/collection-visit": { + "collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dependencies": { + "requires": { "map-visit": "^1.0.0", "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/color": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz", - "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==", - "dependencies": { - "color-convert": "^1.9.1", - "color-string": "^1.5.4" } }, - "node_modules/color-convert": { + "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { + "requires": { "color-name": "1.1.3" } }, - "node_modules/color-name": { + "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, - "node_modules/color-string": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz", - "integrity": "sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==", - "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } + "colord": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.1.0.tgz", + "integrity": "sha512-H5sDP9XDk2uP+x/xSGkgB9SEFc1bojdI5DMKU0jmSXQtml2GIe48dj1DcSS0e53QQAHn+JKqUXbGeGX24xWD7w==" }, - "node_modules/colorette": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", - "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==" + "colorette": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", + "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==" + }, + "combine-promises": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/combine-promises/-/combine-promises-1.1.0.tgz", + "integrity": "sha512-ZI9jvcLDxqwaXEixOhArm3r7ReIivsXkpbyEWyeOhzz1QS0iSgBPnWvEqvIQtYyamGCYA88gFhmUrs9hrrQ0pg==" }, - "node_modules/comma-separated-tokens": { + "comma-separated-tokens": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==" }, - "node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "engines": { - "node": ">= 6" - } + "commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==" }, - "node_modules/commondir": { + "commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" }, - "node_modules/component-emitter": { + "component-emitter": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" }, - "node_modules/compressible": { + "compressible": { "version": "2.0.18", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dependencies": { + "requires": { "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" } }, - "node_modules/compression": { + "compression": { "version": "1.7.4", "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dependencies": { + "requires": { "accepts": "~1.3.5", "bytes": "3.0.0", "compressible": "~2.0.16", @@ -4068,824 +3462,383 @@ "safe-buffer": "5.1.2", "vary": "~1.1.2" }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/compression/node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { - "ms": "2.0.0" + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } } }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/concat-map": { + "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/concat-stream/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/concat-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/configstore": { + "configstore": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", - "dependencies": { + "requires": { "dot-prop": "^5.2.0", "graceful-fs": "^4.1.2", "make-dir": "^3.0.0", "unique-string": "^2.0.0", "write-file-atomic": "^3.0.0", "xdg-basedir": "^4.0.0" - }, - "engines": { - "node": ">=8" } }, - "node_modules/connect-history-api-fallback": { + "connect-history-api-fallback": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/consola": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.0.tgz", - "integrity": "sha512-vlcSGgdYS26mPf7qNi+dCisbhiyDnrN1zaRbw3CSuc2wGOMEGGPsp46PdRG5gqXwgtJfjxDkxRNAgRPr1B77vQ==" - }, - "node_modules/console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==" }, - "node_modules/constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + "consola": { + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" }, - "node_modules/content-disposition": { + "content-disposition": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "dependencies": { + "requires": { "safe-buffer": "5.1.2" - }, - "engines": { - "node": ">= 0.6" } }, - "node_modules/content-type": { + "content-type": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "engines": { - "node": ">= 0.6" - } + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" }, - "node_modules/convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "dependencies": { + "convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "requires": { "safe-buffer": "~5.1.1" } }, - "node_modules/cookie": { + "cookie": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", - "engines": { - "node": ">= 0.6" - } + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" }, - "node_modules/cookie-signature": { + "cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" }, - "node_modules/copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dependencies": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - } - }, - "node_modules/copy-concurrently/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/copy-descriptor": { + "copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" }, - "node_modules/copy-text-to-clipboard": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-2.2.0.tgz", - "integrity": "sha512-WRvoIdnTs1rgPMkgA2pUOa/M4Enh2uzCwdKsOMYNAJiz/4ZvEJgmbF4OmninPmlFdAWisfeh0tH+Cpf7ni3RqQ==", - "engines": { - "node": ">=6" - } + "copy-text-to-clipboard": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.0.1.tgz", + "integrity": "sha512-rvVsHrpFcL4F2P8ihsoLdFHmd404+CMg71S756oRSeQgqk51U3kicGdnvfkrxva0xXH92SjGS62B0XIJsbh+9Q==" }, - "node_modules/copy-webpack-plugin": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-6.4.1.tgz", - "integrity": "sha512-MXyPCjdPVx5iiWyl40Va3JGh27bKzOTNY3NjUTrosD2q7dR/cLD0013uqJ3BpFbUjyONINjb6qI7nDIJujrMbA==", - "dependencies": { - "cacache": "^15.0.5", - "fast-glob": "^3.2.4", - "find-cache-dir": "^3.3.1", - "glob-parent": "^5.1.1", - "globby": "^11.0.1", - "loader-utils": "^2.0.0", + "copy-webpack-plugin": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-9.0.1.tgz", + "integrity": "sha512-14gHKKdYIxF84jCEgPgYXCPpldbwpxxLbCmA7LReY7gvbaT555DgeBWBgBZM116tv/fO6RRJrsivBqRyRlukhw==", + "requires": { + "fast-glob": "^3.2.5", + "glob-parent": "^6.0.0", + "globby": "^11.0.3", "normalize-path": "^3.0.0", - "p-limit": "^3.0.2", + "p-limit": "^3.1.0", "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", - "webpack-sources": "^1.4.3" + "serialize-javascript": "^6.0.0" }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/copy-webpack-plugin/node_modules/globby": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", - "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" + "glob-parent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.0.tgz", + "integrity": "sha512-Hdd4287VEJcZXUwv1l8a+vXC1GjOQqXe+VS30w/ypihpcnu9M1n3xeYeJu5CBpeEQj2nAab2xxz28GuA3vp4Ww==", + "requires": { + "is-glob": "^4.0.1" + } + } } }, - "node_modules/copy-webpack-plugin/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - } + "core-js": { + "version": "3.15.2", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.15.2.tgz", + "integrity": "sha512-tKs41J7NJVuaya8DxIOCnl8QuPHx5/ZVbFo1oKgVl1qHFBBrDctzQGtuLjPpRdNTWmKPH6oEvgN/MUID+l485Q==" }, - "node_modules/copy-webpack-plugin/node_modules/schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dependencies": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "core-js-compat": { + "version": "3.15.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.15.2.tgz", + "integrity": "sha512-Wp+BJVvwopjI+A1EFqm2dwUmWYXrvucmtIB2LgXn/Rb+gWPKYxtmb4GKHGKG/KGF1eK9jfjzT38DITbTOCX/SQ==", + "requires": { + "browserslist": "^4.16.6", + "semver": "7.0.0" }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "hasInstallScript": true - }, - "node_modules/core-js-compat": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.1.tgz", - "integrity": "sha512-a16TLmy9NVD1rkjUGbwuyWkiDoN0FDpAwrfLONvHFQx0D9k7J9y0srwMT8QP/Z6HE3MIFaVynEeYwZwPX1o5RQ==", "dependencies": { - "browserslist": "^4.15.0", - "semver": "7.0.0" - } - }, - "node_modules/core-js-compat/node_modules/semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "bin": { - "semver": "bin/semver.js" + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==" + } } }, - "node_modules/core-js-pure": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.8.1.tgz", - "integrity": "sha512-Se+LaxqXlVXGvmexKGPvnUIYC1jwXu1H6Pkyb3uBM5d8/NELMYCHs/4/roD7721NxrTLyv7e5nXd5/QLBO+10g==", - "hasInstallScript": true + "core-js-pure": { + "version": "3.15.2", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.15.2.tgz", + "integrity": "sha512-D42L7RYh1J2grW8ttxoY1+17Y4wXZeKe7uyplAI3FkNQyI5OgBIAjUfFiTPfL1rs0qLpxaabITNbjKl1Sp82tA==" }, - "node_modules/core-util-is": { + "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, - "node_modules/cosmiconfig": { + "cosmiconfig": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", - "dependencies": { + "requires": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.2.1", "parse-json": "^5.0.0", "path-type": "^4.0.0", "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", - "dependencies": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - } - }, - "node_modules/create-ecdh/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - }, - "node_modules/create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" } }, - "node_modules/create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dependencies": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "cross-fetch": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.4.tgz", + "integrity": "sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==", + "requires": { + "node-fetch": "2.6.1" } }, - "node_modules/cross-spawn": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", - "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", - "dependencies": { + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dependencies": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - }, - "engines": { - "node": "*" } }, - "node_modules/crypto-random-string": { + "crypto-random-string": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/css-blank-pseudo": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz", - "integrity": "sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w==", - "dependencies": { - "postcss": "^7.0.5" - }, - "bin": { - "css-blank-pseudo": "cli.js" - }, - "engines": { - "node": ">=6.0.0" - } + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" }, - "node_modules/css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", - "engines": { - "node": "*" - } + "css-color-names": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-1.0.1.tgz", + "integrity": "sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA==" }, - "node_modules/css-declaration-sorter": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", - "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", - "dependencies": { - "postcss": "^7.0.1", + "css-declaration-sorter": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.0.3.tgz", + "integrity": "sha512-52P95mvW1SMzuRZegvpluT6yEv0FqQusydKQPZsNN5Q7hh8EwQvN8E2nwuJ16BBvNN6LcoIZXu/Bk58DAhrrxw==", + "requires": { "timsort": "^0.3.0" - }, - "engines": { - "node": ">4" } }, - "node_modules/css-has-pseudo": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz", - "integrity": "sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ==", - "dependencies": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^5.0.0-rc.4" - }, - "bin": { - "css-has-pseudo": "cli.js" - }, - "engines": { - "node": ">=6.0.0" + "css-loader": { + "version": "5.2.7", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", + "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==", + "requires": { + "icss-utils": "^5.1.0", + "loader-utils": "^2.0.0", + "postcss": "^8.2.15", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^3.0.0", + "semver": "^7.3.5" } }, - "node_modules/css-has-pseudo/node_modules/cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "bin": { - "cssesc": "bin/cssesc" + "css-minimizer-webpack-plugin": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.0.2.tgz", + "integrity": "sha512-B3I5e17RwvKPJwsxjjWcdgpU/zqylzK1bPVghcmpFHRL48DXiBgrtqz1BJsn68+t/zzaLp9kYAaEDvQ7GyanFQ==", + "requires": { + "cssnano": "^5.0.6", + "jest-worker": "^27.0.2", + "p-limit": "^3.0.2", + "postcss": "^8.3.5", + "schema-utils": "^3.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" }, - "engines": { - "node": ">=4" - } - }, - "node_modules/css-has-pseudo/node_modules/postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", "dependencies": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=4" + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } } }, - "node_modules/css-loader": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz", - "integrity": "sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==", - "dependencies": { - "camelcase": "^5.3.1", - "cssesc": "^3.0.0", - "icss-utils": "^4.1.1", - "loader-utils": "^1.2.3", - "normalize-path": "^3.0.0", - "postcss": "^7.0.32", - "postcss-modules-extract-imports": "^2.0.0", - "postcss-modules-local-by-default": "^3.0.2", - "postcss-modules-scope": "^2.2.0", - "postcss-modules-values": "^3.0.0", - "postcss-value-parser": "^4.1.0", - "schema-utils": "^2.7.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">= 8.9.0" - } - }, - "node_modules/css-loader/node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/css-loader/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/css-loader/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/css-prefers-color-scheme": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz", - "integrity": "sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg==", - "dependencies": { - "postcss": "^7.0.5" - }, - "bin": { - "css-prefers-color-scheme": "cli.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "dependencies": { + "css-select": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", + "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", + "requires": { "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" + "css-what": "^5.0.0", + "domhandler": "^4.2.0", + "domutils": "^2.6.0", + "nth-check": "^2.0.0" } }, - "node_modules/css-select-base-adapter": { + "css-select-base-adapter": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" }, - "node_modules/css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", - "dependencies": { - "mdn-data": "2.0.4", + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "requires": { + "mdn-data": "2.0.14", "source-map": "^0.6.1" }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/css-tree/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", - "engines": { - "node": ">= 6" + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } } }, - "node_modules/cssdb": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz", - "integrity": "sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ==" + "css-what": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz", + "integrity": "sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==" }, - "node_modules/cssesc": { + "cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssnano": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", - "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", - "dependencies": { - "cosmiconfig": "^5.0.0", - "cssnano-preset-default": "^4.0.7", - "is-resolvable": "^1.0.0", - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-preset-advanced": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-4.0.7.tgz", - "integrity": "sha512-j1O5/DQnaAqEyFFQfC+Z/vRlLXL3LxJHN+lvsfYqr7KgPH74t69+Rsy2yXkovWNaJjZYBpdz2Fj8ab2nH7pZXw==", - "dependencies": { - "autoprefixer": "^9.4.7", - "cssnano-preset-default": "^4.0.7", - "postcss-discard-unused": "^4.0.1", - "postcss-merge-idents": "^4.0.1", - "postcss-reduce-idents": "^4.0.2", - "postcss-zindex": "^4.0.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-preset-default": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", - "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", - "dependencies": { - "css-declaration-sorter": "^4.0.1", - "cssnano-util-raw-cache": "^4.0.1", - "postcss": "^7.0.0", - "postcss-calc": "^7.0.1", - "postcss-colormin": "^4.0.3", - "postcss-convert-values": "^4.0.1", - "postcss-discard-comments": "^4.0.2", - "postcss-discard-duplicates": "^4.0.2", - "postcss-discard-empty": "^4.0.1", - "postcss-discard-overridden": "^4.0.1", - "postcss-merge-longhand": "^4.0.11", - "postcss-merge-rules": "^4.0.3", - "postcss-minify-font-values": "^4.0.2", - "postcss-minify-gradients": "^4.0.2", - "postcss-minify-params": "^4.0.2", - "postcss-minify-selectors": "^4.0.2", - "postcss-normalize-charset": "^4.0.1", - "postcss-normalize-display-values": "^4.0.2", - "postcss-normalize-positions": "^4.0.2", - "postcss-normalize-repeat-style": "^4.0.2", - "postcss-normalize-string": "^4.0.2", - "postcss-normalize-timing-functions": "^4.0.2", - "postcss-normalize-unicode": "^4.0.1", - "postcss-normalize-url": "^4.0.1", - "postcss-normalize-whitespace": "^4.0.2", - "postcss-ordered-values": "^4.1.2", - "postcss-reduce-initial": "^4.0.3", - "postcss-reduce-transforms": "^4.0.2", - "postcss-svgo": "^4.0.2", - "postcss-unique-selectors": "^4.0.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-util-get-arguments": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", - "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-util-get-match": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", - "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-util-raw-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", - "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-util-same-parent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", - "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano/node_modules/cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "dependencies": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, - "engines": { - "node": ">=4" - } + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" }, - "node_modules/cssnano/node_modules/import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", - "dependencies": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" + "cssnano": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.6.tgz", + "integrity": "sha512-NiaLH/7yqGksFGsFNvSRe2IV/qmEBAeDE64dYeD8OBrgp6lE8YoMeQJMtsv5ijo6MPyhuoOvFhI94reahBRDkw==", + "requires": { + "cosmiconfig": "^7.0.0", + "cssnano-preset-default": "^5.1.3", + "is-resolvable": "^1.1.0" } }, - "node_modules/cssnano/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" + "cssnano-preset-advanced": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-5.1.3.tgz", + "integrity": "sha512-pS4+Q2Hoo/FevZs2JqA2BG8Vn5o5VeXgj+z6kGndKTq3RFYvlKeJ1ZPnLXo9zyYKwmSqWW0rWqtGxxmigIte0Q==", + "requires": { + "autoprefixer": "^10.2.0", + "cssnano-preset-default": "^5.1.3", + "postcss-discard-unused": "^5.0.1", + "postcss-merge-idents": "^5.0.1", + "postcss-reduce-idents": "^5.0.1", + "postcss-zindex": "^5.0.1" } }, - "node_modules/cssnano/node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "engines": { - "node": ">=4" - } + "cssnano-preset-default": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.3.tgz", + "integrity": "sha512-qo9tX+t4yAAZ/yagVV3b+QBKeLklQbmgR3wI7mccrDcR+bEk9iHgZN1E7doX68y9ThznLya3RDmR+nc7l6/2WQ==", + "requires": { + "css-declaration-sorter": "^6.0.3", + "cssnano-utils": "^2.0.1", + "postcss-calc": "^8.0.0", + "postcss-colormin": "^5.2.0", + "postcss-convert-values": "^5.0.1", + "postcss-discard-comments": "^5.0.1", + "postcss-discard-duplicates": "^5.0.1", + "postcss-discard-empty": "^5.0.1", + "postcss-discard-overridden": "^5.0.1", + "postcss-merge-longhand": "^5.0.2", + "postcss-merge-rules": "^5.0.2", + "postcss-minify-font-values": "^5.0.1", + "postcss-minify-gradients": "^5.0.1", + "postcss-minify-params": "^5.0.1", + "postcss-minify-selectors": "^5.1.0", + "postcss-normalize-charset": "^5.0.1", + "postcss-normalize-display-values": "^5.0.1", + "postcss-normalize-positions": "^5.0.1", + "postcss-normalize-repeat-style": "^5.0.1", + "postcss-normalize-string": "^5.0.1", + "postcss-normalize-timing-functions": "^5.0.1", + "postcss-normalize-unicode": "^5.0.1", + "postcss-normalize-url": "^5.0.2", + "postcss-normalize-whitespace": "^5.0.1", + "postcss-ordered-values": "^5.0.2", + "postcss-reduce-initial": "^5.0.1", + "postcss-reduce-transforms": "^5.0.1", + "postcss-svgo": "^5.0.2", + "postcss-unique-selectors": "^5.0.1" + } + }, + "cssnano-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-2.0.1.tgz", + "integrity": "sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ==" }, - "node_modules/csso": { + "csso": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "dependencies": { + "requires": { "css-tree": "^1.1.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/csso/node_modules/css-tree": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.2.tgz", - "integrity": "sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==", - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "node_modules/csso/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" } }, - "node_modules/csstype": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.5.tgz", - "integrity": "sha512-uVDi8LpBUKQj6sdxNaTetL6FpeCqTjOvAQuQUa/qAqq8oOd4ivkbhgnqayl0dnPal8Tb/yB1tF+gOvCBiicaiQ==" - }, - "node_modules/cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" - }, - "node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { + "debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "requires": { "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" } }, - "node_modules/decamelize": { + "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" }, - "node_modules/decode-uri-component": { + "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "engines": { - "node": ">=0.10" - } + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" }, - "node_modules/decompress-response": { + "decompress-response": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "dependencies": { + "requires": { "mimic-response": "^1.0.0" - }, - "engines": { - "node": ">=4" } }, - "node_modules/deep-equal": { + "deep-equal": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", - "dependencies": { + "requires": { "is-arguments": "^1.0.4", "is-date-object": "^1.0.1", "is-regex": "^1.0.4", @@ -4894,715 +3847,441 @@ "regexp.prototype.flags": "^1.2.0" } }, - "node_modules/deep-extend": { + "deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "engines": { - "node": ">=4.0.0" - } + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" }, - "node_modules/deepmerge": { + "deepmerge": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" }, - "node_modules/default-gateway": { + "default-gateway": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", - "dependencies": { + "requires": { "execa": "^1.0.0", "ip-regex": "^2.1.0" - }, - "engines": { - "node": ">=6" } }, - "node_modules/defer-to-connect": { + "defer-to-connect": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" }, - "node_modules/define-properties": { + "define-properties": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dependencies": { + "requires": { "object-keys": "^1.0.12" - }, - "engines": { - "node": ">= 0.4" } }, - "node_modules/define-property": { + "define-property": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dependencies": { + "requires": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } } }, - "node_modules/del": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/del/-/del-5.1.0.tgz", - "integrity": "sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==", - "dependencies": { - "globby": "^10.0.1", - "graceful-fs": "^4.2.2", + "del": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", + "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", + "requires": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", "is-glob": "^4.0.1", "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.1", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", "slash": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/del/node_modules/p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=8" } }, - "node_modules/delegate": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", - "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==", - "optional": true - }, - "node_modules/depd": { + "depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "dependencies": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" }, - "node_modules/destroy": { + "destroy": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" }, - "node_modules/detab": { + "detab": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/detab/-/detab-2.0.4.tgz", "integrity": "sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g==", - "dependencies": { + "requires": { "repeat-string": "^1.5.4" } }, - "node_modules/detect-node": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", - "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==" + "detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" }, - "node_modules/detect-port": { + "detect-port": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.3.0.tgz", "integrity": "sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==", - "dependencies": { + "requires": { "address": "^1.0.1", "debug": "^2.6.0" }, - "bin": { - "detect": "bin/detect-port", - "detect-port": "bin/detect-port" - }, - "engines": { - "node": ">= 4.2.1" - } - }, - "node_modules/detect-port/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/detect-port/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dependencies": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } } }, - "node_modules/diffie-hellman/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - }, - "node_modules/dir-glob": { + "dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dependencies": { + "requires": { "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" } }, - "node_modules/dns-equal": { + "dns-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=" }, - "node_modules/dns-packet": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", - "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", - "dependencies": { + "dns-packet": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", + "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", + "requires": { "ip": "^1.1.0", "safe-buffer": "^5.0.1" } }, - "node_modules/dns-txt": { + "dns-txt": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "dependencies": { + "requires": { "buffer-indexof": "^1.0.0" } }, - "node_modules/dom-converter": { + "dom-converter": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "dependencies": { + "requires": { "utila": "~0.4" } }, - "node_modules/dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "dependencies": { + "dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", + "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "requires": { "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", "entities": "^2.0.0" } }, - "node_modules/dom-serializer/node_modules/domelementtype": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", - "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==" - }, - "node_modules/domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "engines": { - "node": ">=0.4", - "npm": ">=1.2" - } - }, - "node_modules/domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==" }, - "node_modules/domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", - "dependencies": { - "domelementtype": "1" + "domhandler": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz", + "integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==", + "requires": { + "domelementtype": "^2.2.0" } }, - "node_modules/domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" + "domutils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.7.0.tgz", + "integrity": "sha512-8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg==", + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" } }, - "node_modules/dot-case": { + "dot-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "dependencies": { + "requires": { "no-case": "^3.0.4", "tslib": "^2.0.3" } }, - "node_modules/dot-prop": { + "dot-prop": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "dependencies": { + "requires": { "is-obj": "^2.0.0" - }, - "engines": { - "node": ">=8" } }, - "node_modules/duplexer": { + "duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" }, - "node_modules/duplexer3": { + "duplexer3": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" }, - "node_modules/duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dependencies": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "node_modules/duplexify/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/duplexify/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/ee-first": { + "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, - "node_modules/ejs": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", - "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", - "hasInstallScript": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.3.633", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.633.tgz", - "integrity": "sha512-bsVCsONiVX1abkWdH7KtpuDAhsQ3N3bjPYhROSAXE78roJKet0Y5wznA14JE9pzbwSZmSMAW6KiKYf1RvbTJkA==" - }, - "node_modules/elliptic": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", - "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", - "dependencies": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - } - }, - "node_modules/elliptic/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + "electron-to-chromium": { + "version": "1.3.779", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.779.tgz", + "integrity": "sha512-nreave0y/1Qhmo8XtO6C/LpawNyC6U26+q7d814/e+tIqUK073pM+4xW7WUXyqCRa5K4wdxHmNMBAi8ap9nEew==" }, - "node_modules/emoji-regex": { + "emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" }, - "node_modules/emojis-list": { + "emojis-list": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "engines": { - "node": ">= 4" - } + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" }, - "node_modules/emoticon": { + "emoticon": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/emoticon/-/emoticon-3.2.0.tgz", "integrity": "sha512-SNujglcLTTg+lDAcApPNgEdudaqQFiAbJCqzjNxJkvN9vAwCGi0uu8IUVvx+f16h+V44KCY6Y2yboroc9pilHg==" }, - "node_modules/encodeurl": { + "encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, - "node_modules/encoding/node_modules/iconv-lite": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", - "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" }, - "node_modules/end-of-stream": { + "end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dependencies": { + "requires": { "once": "^1.4.0" } }, - "node_modules/enhanced-resolve": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz", - "integrity": "sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==", - "dependencies": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/enhanced-resolve/node_modules/memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - }, - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/enhanced-resolve/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/enhanced-resolve/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" + "enhanced-resolve": { + "version": "5.8.2", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz", + "integrity": "sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA==", + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" } }, - "node_modules/entities": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", - "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==" + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" }, - "node_modules/errno": { + "errno": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dependencies": { + "requires": { "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" } }, - "node_modules/error-ex": { + "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dependencies": { + "requires": { "is-arrayish": "^0.2.1" } }, - "node_modules/error-ex/node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, - "node_modules/es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", - "dependencies": { + "es-abstract": { + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.3.tgz", + "integrity": "sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw==", + "requires": { + "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", + "has-symbols": "^1.0.2", + "is-callable": "^1.2.3", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.3", + "is-string": "^1.0.6", + "object-inspect": "^1.10.3", "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" } }, - "node_modules/es-to-primitive": { + "es-module-lexer": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.7.1.tgz", + "integrity": "sha512-MgtWFl5No+4S3TmhDmCz2ObFGm6lEpTnzbQi+Dd+pw4mlTIZTmM2iAs5gRlmx5zS9luzobCSBSI90JM/1/JgOw==" + }, + "es-to-primitive": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dependencies": { + "requires": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" } }, - "node_modules/escalade": { + "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "engines": { - "node": ">=6" - } + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" }, - "node_modules/escape-goat": { + "escape-goat": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", - "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", - "engines": { - "node": ">=8" - } + "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==" }, - "node_modules/escape-html": { + "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" }, - "node_modules/escape-string-regexp": { + "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "engines": { - "node": ">=0.8.0" - } + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, - "node_modules/eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dependencies": { - "esrecurse": "^4.1.0", + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "requires": { + "esrecurse": "^4.3.0", "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=4.0.0" } }, - "node_modules/esprima": { + "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, - "node_modules/esrecurse": { + "esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dependencies": { + "requires": { "estraverse": "^5.2.0" }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "engines": { - "node": ">=4.0" + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" + } } }, - "node_modules/estraverse": { + "estraverse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "engines": { - "node": ">=4.0" - } + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" }, - "node_modules/esutils": { + "esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" }, - "node_modules/eta": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/eta/-/eta-1.12.1.tgz", - "integrity": "sha512-H8npoci2J/7XiPnVcCVulBSPsTNGvGaINyMjQDU8AFqp9LGsEYS88g2CiU+d01Sg44WtX7o4nb8wUJ9vnI+tiA==", - "engines": { - "node": ">=6.0.0" - } + "eta": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/eta/-/eta-1.12.3.tgz", + "integrity": "sha512-qHixwbDLtekO/d51Yr4glcaUJCIjGVJyTzuqV4GPlgZo1YpgOKG+avQynErZIYrfM6JIJdtiG2Kox8tbb+DoGg==" }, - "node_modules/etag": { + "etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "engines": { - "node": ">= 0.6" - } + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" }, - "node_modules/eval": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.4.tgz", - "integrity": "sha512-npGsebJejyjMRnLdFu+T/97dnigqIU0Ov3IGrZ8ygd1v7RL1vGkEKtvyWZobqUH1AQgKlg0Yqqe2BtMA9/QZLw==", - "dependencies": { + "eval": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.6.tgz", + "integrity": "sha512-o0XUw+5OGkXw4pJZzQoXUk+H87DHuC+7ZE//oSrRGtatTmr12oTnLfg6QOq9DyTt0c/p4TwzgmkKrBzWTSizyQ==", + "requires": { "require-like": ">= 0.1.1" - }, - "engines": { - "node": ">= 0.8" } }, - "node_modules/eventemitter3": { + "eventemitter3": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" }, - "node_modules/events": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", - "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", - "engines": { - "node": ">=0.8.x" - } + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" }, - "node_modules/eventsource": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", - "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", - "dependencies": { + "eventsource": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz", + "integrity": "sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==", + "requires": { "original": "^1.0.0" - }, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" } }, - "node_modules/execa": { + "execa": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dependencies": { + "requires": { "cross-spawn": "^6.0.0", "get-stream": "^4.0.0", "is-stream": "^1.1.0", @@ -5611,76 +4290,57 @@ "signal-exit": "^3.0.0", "strip-eof": "^1.0.0" }, - "engines": { - "node": ">=6" - } - }, - "node_modules/execa/node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + } } }, - "node_modules/execa/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "engines": { - "node": ">=4" - } - }, - "node_modules/execa/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/execa/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/execa/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/execa/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/expand-brackets": { + "expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dependencies": { + "requires": { "debug": "^2.3.3", "define-property": "^0.2.5", "extend-shallow": "^2.0.1", @@ -5689,39 +4349,35 @@ "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } } }, - "node_modules/expand-brackets/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/express": { + "express": { "version": "4.17.1", "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", - "dependencies": { + "requires": { "accepts": "~1.3.7", "array-flatten": "1.1.1", "body-parser": "1.19.0", @@ -5753,57 +4409,40 @@ "utils-merge": "1.0.1", "vary": "~1.1.2" }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { - "ms": "2.0.0" + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } } }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/extend": { + "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, - "node_modules/extend-shallow": { + "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { + "requires": { "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" } }, - "node_modules/extglob": { + "extglob": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dependencies": { + "requires": { "array-unique": "^0.3.2", "define-property": "^1.0.0", "expand-brackets": "^2.1.4", @@ -5813,124 +4452,111 @@ "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } } }, - "node_modules/fast-deep-equal": { + "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, - "node_modules/fast-glob": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", - "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==", - "dependencies": { + "fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", + "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8" + "micromatch": "^4.0.4" } }, - "node_modules/fast-json-stable-stringify": { + "fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, - "node_modules/fast-url-parser": { + "fast-url-parser": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", "integrity": "sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0=", - "dependencies": { + "requires": { "punycode": "^1.3.2" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + } } }, - "node_modules/fastq": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.0.tgz", - "integrity": "sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA==", - "dependencies": { + "fastq": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.1.tgz", + "integrity": "sha512-HOnr8Mc60eNYl1gzwp6r5RoUyAn5/glBolUzP/Ez6IFVPMPirxn/9phgL6zhOtaTy7ISwPvQ+wT+hfcRZh/bzw==", + "requires": { "reusify": "^1.0.4" } }, - "node_modules/faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", - "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", - "dependencies": { + "faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "requires": { "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" } }, - "node_modules/fbemitter": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fbemitter/-/fbemitter-2.1.1.tgz", - "integrity": "sha1-Uj4U/a9SSIBbsC9i78M75wP1GGU=", - "dependencies": { - "fbjs": "^0.8.4" + "fbemitter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz", + "integrity": "sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==", + "requires": { + "fbjs": "^3.0.0" } }, - "node_modules/fbjs": { - "version": "0.8.17", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", - "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", - "dependencies": { - "core-js": "^1.0.0", - "isomorphic-fetch": "^2.1.1", + "fbjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.0.tgz", + "integrity": "sha512-dJd4PiDOFuhe7vk4F80Mba83Vr2QuK86FoxtgPmzBqEJahncp+13YCmfoa53KHCo6OnlXLG7eeMWPfB5CrpVKg==", + "requires": { + "cross-fetch": "^3.0.4", + "fbjs-css-vars": "^1.0.0", "loose-envify": "^1.0.0", "object-assign": "^4.1.0", "promise": "^7.1.1", @@ -5938,87 +4564,54 @@ "ua-parser-js": "^0.7.18" } }, - "node_modules/fbjs/node_modules/core-js": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" + "fbjs-css-vars": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", + "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" }, - "node_modules/feed": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.1.tgz", - "integrity": "sha512-l28KKcK1J/u3iq5dRDmmoB2p7dtBfACC2NqJh4dI2kFptxH0asfjmOfcxqh5Sv8suAlVa73gZJ4REY5RrafVvg==", - "dependencies": { + "feed": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz", + "integrity": "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==", + "requires": { "xml-js": "^1.6.11" - }, - "engines": { - "node": ">=0.4.0" } }, - "node_modules/figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==" - }, - "node_modules/figures": { + "figures": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dependencies": { + "requires": { "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" } }, - "node_modules/file-loader": { + "file-loader": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", - "dependencies": { + "requires": { "loader-utils": "^2.0.0", "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/file-loader/node_modules/schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dependencies": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" } }, - "node_modules/filesize": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-6.0.1.tgz", - "integrity": "sha512-u4AYWPgbI5GBhs6id1KdImZWn5yfyFrrQ8OWZdN7ZMfA8Bf4HcO0BGo9bmUIEV8yrp8I1xVfJ/dn90GtFNNJcg==", - "engines": { - "node": ">= 0.4.0" - } + "filesize": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-6.1.0.tgz", + "integrity": "sha512-LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg==" }, - "node_modules/fill-range": { + "fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dependencies": { + "requires": { "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" } }, - "node_modules/finalhandler": { + "finalhandler": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dependencies": { + "requires": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", @@ -6027,609 +4620,404 @@ "statuses": "~1.5.0", "unpipe": "~1.0.0" }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { - "ms": "2.0.0" + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } } }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/find-cache-dir": { + "find-cache-dir": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", - "dependencies": { + "requires": { "commondir": "^1.0.1", "make-dir": "^3.0.2", "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" } }, - "node_modules/find-up": { + "find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { + "requires": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" } }, - "node_modules/flatten": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", - "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==" - }, - "node_modules/flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" + "flux": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flux/-/flux-4.0.1.tgz", + "integrity": "sha512-emk4RCvJ8RzNP2lNpphKnG7r18q8elDYNAPx7xn+bDeOIo9FFfxEfIQ2y6YbQNmnsGD3nH1noxtLE64Puz1bRQ==", + "requires": { + "fbemitter": "^3.0.0", + "fbjs": "^3.0.0" } }, - "node_modules/flush-write-stream/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } + "follow-redirects": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz", + "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==" }, - "node_modules/flush-write-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" }, - "node_modules/flux": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/flux/-/flux-3.1.3.tgz", - "integrity": "sha1-0jvtUVp5oi2TOrU6tK2hnQWy8Io=", - "dependencies": { - "fbemitter": "^2.0.0", - "fbjs": "^0.8.0" - } - }, - "node_modules/follow-redirects": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.1.tgz", - "integrity": "sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-3.1.1.tgz", - "integrity": "sha512-DuVkPNrM12jR41KM2e+N+styka0EgLkTnXmNcXdgOM37vtGeY+oCBK/Jx0hzSeEU6memFCtWb4htrHPMDfwwUQ==", - "dependencies": { - "babel-code-frame": "^6.22.0", + "fork-ts-checker-webpack-plugin": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz", + "integrity": "sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==", + "requires": { + "@babel/code-frame": "^7.5.5", "chalk": "^2.4.1", - "chokidar": "^3.3.0", "micromatch": "^3.1.10", "minimatch": "^3.0.4", "semver": "^5.6.0", "tapable": "^1.0.0", "worker-rpc": "^0.1.0" }, - "engines": { - "node": ">=6.11.5", - "yarn": ">=1.0.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/extend-shallow/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" }, - "node_modules/forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", - "engines": { - "node": ">= 0.6" - } + "fraction.js": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.1.tgz", + "integrity": "sha512-MHOhvvxHTfRFpF1geTK9czMIZ6xclsEor2wkIGYYq+PxcQqT7vStJqjhe6S1TenZrMZzo+wlqOufBDVepUEgPg==" }, - "node_modules/fragment-cache": { + "fragment-cache": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dependencies": { + "requires": { "map-cache": "^0.2.2" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/fresh": { + "fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "engines": { - "node": ">= 0.6" - } + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" }, - "node_modules/from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" + "fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" } }, - "node_modules/from2/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "optional": true }, - "node_modules/from2/node_modules/string_decoder": { + "function-bind": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, - "node_modules/fs-extra": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", - "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dependencies": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, - "node_modules/fs-write-stream-atomic/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/fs-write-stream-atomic/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "node_modules/fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/gensync": { + "gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "engines": { - "node": ">=6.9.0" - } + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" }, - "node_modules/get-caller-file": { + "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" }, - "node_modules/get-intrinsic": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz", - "integrity": "sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==", - "dependencies": { + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", "has-symbols": "^1.0.1" } }, - "node_modules/get-own-enumerable-property-symbols": { + "get-own-enumerable-property-symbols": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" }, - "node_modules/get-stream": { + "get-stream": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dependencies": { + "requires": { "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" } }, - "node_modules/get-value": { + "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" }, - "node_modules/github-slugger": { + "github-slugger": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.3.0.tgz", "integrity": "sha512-gwJScWVNhFYSRDvURk/8yhcFBee6aFjye2a7Lhb2bUyRulpIoek9p0I9Kt7PT67d/nUlZbFu8L9RLiA0woQN8Q==", - "dependencies": { + "requires": { "emoji-regex": ">=6.0.0 <=6.1.1" + }, + "dependencies": { + "emoji-regex": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.1.tgz", + "integrity": "sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4=" + } } }, - "node_modules/github-slugger/node_modules/emoji-regex": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.1.tgz", - "integrity": "sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4=" - }, - "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dependencies": { + "glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.0.4", "once": "^1.3.0", "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" } }, - "node_modules/glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" } }, - "node_modules/glob-to-regexp": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", - "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=" + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" }, - "node_modules/global-dirs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.1.0.tgz", - "integrity": "sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ==", - "dependencies": { - "ini": "1.3.7" + "global-dirs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz", + "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==", + "requires": { + "ini": "2.0.0" }, - "engines": { - "node": ">=8" + "dependencies": { + "ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==" + } } }, - "node_modules/global-dirs/node_modules/ini": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz", - "integrity": "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==" - }, - "node_modules/global-modules": { + "global-modules": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dependencies": { + "requires": { "global-prefix": "^3.0.0" - }, - "engines": { - "node": ">=6" } }, - "node_modules/global-prefix": { + "global-prefix": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "dependencies": { + "requires": { "ini": "^1.3.5", "kind-of": "^6.0.2", "which": "^1.3.1" }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + } } }, - "node_modules/globals": { + "globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "engines": { - "node": ">=4" - } + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" }, - "node_modules/globby": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", - "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", - "dependencies": { - "@types/glob": "^7.1.1", + "globby": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "requires": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", "slash": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/good-listener": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", - "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", - "optional": true, - "dependencies": { - "delegate": "^3.1.2" } }, - "node_modules/got": { + "got": { "version": "9.6.0", "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", - "dependencies": { + "requires": { "@sindresorhus/is": "^0.14.0", "@szmarczak/http-timer": "^1.1.2", "cacheable-request": "^6.0.0", @@ -6641,199 +5029,118 @@ "p-cancelable": "^1.0.0", "to-readable-stream": "^1.0.0", "url-parse-lax": "^3.0.0" - }, - "engines": { - "node": ">=8.6" } }, - "node_modules/graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" + "graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" }, - "node_modules/gray-matter": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.2.tgz", - "integrity": "sha512-7hB/+LxrOjq/dd8APlK0r24uL/67w7SkYnfwhNFwg/VDIGWGmduTDYf3WNstLW2fbbmRwrDGCVSJ2isuf2+4Hw==", - "dependencies": { - "js-yaml": "^3.11.0", + "gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "requires": { + "js-yaml": "^3.13.1", "kind-of": "^6.0.2", "section-matter": "^1.0.0", "strip-bom-string": "^1.0.0" - }, - "engines": { - "node": ">=6.0" } }, - "node_modules/gzip-size": { + "gzip-size": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", - "dependencies": { + "requires": { "duplexer": "^0.1.1", "pify": "^4.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/gzip-size/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "engines": { - "node": ">=6" } }, - "node_modules/handle-thing": { + "handle-thing": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" }, - "node_modules/has": { + "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { + "requires": { "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/has-ansi/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "engines": { - "node": ">=0.10.0" - } + "has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==" }, - "node_modules/has-flag": { + "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, - "node_modules/has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "engines": { - "node": ">= 0.4" - } + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" }, - "node_modules/has-value": { + "has-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dependencies": { + "requires": { "get-value": "^2.0.6", "has-values": "^1.0.0", "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/has-values": { + "has-values": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dependencies": { + "requires": { "is-number": "^3.0.0", "kind-of": "^4.0.0" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "requires": { + "is-buffer": "^1.1.5" + } + } } }, - "node_modules/has-yarn": { + "has-yarn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", - "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/hash-base/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } + "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==" }, - "node_modules/hast-to-hyperscript": { + "hast-to-hyperscript": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz", "integrity": "sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==", - "dependencies": { + "requires": { "@types/unist": "^2.0.3", "comma-separated-tokens": "^1.0.0", "property-information": "^5.3.0", @@ -6843,11 +5150,11 @@ "web-namespaces": "^1.0.0" } }, - "node_modules/hast-util-from-parse5": { + "hast-util-from-parse5": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz", "integrity": "sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==", - "dependencies": { + "requires": { "@types/parse5": "^5.0.0", "hastscript": "^6.0.0", "property-information": "^5.0.0", @@ -6856,16 +5163,16 @@ "web-namespaces": "^1.0.0" } }, - "node_modules/hast-util-parse-selector": { + "hast-util-parse-selector": { "version": "2.2.5", "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz", "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==" }, - "node_modules/hast-util-raw": { + "hast-util-raw": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-6.0.1.tgz", "integrity": "sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig==", - "dependencies": { + "requires": { "@types/hast": "^2.0.0", "hast-util-from-parse5": "^6.0.0", "hast-util-to-parse5": "^6.0.0", @@ -6878,11 +5185,11 @@ "zwitch": "^1.0.0" } }, - "node_modules/hast-util-to-parse5": { + "hast-util-to-parse5": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz", "integrity": "sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ==", - "dependencies": { + "requires": { "hast-to-hyperscript": "^9.0.0", "property-information": "^5.0.0", "web-namespaces": "^1.0.0", @@ -6890,11 +5197,11 @@ "zwitch": "^1.0.0" } }, - "node_modules/hastscript": { + "hastscript": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz", "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==", - "dependencies": { + "requires": { "@types/hast": "^2.0.0", "comma-separated-tokens": "^1.0.0", "hast-util-parse-selector": "^2.0.0", @@ -6902,24 +5209,21 @@ "space-separated-tokens": "^1.0.0" } }, - "node_modules/he": { + "he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "bin": { - "he": "bin/he" - } + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" }, - "node_modules/hex-color-regex": { + "hex-color-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" }, - "node_modules/history": { + "history": { "version": "4.10.1", "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", - "dependencies": { + "requires": { "@babel/runtime": "^7.1.2", "loose-envify": "^1.2.0", "resolve-pathname": "^3.0.0", @@ -6928,90 +5232,69 @@ "value-equal": "^1.0.1" } }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/hoist-non-react-statics": { + "hoist-non-react-statics": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "dependencies": { + "requires": { "react-is": "^16.7.0" } }, - "node_modules/hoopy": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", - "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/hpack.js": { + "hpack.js": { "version": "2.1.6", "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "dependencies": { + "requires": { "inherits": "^2.0.1", "obuf": "^1.0.0", "readable-stream": "^2.0.1", "wbuf": "^1.1.0" - } - }, - "node_modules/hpack.js/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/hpack.js/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + }, "dependencies": { - "safe-buffer": "~5.1.0" + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, - "node_modules/hsl-regex": { + "hsl-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=" }, - "node_modules/hsla-regex": { + "hsla-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=" }, - "node_modules/html-comment-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", - "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==" - }, - "node_modules/html-entities": { + "html-entities": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==" }, - "node_modules/html-minifier-terser": { + "html-minifier-terser": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", - "dependencies": { + "requires": { "camel-case": "^4.1.1", "clean-css": "^4.2.3", "commander": "^4.1.1", @@ -7020,1171 +5303,864 @@ "relateurl": "^0.2.7", "terser": "^4.6.3" }, - "bin": { - "html-minifier-terser": "cli.js" - }, - "engines": { - "node": ">=6" + "dependencies": { + "clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", + "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "requires": { + "source-map": "~0.6.0" + } + }, + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + } + } + } } }, - "node_modules/html-tags": { + "html-tags": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz", - "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==", - "engines": { - "node": ">=8" - } + "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==" }, - "node_modules/html-void-elements": { + "html-void-elements": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz", "integrity": "sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==" }, - "node_modules/html-webpack-plugin": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.0.tgz", - "integrity": "sha512-MouoXEYSjTzCrjIxWwg8gxL5fE2X2WZJLmBYXlaJhQUH5K/b5OrqmV7T4dB7iu0xkmJ6JlUuV6fFVtnqbPopZw==", - "dependencies": { + "html-webpack-plugin": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.3.2.tgz", + "integrity": "sha512-HvB33boVNCz2lTyBsSiMffsJ+m0YLIQ+pskblXgN9fnjS1BgEcuAfdInfXfGrkdXV406k9FiDi86eVCDBgJOyQ==", + "requires": { "@types/html-minifier-terser": "^5.0.0", - "@types/tapable": "^1.0.5", - "@types/webpack": "^4.41.8", "html-minifier-terser": "^5.0.1", - "loader-utils": "^1.2.3", - "lodash": "^4.17.15", - "pretty-error": "^2.1.1", - "tapable": "^1.1.3", - "util.promisify": "1.0.0" - }, - "engines": { - "node": ">=6.9" - } - }, - "node_modules/html-webpack-plugin/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/html-webpack-plugin/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/html-webpack-plugin/node_modules/util.promisify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", - "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", - "dependencies": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" + "lodash": "^4.17.21", + "pretty-error": "^3.0.4", + "tapable": "^2.0.0" } }, - "node_modules/htmlparser2": { + "htmlparser2": { "version": "3.10.1", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", - "dependencies": { + "requires": { "domelementtype": "^1.3.1", "domhandler": "^2.3.0", "domutils": "^1.5.1", "entities": "^1.1.1", "inherits": "^2.0.1", "readable-stream": "^3.1.1" + }, + "dependencies": { + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==" + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + } + } + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + } } }, - "node_modules/htmlparser2/node_modules/entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" - }, - "node_modules/http-cache-semantics": { + "http-cache-semantics": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" }, - "node_modules/http-deceiver": { + "http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=" }, - "node_modules/http-errors": { + "http-errors": { "version": "1.7.2", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "dependencies": { + "requires": { "depd": "~1.1.2", "inherits": "2.0.3", "setprototypeof": "1.1.1", "statuses": ">= 1.5.0 < 2", "toidentifier": "1.0.0" }, - "engines": { - "node": ">= 0.6" + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } } }, - "node_modules/http-errors/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "node_modules/http-parser-js": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.2.tgz", - "integrity": "sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ==" + "http-parser-js": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", + "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==" }, - "node_modules/http-proxy": { + "http-proxy": { "version": "1.18.1", "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dependencies": { + "requires": { "eventemitter3": "^4.0.0", "follow-redirects": "^1.0.0", "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" } }, - "node_modules/http-proxy-middleware": { + "http-proxy-middleware": { "version": "0.19.1", "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", - "dependencies": { + "requires": { "http-proxy": "^1.17.0", "is-glob": "^4.0.0", "lodash": "^4.17.11", "micromatch": "^3.1.10" }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/extend-shallow/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" - }, - "node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "engines": { - "node": ">=8.12.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/icss-utils": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", - "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", - "dependencies": { - "postcss": "^7.0.14" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "node_modules/iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" - }, - "node_modules/ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/immer": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/immer/-/immer-1.10.0.tgz", - "integrity": "sha512-O3sR1/opvCDGLEVcvrGTMtLac8GJ5IwZC4puPrLuRj3l7ICKvkmA0vGuU9OW8mV9WIBRnaxp5GJh9IEAaNOoYg==" - }, - "node_modules/import-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", - "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", - "dependencies": { - "import-from": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } } }, - "node_modules/import-from": { + "human-signals": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", - "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", - "dependencies": { - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" } }, - "node_modules/import-from/node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "engines": { - "node": ">=4" + "icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==" + }, + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==" + }, + "immer": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/immer/-/immer-8.0.1.tgz", + "integrity": "sha512-aqXhGP7//Gui2+UrEtvxZxSquQVXTpZ7KDxfCcKAF3Vysvw0CViVaW9RZ1j1xlIYqaaaipBoqdqeibkc18PNvA==" + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" } }, - "node_modules/import-lazy": { + "import-lazy": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", - "engines": { - "node": ">=4" - } + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=" }, - "node_modules/import-local": { + "import-local": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "dependencies": { + "requires": { "pkg-dir": "^3.0.0", "resolve-cwd": "^2.0.0" }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/import-local/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/import-local/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/import-local/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/import-local/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "engines": { - "node": ">=4" - } - }, - "node_modules/import-local/node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "requires": { + "find-up": "^3.0.0" + } + } } }, - "node_modules/imurmurhash": { + "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "engines": { - "node": ">=0.8.19" - } + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" }, - "node_modules/indent-string": { + "indent-string": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" - }, - "node_modules/infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" }, - "node_modules/infima": { - "version": "0.2.0-alpha.18", - "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.18.tgz", - "integrity": "sha512-ndSEffXzjgM/eiSm5jpLTX6ON9MmylzxqBnV2bTiC3kCSyDYdvzTs+bSwf+C4TWayuqnRTnBK1JUePo3m6Bnfg==", - "engines": { - "node": ">=8" - } + "infima": { + "version": "0.2.0-alpha.26", + "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.26.tgz", + "integrity": "sha512-0/Dt+89mf8xW+9/hKGmynK+WOAsiy0QydVJL0qie6WK57yGIQv+SjJrhMybKndnmkZBQ+Vlt0tWPnTakx8X2Qw==" }, - "node_modules/inflight": { + "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dependencies": { + "requires": { "once": "^1.3.0", "wrappy": "1" } }, - "node_modules/inherits": { + "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "node_modules/ini": { + "ini": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" }, - "node_modules/inline-style-parser": { + "inline-style-parser": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" }, - "node_modules/inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/inquirer/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/ansi-styles": { + "internal-ip": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "requires": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" } }, - "node_modules/inquirer/node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/inquirer/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/inquirer/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/inquirer/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/internal-ip": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", - "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", - "dependencies": { - "default-gateway": "^4.2.0", - "ipaddr.js": "^1.9.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/interpret": { + "interpret": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "engines": { - "node": ">= 0.10" - } + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" }, - "node_modules/ip": { + "ip": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" }, - "node_modules/ip-regex": { + "ip-regex": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", - "engines": { - "node": ">=4" - } + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" }, - "node_modules/ipaddr.js": { + "ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "engines": { - "node": ">= 0.10" - } + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" }, - "node_modules/is-absolute-url": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", - "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", - "engines": { - "node": ">=0.10.0" - } + "is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==" }, - "node_modules/is-accessor-descriptor": { + "is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dependencies": { + "requires": { "kind-of": "^3.0.2" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } } }, - "node_modules/is-alphabetical": { + "is-alphabetical": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==" }, - "node_modules/is-alphanumerical": { + "is-alphanumerical": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", - "dependencies": { + "requires": { "is-alphabetical": "^1.0.0", "is-decimal": "^1.0.0" } }, - "node_modules/is-arguments": { + "is-arguments": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", - "dependencies": { + "requires": { "call-bind": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" } }, - "node_modules/is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "is-bigint": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", + "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==" }, - "node_modules/is-binary-path": { + "is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dependencies": { + "requires": { "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" } }, - "node_modules/is-buffer": { + "is-boolean-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz", + "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==", + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, - "node_modules/is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", - "engines": { - "node": ">= 0.4" - } + "is-callable": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==" }, - "node_modules/is-ci": { + "is-ci": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dependencies": { + "requires": { "ci-info": "^2.0.0" }, - "bin": { - "is-ci": "bin.js" + "dependencies": { + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + } } }, - "node_modules/is-ci/node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" - }, - "node_modules/is-color-stop": { + "is-color-stop": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", - "dependencies": { + "requires": { "css-color-names": "^0.0.4", "hex-color-regex": "^1.1.0", "hsl-regex": "^1.0.0", "hsla-regex": "^1.0.0", "rgb-regex": "^1.0.1", "rgba-regex": "^1.0.0" + }, + "dependencies": { + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=" + } } }, - "node_modules/is-core-module": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", - "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", - "dependencies": { + "is-core-module": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz", + "integrity": "sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==", + "requires": { "has": "^1.0.3" } }, - "node_modules/is-data-descriptor": { + "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dependencies": { + "requires": { "kind-of": "^3.0.2" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } } }, - "node_modules/is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", - "engines": { - "node": ">= 0.4" - } + "is-date-object": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz", + "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==" }, - "node_modules/is-decimal": { + "is-decimal": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==" }, - "node_modules/is-descriptor": { + "is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dependencies": { + "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", "kind-of": "^5.0.0" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-descriptor/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "engines": { - "node": ">=0.10.0" + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } } }, - "node_modules/is-docker": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", - "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - } + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" }, - "node_modules/is-extendable": { + "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" }, - "node_modules/is-extglob": { + "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, - "node_modules/is-fullwidth-code-point": { + "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "engines": { - "node": ">=4" - } + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" }, - "node_modules/is-glob": { + "is-glob": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dependencies": { + "requires": { "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/is-hexadecimal": { + "is-hexadecimal": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==" }, - "node_modules/is-installed-globally": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz", - "integrity": "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==", - "dependencies": { - "global-dirs": "^2.0.1", - "is-path-inside": "^3.0.1" - }, - "engines": { - "node": ">=8" + "is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "requires": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" } }, - "node_modules/is-negative-zero": { + "is-negative-zero": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", - "engines": { - "node": ">= 0.4" - } + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" }, - "node_modules/is-npm": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz", - "integrity": "sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==", - "engines": { - "node": ">=8" - } + "is-npm": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz", + "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==" }, - "node_modules/is-number": { + "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-number-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", + "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==" }, - "node_modules/is-obj": { + "is-obj": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "engines": { - "node": ">=8" - } + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" }, - "node_modules/is-path-cwd": { + "is-path-cwd": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "engines": { - "node": ">=6" - } + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==" }, - "node_modules/is-path-in-cwd": { + "is-path-in-cwd": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", - "dependencies": { + "requires": { "is-path-inside": "^2.1.0" }, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-in-cwd/node_modules/is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", - "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", "dependencies": { - "path-is-inside": "^1.0.2" - }, - "engines": { - "node": ">=6" + "is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "requires": { + "path-is-inside": "^1.0.2" + } + } } }, - "node_modules/is-path-inside": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz", - "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==", - "engines": { - "node": ">=8" - } + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" }, - "node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "engines": { - "node": ">=0.10.0" - } + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" }, - "node_modules/is-plain-object": { + "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dependencies": { + "requires": { "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", - "dependencies": { - "has-symbols": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" + "is-regex": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", + "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", + "requires": { + "call-bind": "^1.0.2", + "has-symbols": "^1.0.2" } }, - "node_modules/is-regexp": { + "is-regexp": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=" }, - "node_modules/is-resolvable": { + "is-resolvable": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" }, - "node_modules/is-root": { + "is-root": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", - "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", - "engines": { - "node": ">=6" - } + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==" }, - "node_modules/is-stream": { + "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" }, - "node_modules/is-svg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", - "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", - "dependencies": { - "html-comment-regex": "^1.1.0" - }, - "engines": { - "node": ">=4" - } + "is-string": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz", + "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==" }, - "node_modules/is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "dependencies": { - "has-symbols": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "requires": { + "has-symbols": "^1.0.2" } }, - "node_modules/is-typedarray": { + "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, - "node_modules/is-whitespace-character": { + "is-whitespace-character": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==" }, - "node_modules/is-windows": { + "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" }, - "node_modules/is-word-character": { + "is-word-character": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz", "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==" }, - "node_modules/is-wsl": { + "is-wsl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dependencies": { + "requires": { "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" } }, - "node_modules/is-yarn-global": { + "is-yarn-global": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==" }, - "node_modules/isarray": { + "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, - "node_modules/isexe": { + "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, - "node_modules/isobject": { + "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isomorphic-fetch": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", - "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", - "dependencies": { - "node-fetch": "^1.0.1", - "whatwg-fetch": ">=0.10.0" - } + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" }, - "node_modules/jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", - "dependencies": { + "jest-worker": { + "version": "27.0.6", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.6.tgz", + "integrity": "sha512-qupxcj/dRuA3xHPMUd40gr2EaAurFbkwzOh7wfPaeE9id7hyjURRQoqNfHifHK3XjJU6YJJUQKILGUnwGPEOCA==", + "requires": { "@types/node": "*", "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" + "supports-color": "^8.0.0" }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-worker/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "node_modules/joi": { - "version": "17.3.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.3.0.tgz", - "integrity": "sha512-Qh5gdU6niuYbUIUV5ejbsMiiFmBdw8Kcp8Buj2JntszCkCfxJ9Cz76OtHxOZMPXrt5810iDIXs+n1nNVoquHgg==", - "dependencies": { + "joi": { + "version": "17.4.1", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.4.1.tgz", + "integrity": "sha512-gDPOwQ5sr+BUxXuPDGrC1pSNcVR/yGGcTI0aCnjYxZEa3za60K/iCQ+OFIkEHWZGVCUcUlXlFKvMmrlmxrG6UQ==", + "requires": { "@hapi/hoek": "^9.0.0", "@hapi/topo": "^5.0.0", "@sideway/address": "^4.1.0", @@ -8192,455 +6168,319 @@ "@sideway/pinpoint": "^2.0.0" } }, - "node_modules/js-tokens": { + "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, - "node_modules/js-yaml": { + "js-yaml": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dependencies": { + "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" } }, - "node_modules/jsesc": { + "jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" }, - "node_modules/json-buffer": { + "json-buffer": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" }, - "node_modules/json-parse-better-errors": { + "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" }, - "node_modules/json-parse-even-better-errors": { + "json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, - "node_modules/json-schema-traverse": { + "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, - "node_modules/json3": { + "json3": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==" }, - "node_modules/json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "dependencies": { + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "requires": { "minimist": "^1.2.5" - }, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" } }, - "node_modules/jsonfile": { + "jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dependencies": { + "requires": { "graceful-fs": "^4.1.6", "universalify": "^2.0.0" } }, - "node_modules/jsonfile/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/keyv": { + "keyv": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", - "dependencies": { + "requires": { "json-buffer": "3.0.0" } }, - "node_modules/killable": { + "killable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==" }, - "node_modules/kind-of": { + "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" }, - "node_modules/last-call-webpack-plugin": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz", - "integrity": "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==", - "dependencies": { - "lodash": "^4.17.5", - "webpack-sources": "^1.1.0" - } + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" + }, + "klona": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz", + "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==" }, - "node_modules/latest-version": { + "latest-version": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", - "dependencies": { + "requires": { "package-json": "^6.3.0" - }, - "engines": { - "node": ">=8" } }, - "node_modules/leven": { + "leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "engines": { - "node": ">=6" - } + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" }, - "node_modules/lines-and-columns": { + "lines-and-columns": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" }, - "node_modules/loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } + "loader-runner": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", + "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==" }, - "node_modules/loader-utils": { + "loader-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dependencies": { + "requires": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" } }, - "node_modules/locate-path": { + "locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { + "requires": { "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" } }, - "node_modules/lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" - }, - "node_modules/lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, - "node_modules/lodash.assignin": { + "lodash.assignin": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz", "integrity": "sha1-uo31+4QesKPoBEIysOJjqNxqKKI=" }, - "node_modules/lodash.bind": { + "lodash.bind": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz", "integrity": "sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU=" }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" - }, - "node_modules/lodash.chunk": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.chunk/-/lodash.chunk-4.2.0.tgz", - "integrity": "sha1-ZuXOH3btJ7QwPYxlEujRIW6BBrw=" - }, - "node_modules/lodash.curry": { + "lodash.curry": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz", "integrity": "sha1-JI42By7ekGUB11lmIAqG2riyMXA=" }, - "node_modules/lodash.defaults": { + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" + }, + "lodash.defaults": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" }, - "node_modules/lodash.filter": { + "lodash.filter": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz", "integrity": "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4=" }, - "node_modules/lodash.flatmap": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.flatmap/-/lodash.flatmap-4.5.0.tgz", - "integrity": "sha1-74y/QI9uSCaGYzRTBcaswLd4cC4=" - }, - "node_modules/lodash.flatten": { + "lodash.flatten": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" }, - "node_modules/lodash.flow": { + "lodash.flow": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz", "integrity": "sha1-h79AKSuM+D5OjOGjrkIJ4gBxZ1o=" }, - "node_modules/lodash.foreach": { + "lodash.foreach": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=" }, - "node_modules/lodash.groupby": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.groupby/-/lodash.groupby-4.6.0.tgz", - "integrity": "sha1-Cwih3PaDl8OXhVwyOXg4Mt90A9E=" - }, - "node_modules/lodash.has": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz", - "integrity": "sha1-0Z9NwQlQWMzL4rDN9O4P5Ko3yGI=" - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" - }, - "node_modules/lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" - }, - "node_modules/lodash.kebabcase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", - "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=" - }, - "node_modules/lodash.map": { + "lodash.map": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=" }, - "node_modules/lodash.memoize": { + "lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" }, - "node_modules/lodash.merge": { + "lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" }, - "node_modules/lodash.padstart": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz", - "integrity": "sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs=" - }, - "node_modules/lodash.pick": { + "lodash.pick": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=" }, - "node_modules/lodash.pickby": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.pickby/-/lodash.pickby-4.6.0.tgz", - "integrity": "sha1-feoh2MGNdwOifHBMFdO4SmfjOv8=" - }, - "node_modules/lodash.reduce": { + "lodash.reduce": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", "integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=" }, - "node_modules/lodash.reject": { + "lodash.reject": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz", "integrity": "sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU=" }, - "node_modules/lodash.some": { + "lodash.some": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=" }, - "node_modules/lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" - }, - "node_modules/lodash.template": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", - "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", - "dependencies": { - "lodash._reinterpolate": "^3.0.0", - "lodash.templatesettings": "^4.0.0" - } - }, - "node_modules/lodash.templatesettings": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", - "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", - "dependencies": { - "lodash._reinterpolate": "^3.0.0" - } - }, - "node_modules/lodash.toarray": { + "lodash.toarray": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=" }, - "node_modules/lodash.uniq": { + "lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" }, - "node_modules/loglevel": { + "loglevel": { "version": "1.7.1", "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", - "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==", - "engines": { - "node": ">= 0.6.0" - } + "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==" }, - "node_modules/loose-envify": { + "loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dependencies": { + "requires": { "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" } }, - "node_modules/lower-case": { + "lower-case": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "dependencies": { + "requires": { "tslib": "^2.0.3" } }, - "node_modules/lowercase-keys": { + "lowercase-keys": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" }, - "node_modules/lru-cache": { + "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { + "requires": { "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" } }, - "node_modules/make-dir": { + "make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dependencies": { + "requires": { "semver": "^6.0.0" }, - "engines": { - "node": ">=8" + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } } }, - "node_modules/map-cache": { + "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" }, - "node_modules/map-visit": { + "map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dependencies": { + "requires": { "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/markdown-escapes": { + "markdown-escapes": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==" }, - "node_modules/md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/mdast-squeeze-paragraphs": { + "mdast-squeeze-paragraphs": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz", "integrity": "sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ==", - "dependencies": { + "requires": { "unist-util-remove": "^2.0.0" } }, - "node_modules/mdast-util-definitions": { + "mdast-util-definitions": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz", "integrity": "sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==", - "dependencies": { + "requires": { "unist-util-visit": "^2.0.0" } }, - "node_modules/mdast-util-to-hast": { + "mdast-util-to-hast": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-10.0.1.tgz", "integrity": "sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA==", - "dependencies": { + "requires": { "@types/mdast": "^3.0.0", "@types/unist": "^2.0.0", "mdast-util-definitions": "^4.0.0", @@ -8651,432 +6491,235 @@ "unist-util-visit": "^2.0.0" } }, - "node_modules/mdast-util-to-string": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz", - "integrity": "sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==" + "mdast-util-to-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", + "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==" }, - "node_modules/mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" }, - "node_modules/mdurl": { + "mdurl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" }, - "node_modules/media-typer": { + "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "engines": { - "node": ">= 0.6" - } + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" }, - "node_modules/memory-fs": { + "memory-fs": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dependencies": { + "requires": { "errno": "^0.1.3", "readable-stream": "^2.0.1" - } - }, - "node_modules/memory-fs/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/memory-fs/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + }, "dependencies": { - "safe-buffer": "~5.1.0" + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, - "node_modules/merge-descriptors": { + "merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" }, - "node_modules/merge-stream": { + "merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, - "node_modules/merge2": { + "merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "engines": { - "node": ">= 8" - } + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" }, - "node_modules/methods": { + "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "engines": { - "node": ">= 0.6" - } + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" }, - "node_modules/microevent.ts": { + "microevent.ts": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz", "integrity": "sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==" }, - "node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dependencies": { + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "requires": { "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dependencies": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "bin": { - "miller-rabin": "bin/miller-rabin" + "picomatch": "^2.2.3" } }, - "node_modules/miller-rabin/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - }, - "node_modules/mime": { + "mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.48.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz", + "integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==" }, - "node_modules/mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", - "engines": { - "node": ">= 0.6" + "mime-types": { + "version": "2.1.31", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz", + "integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==", + "requires": { + "mime-db": "1.48.0" } }, - "node_modules/mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", - "dependencies": { - "mime-db": "1.44.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { + "mimic-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "engines": { - "node": ">=6" - } + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" }, - "node_modules/mimic-response": { + "mimic-response": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "engines": { - "node": ">=4" - } + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" }, - "node_modules/mini-create-react-context": { + "mini-create-react-context": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz", "integrity": "sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ==", - "dependencies": { + "requires": { "@babel/runtime": "^7.12.1", "tiny-warning": "^1.0.3" } }, - "node_modules/mini-css-extract-plugin": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.8.2.tgz", - "integrity": "sha512-a3Y4of27Wz+mqK3qrcd3VhYz6cU0iW5x3Sgvqzbj+XmlrSizmvu8QQMl5oMYJjgHOC4iyt+w7l4umP+dQeW3bw==", - "dependencies": { - "loader-utils": "^1.1.0", - "normalize-url": "1.9.1", - "schema-utils": "^1.0.0", + "mini-css-extract-plugin": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.2.tgz", + "integrity": "sha512-WhDvO3SjGm40oV5y26GjMJYjd2UMqrLAGKy5YS2/3QKJy2F7jgynuHTir/tgUUOiNQu5saXHdc8reo7YuhhT4Q==", + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0", "webpack-sources": "^1.1.0" }, - "engines": { - "node": ">= 6.9.0" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/normalize-url": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", - "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", - "dependencies": { - "object-assign": "^4.0.1", - "prepend-http": "^1.0.0", - "query-string": "^4.1.0", - "sort-keys": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + } } }, - "node_modules/minimalistic-assert": { + "minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" - }, - "node_modules/minimatch": { + "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dependencies": { + "requires": { "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" } }, - "node_modules/minimist": { + "minimist": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, - "node_modules/minipass": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", - "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dependencies": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/mixin-deep": { + "mixin-deep": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dependencies": { + "requires": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mixin-deep/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } } }, - "node_modules/mkdirp": { + "mkdirp": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dependencies": { + "requires": { "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dependencies": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" } }, - "node_modules/move-concurrently/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } + "module-alias": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/module-alias/-/module-alias-2.2.2.tgz", + "integrity": "sha512-A/78XjoX2EmNvppVWEhM2oGk3x4lLxnkEA4jTbaK97QKSDjkIoOsKQlfylt/d3kKKi596Qy3NP5XrXJ6fZIC9Q==" }, - "node_modules/ms": { + "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, - "node_modules/multicast-dns": { + "multicast-dns": { "version": "6.2.3", "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", - "dependencies": { + "requires": { "dns-packet": "^1.3.1", "thunky": "^1.0.2" - }, - "bin": { - "multicast-dns": "cli.js" } }, - "node_modules/multicast-dns-service-types": { + "multicast-dns-service-types": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=" }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + "nanoid": { + "version": "3.1.23", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz", + "integrity": "sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==" }, - "node_modules/nanomatch": { + "nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dependencies": { + "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", "define-property": "^2.0.2", @@ -9089,651 +6732,383 @@ "snapdragon": "^0.8.1", "to-regex": "^3.0.1" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nanomatch/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nanomatch/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } } }, - "node_modules/negotiator": { + "negotiator": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", - "engines": { - "node": ">= 0.6" - } + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" }, - "node_modules/neo-async": { + "neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, - "node_modules/nice-try": { + "nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" }, - "node_modules/no-case": { + "no-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "dependencies": { + "requires": { "lower-case": "^2.0.2", "tslib": "^2.0.3" } }, - "node_modules/node-emoji": { + "node-emoji": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.10.0.tgz", "integrity": "sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw==", - "dependencies": { + "requires": { "lodash.toarray": "^4.4.0" } }, - "node_modules/node-fetch": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", - "dependencies": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" - } + "node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" }, - "node_modules/node-forge": { + "node-forge": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dependencies": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - } - }, - "node_modules/node-libs-browser/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/node-libs-browser/node_modules/readable-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" }, - "node_modules/node-releases": { - "version": "1.1.67", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.67.tgz", - "integrity": "sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==" + "node-releases": { + "version": "1.1.73", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz", + "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==" }, - "node_modules/normalize-path": { + "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" }, - "node_modules/normalize-range": { + "normalize-range": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" }, - "node_modules/normalize-url": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", - "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", - "engines": { - "node": ">=6" - } + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" }, - "node_modules/npm-run-path": { + "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dependencies": { + "requires": { "path-key": "^2.0.0" }, - "engines": { - "node": ">=4" - } - }, - "node_modules/npm-run-path/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "engines": { - "node": ">=4" + "dependencies": { + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + } } }, - "node_modules/nprogress": { + "nprogress": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", "integrity": "sha1-y480xTIT2JVyP8urkH6UIq28r7E=" }, - "node_modules/nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "dependencies": { - "boolbase": "~1.0.0" - } - }, - "node_modules/null-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/null-loader/-/null-loader-3.0.0.tgz", - "integrity": "sha512-hf5sNLl8xdRho4UPBOOeoIwT3WhjYcMUQm0zj44EhD6UscMAz72o2udpoDFBgykucdEDGIcd6SXbc/G6zssbzw==", - "dependencies": { - "loader-utils": "^1.2.3", - "schema-utils": "^1.0.0" - }, - "engines": { - "node": ">= 8.9.0" - } - }, - "node_modules/null-loader/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/null-loader/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/null-loader/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" + "nth-check": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", + "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", + "requires": { + "boolbase": "^1.0.0" } }, - "node_modules/num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=" - }, - "node_modules/object-assign": { + "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, - "node_modules/object-copy": { + "object-copy": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dependencies": { + "requires": { "copy-descriptor": "^0.1.0", "define-property": "^0.2.5", "kind-of": "^3.0.3" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" - }, - "node_modules/object-is": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.4.tgz", - "integrity": "sha512-1ZvAZ4wlF7IyPVOcE1Omikt7UpaFlOQq0HlSti+ZvDH3UiD2brwGMwDbyV43jao2bKJ+4+WdPJHSd7kgzKYVqg==", - "dependencies": { - "call-bind": "^1.0.0", + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", + "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==" + }, + "object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "requires": { + "call-bind": "^1.0.2", "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" } }, - "node_modules/object-keys": { + "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "engines": { - "node": ">= 0.4" - } + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" }, - "node_modules/object-visit": { + "object-visit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dependencies": { + "requires": { "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/object.assign": { + "object.assign": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dependencies": { + "requires": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", "has-symbols": "^1.0.1", "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" } }, - "node_modules/object.getownpropertydescriptors": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz", - "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==", - "dependencies": { - "call-bind": "^1.0.0", + "object.getownpropertydescriptors": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", + "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", + "requires": { + "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - }, - "engines": { - "node": ">= 0.8" + "es-abstract": "^1.18.0-next.2" } }, - "node_modules/object.pick": { + "object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dependencies": { + "requires": { "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/object.values": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz", - "integrity": "sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==", - "dependencies": { - "call-bind": "^1.0.0", + "object.values": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz", + "integrity": "sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==", + "requires": { + "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "has": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" + "es-abstract": "^1.18.2" } }, - "node_modules/obuf": { + "obuf": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" }, - "node_modules/on-finished": { + "on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dependencies": { + "requires": { "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" } }, - "node_modules/on-headers": { + "on-headers": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "engines": { - "node": ">= 0.8" - } + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" }, - "node_modules/once": { + "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dependencies": { + "requires": { "wrappy": "1" } }, - "node_modules/onetime": { + "onetime": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dependencies": { + "requires": { "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" } }, - "node_modules/open": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/open/-/open-7.3.0.tgz", - "integrity": "sha512-mgLwQIx2F/ye9SmbrUkurZCnkoXyXyu9EbHtJZrICjVAJfyMArdHp3KkixGdZx1ZHFPNIwl0DDM1dFFqXbTLZw==", - "dependencies": { + "open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "requires": { "is-docker": "^2.0.0", "is-wsl": "^2.1.1" - }, - "engines": { - "node": ">=8" } }, - "node_modules/opener": { + "opener": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "bin": { - "opener": "bin/opener-bin.js" - } + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==" }, - "node_modules/opn": { + "opn": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", - "dependencies": { + "requires": { "is-wsl": "^1.1.0" }, - "engines": { - "node": ">=4" - } - }, - "node_modules/opn/node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/optimize-css-assets-webpack-plugin": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.4.tgz", - "integrity": "sha512-wqd6FdI2a5/FdoiCNNkEvLeA//lHHfG24Ln2Xm2qqdIk4aOlsR18jwpyOihqQ8849W3qu2DX8fOYxpvTMj+93A==", "dependencies": { - "cssnano": "^4.1.10", - "last-call-webpack-plugin": "^3.0.0" + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + } } }, - "node_modules/original": { + "original": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", - "dependencies": { + "requires": { "url-parse": "^1.4.3" } }, - "node_modules/os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" - }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/p-cancelable": { + "p-cancelable": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", - "engines": { - "node": ">=6" - } + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" }, - "node_modules/p-finally": { + "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "engines": { - "node": ">=4" - } + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "requires": { + "yocto-queue": "^0.1.0" } }, - "node_modules/p-locate": { + "p-locate": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { + "requires": { "p-limit": "^2.2.0" }, - "engines": { - "node": ">=8" + "dependencies": { + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + } } }, - "node_modules/p-map": { + "p-map": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dependencies": { + "requires": { "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" } }, - "node_modules/p-retry": { + "p-retry": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", - "dependencies": { + "requires": { "retry": "^0.12.0" - }, - "engines": { - "node": ">=6" } }, - "node_modules/p-try": { + "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "engines": { - "node": ">=6" - } + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" }, - "node_modules/package-json": { + "package-json": { "version": "6.5.0", "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", - "dependencies": { + "requires": { "got": "^9.6.0", "registry-auth-token": "^4.0.0", "registry-url": "^5.0.0", "semver": "^6.2.0" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" - }, - "node_modules/parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "dependencies": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - } - }, - "node_modules/parallel-transform/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/parallel-transform/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } } }, - "node_modules/param-case": { + "param-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "dependencies": { + "requires": { "dot-case": "^3.0.4", "tslib": "^2.0.3" } }, - "node_modules/parent-module": { + "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dependencies": { + "requires": { "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", - "dependencies": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" } }, - "node_modules/parse-entities": { + "parse-entities": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", - "dependencies": { + "requires": { "character-entities": "^1.0.0", "character-entities-legacy": "^1.0.0", "character-reference-invalid": "^1.0.0", @@ -9742,20082 +7117,3029 @@ "is-hexadecimal": "^1.0.0" } }, - "node_modules/parse-json": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", - "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", - "dependencies": { + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "requires": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", "json-parse-even-better-errors": "^2.3.0", "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" } }, - "node_modules/parse-numeric-range": { + "parse-numeric-range": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.2.0.tgz", "integrity": "sha512-1q2tXpAOplPxcl8vrIGPWz1dJxxfmdRkCFcpxxMBerDnGuuHalOWF/xj9L8Nn5XoTUoB/6F0CeQBp2fMgkOYFg==" }, - "node_modules/parse5": { + "parse5": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" }, - "node_modules/parseurl": { + "parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "engines": { - "node": ">= 0.8" - } + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" }, - "node_modules/pascal-case": { + "pascal-case": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "dependencies": { + "requires": { "no-case": "^3.0.4", "tslib": "^2.0.3" } }, - "node_modules/pascalcase": { + "pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" }, - "node_modules/path-dirname": { + "path-dirname": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" }, - "node_modules/path-exists": { + "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" }, - "node_modules/path-is-absolute": { + "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, - "node_modules/path-is-inside": { + "path-is-inside": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" }, - "node_modules/path-key": { + "path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "engines": { - "node": ">=8" - } + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" }, - "node_modules/path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, - "node_modules/path-to-regexp": { + "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" }, - "node_modules/path-type": { + "path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", - "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", - "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - }, - "engines": { - "node": ">=0.12" - } + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" }, - "node_modules/picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "engines": { - "node": ">=8.6" - } + "picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==" }, - "node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "engines": { - "node": ">=4" - } + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" }, - "node_modules/pinkie": { + "pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" }, - "node_modules/pinkie-promise": { + "pinkie-promise": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dependencies": { + "requires": { "pinkie": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" } }, - "node_modules/pkg-dir": { + "pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dependencies": { + "requires": { "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" } }, - "node_modules/pkg-up": { + "pkg-up": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", - "dependencies": { + "requires": { "find-up": "^3.0.0" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-up/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "engines": { - "node": ">=4" - } - }, - "node_modules/pnp-webpack-plugin": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", - "integrity": "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==", - "dependencies": { - "ts-pnp": "^1.1.6" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/portfinder": { - "version": "1.0.28", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", - "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", "dependencies": { - "async": "^2.6.2", + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + } + } + }, + "portfinder": { + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", + "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", + "requires": { + "async": "^2.6.2", "debug": "^3.1.1", "mkdirp": "^0.5.5" }, - "engines": { - "node": ">= 0.12.0" - } - }, - "node_modules/portfinder/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dependencies": { - "ms": "^2.1.1" + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + } } }, - "node_modules/posix-character-classes": { + "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - } + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" }, - "node_modules/postcss-attribute-case-insensitive": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz", - "integrity": "sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA==", - "dependencies": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^6.0.2" + "postcss": { + "version": "8.3.5", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.5.tgz", + "integrity": "sha512-NxTuJocUhYGsMiMFHDUkmjSKT3EdH4/WbGF6GCi1NDGk+vbcUTun4fpbOqaPtD8IIsztA2ilZm2DhYCuyN58gA==", + "requires": { + "colorette": "^1.2.2", + "nanoid": "^3.1.23", + "source-map-js": "^0.6.2" } }, - "node_modules/postcss-calc": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", - "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", - "dependencies": { - "postcss": "^7.0.27", + "postcss-calc": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.0.0.tgz", + "integrity": "sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g==", + "requires": { "postcss-selector-parser": "^6.0.2", "postcss-value-parser": "^4.0.2" } }, - "node_modules/postcss-color-functional-notation": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz", - "integrity": "sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g==", - "dependencies": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-color-gray": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz", - "integrity": "sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw==", - "dependencies": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.5", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" + "postcss-colormin": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.0.tgz", + "integrity": "sha512-+HC6GfWU3upe5/mqmxuqYZ9B2Wl4lcoUUNkoaX59nEWV4EtADCMiBqui111Bu8R8IvaZTmqmxrqOAqjbHIwXPw==", + "requires": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "colord": "^2.0.1", + "postcss-value-parser": "^4.1.0" } }, - "node_modules/postcss-color-hex-alpha": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz", - "integrity": "sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw==", - "dependencies": { - "postcss": "^7.0.14", - "postcss-values-parser": "^2.0.1" - }, - "engines": { - "node": ">=6.0.0" + "postcss-convert-values": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.1.tgz", + "integrity": "sha512-C3zR1Do2BkKkCgC0g3sF8TS0koF2G+mN8xxayZx3f10cIRmTaAnpgpRQZjNekTZxM2ciSPoh2IWJm0VZx8NoQg==", + "requires": { + "postcss-value-parser": "^4.1.0" } }, - "node_modules/postcss-color-mod-function": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz", - "integrity": "sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ==", - "dependencies": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } + "postcss-discard-comments": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz", + "integrity": "sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg==" }, - "node_modules/postcss-color-rebeccapurple": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz", - "integrity": "sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g==", - "dependencies": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } + "postcss-discard-duplicates": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz", + "integrity": "sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA==" }, - "node_modules/postcss-colormin": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", - "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", - "dependencies": { - "browserslist": "^4.0.0", - "color": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } + "postcss-discard-empty": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz", + "integrity": "sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw==" }, - "node_modules/postcss-colormin/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + "postcss-discard-overridden": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.1.tgz", + "integrity": "sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q==" }, - "node_modules/postcss-combine-duplicated-selectors": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/postcss-combine-duplicated-selectors/-/postcss-combine-duplicated-selectors-9.4.0.tgz", - "integrity": "sha512-rMnO1H3wgR1T6QSlK3i8Slz9p3xD+0yOi4J7qwh/5PGR3z8jbgYvRlNKAIvXDtGBQbJKoWs4df5skL3a/fdUEA==", - "dependencies": { - "postcss": "^7.0.0", - "postcss-selector-parser": "^6.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >=14.0.0" + "postcss-discard-unused": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-5.0.1.tgz", + "integrity": "sha512-tD6xR/xyZTwfhKYRw0ylfCY8wbfhrjpKAMnDKRTLMy2fNW5hl0hoV6ap5vo2JdCkuHkP3CHw72beO4Y8pzFdww==", + "requires": { + "postcss-selector-parser": "^6.0.5" } }, - "node_modules/postcss-convert-values": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", - "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", - "dependencies": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" + "postcss-loader": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-5.3.0.tgz", + "integrity": "sha512-/+Z1RAmssdiSLgIZwnJHwBMnlABPgF7giYzTN2NOfr9D21IJZ4mQC1R2miwp80zno9M4zMD/umGI8cR+2EL5zw==", + "requires": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.4", + "semver": "^7.3.4" } }, - "node_modules/postcss-convert-values/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-custom-media": { - "version": "7.0.8", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz", - "integrity": "sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg==", - "dependencies": { - "postcss": "^7.0.14" - }, - "engines": { - "node": ">=6.0.0" + "postcss-merge-idents": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-5.0.1.tgz", + "integrity": "sha512-xu8ueVU0RszbI2gKkxR6mluupsOSSLvt8q4gA2fcKFkA+x6SlH3cb4cFHpDvcRCNFbUmCR/VUub+Y6zPOjPx+Q==", + "requires": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" } }, - "node_modules/postcss-custom-properties": { - "version": "8.0.11", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz", - "integrity": "sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA==", - "dependencies": { - "postcss": "^7.0.17", - "postcss-values-parser": "^2.0.1" - }, - "engines": { - "node": ">=6.0.0" + "postcss-merge-longhand": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.2.tgz", + "integrity": "sha512-BMlg9AXSI5G9TBT0Lo/H3PfUy63P84rVz3BjCFE9e9Y9RXQZD3+h3YO1kgTNsNJy7bBc1YQp8DmSnwLIW5VPcw==", + "requires": { + "css-color-names": "^1.0.1", + "postcss-value-parser": "^4.1.0", + "stylehacks": "^5.0.1" } }, - "node_modules/postcss-custom-selectors": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz", - "integrity": "sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w==", - "dependencies": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, - "engines": { - "node": ">=6.0.0" + "postcss-merge-rules": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.2.tgz", + "integrity": "sha512-5K+Md7S3GwBewfB4rjDeol6V/RZ8S+v4B66Zk2gChRqLTCC8yjnHQ601omj9TKftS19OPGqZ/XzoqpzNQQLwbg==", + "requires": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^2.0.1", + "postcss-selector-parser": "^6.0.5", + "vendors": "^1.0.3" } }, - "node_modules/postcss-custom-selectors/node_modules/cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" + "postcss-minify-font-values": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.1.tgz", + "integrity": "sha512-7JS4qIsnqaxk+FXY1E8dHBDmraYFWmuL6cgt0T1SWGRO5bzJf8sUoelwa4P88LEWJZweHevAiDKxHlofuvtIoA==", + "requires": { + "postcss-value-parser": "^4.1.0" } }, - "node_modules/postcss-custom-selectors/node_modules/postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "dependencies": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=4" + "postcss-minify-gradients": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.1.tgz", + "integrity": "sha512-odOwBFAIn2wIv+XYRpoN2hUV3pPQlgbJ10XeXPq8UY2N+9ZG42xu45lTn/g9zZ+d70NKSQD6EOi6UiCMu3FN7g==", + "requires": { + "cssnano-utils": "^2.0.1", + "is-color-stop": "^1.1.0", + "postcss-value-parser": "^4.1.0" } }, - "node_modules/postcss-dir-pseudo-class": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz", - "integrity": "sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw==", - "dependencies": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, - "engines": { - "node": ">=4.0.0" + "postcss-minify-params": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.1.tgz", + "integrity": "sha512-4RUC4k2A/Q9mGco1Z8ODc7h+A0z7L7X2ypO1B6V8057eVK6mZ6xwz6QN64nHuHLbqbclkX1wyzRnIrdZehTEHw==", + "requires": { + "alphanum-sort": "^1.0.2", + "browserslist": "^4.16.0", + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0", + "uniqs": "^2.0.0" } }, - "node_modules/postcss-dir-pseudo-class/node_modules/cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" + "postcss-minify-selectors": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.0.tgz", + "integrity": "sha512-NzGBXDa7aPsAcijXZeagnJBKBPMYLaJJzB8CQh6ncvyl2sIndLVWfbcDi0SBjRWk5VqEjXvf8tYwzoKf4Z07og==", + "requires": { + "alphanum-sort": "^1.0.2", + "postcss-selector-parser": "^6.0.5" } }, - "node_modules/postcss-dir-pseudo-class/node_modules/postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "dependencies": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=4" - } + "postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==" }, - "node_modules/postcss-discard-comments": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", - "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" + "postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "requires": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" } }, - "node_modules/postcss-discard-duplicates": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", - "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" + "postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "requires": { + "postcss-selector-parser": "^6.0.4" } }, - "node_modules/postcss-discard-empty": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", - "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" + "postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "requires": { + "icss-utils": "^5.0.0" } }, - "node_modules/postcss-discard-overridden": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", - "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" + "postcss-normalize-charset": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz", + "integrity": "sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg==" + }, + "postcss-normalize-display-values": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.1.tgz", + "integrity": "sha512-uupdvWk88kLDXi5HEyI9IaAJTE3/Djbcrqq8YgjvAVuzgVuqIk3SuJWUisT2gaJbZm1H9g5k2w1xXilM3x8DjQ==", + "requires": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" } }, - "node_modules/postcss-discard-unused": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-4.0.1.tgz", - "integrity": "sha512-/3vq4LU0bLH2Lj4NYN7BTf2caly0flUB7Xtrk9a5K3yLuXMkHMqMO/x3sDq8W2b1eQFSCyY0IVz2L+0HP8kUUA==", - "dependencies": { - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0", - "uniqs": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" + "postcss-normalize-positions": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.1.tgz", + "integrity": "sha512-rvzWAJai5xej9yWqlCb1OWLd9JjW2Ex2BCPzUJrbaXmtKtgfL8dBMOOMTX6TnvQMtjk3ei1Lswcs78qKO1Skrg==", + "requires": { + "postcss-value-parser": "^4.1.0" } }, - "node_modules/postcss-discard-unused/node_modules/postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dependencies": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=8" + "postcss-normalize-repeat-style": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.1.tgz", + "integrity": "sha512-syZ2itq0HTQjj4QtXZOeefomckiV5TaUO6ReIEabCh3wgDs4Mr01pkif0MeVwKyU/LHEkPJnpwFKRxqWA/7O3w==", + "requires": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" } }, - "node_modules/postcss-double-position-gradients": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz", - "integrity": "sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA==", - "dependencies": { - "postcss": "^7.0.5", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" + "postcss-normalize-string": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.1.tgz", + "integrity": "sha512-Ic8GaQ3jPMVl1OEn2U//2pm93AXUcF3wz+OriskdZ1AOuYV25OdgS7w9Xu2LO5cGyhHCgn8dMXh9bO7vi3i9pA==", + "requires": { + "postcss-value-parser": "^4.1.0" } }, - "node_modules/postcss-env-function": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-2.0.2.tgz", - "integrity": "sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw==", - "dependencies": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" + "postcss-normalize-timing-functions": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.1.tgz", + "integrity": "sha512-cPcBdVN5OsWCNEo5hiXfLUnXfTGtSFiBU9SK8k7ii8UD7OLuznzgNRYkLZow11BkQiiqMcgPyh4ZqXEEUrtQ1Q==", + "requires": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" } }, - "node_modules/postcss-focus-visible": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz", - "integrity": "sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g==", - "dependencies": { - "postcss": "^7.0.2" - }, - "engines": { - "node": ">=6.0.0" + "postcss-normalize-unicode": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.1.tgz", + "integrity": "sha512-kAtYD6V3pK0beqrU90gpCQB7g6AOfP/2KIPCVBKJM2EheVsBQmx/Iof+9zR9NFKLAx4Pr9mDhogB27pmn354nA==", + "requires": { + "browserslist": "^4.16.0", + "postcss-value-parser": "^4.1.0" } }, - "node_modules/postcss-focus-within": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz", - "integrity": "sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w==", - "dependencies": { - "postcss": "^7.0.2" - }, - "engines": { - "node": ">=6.0.0" + "postcss-normalize-url": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.2.tgz", + "integrity": "sha512-k4jLTPUxREQ5bpajFQZpx8bCF2UrlqOTzP9kEqcEnOfwsRshWs2+oAFIHfDQB8GO2PaUaSE0NlTAYtbluZTlHQ==", + "requires": { + "is-absolute-url": "^3.0.3", + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.1.0" } }, - "node_modules/postcss-font-variant": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz", - "integrity": "sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA==", - "dependencies": { - "postcss": "^7.0.2" + "postcss-normalize-whitespace": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.1.tgz", + "integrity": "sha512-iPklmI5SBnRvwceb/XH568yyzK0qRVuAG+a1HFUsFRf11lEJTiQQa03a4RSCQvLKdcpX7XsI1Gen9LuLoqwiqA==", + "requires": { + "postcss-value-parser": "^4.1.0" } }, - "node_modules/postcss-gap-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz", - "integrity": "sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg==", - "dependencies": { - "postcss": "^7.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-image-set-function": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz", - "integrity": "sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw==", - "dependencies": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" + "postcss-ordered-values": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.2.tgz", + "integrity": "sha512-8AFYDSOYWebJYLyJi3fyjl6CqMEG/UVworjiyK1r573I56kb3e879sCJLGvR3merj+fAdPpVplXKQZv+ey6CgQ==", + "requires": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" } }, - "node_modules/postcss-initial": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.2.tgz", - "integrity": "sha512-ugA2wKonC0xeNHgirR4D3VWHs2JcU08WAi1KFLVcnb7IN89phID6Qtg2RIctWbnvp1TM2BOmDtX8GGLCKdR8YA==", - "dependencies": { - "lodash.template": "^4.5.0", - "postcss": "^7.0.2" + "postcss-reduce-idents": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-5.0.1.tgz", + "integrity": "sha512-6Rw8iIVFbqtaZExgWK1rpVgP7DPFRPh0DDFZxJ/ADNqPiH10sPCoq5tgo6kLiTyfh9sxjKYjXdc8udLEcPOezg==", + "requires": { + "postcss-value-parser": "^4.1.0" } }, - "node_modules/postcss-lab-function": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz", - "integrity": "sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg==", - "dependencies": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" + "postcss-reduce-initial": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.1.tgz", + "integrity": "sha512-zlCZPKLLTMAqA3ZWH57HlbCjkD55LX9dsRyxlls+wfuRfqCi5mSlZVan0heX5cHr154Dq9AfbH70LyhrSAezJw==", + "requires": { + "browserslist": "^4.16.0", + "caniuse-api": "^3.0.0" } }, - "node_modules/postcss-load-config": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz", - "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==", - "dependencies": { - "cosmiconfig": "^5.0.0", - "import-cwd": "^2.0.0" - }, - "engines": { - "node": ">= 4" + "postcss-reduce-transforms": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.1.tgz", + "integrity": "sha512-a//FjoPeFkRuAguPscTVmRQUODP+f3ke2HqFNgGPwdYnpeC29RZdCBvGRGTsKpMURb/I3p6jdKoBQ2zI+9Q7kA==", + "requires": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" } }, - "node_modules/postcss-load-config/node_modules/cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "dependencies": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, - "engines": { - "node": ">=4" + "postcss-selector-parser": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", + "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" } }, - "node_modules/postcss-load-config/node_modules/import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", - "dependencies": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" + "postcss-sort-media-queries": { + "version": "3.11.12", + "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-3.11.12.tgz", + "integrity": "sha512-PNhEOWR/btZ0bNNRqqdW4TWxBPQ1mu2I6/Zpco80vBUDSyEjtduUAorY0Vm68rvDlGea3+sgEnQ36iQ1A/gG8Q==", + "requires": { + "sort-css-media-queries": "1.5.4" } }, - "node_modules/postcss-load-config/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" + "postcss-svgo": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.2.tgz", + "integrity": "sha512-YzQuFLZu3U3aheizD+B1joQ94vzPfE6BNUcSYuceNxlVnKKsOtdo6hL9/zyC168Q8EwfLSgaDSalsUGa9f2C0A==", + "requires": { + "postcss-value-parser": "^4.1.0", + "svgo": "^2.3.0" } }, - "node_modules/postcss-load-config/node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "engines": { - "node": ">=4" + "postcss-unique-selectors": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.1.tgz", + "integrity": "sha512-gwi1NhHV4FMmPn+qwBNuot1sG1t2OmacLQ/AX29lzyggnjd+MnVD5uqQmpXO3J17KGL2WAxQruj1qTd3H0gG/w==", + "requires": { + "alphanum-sort": "^1.0.2", + "postcss-selector-parser": "^6.0.5", + "uniqs": "^2.0.0" } }, - "node_modules/postcss-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", - "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", - "dependencies": { - "loader-utils": "^1.1.0", - "postcss": "^7.0.0", - "postcss-load-config": "^2.0.0", - "schema-utils": "^1.0.0" - }, - "engines": { - "node": ">= 6" - } + "postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" }, - "node_modules/postcss-loader/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } + "postcss-zindex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-5.0.1.tgz", + "integrity": "sha512-nwgtJJys+XmmSGoYCcgkf/VczP8Mp/0OfSv3v0+fw0uABY4yxw+eFs0Xp9nAZHIKnS5j+e9ywQ+RD+ONyvl5pA==" }, - "node_modules/postcss-loader/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" }, - "node_modules/postcss-loader/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" + "pretty-error": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-3.0.4.tgz", + "integrity": "sha512-ytLFLfv1So4AO1UkoBF6GXQgJRaKbiSiGFICaOPNwQ3CMvBvXpLRubeQWyPGnsbV/t9ml9qto6IeCsho0aEvwQ==", + "requires": { + "lodash": "^4.17.20", + "renderkid": "^2.0.6" } }, - "node_modules/postcss-logical": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-3.0.0.tgz", - "integrity": "sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA==", - "dependencies": { - "postcss": "^7.0.2" - }, - "engines": { - "node": ">=6.0.0" - } + "pretty-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", + "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==" }, - "node_modules/postcss-media-minmax": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz", - "integrity": "sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw==", - "dependencies": { - "postcss": "^7.0.2" - }, - "engines": { - "node": ">=6.0.0" - } + "prism-react-renderer": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-1.2.1.tgz", + "integrity": "sha512-w23ch4f75V1Tnz8DajsYKvY5lF7H1+WvzvLUcF0paFxkTHSp42RS0H5CttdN2Q8RR3DRGZ9v5xD/h3n8C8kGmg==" }, - "node_modules/postcss-merge-idents": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-4.0.1.tgz", - "integrity": "sha512-43S/VNdF6II0NZ31YxcvNYq4gfURlPAAsJW/z84avBXQCaP4I4qRHUH18slW/SOlJbcxxCobflPNUApYDddS7A==", - "dependencies": { - "cssnano-util-same-parent": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } + "prismjs": { + "version": "1.24.1", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.24.1.tgz", + "integrity": "sha512-mNPsedLuk90RVJioIky8ANZEwYm5w9LcvCXrxHlwf4fNVSn8jEipMybMkWUyyF0JhnC+C4VcOVSBuHRKs1L5Ow==" }, - "node_modules/postcss-merge-idents/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, - "node_modules/postcss-merge-longhand": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", - "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", - "dependencies": { - "css-color-names": "0.0.4", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "stylehacks": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "requires": { + "asap": "~2.0.3" } }, - "node_modules/postcss-merge-longhand/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-merge-rules": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", - "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "cssnano-util-same-parent": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0", - "vendors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" + "prompts": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz", + "integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==", + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" } }, - "node_modules/postcss-merge-rules/node_modules/postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dependencies": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=8" + "prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" } }, - "node_modules/postcss-minify-font-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", - "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", - "dependencies": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" + "property-information": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz", + "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==", + "requires": { + "xtend": "^4.0.0" } }, - "node_modules/postcss-minify-font-values/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-minify-gradients": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", - "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", - "dependencies": { - "cssnano-util-get-arguments": "^4.0.0", - "is-color-stop": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" + "proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" } }, - "node_modules/postcss-minify-gradients/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" }, - "node_modules/postcss-minify-params": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", - "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", - "dependencies": { - "alphanum-sort": "^1.0.0", - "browserslist": "^4.0.0", - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "uniqs": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "node_modules/postcss-minify-params/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, - "node_modules/postcss-minify-selectors": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", - "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", - "dependencies": { - "alphanum-sort": "^1.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" + "pupa": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", + "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", + "requires": { + "escape-goat": "^2.0.0" } }, - "node_modules/postcss-minify-selectors/node_modules/postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dependencies": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=8" - } + "pure-color": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz", + "integrity": "sha1-H+Bk+wrIUfDeYTIKi/eWg2Qi8z4=" }, - "node_modules/postcss-modules-extract-imports": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", - "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", - "dependencies": { - "postcss": "^7.0.5" - }, - "engines": { - "node": ">= 6" - } + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" }, - "node_modules/postcss-modules-local-by-default": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz", - "integrity": "sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==", - "dependencies": { - "icss-utils": "^4.1.1", - "postcss": "^7.0.32", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": ">= 6" - } + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" }, - "node_modules/postcss-modules-scope": { + "querystringify": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", - "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", - "dependencies": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^6.0.0" - }, - "engines": { - "node": ">= 6" - } + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" }, - "node_modules/postcss-modules-values": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", - "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", - "dependencies": { - "icss-utils": "^4.0.0", - "postcss": "^7.0.6" - } + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" }, - "node_modules/postcss-nesting": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.1.tgz", - "integrity": "sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg==", - "dependencies": { - "postcss": "^7.0.2" - }, - "engines": { - "node": ">=6.0.0" + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "requires": { + "safe-buffer": "^5.1.0" } }, - "node_modules/postcss-normalize-charset": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", - "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" }, - "node_modules/postcss-normalize-display-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", - "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", - "dependencies": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" } }, - "node_modules/postcss-normalize-display-values/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-normalize-positions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", - "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", - "dependencies": { - "cssnano-util-get-arguments": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" } }, - "node_modules/postcss-normalize-positions/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-normalize-repeat-style": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", - "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", - "dependencies": { - "cssnano-util-get-arguments": "^4.0.0", - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" + "react": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", + "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2" } }, - "node_modules/postcss-normalize-repeat-style/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-normalize-string": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", - "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", - "dependencies": { - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" + "react-base16-styling": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.6.0.tgz", + "integrity": "sha1-7yFW1mz0E5aVyKFniGy2nqZgeSw=", + "requires": { + "base16": "^1.0.0", + "lodash.curry": "^4.0.1", + "lodash.flow": "^3.3.0", + "pure-color": "^1.2.0" } }, - "node_modules/postcss-normalize-string/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-normalize-timing-functions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", - "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", - "dependencies": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" + "react-dev-utils": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-11.0.4.tgz", + "integrity": "sha512-dx0LvIGHcOPtKbeiSUM4jqpBl3TcY7CDjZdfOIcKeznE7BWr9dg0iPG90G5yfVQ+p/rGNMXdbfStvzQZEVEi4A==", + "requires": { + "@babel/code-frame": "7.10.4", + "address": "1.1.2", + "browserslist": "4.14.2", + "chalk": "2.4.2", + "cross-spawn": "7.0.3", + "detect-port-alt": "1.1.6", + "escape-string-regexp": "2.0.0", + "filesize": "6.1.0", + "find-up": "4.1.0", + "fork-ts-checker-webpack-plugin": "4.1.6", + "global-modules": "2.0.0", + "globby": "11.0.1", + "gzip-size": "5.1.1", + "immer": "8.0.1", + "is-root": "2.1.0", + "loader-utils": "2.0.0", + "open": "^7.0.2", + "pkg-up": "3.1.0", + "prompts": "2.4.0", + "react-error-overlay": "^6.0.9", + "recursive-readdir": "2.2.2", + "shell-quote": "1.7.2", + "strip-ansi": "6.0.0", + "text-table": "0.2.0" }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-timing-functions/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-normalize-unicode": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", - "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", "dependencies": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" + "@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "browserslist": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.2.tgz", + "integrity": "sha512-HI4lPveGKUR0x2StIz+2FXfDk9SfVMrxn6PLh1JeGUwcuoDkdKZebWiyLRJ68iIPDpMI4JLVDf7S7XzslgWOhw==", + "requires": { + "caniuse-lite": "^1.0.30001125", + "electron-to-chromium": "^1.3.564", + "escalade": "^3.0.2", + "node-releases": "^1.1.61" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + } + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "requires": { + "address": "^1.0.1", + "debug": "^2.6.0" + } + }, + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" + }, + "globby": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", + "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "prompts": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz", + "integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==", + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + } } }, - "node_modules/postcss-normalize-unicode/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss-normalize-url": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", - "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", - "dependencies": { - "is-absolute-url": "^2.0.0", - "normalize-url": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" + "react-dom": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", + "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.19.1" } }, - "node_modules/postcss-normalize-url/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + "react-error-overlay": { + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz", + "integrity": "sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==" }, - "node_modules/postcss-normalize-whitespace": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", - "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", - "dependencies": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" + "react-fast-compare": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz", + "integrity": "sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==" + }, + "react-helmet": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-6.1.0.tgz", + "integrity": "sha512-4uMzEY9nlDlgxr61NL3XbKRy1hEkXmKNXhjbAIOVw5vcFrsdYbH2FEwcNyWvWinl103nXgzYNlns9ca+8kFiWw==", + "requires": { + "object-assign": "^4.1.1", + "prop-types": "^15.7.2", + "react-fast-compare": "^3.1.1", + "react-side-effect": "^2.1.0" } }, - "node_modules/postcss-normalize-whitespace/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, - "node_modules/postcss-ordered-values": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", - "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", - "dependencies": { - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" + "react-json-view": { + "version": "1.21.3", + "resolved": "https://registry.npmjs.org/react-json-view/-/react-json-view-1.21.3.tgz", + "integrity": "sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw==", + "requires": { + "flux": "^4.0.1", + "react-base16-styling": "^0.6.0", + "react-lifecycles-compat": "^3.0.4", + "react-textarea-autosize": "^8.3.2" } }, - "node_modules/postcss-ordered-values/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + "react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" }, - "node_modules/postcss-overflow-shorthand": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz", - "integrity": "sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g==", - "dependencies": { - "postcss": "^7.0.2" - }, - "engines": { - "node": ">=6.0.0" + "react-loadable": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/react-loadable/-/react-loadable-5.5.0.tgz", + "integrity": "sha512-C8Aui0ZpMd4KokxRdVAm2bQtI03k2RMRNzOB+IipV3yxFTSVICv7WoUr5L9ALB5BmKO1iHgZtWM8EvYG83otdg==", + "requires": { + "prop-types": "^15.5.0" } }, - "node_modules/postcss-page-break": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-2.0.0.tgz", - "integrity": "sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ==", - "dependencies": { - "postcss": "^7.0.2" + "react-loadable-ssr-addon-v5-slorber": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz", + "integrity": "sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==", + "requires": { + "@babel/runtime": "^7.10.3" } }, - "node_modules/postcss-place": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-4.0.1.tgz", - "integrity": "sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg==", - "dependencies": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" + "react-router": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.0.tgz", + "integrity": "sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw==", + "requires": { + "@babel/runtime": "^7.1.2", + "history": "^4.9.0", + "hoist-non-react-statics": "^3.1.0", + "loose-envify": "^1.3.1", + "mini-create-react-context": "^0.4.0", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.6.2", + "react-is": "^16.6.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-preset-env": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz", - "integrity": "sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg==", "dependencies": { - "autoprefixer": "^9.6.1", - "browserslist": "^4.6.4", - "caniuse-lite": "^1.0.30000981", - "css-blank-pseudo": "^0.1.4", - "css-has-pseudo": "^0.10.0", - "css-prefers-color-scheme": "^3.1.1", - "cssdb": "^4.4.0", - "postcss": "^7.0.17", - "postcss-attribute-case-insensitive": "^4.0.1", - "postcss-color-functional-notation": "^2.0.1", - "postcss-color-gray": "^5.0.0", - "postcss-color-hex-alpha": "^5.0.3", - "postcss-color-mod-function": "^3.0.3", - "postcss-color-rebeccapurple": "^4.0.1", - "postcss-custom-media": "^7.0.8", - "postcss-custom-properties": "^8.0.11", - "postcss-custom-selectors": "^5.1.2", - "postcss-dir-pseudo-class": "^5.0.0", - "postcss-double-position-gradients": "^1.0.0", - "postcss-env-function": "^2.0.2", - "postcss-focus-visible": "^4.0.0", - "postcss-focus-within": "^3.0.0", - "postcss-font-variant": "^4.0.0", - "postcss-gap-properties": "^2.0.0", - "postcss-image-set-function": "^3.0.1", - "postcss-initial": "^3.0.0", - "postcss-lab-function": "^2.0.1", - "postcss-logical": "^3.0.0", - "postcss-media-minmax": "^4.0.0", - "postcss-nesting": "^7.0.0", - "postcss-overflow-shorthand": "^2.0.0", - "postcss-page-break": "^2.0.0", - "postcss-place": "^4.0.1", - "postcss-pseudo-class-any-link": "^6.0.0", - "postcss-replace-overflow-wrap": "^3.0.0", - "postcss-selector-matches": "^4.0.0", - "postcss-selector-not": "^4.0.0" - }, - "engines": { - "node": ">=6.0.0" + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "requires": { + "isarray": "0.0.1" + } + } } }, - "node_modules/postcss-pseudo-class-any-link": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz", - "integrity": "sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew==", - "dependencies": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, - "engines": { - "node": ">=6.0.0" + "react-router-config": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz", + "integrity": "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==", + "requires": { + "@babel/runtime": "^7.1.2" } }, - "node_modules/postcss-pseudo-class-any-link/node_modules/cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" + "react-router-dom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.2.0.tgz", + "integrity": "sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA==", + "requires": { + "@babel/runtime": "^7.1.2", + "history": "^4.9.0", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.2", + "react-router": "5.2.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" } }, - "node_modules/postcss-pseudo-class-any-link/node_modules/postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "dependencies": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=4" + "react-side-effect": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-2.1.1.tgz", + "integrity": "sha512-2FoTQzRNTncBVtnzxFOk2mCpcfxQpenBMbk5kSVBg5UcPqV9fRbgY2zhb7GTWWOlpFmAxhClBDlIq8Rsubz1yQ==" + }, + "react-textarea-autosize": { + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.3.3.tgz", + "integrity": "sha512-2XlHXK2TDxS6vbQaoPbMOfQ8GK7+irc2fVK6QFIcC8GOnH3zI/v481n+j1L0WaPVvKxwesnY93fEfH++sus2rQ==", + "requires": { + "@babel/runtime": "^7.10.2", + "use-composed-ref": "^1.0.0", + "use-latest": "^1.0.0" } }, - "node_modules/postcss-reduce-idents": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-4.0.2.tgz", - "integrity": "sha512-Tz70Ri10TclPoCtFfftjFVddx3fZGUkr0dEDbIEfbYhFUOFQZZ77TEqRrU0e6TvAvF+Wa5VVzYTpFpq0uwFFzw==", - "dependencies": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } }, - "node_modules/postcss-reduce-idents/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "requires": { + "picomatch": "^2.2.1" + } }, - "node_modules/postcss-reduce-initial": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", - "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" + "reading-time": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.3.0.tgz", + "integrity": "sha512-RJ8J5O6UvrclfZpcPSPuKusrdRfoY7uXXoYOOdeswZNtSkQaewT3919yz6RyloDBR+iwcUyz5zGOUjhgvfuv3g==" + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "requires": { + "resolve": "^1.1.6" } }, - "node_modules/postcss-reduce-transforms": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", - "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", - "dependencies": { - "cssnano-util-get-match": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" + "recursive-readdir": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", + "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", + "requires": { + "minimatch": "3.0.4" } }, - "node_modules/postcss-reduce-transforms/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" }, - "node_modules/postcss-replace-overflow-wrap": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz", - "integrity": "sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw==", - "dependencies": { - "postcss": "^7.0.2" + "regenerate-unicode-properties": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "requires": { + "regenerate": "^1.4.0" } }, - "node_modules/postcss-selector-matches": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz", - "integrity": "sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==", - "dependencies": { - "balanced-match": "^1.0.0", - "postcss": "^7.0.2" - } + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" }, - "node_modules/postcss-selector-not": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz", - "integrity": "sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ==", - "dependencies": { - "balanced-match": "^1.0.0", - "postcss": "^7.0.2" + "regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "requires": { + "@babel/runtime": "^7.8.4" } }, - "node_modules/postcss-selector-parser": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz", - "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", - "dependencies": { - "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1", - "util-deprecate": "^1.0.2" + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" }, - "engines": { - "node": ">=4" + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } } }, - "node_modules/postcss-sort-media-queries": { - "version": "1.31.21", - "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-1.31.21.tgz", - "integrity": "sha512-h+HbXXfOVFeLvCJOzl/Z9SqQ25MNpG/73k71756ftisaaJy75h06/Dn6KOwC4OCMN10ewT2PXMzHV03JNKwBbg==", - "dependencies": { - "postcss": "^7.0.27", - "sort-css-media-queries": "1.5.0" - }, - "engines": { - "node": ">=8.0.0" + "regexp.prototype.flags": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", + "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" } }, - "node_modules/postcss-svgo": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", - "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", - "dependencies": { - "is-svg": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "svgo": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" + "regexpu-core": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", + "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.2.0" } }, - "node_modules/postcss-svgo/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + "registry-auth-token": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz", + "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==", + "requires": { + "rc": "^1.2.8" + } }, - "node_modules/postcss-unique-selectors": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", - "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", - "dependencies": { - "alphanum-sort": "^1.0.0", - "postcss": "^7.0.0", - "uniqs": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" + "registry-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", + "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", + "requires": { + "rc": "^1.2.8" } }, - "node_modules/postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" + "regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" }, - "node_modules/postcss-values-parser": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz", - "integrity": "sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==", - "dependencies": { - "flatten": "^1.0.2", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" + "regjsparser": { + "version": "0.6.9", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz", + "integrity": "sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==", + "requires": { + "jsesc": "~0.5.0" }, - "engines": { - "node": ">=6.14.4" - } - }, - "node_modules/postcss-zindex": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-4.0.1.tgz", - "integrity": "sha512-d/8BlQcUdEugZNRM9AdCA2V4fqREUtn/wcixLN3L6ITgc2P/FMcVVYz8QZkhItWT9NB5qr8wuN2dJCE4/+dlrA==", "dependencies": { - "has": "^1.0.0", - "postcss": "^7.0.0", - "uniqs": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" + } } }, - "node_modules/postcss/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "rehype-parse": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-6.0.2.tgz", + "integrity": "sha512-0S3CpvpTAgGmnz8kiCyFLGuW5yA4OQhyNTm/nwPopZ7+PI11WnGl1TTWTGv/2hPEe/g2jRLlhVVSsoDH8waRug==", + "requires": { + "hast-util-from-parse5": "^5.0.0", + "parse5": "^5.0.0", + "xtend": "^4.0.0" }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss/node_modules/chalk/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" + "hast-util-from-parse5": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-5.0.3.tgz", + "integrity": "sha512-gOc8UB99F6eWVWFtM9jUikjN7QkWxB3nY0df5Z0Zq1/Nkwl5V4hAAsl0tmwlgWl/1shlTF8DnNYLO8X6wRV9pA==", + "requires": { + "ccount": "^1.0.3", + "hastscript": "^5.0.0", + "property-information": "^5.0.0", + "web-namespaces": "^1.1.2", + "xtend": "^4.0.1" + } + }, + "hastscript": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-5.1.2.tgz", + "integrity": "sha512-WlztFuK+Lrvi3EggsqOkQ52rKbxkXL3RwB6t5lwoa8QLMemoWfBuL43eDrwOamJyR7uKQKdmKYaBH1NZBiIRrQ==", + "requires": { + "comma-separated-tokens": "^1.0.0", + "hast-util-parse-selector": "^2.0.0", + "property-information": "^5.0.0", + "space-separated-tokens": "^1.0.0" + } + }, + "parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==" + } } }, - "node_modules/postcss/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=" }, - "node_modules/postcss/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dependencies": { - "has-flag": "^3.0.0" + "remark-admonitions": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/remark-admonitions/-/remark-admonitions-1.2.1.tgz", + "integrity": "sha512-Ji6p68VDvD+H1oS95Fdx9Ar5WA2wcDA4kwrrhVU7fGctC6+d3uiMICu7w7/2Xld+lnU7/gi+432+rRbup5S8ow==", + "requires": { + "rehype-parse": "^6.0.2", + "unified": "^8.4.2", + "unist-util-visit": "^2.0.1" }, - "engines": { - "node": ">=6" - } - }, - "node_modules/prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pretty-error": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", - "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", "dependencies": { - "lodash": "^4.17.20", - "renderkid": "^2.0.4" + "unified": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-8.4.2.tgz", + "integrity": "sha512-JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA==", + "requires": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + } + } } }, - "node_modules/pretty-time": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", - "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", - "engines": { - "node": ">=4" + "remark-emoji": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/remark-emoji/-/remark-emoji-2.2.0.tgz", + "integrity": "sha512-P3cj9s5ggsUvWw5fS2uzCHJMGuXYRb0NnZqYlNecewXt8QBU9n5vW3DUUKOhepS8F9CwdMx9B8a3i7pqFWAI5w==", + "requires": { + "emoticon": "^3.2.0", + "node-emoji": "^1.10.0", + "unist-util-visit": "^2.0.3" } }, - "node_modules/prism-react-renderer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-1.1.1.tgz", - "integrity": "sha512-MgMhSdHuHymNRqD6KM3eGS0PNqgK9q4QF5P0yoQQvpB6jNjeSAi3jcSAz0Sua/t9fa4xDOMar9HJbLa08gl9ug==" + "remark-footnotes": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/remark-footnotes/-/remark-footnotes-2.0.0.tgz", + "integrity": "sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ==" }, - "node_modules/prismjs": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.22.0.tgz", - "integrity": "sha512-lLJ/Wt9yy0AiSYBf212kK3mM5L8ycwlyTlSxHBAneXLR0nzFMlZ5y7riFPF3E33zXOF2IH95xdY5jIyZbM9z/w==", - "optionalDependencies": { - "clipboard": "^2.0.0" + "remark-mdx": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.6.22.tgz", + "integrity": "sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ==", + "requires": { + "@babel/core": "7.12.9", + "@babel/helper-plugin-utils": "7.10.4", + "@babel/plugin-proposal-object-rest-spread": "7.12.1", + "@babel/plugin-syntax-jsx": "7.12.1", + "@mdx-js/util": "1.6.22", + "is-alphabetical": "1.0.4", + "remark-parse": "8.0.3", + "unified": "9.2.0" + }, + "dependencies": { + "@babel/core": { + "version": "7.12.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz", + "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==", + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.5", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.5", + "@babel/parser": "^7.12.7", + "@babel/template": "^7.12.7", + "@babel/traverse": "^7.12.9", + "@babel/types": "^7.12.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", + "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-transform-parameters": "^7.12.1" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", + "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } } }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "engines": { - "node": ">= 0.6.0" + "remark-parse": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz", + "integrity": "sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==", + "requires": { + "ccount": "^1.0.0", + "collapse-white-space": "^1.0.2", + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-whitespace-character": "^1.0.0", + "is-word-character": "^1.0.0", + "markdown-escapes": "^1.0.0", + "parse-entities": "^2.0.0", + "repeat-string": "^1.5.4", + "state-toggle": "^1.0.0", + "trim": "0.0.1", + "trim-trailing-lines": "^1.0.0", + "unherit": "^1.0.4", + "unist-util-remove-position": "^2.0.0", + "vfile-location": "^3.0.0", + "xtend": "^4.0.1" } }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "node_modules/promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "dependencies": { - "asap": "~2.0.3" + "remark-squeeze-paragraphs": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz", + "integrity": "sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw==", + "requires": { + "mdast-squeeze-paragraphs": "^4.0.0" } }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" }, - "node_modules/prop-types": { - "version": "15.7.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", - "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "renderkid": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", + "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", + "requires": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^3.0.1" + }, "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.8.1" + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + } } }, - "node_modules/property-information": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz", - "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==", - "dependencies": { - "xtend": "^4.0.0" - } + "repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==" }, - "node_modules/proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", - "dependencies": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, - "node_modules/public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dependencies": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - } + "require-like": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", + "integrity": "sha1-rW8wwTvs15cBDEaK+ndcDAprR/o=" }, - "node_modules/public-encrypt/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" }, - "node_modules/pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dependencies": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" } }, - "node_modules/pumpify/node_modules/pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "requires": { + "resolve-from": "^3.0.0" + }, "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" + } } }, - "node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" }, - "node_modules/pupa": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", - "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", - "dependencies": { - "escape-goat": "^2.0.0" - }, - "engines": { - "node": ">=8" - } + "resolve-pathname": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", + "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" }, - "node_modules/pure-color": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz", - "integrity": "sha1-H+Bk+wrIUfDeYTIKi/eWg2Qi8z4=" + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" }, - "node_modules/q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "requires": { + "lowercase-keys": "^1.0.0" } }, - "node_modules/qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "engines": { - "node": ">=0.6" - } + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" }, - "node_modules/query-string": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", - "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", - "dependencies": { - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=" }, - "node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "engines": { - "node": ">=0.4.x" - } + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" }, - "node_modules/querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "engines": { - "node": ">=0.4.x" - } + "rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=" }, - "node_modules/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + "rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dependencies": { - "safe-buffer": "^5.1.0" + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" } }, - "node_modules/randomfill": { + "rtl-detect": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dependencies": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "engines": { - "node": ">= 0.6" - } + "resolved": "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.0.4.tgz", + "integrity": "sha512-EBR4I2VDSSYr7PkBmFy04uhycIpDKp+21p/jARYXlCSjQksTBQcJ0HFUPOO79EPPH5JS6VAhiIQbycf0O3JAxQ==" }, - "node_modules/raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", - "dependencies": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "rtlcss": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-3.3.0.tgz", + "integrity": "sha512-XZ2KEatH2nU5yPlts1Wu8SGIuZ3ndN025HQX5MqtUCUiOn5WkCDbcpJ2VJWjpuFmM2cUTQ1xtH21fhMCSseI5A==", + "requires": { + "chalk": "^4.1.0", + "find-up": "^5.0.0", + "mkdirp": "^1.0.4", + "postcss": "^8.2.4", + "strip-json-comments": "^3.1.1" }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/react": { - "version": "16.14.0", - "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", - "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2" - }, - "engines": { - "node": ">=0.10.0" + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "requires": { + "p-locate": "^5.0.0" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "requires": { + "p-limit": "^3.0.2" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + } } }, - "node_modules/react-base16-styling": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.6.0.tgz", - "integrity": "sha1-7yFW1mz0E5aVyKFniGy2nqZgeSw=", - "dependencies": { - "base16": "^1.0.0", - "lodash.curry": "^4.0.1", - "lodash.flow": "^3.3.0", - "pure-color": "^1.2.0" + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "requires": { + "queue-microtask": "^1.2.2" } }, - "node_modules/react-dev-utils": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-10.2.1.tgz", - "integrity": "sha512-XxTbgJnYZmxuPtY3y/UV0D8/65NKkmaia4rXzViknVnZeVlklSh8u6TnaEYPfAi/Gh1TP4mEOXHI6jQOPbeakQ==", - "dependencies": { - "@babel/code-frame": "7.8.3", - "address": "1.1.2", - "browserslist": "4.10.0", - "chalk": "2.4.2", - "cross-spawn": "7.0.1", - "detect-port-alt": "1.1.6", - "escape-string-regexp": "2.0.0", - "filesize": "6.0.1", - "find-up": "4.1.0", - "fork-ts-checker-webpack-plugin": "3.1.1", - "global-modules": "2.0.0", - "globby": "8.0.2", - "gzip-size": "5.1.1", - "immer": "1.10.0", - "inquirer": "7.0.4", - "is-root": "2.1.0", - "loader-utils": "1.2.3", - "open": "^7.0.2", - "pkg-up": "3.1.0", - "react-error-overlay": "^6.0.7", - "recursive-readdir": "2.2.2", - "shell-quote": "1.7.2", - "strip-ansi": "6.0.0", - "text-table": "0.2.0" + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "requires": { + "tslib": "^1.9.0" }, - "engines": { - "node": ">=8.10" - } - }, - "node_modules/react-dev-utils/node_modules/@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", - "dependencies": { - "@babel/highlight": "^7.8.3" - } - }, - "node_modules/react-dev-utils/node_modules/@nodelib/fs.stat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", - "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/react-dev-utils/node_modules/array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "dependencies": { - "array-uniq": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } } }, - "node_modules/react-dev-utils/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, - "node_modules/react-dev-utils/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "requires": { + "ret": "~0.1.10" } }, - "node_modules/react-dev-utils/node_modules/browserslist": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.10.0.tgz", - "integrity": "sha512-TpfK0TDgv71dzuTsEAlQiHeWQ/tiPqgNZVdv046fvNtBZrjbv2O3TsWCDU0AWGJJKCF/KsjNdLzR9hXOsh/CfA==", - "dependencies": { - "caniuse-lite": "^1.0.30001035", - "electron-to-chromium": "^1.3.378", - "node-releases": "^1.1.52", - "pkg-up": "^3.1.0" - }, - "bin": { - "browserslist": "cli.js" - } + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, - "node_modules/react-dev-utils/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, - "node_modules/react-dev-utils/node_modules/chalk/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "engines": { - "node": ">=0.8.0" + "scheduler": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", + "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" } }, - "node_modules/react-dev-utils/node_modules/cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==" - }, - "node_modules/react-dev-utils/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" + "schema-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz", + "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==", + "requires": { + "@types/json-schema": "^7.0.7", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" } }, - "node_modules/react-dev-utils/node_modules/detect-port-alt": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", - "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", - "dependencies": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "bin": { - "detect": "bin/detect-port", - "detect-port": "bin/detect-port" - }, - "engines": { - "node": ">= 4.2.1" + "section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "requires": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" } }, - "node_modules/react-dev-utils/node_modules/dir-glob": { + "select-hose": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", - "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", - "dependencies": { - "arrify": "^1.0.1", - "path-type": "^3.0.0" - }, - "engines": { - "node": ">=4" - } + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=" }, - "node_modules/react-dev-utils/node_modules/emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "engines": { - "node": ">= 0.10" + "selfsigned": { + "version": "1.10.11", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz", + "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==", + "requires": { + "node-forge": "^0.10.0" } }, - "node_modules/react-dev-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "engines": { - "node": ">=8" + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "requires": { + "lru-cache": "^6.0.0" } }, - "node_modules/react-dev-utils/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "semver-diff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", + "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", + "requires": { + "semver": "^6.3.0" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dev-utils/node_modules/extend-shallow/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } } }, - "node_modules/react-dev-utils/node_modules/fast-glob": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", - "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", - "dependencies": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.1.2", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.3", - "micromatch": "^3.1.10" + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" }, - "engines": { - "node": ">=4.0.0" + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } } }, - "node_modules/react-dev-utils/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "requires": { + "randombytes": "^2.1.0" } }, - "node_modules/react-dev-utils/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" + "serve-handler": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.3.tgz", + "integrity": "sha512-FosMqFBNrLyeiIDvP1zgO6YoTzFYHxLDEIavhlmQ+knB2Z7l1t+kGLHkZIDN7UVWqQAmKI3D20A6F6jo3nDd4w==", + "requires": { + "bytes": "3.0.0", + "content-disposition": "0.5.2", + "fast-url-parser": "1.1.3", + "mime-types": "2.1.18", + "minimatch": "3.0.4", + "path-is-inside": "1.0.2", + "path-to-regexp": "2.2.1", + "range-parser": "1.2.0" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dev-utils/node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/react-dev-utils/node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + }, + "content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=" + }, + "mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==" + }, + "mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "requires": { + "mime-db": "~1.33.0" + } + }, + "path-to-regexp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", + "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==" + }, + "range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" + } } }, - "node_modules/react-dev-utils/node_modules/globby": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", - "integrity": "sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==", - "dependencies": { - "array-union": "^1.0.1", - "dir-glob": "2.0.0", - "fast-glob": "^2.0.2", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" }, - "engines": { - "node": ">=4" - } - }, - "node_modules/react-dev-utils/node_modules/ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==" - }, - "node_modules/react-dev-utils/node_modules/inquirer": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.4.tgz", - "integrity": "sha512-Bu5Td5+j11sCkqfqmUTiwv+tWisMtP0L7Q8WrqA2C/BbBhy1YTdFrvjjlrKq8oagA/tLQBski2Gcx/Sqyi2qSQ==", "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^2.4.2", - "cli-cursor": "^3.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.15", - "mute-stream": "0.0.8", - "run-async": "^2.2.0", - "rxjs": "^6.5.3", - "string-width": "^4.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" - }, - "engines": { - "node": ">=6.0.0" + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + } } }, - "node_modules/react-dev-utils/node_modules/inquirer/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" } }, - "node_modules/react-dev-utils/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, - "node_modules/react-dev-utils/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" } }, - "node_modules/react-dev-utils/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" }, - "node_modules/react-dev-utils/node_modules/loader-utils": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", - "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^2.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" }, - "node_modules/react-dev-utils/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "requires": { + "kind-of": "^6.0.2" } }, - "node_modules/react-dev-utils/node_modules/ms": { + "shebang-command": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } }, - "node_modules/react-dev-utils/node_modules/path-type": { + "shebang-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" }, - "node_modules/react-dev-utils/node_modules/slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "engines": { - "node": ">=0.10.0" - } + "shell-quote": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==" }, - "node_modules/react-dev-utils/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" + "shelljs": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz", + "integrity": "sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==", + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" } }, - "node_modules/react-dev-utils/node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "engines": { - "node": ">=8" - } + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" }, - "node_modules/react-dev-utils/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "sirv": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.12.tgz", + "integrity": "sha512-+jQoCxndz7L2tqQL4ZyzfDhky0W/4ZJip3XoOuxyQWnAwMxindLl3Xv1qT4x1YX/re0leShvTm8Uk0kQspGhBg==", + "requires": { + "@polka/url": "^1.0.0-next.15", + "mime": "^2.3.1", + "totalist": "^1.0.0" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dom": { - "version": "16.14.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", - "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.19.1" + "mime": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", + "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==" + } } }, - "node_modules/react-error-overlay": { - "version": "6.0.8", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.8.tgz", - "integrity": "sha512-HvPuUQnLp5H7TouGq3kzBeioJmXms1wHy9EGjz2OURWBp4qZO6AfGEcnxts1D/CbwPLRAgTMPCEgYhA3sEM4vw==" - }, - "node_modules/react-fast-compare": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz", - "integrity": "sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==" + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" }, - "node_modules/react-helmet": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-6.1.0.tgz", - "integrity": "sha512-4uMzEY9nlDlgxr61NL3XbKRy1hEkXmKNXhjbAIOVw5vcFrsdYbH2FEwcNyWvWinl103nXgzYNlns9ca+8kFiWw==", + "sitemap": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.0.0.tgz", + "integrity": "sha512-Ud0jrRQO2k7fEtPAM+cQkBKoMvxQyPKNXKDLn8tRVHxRCsdDQ2JZvw+aZ5IRYYQVAV9iGxEar6boTwZzev+x3g==", + "requires": { + "@types/node": "^15.0.1", + "@types/sax": "^1.2.1", + "arg": "^5.0.0", + "sax": "^1.2.4" + }, "dependencies": { - "object-assign": "^4.1.1", - "prop-types": "^15.7.2", - "react-fast-compare": "^3.1.1", - "react-side-effect": "^2.1.0" + "@types/node": { + "version": "15.14.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-15.14.2.tgz", + "integrity": "sha512-dvMUE/m2LbXPwlvVuzCyslTEtQ2ZwuuFClDrOQ6mp2CenCg971719PTILZ4I6bTP27xfFFc+o7x2TkLuun/MPw==" + } } }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "node_modules/react-json-view": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/react-json-view/-/react-json-view-1.19.1.tgz", - "integrity": "sha512-u5e0XDLIs9Rj43vWkKvwL8G3JzvXSl6etuS5G42a8klMohZuYFQzSN6ri+/GiBptDqlrXPTdExJVU7x9rrlXhg==", - "dependencies": { - "flux": "^3.1.3", - "react-base16-styling": "^0.6.0", - "react-lifecycles-compat": "^3.0.4", - "react-textarea-autosize": "^6.1.0" - } - }, - "node_modules/react-lifecycles-compat": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", - "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" }, - "node_modules/react-loadable": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/react-loadable/-/react-loadable-5.5.0.tgz", - "integrity": "sha512-C8Aui0ZpMd4KokxRdVAm2bQtI03k2RMRNzOB+IipV3yxFTSVICv7WoUr5L9ALB5BmKO1iHgZtWM8EvYG83otdg==", + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, "dependencies": { - "prop-types": "^15.5.0" + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } } }, - "node_modules/react-loadable-ssr-addon": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/react-loadable-ssr-addon/-/react-loadable-ssr-addon-0.3.0.tgz", - "integrity": "sha512-E+lnmDakV0k6ut6R2J77vurwCOwTKEwKlHs9S62G8ez+ujecLPcqjt3YAU8M58kIGjp2QjFlZ7F9QWkq/mr6Iw==", - "dependencies": { - "@babel/runtime": "^7.10.3" + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" }, - "engines": { - "node": ">=4.2.4" + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } } }, - "node_modules/react-router": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.0.tgz", - "integrity": "sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw==", + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "requires": { + "kind-of": "^3.2.0" + }, "dependencies": { - "@babel/runtime": "^7.1.2", - "history": "^4.9.0", - "hoist-non-react-statics": "^3.1.0", - "loose-envify": "^1.3.1", - "mini-create-react-context": "^0.4.0", - "path-to-regexp": "^1.7.0", - "prop-types": "^15.6.2", - "react-is": "^16.6.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } } }, - "node_modules/react-router-config": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz", - "integrity": "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==", - "dependencies": { - "@babel/runtime": "^7.1.2" + "sockjs": { + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", + "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", + "requires": { + "faye-websocket": "^0.11.3", + "uuid": "^3.4.0", + "websocket-driver": "^0.7.4" } }, - "node_modules/react-router-dom": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.2.0.tgz", - "integrity": "sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA==", + "sockjs-client": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.1.tgz", + "integrity": "sha512-VnVAb663fosipI/m6pqRXakEOw7nvd7TUgdr3PlR/8V2I95QIdwT8L4nMxhyU8SmDBHYXU1TOElaKOmKLfYzeQ==", + "requires": { + "debug": "^3.2.6", + "eventsource": "^1.0.7", + "faye-websocket": "^0.11.3", + "inherits": "^2.0.4", + "json3": "^3.3.3", + "url-parse": "^1.5.1" + }, "dependencies": { - "@babel/runtime": "^7.1.2", - "history": "^4.9.0", - "loose-envify": "^1.3.1", - "prop-types": "^15.6.2", - "react-router": "5.2.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + } } }, - "node_modules/react-router/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + "sort-css-media-queries": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-1.5.4.tgz", + "integrity": "sha512-YP5W/h4Sid/YP7Lp87ejJ5jP13/Mtqt2vx33XyhO+IAugKlufRPbOrPlIiEUuxmpNBSBd3EeeQpFhdu3RfI2Ag==" }, - "node_modules/react-router/node_modules/path-to-regexp": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", - "dependencies": { - "isarray": "0.0.1" - } + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" }, - "node_modules/react-side-effect": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-2.1.1.tgz", - "integrity": "sha512-2FoTQzRNTncBVtnzxFOk2mCpcfxQpenBMbk5kSVBg5UcPqV9fRbgY2zhb7GTWWOlpFmAxhClBDlIq8Rsubz1yQ==" + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, - "node_modules/react-textarea-autosize": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-6.1.0.tgz", - "integrity": "sha512-F6bI1dgib6fSvG8so1HuArPUv+iVEfPliuLWusLF+gAKz0FbB4jLrWUrTAeq1afnPT2c9toEZYUdz/y1uKMy4A==", - "dependencies": { - "prop-types": "^15.6.0" - } + "source-map-js": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", + "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==" }, - "node_modules/react-toggle": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/react-toggle/-/react-toggle-4.1.1.tgz", - "integrity": "sha512-+wXlMcSpg8SmnIXauMaZiKpR+r2wp2gMUteroejp2UTSqGTVvZLN+m9EhMzFARBKEw7KpQOwzCyfzeHeAndQGw==", - "dependencies": { - "classnames": "^2.2.5" + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" } }, - "node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } } }, - "node_modules/reading-time": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.2.1.tgz", - "integrity": "sha512-a27kU9sCJzx4JklmKFMXgMoCWlhBi75DFTbU7+M3rjh5SXRWyacYt02il3muYaA+SUQ7tg5gMQn7GC8zOxTt/g==" + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dependencies": { - "resolve": "^1.1.6" - }, - "engines": { - "node": ">= 0.10" - } + "space-separated-tokens": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", + "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==" }, - "node_modules/recursive-readdir": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", - "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", - "dependencies": { - "minimatch": "3.0.4" - }, - "engines": { - "node": ">=0.10.0" + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" } }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" - }, - "node_modules/regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", - "dependencies": { - "regenerate": "^1.4.0" - }, - "engines": { - "node": ">=4" + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" } }, - "node_modules/regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" - }, - "node_modules/regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "requires": { + "extend-shallow": "^3.0.0" + }, "dependencies": { - "@babel/runtime": "^7.8.4" + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } } }, - "node_modules/regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, - "node_modules/regex-not/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" }, - "node_modules/regex-not/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } + "state-toggle": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz", + "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==" }, - "node_modules/regexp.prototype.flags": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", - "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/regexp.prototype.flags/node_modules/es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } } }, - "node_modules/regexpu-core": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", - "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", - "dependencies": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" - }, - "engines": { - "node": ">=4" - } + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" }, - "node_modules/registry-auth-token": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz", - "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==", - "dependencies": { - "rc": "^1.2.8" - }, - "engines": { - "node": ">=6.0.0" + "std-env": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-2.3.0.tgz", + "integrity": "sha512-4qT5B45+Kjef2Z6pE0BkskzsH0GO7GrND0wGlTM1ioUe3v0dGYx9ZJH0Aro/YyA8fqQ5EyIKDRjZojJYMFTflw==", + "requires": { + "ci-info": "^3.0.0" } }, - "node_modules/registry-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", - "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", - "dependencies": { - "rc": "^1.2.8" + "string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" }, - "engines": { - "node": ">=8" + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + } } }, - "node_modules/regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" - }, - "node_modules/regjsparser": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", - "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" + "string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" } }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "bin": { - "jsesc": "bin/jsesc" + "string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" } }, - "node_modules/rehype-parse": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-6.0.2.tgz", - "integrity": "sha512-0S3CpvpTAgGmnz8kiCyFLGuW5yA4OQhyNTm/nwPopZ7+PI11WnGl1TTWTGv/2hPEe/g2jRLlhVVSsoDH8waRug==", + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + }, "dependencies": { - "hast-util-from-parse5": "^5.0.0", - "parse5": "^5.0.0", - "xtend": "^4.0.0" + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + } } }, - "node_modules/rehype-parse/node_modules/hast-util-from-parse5": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-5.0.3.tgz", - "integrity": "sha512-gOc8UB99F6eWVWFtM9jUikjN7QkWxB3nY0df5Z0Zq1/Nkwl5V4hAAsl0tmwlgWl/1shlTF8DnNYLO8X6wRV9pA==", + "stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "requires": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, "dependencies": { - "ccount": "^1.0.3", - "hastscript": "^5.0.0", - "property-information": "^5.0.0", - "web-namespaces": "^1.1.2", - "xtend": "^4.0.1" + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" + } } }, - "node_modules/rehype-parse/node_modules/hastscript": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-5.1.2.tgz", - "integrity": "sha512-WlztFuK+Lrvi3EggsqOkQ52rKbxkXL3RwB6t5lwoa8QLMemoWfBuL43eDrwOamJyR7uKQKdmKYaBH1NZBiIRrQ==", + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + }, "dependencies": { - "comma-separated-tokens": "^1.0.0", - "hast-util-parse-selector": "^2.0.0", - "property-information": "^5.0.0", - "space-separated-tokens": "^1.0.0" + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + } } }, - "node_modules/rehype-parse/node_modules/parse5": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", - "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==" + "strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=" }, - "node_modules/relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "engines": { - "node": ">= 0.10" - } + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" }, - "node_modules/remark-admonitions": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/remark-admonitions/-/remark-admonitions-1.2.1.tgz", - "integrity": "sha512-Ji6p68VDvD+H1oS95Fdx9Ar5WA2wcDA4kwrrhVU7fGctC6+d3uiMICu7w7/2Xld+lnU7/gi+432+rRbup5S8ow==", - "dependencies": { - "rehype-parse": "^6.0.2", - "unified": "^8.4.2", - "unist-util-visit": "^2.0.1" - } + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" }, - "node_modules/remark-admonitions/node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "engines": { - "node": ">=8" + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + }, + "style-to-object": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz", + "integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==", + "requires": { + "inline-style-parser": "0.1.1" } }, - "node_modules/remark-admonitions/node_modules/unified": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-8.4.2.tgz", - "integrity": "sha512-JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA==", - "dependencies": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-plain-obj": "^2.0.0", - "trough": "^1.0.0", - "vfile": "^4.0.0" + "stylehacks": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.1.tgz", + "integrity": "sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA==", + "requires": { + "browserslist": "^4.16.0", + "postcss-selector-parser": "^6.0.4" } }, - "node_modules/remark-emoji": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/remark-emoji/-/remark-emoji-2.1.0.tgz", - "integrity": "sha512-lDddGsxXURV01WS9WAiS9rO/cedO1pvr9tahtLhr6qCGFhHG4yZSJW3Ha4Nw9Uk1hLNmUBtPC0+m45Ms+xEitg==", - "dependencies": { - "emoticon": "^3.2.0", - "node-emoji": "^1.10.0", - "unist-util-visit": "^2.0.2" + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" } }, - "node_modules/remark-footnotes": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/remark-footnotes/-/remark-footnotes-2.0.0.tgz", - "integrity": "sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ==" + "svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" }, - "node_modules/remark-mdx": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.6.22.tgz", - "integrity": "sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ==", + "svgo": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.3.1.tgz", + "integrity": "sha512-riDDIQgXpEnn0BEl9Gvhh1LNLIyiusSpt64IR8upJu7MwxnzetmF/Y57pXQD2NMX2lVyMRzXt5f2M5rO4wG7Dw==", + "requires": { + "@trysound/sax": "0.1.1", + "chalk": "^4.1.0", + "commander": "^7.1.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.2", + "csso": "^4.2.0", + "stable": "^0.1.8" + }, "dependencies": { - "@babel/core": "7.12.9", - "@babel/helper-plugin-utils": "7.10.4", - "@babel/plugin-proposal-object-rest-spread": "7.12.1", - "@babel/plugin-syntax-jsx": "7.12.1", - "@mdx-js/util": "1.6.22", - "is-alphabetical": "1.0.4", - "remark-parse": "8.0.3", - "unified": "9.2.0" + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" + } } }, - "node_modules/remark-mdx/node_modules/@babel/core": { - "version": "7.12.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz", - "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==", - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.5", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.5", - "@babel/parser": "^7.12.7", - "@babel/template": "^7.12.7", - "@babel/traverse": "^7.12.9", - "@babel/types": "^7.12.7", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.19", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - } + "tapable": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", + "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==" }, - "node_modules/remark-mdx/node_modules/semver": { + "terser": { "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/remark-parse": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz", - "integrity": "sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.1.tgz", + "integrity": "sha512-b3e+d5JbHAe/JSjwsC3Zn55wsBIM7AsHLjKxT31kGCldgbpFePaFo+PiddtO6uwRZWRw7sPXmAN8dTW61xmnSg==", + "requires": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.19" + }, "dependencies": { - "ccount": "^1.0.0", - "collapse-white-space": "^1.0.2", - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-whitespace-character": "^1.0.0", - "is-word-character": "^1.0.0", - "markdown-escapes": "^1.0.0", - "parse-entities": "^2.0.0", - "repeat-string": "^1.5.4", - "state-toggle": "^1.0.0", - "trim": "0.0.1", - "trim-trailing-lines": "^1.0.0", - "unherit": "^1.0.4", - "unist-util-remove-position": "^2.0.0", - "vfile-location": "^3.0.0", - "xtend": "^4.0.1" + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + } } }, - "node_modules/remark-squeeze-paragraphs": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz", - "integrity": "sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw==", + "terser-webpack-plugin": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.4.tgz", + "integrity": "sha512-C2WkFwstHDhVEmsmlCxrXUtVklS+Ir1A7twrYzrDrQQOIMOaVAYykaoo/Aq1K0QRkMoY2hhvDQY1cm4jnIMFwA==", + "requires": { + "jest-worker": "^27.0.2", + "p-limit": "^3.1.0", + "schema-utils": "^3.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1", + "terser": "^5.7.0" + }, "dependencies": { - "mdast-squeeze-paragraphs": "^4.0.0" + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } } }, - "node_modules/remove-trailing-separator": { + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" + }, + "thunky": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" }, - "node_modules/renderkid": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.4.tgz", - "integrity": "sha512-K2eXrSOJdq+HuKzlcjOlGoOarUu5SDguDEhE7+Ah4zuOWL40j8A/oHvLlLob9PSTNvVnBd+/q0Er1QfpEuem5g==", - "dependencies": { - "css-select": "^1.1.0", - "dom-converter": "^0.2", - "htmlparser2": "^3.3.0", - "lodash": "^4.17.20", - "strip-ansi": "^3.0.0" - } + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" }, - "node_modules/renderkid/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "engines": { - "node": ">=0.10.0" - } + "tiny-invariant": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.1.0.tgz", + "integrity": "sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw==" }, - "node_modules/renderkid/node_modules/css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", - "dependencies": { - "boolbase": "~1.0.0", - "css-what": "2.1", - "domutils": "1.5.1", - "nth-check": "~1.0.1" - } + "tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" }, - "node_modules/renderkid/node_modules/css-what": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", - "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", - "engines": { - "node": "*" - } + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" }, - "node_modules/renderkid/node_modules/domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "requires": { + "kind-of": "^3.0.2" + }, "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } } }, - "node_modules/renderkid/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dependencies": { - "ansi-regex": "^2.0.0" + "to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" }, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } } }, - "node_modules/repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "engines": { - "node": ">=0.10.0" + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" } }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "engines": { - "node": ">=0.10" - } + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "engines": { - "node": ">=0.10.0" - } + "totalist": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", + "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==" }, - "node_modules/require-like": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", - "integrity": "sha1-rW8wwTvs15cBDEaK+ndcDAprR/o=", - "engines": { - "node": "*" - } + "trim": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", + "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=" }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + "trim-trailing-lines": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz", + "integrity": "sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==" }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" + "trough": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", + "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==" }, - "node_modules/resolve": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", - "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", - "dependencies": { - "is-core-module": "^2.1.0", - "path-parse": "^1.0.6" - } + "ts-essentials": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-2.0.12.tgz", + "integrity": "sha512-3IVX4nI6B5cc31/GFFE+i8ey/N2eA0CZDbo6n0yrz0zDX8ZJ8djmU1p+XRz7G3is0F3bB3pu2pAroFdAWQKU3w==" }, - "node_modules/resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "dependencies": { - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "engines": { - "node": ">=4" - } + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "engines": { - "node": ">=4" + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" } }, - "node_modules/resolve-pathname": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", - "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" - }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" - }, - "node_modules/responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", - "dependencies": { - "lowercase-keys": "^1.0.0" + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "requires": { + "is-typedarray": "^1.0.0" } }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } + "ua-parser-js": { + "version": "0.7.28", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.28.tgz", + "integrity": "sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g==" }, - "node_modules/ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "engines": { - "node": ">=0.12" + "unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "requires": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" } }, - "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", - "engines": { - "node": ">= 4" + "unherit": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz", + "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==", + "requires": { + "inherits": "^2.0.0", + "xtend": "^4.0.0" } }, - "node_modules/reusify": { + "unicode-canonical-property-names-ecmascript": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==" + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" } }, - "node_modules/rgb-regex": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", - "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=" + "unicode-match-property-value-ecmascript": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==" }, - "node_modules/rgba-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", - "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" + "unicode-property-aliases-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==" }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "^7.1.3" + "unified": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz", + "integrity": "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==", + "requires": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" + } } }, - "node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "engines": { - "node": ">=0.12.0" + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" } }, - "node_modules/run-parallel": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", - "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==" - }, - "node_modules/run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "dependencies": { - "aproba": "^1.1.1" - } + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" }, - "node_modules/rxjs": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", - "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" + "unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "requires": { + "crypto-random-string": "^2.0.0" } }, - "node_modules/rxjs/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dependencies": { - "ret": "~0.1.10" - } + "unist-builder": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz", + "integrity": "sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==" }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "unist-util-generated": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz", + "integrity": "sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==" }, - "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + "unist-util-is": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", + "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==" }, - "node_modules/scheduler": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", - "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } + "unist-util-position": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz", + "integrity": "sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==" }, - "node_modules/schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "dependencies": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 8.9.0" + "unist-util-remove": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.1.0.tgz", + "integrity": "sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q==", + "requires": { + "unist-util-is": "^4.0.0" } }, - "node_modules/section-matter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", - "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", - "dependencies": { - "extend-shallow": "^2.0.1", - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=4" + "unist-util-remove-position": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz", + "integrity": "sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==", + "requires": { + "unist-util-visit": "^2.0.0" } }, - "node_modules/select": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", - "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=", - "optional": true - }, - "node_modules/select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=" - }, - "node_modules/selfsigned": { - "version": "1.10.8", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.8.tgz", - "integrity": "sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w==", - "dependencies": { - "node-forge": "^0.10.0" + "unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", + "requires": { + "@types/unist": "^2.0.2" } }, - "node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" + "unist-util-visit": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", + "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0", + "unist-util-visit-parents": "^3.0.0" } }, - "node_modules/semver-diff": { + "unist-util-visit-parents": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", - "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", - "dependencies": { - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "dependencies": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", + "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0" } }, - "node_modules/send/node_modules/debug/node_modules/ms": { + "universalify": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" }, - "node_modules/send/node_modules/ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" }, - "node_modules/serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", - "dependencies": { - "randombytes": "^2.1.0" - } + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=" }, - "node_modules/serve-handler": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.3.tgz", - "integrity": "sha512-FosMqFBNrLyeiIDvP1zgO6YoTzFYHxLDEIavhlmQ+knB2Z7l1t+kGLHkZIDN7UVWqQAmKI3D20A6F6jo3nDd4w==", + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, "dependencies": { - "bytes": "3.0.0", - "content-disposition": "0.5.2", - "fast-url-parser": "1.1.3", - "mime-types": "2.1.18", - "minimatch": "3.0.4", - "path-is-inside": "1.0.2", - "path-to-regexp": "2.2.1", - "range-parser": "1.2.0" - } - }, - "node_modules/serve-handler/node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/serve-handler/node_modules/content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-handler/node_modules/mime-db": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-handler/node_modules/mime-types": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", - "dependencies": { - "mime-db": "~1.33.0" - }, - "engines": { - "node": ">= 0.6" + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + } } }, - "node_modules/serve-handler/node_modules/path-to-regexp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", - "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==" - }, - "node_modules/serve-handler/node_modules/range-parser": { + "upath": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "dependencies": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/serve-index/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "node_modules/serve-index/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/serve-index/node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" }, - "node_modules/serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - }, - "engines": { - "node": ">= 0.8.0" + "update-notifier": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz", + "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==", + "requires": { + "boxen": "^5.0.0", + "chalk": "^4.1.0", + "configstore": "^5.0.1", + "has-yarn": "^2.1.0", + "import-lazy": "^2.1.0", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.4.0", + "is-npm": "^5.0.0", + "is-yarn-global": "^0.3.0", + "latest-version": "^5.1.0", + "pupa": "^2.1.1", + "semver": "^7.3.4", + "semver-diff": "^3.1.1", + "xdg-basedir": "^4.0.0" } }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "node_modules/set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "requires": { + "punycode": "^2.1.0" } }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" - }, - "node_modules/setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" - }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" - } + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dependencies": { - "shebang-regex": "^3.0.0" + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "engines": { - "node": ">=8" - } - }, - "node_modules/shell-quote": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", - "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==" - }, - "node_modules/shelljs": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz", - "integrity": "sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==", "dependencies": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "bin": { - "shjs": "bin/shjs" - }, - "engines": { - "node": ">=4" + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + } } }, - "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" - }, - "node_modules/simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", - "dependencies": { - "is-arrayish": "^0.3.1" + "url-loader": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", + "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", + "requires": { + "loader-utils": "^2.0.0", + "mime-types": "^2.1.27", + "schema-utils": "^3.0.0" } }, - "node_modules/sitemap": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-3.2.2.tgz", - "integrity": "sha512-TModL/WU4m2q/mQcrDgNANn0P4LwprM9MMvG4hu5zP4c6IIKs2YLTu6nXXnNr8ODW/WFtxKggiJ1EGn2W0GNmg==", - "dependencies": { - "lodash.chunk": "^4.2.0", - "lodash.padstart": "^4.6.1", - "whatwg-url": "^7.0.0", - "xmlbuilder": "^13.0.0" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=4.0.0" + "url-parse": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.1.tgz", + "integrity": "sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==", + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" } }, - "node_modules/slash": { + "url-parse-lax": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dependencies": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dependencies": { - "kind-of": "^3.2.0" - }, - "engines": { - "node": ">=0.10.0" + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "requires": { + "prepend-http": "^2.0.0" } }, - "node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" }, - "node_modules/snapdragon/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/sockjs": { - "version": "0.3.21", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", - "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", - "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^3.4.0", - "websocket-driver": "^0.7.4" - } - }, - "node_modules/sockjs-client": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.0.tgz", - "integrity": "sha512-8Dt3BDi4FYNrCFGTL/HtwVzkARrENdwOUf1ZoW/9p3M8lZdFT35jVdrHza+qgxuG9H3/shR4cuX/X9umUrjP8Q==", - "dependencies": { - "debug": "^3.2.6", - "eventsource": "^1.0.7", - "faye-websocket": "^0.11.3", - "inherits": "^2.0.4", - "json3": "^3.3.3", - "url-parse": "^1.4.7" - } - }, - "node_modules/sockjs-client/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/sort-css-media-queries": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-1.5.0.tgz", - "integrity": "sha512-QofNE7CEVH1AKdhS7L9IPbV9UtyQYNXyw++8lC+xG6iOLlpzsmncZRiKbihTAESvZ8wOhwnPoesHbMrehrQyyw==", - "engines": { - "node": ">= 6.3.0" - } - }, - "node_modules/sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", - "dependencies": { - "is-plain-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" - }, - "node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" - }, - "node_modules/space-separated-tokens": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", - "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==" - }, - "node_modules/spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "dependencies": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "dependencies": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - } - }, - "node_modules/split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dependencies": { - "extend-shallow": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/split-string/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/split-string/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "node_modules/ssri": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.0.tgz", - "integrity": "sha512-aq/pz989nxVYwn16Tsbj1TqFpD5LLrQxHf5zaHuieFV+R0Bbr4y8qUsOA45hXT/N4/9UNXTarBjnjVmjSOVaAA==", - "dependencies": { - "minipass": "^3.1.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" - }, - "node_modules/state-toggle": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz", - "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==" - }, - "node_modules/static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/std-env": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-2.2.1.tgz", - "integrity": "sha512-IjYQUinA3lg5re/YMlwlfhqNRTzMZMqE+pezevdcTaHceqx8ngEi1alX9nNCk9Sc81fy1fLDeQoaCzeiW1yBOQ==", - "dependencies": { - "ci-info": "^1.6.0" - } - }, - "node_modules/stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dependencies": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "node_modules/stream-browserify/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/stream-browserify/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dependencies": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "node_modules/stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - } - }, - "node_modules/stream-http/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/stream-http/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" - }, - "node_modules/strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "node_modules/string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/string-width/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", - "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", - "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "node_modules/stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "dependencies": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/stringify-object/node_modules/is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-bom-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", - "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/style-to-object": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz", - "integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==", - "dependencies": { - "inline-style-parser": "0.1.1" - } - }, - "node_modules/stylehacks": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", - "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", - "dependencies": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/stylehacks/node_modules/postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dependencies": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/svg-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" - }, - "node_modules/svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "dependencies": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/svgo/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/tar": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.5.tgz", - "integrity": "sha512-0b4HOimQHj9nXNEAA7zWwMM91Zhhba3pspja6sQbgTpynOJf+bkjBnfybNYzbpLbnwXnbyB4LOREvlyXLkCHSg==", - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/tar/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/term-size": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", - "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", - "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz", - "integrity": "sha512-jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ==", - "dependencies": { - "cacache": "^15.0.5", - "find-cache-dir": "^3.3.1", - "jest-worker": "^26.5.0", - "p-limit": "^3.0.2", - "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", - "source-map": "^0.6.1", - "terser": "^5.3.4", - "webpack-sources": "^1.4.3" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/terser-webpack-plugin/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dependencies": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/terser": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.5.1.tgz", - "integrity": "sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ==", - "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.19" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin/node_modules/terser/node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/terser/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/through2/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/through2/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" - }, - "node_modules/timers-browserify": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", - "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", - "dependencies": { - "setimmediate": "^1.0.4" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" - }, - "node_modules/tiny-emitter": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", - "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==", - "optional": true - }, - "node_modules/tiny-invariant": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.1.0.tgz", - "integrity": "sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw==" - }, - "node_modules/tiny-warning": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" - }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "engines": { - "node": ">=4" - } - }, - "node_modules/to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-object-path/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-readable-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", - "engines": { - "node": ">=6" - } - }, - "node_modules/to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dependencies": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/to-regex/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/tr46/node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/trim": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", - "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=" - }, - "node_modules/trim-trailing-lines": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz", - "integrity": "sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==" - }, - "node_modules/trough": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", - "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==" - }, - "node_modules/tryer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", - "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" - }, - "node_modules/ts-pnp": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", - "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" - }, - "node_modules/tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" - }, - "node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/ua-parser-js": { - "version": "0.7.23", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.23.tgz", - "integrity": "sha512-m4hvMLxgGHXG3O3fQVAyyAQpZzDOvwnhOTjYz5Xmr7r/+LpkNy3vJXdVRWgd1TkAb7NGROZuSy96CrlNVjA7KA==", - "engines": { - "node": "*" - } - }, - "node_modules/unherit": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz", - "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==", - "dependencies": { - "inherits": "^2.0.0", - "xtend": "^4.0.0" - } - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", - "engines": { - "node": ">=4" - } - }, - "node_modules/unified": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz", - "integrity": "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==", - "dependencies": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^2.0.0", - "trough": "^1.0.0", - "vfile": "^4.0.0" - } - }, - "node_modules/unified/node_modules/is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/unified/node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" - }, - "node_modules/uniqs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" - }, - "node_modules/unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dependencies": { - "unique-slug": "^2.0.0" - } - }, - "node_modules/unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dependencies": { - "imurmurhash": "^0.1.4" - } - }, - "node_modules/unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "dependencies": { - "crypto-random-string": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/unist-builder": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz", - "integrity": "sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==" - }, - "node_modules/unist-util-generated": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz", - "integrity": "sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==" - }, - "node_modules/unist-util-is": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.4.tgz", - "integrity": "sha512-3dF39j/u423v4BBQrk1AQ2Ve1FxY5W3JKwXxVFzBODQ6WEvccguhgp802qQLKSnxPODE6WuRZtV+ohlUg4meBA==" - }, - "node_modules/unist-util-position": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz", - "integrity": "sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==" - }, - "node_modules/unist-util-remove": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.0.1.tgz", - "integrity": "sha512-YtuetK6o16CMfG+0u4nndsWpujgsHDHHLyE0yGpJLLn5xSjKeyGyzEBOI2XbmoUHCYabmNgX52uxlWoQhcvR7Q==", - "dependencies": { - "unist-util-is": "^4.0.0" - } - }, - "node_modules/unist-util-remove-position": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz", - "integrity": "sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==", - "dependencies": { - "unist-util-visit": "^2.0.0" - } - }, - "node_modules/unist-util-stringify-position": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", - "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", - "dependencies": { - "@types/unist": "^2.0.2" - } - }, - "node_modules/unist-util-visit": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", - "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0", - "unist-util-visit-parents": "^3.0.0" - } - }, - "node_modules/unist-util-visit-parents": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", - "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0" - } - }, - "node_modules/universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=" - }, - "node_modules/unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dependencies": { - "isarray": "1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "engines": { - "node": ">=4", - "yarn": "*" - } - }, - "node_modules/update-notifier": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.3.tgz", - "integrity": "sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==", - "dependencies": { - "boxen": "^4.2.0", - "chalk": "^3.0.0", - "configstore": "^5.0.1", - "has-yarn": "^2.1.0", - "import-lazy": "^2.1.0", - "is-ci": "^2.0.0", - "is-installed-globally": "^0.3.1", - "is-npm": "^4.0.0", - "is-yarn-global": "^0.3.0", - "latest-version": "^5.0.0", - "pupa": "^2.0.1", - "semver-diff": "^3.1.1", - "xdg-basedir": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/uri-js": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", - "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/uri-js/node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" - }, - "node_modules/url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "node_modules/url-loader": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", - "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", - "dependencies": { - "loader-utils": "^2.0.0", - "mime-types": "^2.1.27", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/url-loader/node_modules/schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dependencies": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/url-parse": { - "version": "1.4.7", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", - "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "node_modules/url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "dependencies": { - "prepend-http": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/url-parse-lax/node_modules/prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", - "engines": { - "node": ">=4" - } - }, - "node_modules/use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "dependencies": { - "inherits": "2.0.3" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "node_modules/util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - } - }, - "node_modules/util.promisify/node_modules/es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/util/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "node_modules/utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=" - }, - "node_modules/utility-types": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", - "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/value-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", - "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/vendors": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", - "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==" - }, - "node_modules/vfile": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", - "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", - "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^2.0.0", - "vfile-message": "^2.0.0" - } - }, - "node_modules/vfile-location": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz", - "integrity": "sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==" - }, - "node_modules/vfile-message": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", - "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^2.0.0" - } - }, - "node_modules/vfile/node_modules/is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" - }, - "node_modules/wait-on": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-5.2.1.tgz", - "integrity": "sha512-H2F986kNWMU9hKlI9l/ppO6tN8ZSJd35yBljMLa1/vjzWP++Qh6aXyt77/u7ySJFZQqBtQxnvm/xgG48AObXcw==", - "dependencies": { - "axios": "^0.21.1", - "joi": "^17.3.0", - "lodash": "^4.17.20", - "minimist": "^1.2.5", - "rxjs": "^6.6.3" - }, - "bin": { - "wait-on": "bin/wait-on" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", - "dependencies": { - "chokidar": "^3.4.1", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" - }, - "optionalDependencies": { - "watchpack-chokidar2": "^2.0.1" - } - }, - "node_modules/watchpack-chokidar2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", - "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", - "optional": true, - "dependencies": { - "chokidar": "^2.1.8" - } - }, - "node_modules/watchpack-chokidar2/node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "optional": true, - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "optional": true, - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "optional": true, - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "optional": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "optional": true, - "dependencies": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "node_modules/watchpack-chokidar2/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "optional": true, - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/extend-shallow/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "optional": true, - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "optional": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "optional": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "optional": true, - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "optional": true, - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "optional": true, - "dependencies": { - "binary-extensions": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "optional": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "optional": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "optional": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "optional": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/watchpack-chokidar2/node_modules/readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "optional": true, - "dependencies": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/watchpack-chokidar2/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "optional": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "optional": true, - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dependencies": { - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/web-namespaces": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz", - "integrity": "sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==" - }, - "node_modules/webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" - }, - "node_modules/webpack": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz", - "integrity": "sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==", - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.3.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/webpack-bundle-analyzer": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.9.0.tgz", - "integrity": "sha512-Ob8amZfCm3rMB1ScjQVlbYYUEJyEjdEtQ92jqiFUYt5VkEeO2v5UMbv49P/gnmCZm3A6yaFQzCBvpZqN4MUsdA==", - "dependencies": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1", - "bfj": "^6.1.1", - "chalk": "^2.4.1", - "commander": "^2.18.0", - "ejs": "^2.6.1", - "express": "^4.16.3", - "filesize": "^3.6.1", - "gzip-size": "^5.0.0", - "lodash": "^4.17.19", - "mkdirp": "^0.5.1", - "opener": "^1.5.1", - "ws": "^6.0.0" - }, - "bin": { - "webpack-bundle-analyzer": "lib/bin/analyzer.js" - }, - "engines": { - "node": ">= 6.14.4" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/webpack-bundle-analyzer/node_modules/filesize": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", - "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/webpack-dev-middleware": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", - "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", - "dependencies": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", - "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/webpack-dev-middleware/node_modules/mime": { - "version": "2.4.7", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.7.tgz", - "integrity": "sha512-dhNd1uA2u397uQk3Nv5LM4lm93WYDUXFn3Fu291FJerns4jyTudqhIWe4W04YLy7Uk1tm1Ore04NpjRvQp/NPA==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/webpack-dev-server": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.1.tgz", - "integrity": "sha512-u4R3mRzZkbxQVa+MBWi2uVpB5W59H3ekZAJsQlKUTdl7Elcah2EhygTPLmeFXybQkf9i2+L0kn7ik9SnXa6ihQ==", - "dependencies": { - "ansi-html": "0.0.7", - "bonjour": "^3.5.0", - "chokidar": "^2.1.8", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "debug": "^4.1.1", - "del": "^4.1.1", - "express": "^4.17.1", - "html-entities": "^1.3.1", - "http-proxy-middleware": "0.19.1", - "import-local": "^2.0.0", - "internal-ip": "^4.3.0", - "ip": "^1.1.5", - "is-absolute-url": "^3.0.3", - "killable": "^1.0.1", - "loglevel": "^1.6.8", - "opn": "^5.5.0", - "p-retry": "^3.0.1", - "portfinder": "^1.0.26", - "schema-utils": "^1.0.0", - "selfsigned": "^1.10.8", - "semver": "^6.3.0", - "serve-index": "^1.9.1", - "sockjs": "^0.3.21", - "sockjs-client": "^1.5.0", - "spdy": "^4.0.2", - "strip-ansi": "^3.0.1", - "supports-color": "^6.1.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^3.7.2", - "webpack-log": "^2.0.0", - "ws": "^6.2.1", - "yargs": "^13.3.2" - }, - "bin": { - "webpack-dev-server": "bin/webpack-dev-server.js" - }, - "engines": { - "node": ">= 6.11.5" - } - }, - "node_modules/webpack-dev-server/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "node_modules/webpack-dev-server/node_modules/anymatch/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dependencies": { - "array-uniq": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dependencies": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, - "optionalDependencies": { - "fsevents": "^1.2.7" - } - }, - "node_modules/webpack-dev-server/node_modules/del": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", - "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", - "dependencies": { - "@types/glob": "^7.1.1", - "globby": "^6.1.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "pify": "^4.0.1", - "rimraf": "^2.6.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/extend-shallow/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/webpack-dev-server/node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/webpack-dev-server/node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dependencies": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/globby/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", - "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/webpack-dev-server/node_modules/is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dependencies": { - "binary-extensions": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/webpack-dev-server/node_modules/readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dependencies": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/webpack-dev-server/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/webpack-dev-server/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/webpack-dev-server/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/webpack-dev-server/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", - "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", - "dependencies": { - "ansi-colors": "^3.0.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/webpack-merge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", - "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", - "dependencies": { - "lodash": "^4.17.15" - } - }, - "node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, - "node_modules/webpack-sources/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dependencies": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "node_modules/webpack/node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "node_modules/webpack/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/extend-shallow/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/webpack/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/webpack/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/webpack/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/webpack/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "engines": { - "node": ">=4" - } - }, - "node_modules/webpack/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack/node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/webpack/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/webpack/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/webpack/node_modules/serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/webpack/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "dependencies": { - "figgy-pudding": "^3.5.1" - } - }, - "node_modules/webpack/node_modules/terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", - "dependencies": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - }, - "engines": { - "node": ">= 6.9.0" - } - }, - "node_modules/webpack/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "node_modules/webpackbar": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-4.0.0.tgz", - "integrity": "sha512-k1qRoSL/3BVuINzngj09nIwreD8wxV4grcuhHTD8VJgUbGcy8lQSPqv+bM00B7F+PffwIsQ8ISd4mIwRbr23eQ==", - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^2.4.2", - "consola": "^2.10.0", - "figures": "^3.0.0", - "pretty-time": "^1.1.0", - "std-env": "^2.2.1", - "text-table": "^0.2.0", - "wrap-ansi": "^6.0.0" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/webpackbar/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/webpackbar/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/webpackbar/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/webpackbar/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/webpackbar/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/webpackbar/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/webpackbar/node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "dependencies": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/whatwg-fetch": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.5.0.tgz", - "integrity": "sha512-jXkLtsR42xhXg7akoDKvKWE40eJeI+2KZqcp2h3NsOrRnDvtWX36KcKl30dy+hxECivdk2BVUHVNrPtoMBUx6A==" - }, - "node_modules/whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "dependencies": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" - }, - "node_modules/widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", - "dependencies": { - "string-width": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", - "dependencies": { - "errno": "~0.1.7" - } - }, - "node_modules/worker-rpc": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/worker-rpc/-/worker-rpc-0.1.1.tgz", - "integrity": "sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==", - "dependencies": { - "microevent.ts": "~0.1.1" - } - }, - "node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", - "dependencies": { - "async-limiter": "~1.0.0" - } - }, - "node_modules/xdg-basedir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", - "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/xml-js": { - "version": "1.6.11", - "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", - "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", - "dependencies": { - "sax": "^1.2.4" - }, - "bin": { - "xml-js": "bin/cli.js" - } - }, - "node_modules/xmlbuilder": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-13.0.2.tgz", - "integrity": "sha512-Eux0i2QdDYKbdbA6AM6xE4m6ZTZr4G4xF9kahI2ukSEMCzwce2eX9WlTI5J3s+NU7hpasFsr8hWIONae7LluAQ==", - "engines": { - "node": ">=6.0" - } - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==" - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/yaml": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", - "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "node_modules/yargs-parser/node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "engines": { - "node": ">=4" - } - }, - "node_modules/yargs/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "engines": { - "node": ">=10" - } - }, - "node_modules/zwitch": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", - "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==" - } - }, - "dependencies": { - "@algolia/autocomplete-core": { - "version": "1.0.0-alpha.38", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.0.0-alpha.38.tgz", - "integrity": "sha512-mN/cMSNqMvkodkUZ8yMZUof8RquKCjNMGJwt+sejpLuvq4/kTzZZmsJQW7pplWxp+E/axXkdfMwkh/OdRTa8vA==", - "requires": { - "@algolia/autocomplete-shared": "1.0.0-alpha.38" - } - }, - "@algolia/autocomplete-preset-algolia": { - "version": "1.0.0-alpha.38", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.0.0-alpha.38.tgz", - "integrity": "sha512-wwdU1kjUWkOa0XrGi9Smp2eS6R3hfOze1O0AUnAFQ+kGLOpo02DmydU1yXRFfXnYgW3mW97CvsMpMe73BWKkDA==", - "requires": { - "@algolia/autocomplete-shared": "1.0.0-alpha.38" - } - }, - "@algolia/autocomplete-shared": { - "version": "1.0.0-alpha.38", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.0.0-alpha.38.tgz", - "integrity": "sha512-4GPHme9Wm8JN2ZTQWZaOgfJk28Z3WdC9XUaAhdd0Vii0GZkBMXSwlpeLPvKyrpuaocnkrMPafKJOMRHU0baMGQ==" - }, - "@algolia/cache-browser-local-storage": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.8.3.tgz", - "integrity": "sha512-Cwc03hikHSUI+xvgUdN+H+f6jFyoDsC9fegzXzJ2nPn1YSN9EXzDMBnbrgl0sbl9iLGXe0EIGMYqR2giCv1wMQ==", - "requires": { - "@algolia/cache-common": "4.8.3" - } - }, - "@algolia/cache-common": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.8.3.tgz", - "integrity": "sha512-Cf7zZ2i6H+tLSBTkFePHhYvlgc9fnMPKsF9qTmiU38kFIGORy/TN2Fx5n1GBuRLIzaSXvcf+oHv1HvU0u1gE1g==" - }, - "@algolia/cache-in-memory": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.8.3.tgz", - "integrity": "sha512-+N7tkvmijXiDy2E7u1mM73AGEgGPWFmEmPeJS96oT46I98KXAwVPNYbcAqBE79YlixdXpkYJk41cFcORzNh+Iw==", - "requires": { - "@algolia/cache-common": "4.8.3" - } - }, - "@algolia/client-account": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.8.3.tgz", - "integrity": "sha512-Uku8LqnXBwfDCtsTCDYTUOz2/2oqcAQCKgaO0uGdIR8DTQENBXFQvzziambHdn9KuFuY+6Et9k1+cjpTPBDTBg==", - "requires": { - "@algolia/client-common": "4.8.3", - "@algolia/client-search": "4.8.3", - "@algolia/transporter": "4.8.3" - } - }, - "@algolia/client-analytics": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.8.3.tgz", - "integrity": "sha512-9ensIWmjYJprZ+YjAVSZdWUG05xEnbytENXp508X59tf34IMIX8BR2xl0RjAQODtxBdAteGxuKt5THX6U9tQLA==", - "requires": { - "@algolia/client-common": "4.8.3", - "@algolia/client-search": "4.8.3", - "@algolia/requester-common": "4.8.3", - "@algolia/transporter": "4.8.3" - } - }, - "@algolia/client-common": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.8.3.tgz", - "integrity": "sha512-TU3623AEFAWUQlDTznkgAMSYo8lfS9pNs5QYDQzkvzWdqK0GBDWthwdRfo9iIsfxiR9qdCMHqwEu+AlZMVhNSA==", - "requires": { - "@algolia/requester-common": "4.8.3", - "@algolia/transporter": "4.8.3" - } - }, - "@algolia/client-recommendation": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/@algolia/client-recommendation/-/client-recommendation-4.8.3.tgz", - "integrity": "sha512-qysGbmkcc6Agt29E38KWJq9JuxjGsyEYoKuX9K+P5HyQh08yR/BlRYrA8mB7vT/OIUHRGFToGO6Vq/rcg0NIOQ==", - "requires": { - "@algolia/client-common": "4.8.3", - "@algolia/requester-common": "4.8.3", - "@algolia/transporter": "4.8.3" - } - }, - "@algolia/client-search": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.8.3.tgz", - "integrity": "sha512-rAnvoy3GAhbzOQVniFcKVn1eM2NX77LearzYNCbtFrFYavG+hJI187bNVmajToiuGZ10FfJvK99X2OB1AzzezQ==", - "requires": { - "@algolia/client-common": "4.8.3", - "@algolia/requester-common": "4.8.3", - "@algolia/transporter": "4.8.3" - } - }, - "@algolia/logger-common": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.8.3.tgz", - "integrity": "sha512-03wksHRbhl2DouEKnqWuUb64s1lV6kDAAabMCQ2Du1fb8X/WhDmxHC4UXMzypeOGlH5BZBsgVwSB7vsZLP3MZg==" - }, - "@algolia/logger-console": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.8.3.tgz", - "integrity": "sha512-Npt+hI4UF8t3TLMluL5utr9Gc11BjL5kDnGZOhDOAz5jYiSO2nrHMFmnpLT4Cy/u7a5t7EB5dlypuC4/AGStkA==", - "requires": { - "@algolia/logger-common": "4.8.3" - } - }, - "@algolia/requester-browser-xhr": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.8.3.tgz", - "integrity": "sha512-/LTTIpgEmEwkyhn8yXxDdBWqXqzlgw5w2PtTpIwkSlP2/jDwdR/9w1TkFzhNbJ81ki6LAEQM5mSwoTTnbIIecg==", - "requires": { - "@algolia/requester-common": "4.8.3" - } - }, - "@algolia/requester-common": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.8.3.tgz", - "integrity": "sha512-+Yo9vBkofoKR1SCqqtMnmnfq9yt/BiaDewY/6bYSMNxSYCnu2Fw1JKSIaf/4zos09PMSsxGpLohZwGas3+0GDQ==" - }, - "@algolia/requester-node-http": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.8.3.tgz", - "integrity": "sha512-k2fiKIeMIFqgC01FnzII6kqC2GQBAfbNaUX4k7QCPa6P8t4sp2xE6fImOUiztLnnL3C9X9ZX6Fw3L+cudi7jvQ==", - "requires": { - "@algolia/requester-common": "4.8.3" - } - }, - "@algolia/transporter": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.8.3.tgz", - "integrity": "sha512-nU7fy2iU8snxATlsks0MjMyv97QJWQmOVwTjDc+KZ4+nue8CLcgm4LA4dsTBqvxeCQIoEtt3n72GwXcaqiJSjQ==", - "requires": { - "@algolia/cache-common": "4.8.3", - "@algolia/logger-common": "4.8.3", - "@algolia/requester-common": "4.8.3" - } - }, - "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/compat-data": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.7.tgz", - "integrity": "sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==" - }, - "@babel/core": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz", - "integrity": "sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==", - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.10", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.5", - "@babel/parser": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/traverse": "^7.12.10", - "@babel/types": "^7.12.10", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.19", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "@babel/generator": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", - "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", - "requires": { - "@babel/types": "^7.12.11", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.10.tgz", - "integrity": "sha512-XplmVbC1n+KY6jL8/fgLVXXUauDIB+lD5+GsQEh6F6GBF1dq1qy4DP4yXWzDKcoqXB3X58t61e85Fitoww4JVQ==", - "requires": { - "@babel/types": "^7.12.10" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", - "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", - "requires": { - "@babel/helper-explode-assignable-expression": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz", - "integrity": "sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==", - "requires": { - "@babel/compat-data": "^7.12.5", - "@babel/helper-validator-option": "^7.12.1", - "browserslist": "^4.14.5", - "semver": "^5.5.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", - "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-member-expression-to-functions": "^7.12.1", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4" - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz", - "integrity": "sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "regexpu-core": "^4.7.1" - } - }, - "@babel/helper-define-map": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", - "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/types": "^7.10.5", - "lodash": "^4.17.19" - } - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz", - "integrity": "sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==", - "requires": { - "@babel/types": "^7.12.1" - } - }, - "@babel/helper-function-name": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", - "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", - "requires": { - "@babel/helper-get-function-arity": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/types": "^7.12.11" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", - "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", - "requires": { - "@babel/types": "^7.12.10" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", - "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", - "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", - "requires": { - "@babel/types": "^7.12.7" - } - }, - "@babel/helper-module-imports": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", - "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", - "requires": { - "@babel/types": "^7.12.5" - } - }, - "@babel/helper-module-transforms": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", - "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", - "requires": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-simple-access": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/helper-validator-identifier": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.1", - "@babel/types": "^7.12.1", - "lodash": "^4.17.19" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz", - "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==", - "requires": { - "@babel/types": "^7.12.10" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz", - "integrity": "sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-wrap-function": "^7.10.4", - "@babel/types": "^7.12.1" - } - }, - "@babel/helper-replace-supers": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz", - "integrity": "sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==", - "requires": { - "@babel/helper-member-expression-to-functions": "^7.12.7", - "@babel/helper-optimise-call-expression": "^7.12.10", - "@babel/traverse": "^7.12.10", - "@babel/types": "^7.12.11" - } - }, - "@babel/helper-simple-access": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", - "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", - "requires": { - "@babel/types": "^7.12.1" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", - "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", - "requires": { - "@babel/types": "^7.12.1" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", - "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", - "requires": { - "@babel/types": "^7.12.11" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" - }, - "@babel/helper-validator-option": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz", - "integrity": "sha512-TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw==" - }, - "@babel/helper-wrap-function": { - "version": "7.12.3", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz", - "integrity": "sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==", - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helpers": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", - "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", - "requires": { - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.5", - "@babel/types": "^7.12.5" - } - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - } - } - }, - "@babel/parser": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", - "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==" - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.12.tgz", - "integrity": "sha512-nrz9y0a4xmUrRq51bYkWJIO5SBZyG2ys2qinHsN0zHDHVsUaModrkpyWWWXfGqYQmOL3x9sQIcTNN/pBGpo09A==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.12.1", - "@babel/plugin-syntax-async-generators": "^7.8.0" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", - "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz", - "integrity": "sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-dynamic-import": "^7.8.0" - } - }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz", - "integrity": "sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz", - "integrity": "sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.0" - } - }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz", - "integrity": "sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz", - "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz", - "integrity": "sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", - "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.12.1" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz", - "integrity": "sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz", - "integrity": "sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", - "@babel/plugin-syntax-optional-chaining": "^7.8.0" - } - }, - "@babel/plugin-proposal-private-methods": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz", - "integrity": "sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz", - "integrity": "sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", - "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", - "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", - "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.1.tgz", - "integrity": "sha512-UZNEcCY+4Dp9yYRCAHrHDU+9ZXLYaY9MgBXSRLkB9WjYFRR6quJBumfVrEkUxrePPBwFcpWfNKXqVRQQtm7mMA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz", - "integrity": "sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", - "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", - "requires": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.12.1" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz", - "integrity": "sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.12.tgz", - "integrity": "sha512-VOEPQ/ExOVqbukuP7BYJtI5ZxxsmegTwzZ04j1aF0dkSypGo9XpDHuOrABsJu+ie+penpSJheDJ11x1BEZNiyQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz", - "integrity": "sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-define-map": "^7.10.4", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz", - "integrity": "sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz", - "integrity": "sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz", - "integrity": "sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz", - "integrity": "sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz", - "integrity": "sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==", - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz", - "integrity": "sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz", - "integrity": "sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==", - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz", - "integrity": "sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz", - "integrity": "sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz", - "integrity": "sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==", - "requires": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "dependencies": { - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "requires": { - "object.assign": "^4.1.0" - } - } - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz", - "integrity": "sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==", - "requires": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-simple-access": "^7.12.1", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "dependencies": { - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "requires": { - "object.assign": "^4.1.0" - } - } - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz", - "integrity": "sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==", - "requires": { - "@babel/helper-hoist-variables": "^7.10.4", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-identifier": "^7.10.4", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "dependencies": { - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "requires": { - "object.assign": "^4.1.0" - } - } - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz", - "integrity": "sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==", - "requires": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz", - "integrity": "sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz", - "integrity": "sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz", - "integrity": "sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz", - "integrity": "sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz", - "integrity": "sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-react-constant-elements": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.12.1.tgz", - "integrity": "sha512-KOHd0tIRLoER+J+8f9DblZDa1fLGPwaaN1DI1TVHuQFOpjHV22C3CUB3obeC4fexHY9nx+fH0hQNvLFFfA1mxA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-react-display-name": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.1.tgz", - "integrity": "sha512-cAzB+UzBIrekfYxyLlFqf/OagTvHLcVBb5vpouzkYkBclRPraiygVnafvAoipErZLI8ANv8Ecn6E/m5qPXD26w==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-react-jsx": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.12.tgz", - "integrity": "sha512-JDWGuzGNWscYcq8oJVCtSE61a5+XAOos+V0HrxnDieUus4UMnBEosDnY1VJqU5iZ4pA04QY7l0+JvHL1hZEfsw==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.12.10", - "@babel/helper-module-imports": "^7.12.5", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-jsx": "^7.12.1", - "@babel/types": "^7.12.12" - } - }, - "@babel/plugin-transform-react-jsx-development": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.12.tgz", - "integrity": "sha512-i1AxnKxHeMxUaWVXQOSIco4tvVvvCxMSfeBMnMM06mpaJt3g+MpxYQQrDfojUQldP1xxraPSJYSMEljoWM/dCg==", - "requires": { - "@babel/plugin-transform-react-jsx": "^7.12.12" - } - }, - "@babel/plugin-transform-react-pure-annotations": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.12.1.tgz", - "integrity": "sha512-RqeaHiwZtphSIUZ5I85PEH19LOSzxfuEazoY7/pWASCAIBuATQzpSVD+eT6MebeeZT2F4eSL0u4vw6n4Nm0Mjg==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz", - "integrity": "sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==", - "requires": { - "regenerator-transform": "^0.14.2" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz", - "integrity": "sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-runtime": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.10.tgz", - "integrity": "sha512-xOrUfzPxw7+WDm9igMgQCbO3cJKymX7dFdsgRr1eu9n3KjjyU4pptIXbXPseQDquw+W+RuJEJMHKHNsPNNm3CA==", - "requires": { - "@babel/helper-module-imports": "^7.12.5", - "@babel/helper-plugin-utils": "^7.10.4", - "semver": "^5.5.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz", - "integrity": "sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz", - "integrity": "sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz", - "integrity": "sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz", - "integrity": "sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz", - "integrity": "sha512-JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-typescript": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.12.1.tgz", - "integrity": "sha512-VrsBByqAIntM+EYMqSm59SiMEf7qkmI9dqMt6RbD/wlwueWmYcI0FFK5Fj47pP6DRZm+3teXjosKlwcZJ5lIMw==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-typescript": "^7.12.1" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz", - "integrity": "sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz", - "integrity": "sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/preset-env": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.11.tgz", - "integrity": "sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw==", - "requires": { - "@babel/compat-data": "^7.12.7", - "@babel/helper-compilation-targets": "^7.12.5", - "@babel/helper-module-imports": "^7.12.5", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-option": "^7.12.11", - "@babel/plugin-proposal-async-generator-functions": "^7.12.1", - "@babel/plugin-proposal-class-properties": "^7.12.1", - "@babel/plugin-proposal-dynamic-import": "^7.12.1", - "@babel/plugin-proposal-export-namespace-from": "^7.12.1", - "@babel/plugin-proposal-json-strings": "^7.12.1", - "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", - "@babel/plugin-proposal-numeric-separator": "^7.12.7", - "@babel/plugin-proposal-object-rest-spread": "^7.12.1", - "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.12.7", - "@babel/plugin-proposal-private-methods": "^7.12.1", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", - "@babel/plugin-syntax-async-generators": "^7.8.0", - "@babel/plugin-syntax-class-properties": "^7.12.1", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.0", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.12.1", - "@babel/plugin-transform-arrow-functions": "^7.12.1", - "@babel/plugin-transform-async-to-generator": "^7.12.1", - "@babel/plugin-transform-block-scoped-functions": "^7.12.1", - "@babel/plugin-transform-block-scoping": "^7.12.11", - "@babel/plugin-transform-classes": "^7.12.1", - "@babel/plugin-transform-computed-properties": "^7.12.1", - "@babel/plugin-transform-destructuring": "^7.12.1", - "@babel/plugin-transform-dotall-regex": "^7.12.1", - "@babel/plugin-transform-duplicate-keys": "^7.12.1", - "@babel/plugin-transform-exponentiation-operator": "^7.12.1", - "@babel/plugin-transform-for-of": "^7.12.1", - "@babel/plugin-transform-function-name": "^7.12.1", - "@babel/plugin-transform-literals": "^7.12.1", - "@babel/plugin-transform-member-expression-literals": "^7.12.1", - "@babel/plugin-transform-modules-amd": "^7.12.1", - "@babel/plugin-transform-modules-commonjs": "^7.12.1", - "@babel/plugin-transform-modules-systemjs": "^7.12.1", - "@babel/plugin-transform-modules-umd": "^7.12.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", - "@babel/plugin-transform-new-target": "^7.12.1", - "@babel/plugin-transform-object-super": "^7.12.1", - "@babel/plugin-transform-parameters": "^7.12.1", - "@babel/plugin-transform-property-literals": "^7.12.1", - "@babel/plugin-transform-regenerator": "^7.12.1", - "@babel/plugin-transform-reserved-words": "^7.12.1", - "@babel/plugin-transform-shorthand-properties": "^7.12.1", - "@babel/plugin-transform-spread": "^7.12.1", - "@babel/plugin-transform-sticky-regex": "^7.12.7", - "@babel/plugin-transform-template-literals": "^7.12.1", - "@babel/plugin-transform-typeof-symbol": "^7.12.10", - "@babel/plugin-transform-unicode-escapes": "^7.12.1", - "@babel/plugin-transform-unicode-regex": "^7.12.1", - "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.12.11", - "core-js-compat": "^3.8.0", - "semver": "^5.5.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "@babel/preset-modules": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", - "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/preset-react": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.12.10.tgz", - "integrity": "sha512-vtQNjaHRl4DUpp+t+g4wvTHsLQuye+n0H/wsXIZRn69oz/fvNC7gQ4IK73zGJBaxvHoxElDvnYCthMcT7uzFoQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-transform-react-display-name": "^7.12.1", - "@babel/plugin-transform-react-jsx": "^7.12.10", - "@babel/plugin-transform-react-jsx-development": "^7.12.7", - "@babel/plugin-transform-react-pure-annotations": "^7.12.1" - } - }, - "@babel/preset-typescript": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.12.7.tgz", - "integrity": "sha512-nOoIqIqBmHBSEgBXWR4Dv/XBehtIFcw9PqZw6rFYuKrzsZmOQm3PR5siLBnKZFEsDb03IegG8nSjU/iXXXYRmw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-option": "^7.12.1", - "@babel/plugin-transform-typescript": "^7.12.1" - } - }, - "@babel/runtime": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", - "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/runtime-corejs3": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.12.5.tgz", - "integrity": "sha512-roGr54CsTmNPPzZoCP1AmDXuBoNao7tnSA83TXTwt+UK5QVyh1DIJnrgYRPWKCF2flqZQXwa7Yr8v7VmLzF0YQ==", - "requires": { - "core-js-pure": "^3.0.0", - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" - } - }, - "@babel/traverse": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz", - "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==", - "requires": { - "@babel/code-frame": "^7.12.11", - "@babel/generator": "^7.12.11", - "@babel/helper-function-name": "^7.12.11", - "@babel/helper-split-export-declaration": "^7.12.11", - "@babel/parser": "^7.12.11", - "@babel/types": "^7.12.12", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "@babel/types": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", - "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "@csstools/convert-colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz", - "integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==" - }, - "@docsearch/css": { - "version": "3.0.0-alpha.32", - "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.0.0-alpha.32.tgz", - "integrity": "sha512-wafLX/jT1NPAwifPhzMJX394PjKdqf5TA4cz/JgvBYR1/+MiErLk/pyCmocXkawWGR17/6u2qw3wYvXu/Qe/DQ==" - }, - "@docsearch/react": { - "version": "3.0.0-alpha.32", - "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.0.0-alpha.32.tgz", - "integrity": "sha512-2jqzPJu4y0mWiwwm+Kfgf/97Q8XaGxj1+jJfGJpJLkJyD8S2tK4OikyIRWI9gI9k3m48HxFm0+P8uAYYtIyjqA==", - "requires": { - "@algolia/autocomplete-core": "^1.0.0-alpha.35", - "@algolia/autocomplete-preset-algolia": "^1.0.0-alpha.35", - "@docsearch/css": "3.0.0-alpha.32", - "algoliasearch": "^4.0.0" - } - }, - "@docusaurus/core": { - "version": "2.0.0-alpha.70", - "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.0.0-alpha.70.tgz", - "integrity": "sha512-ccDcr5eb5T3C6k7VoqTclBFwjVkIHK1zISdhqzRNVl8AZTql1bYMvGUJP+2WbF6RSdmsGTNWreaUlrJc00dQqw==", - "requires": { - "@babel/core": "^7.12.3", - "@babel/generator": "^7.12.5", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.12.1", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-transform-runtime": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@babel/preset-react": "^7.12.5", - "@babel/preset-typescript": "^7.12.1", - "@babel/runtime": "^7.12.5", - "@babel/runtime-corejs3": "^7.12.5", - "@babel/traverse": "^7.12.5", - "@docusaurus/cssnano-preset": "2.0.0-alpha.70", - "@docusaurus/types": "2.0.0-alpha.70", - "@docusaurus/utils": "2.0.0-alpha.70", - "@docusaurus/utils-validation": "2.0.0-alpha.70", - "@endiliey/static-site-generator-webpack-plugin": "^4.0.0", - "@svgr/webpack": "^5.4.0", - "babel-loader": "^8.2.1", - "babel-plugin-dynamic-import-node": "2.3.0", - "boxen": "^4.2.0", - "cache-loader": "^4.1.0", - "chalk": "^3.0.0", - "chokidar": "^3.4.3", - "clean-css": "^4.2.3", - "commander": "^4.0.1", - "copy-webpack-plugin": "^6.3.0", - "core-js": "^2.6.5", - "css-loader": "^3.4.2", - "del": "^5.1.0", - "detect-port": "^1.3.0", - "eta": "^1.11.0", - "express": "^4.17.1", - "file-loader": "^6.2.0", - "fs-extra": "^9.0.1", - "globby": "^10.0.1", - "html-minifier-terser": "^5.1.1", - "html-tags": "^3.1.0", - "html-webpack-plugin": "^4.5.0", - "import-fresh": "^3.2.2", - "inquirer": "^7.2.0", - "is-root": "^2.1.0", - "joi": "^17.2.1", - "leven": "^3.1.0", - "lodash": "^4.17.20", - "lodash.flatmap": "^4.5.0", - "lodash.has": "^4.5.2", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "mini-css-extract-plugin": "^0.8.0", - "nprogress": "^0.2.0", - "null-loader": "^3.0.0", - "optimize-css-assets-webpack-plugin": "^5.0.4", - "pnp-webpack-plugin": "^1.6.4", - "postcss-loader": "^3.0.0", - "postcss-preset-env": "^6.7.0", - "react-dev-utils": "^10.2.1", - "react-helmet": "^6.1.0", - "react-loadable": "^5.5.0", - "react-loadable-ssr-addon": "^0.3.0", - "react-router": "^5.2.0", - "react-router-config": "^5.1.1", - "react-router-dom": "^5.2.0", - "resolve-pathname": "^3.0.0", - "semver": "^6.3.0", - "serve-handler": "^6.1.3", - "shelljs": "^0.8.4", - "std-env": "^2.2.1", - "terser-webpack-plugin": "^4.1.0", - "update-notifier": "^4.1.0", - "url-loader": "^4.1.1", - "wait-on": "^5.2.0", - "webpack": "^4.44.1", - "webpack-bundle-analyzer": "^3.6.1", - "webpack-dev-server": "^3.11.0", - "webpack-merge": "^4.2.2", - "webpackbar": "^4.0.0" - } - }, - "@docusaurus/cssnano-preset": { - "version": "2.0.0-alpha.70", - "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.0.0-alpha.70.tgz", - "integrity": "sha512-Zwk3SrlE5r/z5j/tjDcs4XoyeoyymCtEovoxLWLV7wb+iR1qb+Jdso4TRShAepbW/ff6SzjCZ8hRy8ahXPD9TA==", - "requires": { - "cssnano-preset-advanced": "^4.0.7", - "postcss": "^7.0.2", - "postcss-combine-duplicated-selectors": "^9.1.0", - "postcss-sort-media-queries": "^1.7.26" - } - }, - "@docusaurus/mdx-loader": { - "version": "2.0.0-alpha.70", - "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.0.0-alpha.70.tgz", - "integrity": "sha512-CDR4O4z7wO5/S8O3TAggCynnuBIGIlUT9q9uhhkDe8h5XDhF8n8d6bwqir0O+fUMN3EnyrMq6z1g4IDRB5G2vw==", - "requires": { - "@babel/parser": "^7.12.5", - "@babel/traverse": "^7.12.5", - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/utils": "2.0.0-alpha.70", - "@mdx-js/mdx": "^1.6.21", - "@mdx-js/react": "^1.6.21", - "escape-html": "^1.0.3", - "file-loader": "^6.2.0", - "fs-extra": "^9.0.1", - "github-slugger": "^1.3.0", - "gray-matter": "^4.0.2", - "loader-utils": "^2.0.0", - "mdast-util-to-string": "^1.1.0", - "remark-emoji": "^2.1.0", - "stringify-object": "^3.3.0", - "unist-util-visit": "^2.0.2", - "url-loader": "^4.1.1", - "webpack": "^4.44.1" - } - }, - "@docusaurus/plugin-content-blog": { - "version": "2.0.0-alpha.70", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.0.0-alpha.70.tgz", - "integrity": "sha512-qWXlSDovkhCZLJR0Wz4e3YcNjlelpuSNkS1rJ8sI1ehs/n32lj7A/nVoRfS/LnOMfIciY48vVPr64VLb6dfEeg==", - "requires": { - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/mdx-loader": "2.0.0-alpha.70", - "@docusaurus/types": "2.0.0-alpha.70", - "@docusaurus/utils": "2.0.0-alpha.70", - "@docusaurus/utils-validation": "2.0.0-alpha.70", - "chalk": "^3.0.0", - "feed": "^4.2.1", - "fs-extra": "^9.0.1", - "globby": "^10.0.1", - "joi": "^17.2.1", - "loader-utils": "^1.2.3", - "lodash": "^4.17.20", - "reading-time": "^1.2.0", - "remark-admonitions": "^1.2.1", - "webpack": "^4.44.1" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - } - } - }, - "@docusaurus/plugin-content-docs": { - "version": "2.0.0-alpha.70", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.0.0-alpha.70.tgz", - "integrity": "sha512-LZre12Q0sxLgi2XgjQbNQMV+jFG7v0+8hRzgBL+iCRiLCa4NlV7+M6mEHJGJJXSKqbfH7CelaUOESqEgPpVQXQ==", - "requires": { - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/mdx-loader": "2.0.0-alpha.70", - "@docusaurus/types": "2.0.0-alpha.70", - "@docusaurus/utils": "2.0.0-alpha.70", - "@docusaurus/utils-validation": "2.0.0-alpha.70", - "chalk": "^3.0.0", - "execa": "^3.4.0", - "fs-extra": "^9.0.1", - "globby": "^10.0.1", - "import-fresh": "^3.2.2", - "joi": "^17.2.1", - "loader-utils": "^1.2.3", - "lodash": "^4.17.19", - "lodash.flatmap": "^4.5.0", - "lodash.groupby": "^4.6.0", - "lodash.pick": "^4.4.0", - "lodash.pickby": "^4.6.0", - "lodash.sortby": "^4.6.0", - "remark-admonitions": "^1.2.1", - "shelljs": "^0.8.4", - "utility-types": "^3.10.0", - "webpack": "^4.44.1" - }, - "dependencies": { - "execa": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", - "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "requires": { - "pump": "^3.0.0" - } - }, - "is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==" - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "requires": { - "path-key": "^3.0.0" - } - }, - "p-finally": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", - "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==" - } - } - }, - "@docusaurus/plugin-content-pages": { - "version": "2.0.0-alpha.70", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.0.0-alpha.70.tgz", - "integrity": "sha512-HiFa5l1RDs155ATyYKkPtyIs/d6WJgSAyVfY5ji0Bsixp/K/Kh9YUZYMeTfeMIdhGYe3AAJz+PSZHYRpwTo1wA==", - "requires": { - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/mdx-loader": "2.0.0-alpha.70", - "@docusaurus/types": "2.0.0-alpha.70", - "@docusaurus/utils": "2.0.0-alpha.70", - "@docusaurus/utils-validation": "2.0.0-alpha.70", - "globby": "^10.0.1", - "joi": "^17.2.1", - "loader-utils": "^1.2.3", - "lodash": "^4.17.19", - "minimatch": "^3.0.4", - "remark-admonitions": "^1.2.1", - "slash": "^3.0.0", - "webpack": "^4.44.1" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - } - } - }, - "@docusaurus/plugin-debug": { - "version": "2.0.0-alpha.70", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.0.0-alpha.70.tgz", - "integrity": "sha512-h/x5KtS/YJerhY6C6sJOaP9gMaSVnjj1qZ6r9E/IFujQJ7bSKnk1unqBQpVXADkQhP081ENPL01ubc0/JbE1Mw==", - "requires": { - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/types": "2.0.0-alpha.70", - "@docusaurus/utils": "2.0.0-alpha.70", - "react-json-view": "^1.19.1" - } - }, - "@docusaurus/plugin-google-analytics": { - "version": "2.0.0-alpha.70", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.0.0-alpha.70.tgz", - "integrity": "sha512-Ah9W83ZnA0VvmflKNuGq5f/CaEjWJxhjkISQn09/ykEvXfWV33000Bhck4RoCr5YxD+GBEBT5suG5LKH7Qkigw==", - "requires": { - "@docusaurus/core": "2.0.0-alpha.70" - } - }, - "@docusaurus/plugin-google-gtag": { - "version": "2.0.0-alpha.70", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.0.0-alpha.70.tgz", - "integrity": "sha512-K3s894PqMPQnGXEZs0bSs2bRE3bVXFYSb/RN+K9sNd7zxGuOX4UytuvpXP+1r0Hj/YTwQIjj7AKsND0ZpDJHyw==", - "requires": { - "@docusaurus/core": "2.0.0-alpha.70" - } - }, - "@docusaurus/plugin-sitemap": { - "version": "2.0.0-alpha.70", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.0.0-alpha.70.tgz", - "integrity": "sha512-ev9yNLPoeHP03jTz67daGd7yA7YhUwHeoWz14SyiKuU7OYtwL/8SJTn/V5kMDRl7o8FRQt9T//mRkpa270hmXw==", - "requires": { - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/types": "2.0.0-alpha.70", - "fs-extra": "^9.0.1", - "joi": "^17.2.1", - "sitemap": "^3.2.2" - } - }, - "@docusaurus/preset-classic": { - "version": "2.0.0-alpha.70", - "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.0.0-alpha.70.tgz", - "integrity": "sha512-Zx98KryJjHiqzGisWKR0glXl0HXuf/YbcK9yUl6ySyS+6cIMAuGMS0HGLgbvvEmYjywz7nMLpijzGderEOihjQ==", - "requires": { - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/plugin-content-blog": "2.0.0-alpha.70", - "@docusaurus/plugin-content-docs": "2.0.0-alpha.70", - "@docusaurus/plugin-content-pages": "2.0.0-alpha.70", - "@docusaurus/plugin-debug": "2.0.0-alpha.70", - "@docusaurus/plugin-google-analytics": "2.0.0-alpha.70", - "@docusaurus/plugin-google-gtag": "2.0.0-alpha.70", - "@docusaurus/plugin-sitemap": "2.0.0-alpha.70", - "@docusaurus/theme-classic": "2.0.0-alpha.70", - "@docusaurus/theme-search-algolia": "2.0.0-alpha.70" - } - }, - "@docusaurus/theme-classic": { - "version": "2.0.0-alpha.70", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.0.0-alpha.70.tgz", - "integrity": "sha512-lKU+fgSd08fo3LNYTw31Wty7RgAdFm8bEOwBNkKZcCFnatTSG4qyDbrDZclCQT/SpXSv9XIEKUc0irg2IH6Qrg==", - "requires": { - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/plugin-content-blog": "2.0.0-alpha.70", - "@docusaurus/plugin-content-docs": "2.0.0-alpha.70", - "@docusaurus/plugin-content-pages": "2.0.0-alpha.70", - "@docusaurus/theme-common": "2.0.0-alpha.70", - "@docusaurus/types": "2.0.0-alpha.70", - "@docusaurus/utils": "2.0.0-alpha.70", - "@docusaurus/utils-validation": "2.0.0-alpha.70", - "@mdx-js/mdx": "^1.6.21", - "@mdx-js/react": "^1.6.21", - "@types/react-toggle": "^4.0.2", - "clsx": "^1.1.1", - "copy-text-to-clipboard": "^2.2.0", - "infima": "0.2.0-alpha.18", - "joi": "^17.2.1", - "lodash": "^4.17.19", - "parse-numeric-range": "^1.2.0", - "prism-react-renderer": "^1.1.1", - "prismjs": "^1.22.0", - "prop-types": "^15.7.2", - "react-router-dom": "^5.2.0", - "react-toggle": "^4.1.1" - } - }, - "@docusaurus/theme-common": { - "version": "2.0.0-alpha.70", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.0.0-alpha.70.tgz", - "integrity": "sha512-Ge/dLGPCJhtyvumSMg0BlWcF00d1Qd2KnHf8kL/0nTxe257yNTHIOK95LKhIPAdcVgxG+ge9N0XcBm4KaubASQ==", - "requires": { - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/plugin-content-blog": "2.0.0-alpha.70", - "@docusaurus/plugin-content-docs": "2.0.0-alpha.70", - "@docusaurus/plugin-content-pages": "2.0.0-alpha.70", - "@docusaurus/types": "2.0.0-alpha.70" - } - }, - "@docusaurus/theme-search-algolia": { - "version": "2.0.0-alpha.70", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.0.0-alpha.70.tgz", - "integrity": "sha512-xuoWZ+HUKzn1A5vPlNZM8mtyRL5uo15o34OX/i7HkTRmBVymWO1bBE0lECfDVJU2JUYGmwjpDXhZzNLDZmZRWg==", - "requires": { - "@docsearch/react": "^3.0.0-alpha.31", - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/theme-common": "2.0.0-alpha.70", - "@docusaurus/utils": "2.0.0-alpha.70", - "algoliasearch": "^4.0.0", - "algoliasearch-helper": "^3.1.1", - "clsx": "^1.1.1", - "eta": "^1.11.0", - "joi": "^17.2.1", - "lodash": "^4.17.19" - } - }, - "@docusaurus/types": { - "version": "2.0.0-alpha.70", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.0.0-alpha.70.tgz", - "integrity": "sha512-QoHmMiJhRDq5P/4o3eUIiJebdwRjShFlal01DST5B8MZo4k0ogl57FNHqJvIHc93NgonZzFlvC/auLlBnc/d4Q==", - "requires": { - "@types/webpack": "^4.41.0", - "commander": "^4.0.1", - "querystring": "0.2.0", - "webpack-merge": "^4.2.2" - } - }, - "@docusaurus/utils": { - "version": "2.0.0-alpha.70", - "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.0.0-alpha.70.tgz", - "integrity": "sha512-xNSUcE7fGcneH00CPCEY0SP5V7H6pLEcu620UiU/m1367tCMsmv+MZcnII2ACcjAtvhjS22v/KLippM3VeTXqQ==", - "requires": { - "@docusaurus/types": "2.0.0-alpha.70", - "chalk": "^3.0.0", - "escape-string-regexp": "^2.0.0", - "fs-extra": "^9.0.1", - "gray-matter": "^4.0.2", - "lodash": "^4.17.20", - "lodash.camelcase": "^4.3.0", - "lodash.kebabcase": "^4.1.1", - "resolve-pathname": "^3.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" - } - } - }, - "@docusaurus/utils-validation": { - "version": "2.0.0-alpha.70", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.0.0-alpha.70.tgz", - "integrity": "sha512-GJonaRjiJtlCk1+RfKA9f0YwRsSRGFMVbl6DrFidTgs4FmRb0hQsN4fnllsBvBJtbDZYwPTQ3T7c4cKJ/Ll7bQ==", - "requires": { - "@docusaurus/utils": "2.0.0-alpha.70", - "chalk": "^3.0.0", - "joi": "^17.2.1" - } - }, - "@endiliey/static-site-generator-webpack-plugin": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@endiliey/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-4.0.0.tgz", - "integrity": "sha512-3MBqYCs30qk1OBRC697NqhGouYbs71D1B8hrk/AFJC6GwF2QaJOQZtA1JYAaGSe650sZ8r5ppRTtCRXepDWlng==", - "requires": { - "bluebird": "^3.7.1", - "cheerio": "^0.22.0", - "eval": "^0.1.4", - "url": "^0.11.0", - "webpack-sources": "^1.4.3" - } - }, - "@hapi/hoek": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.1.1.tgz", - "integrity": "sha512-CAEbWH7OIur6jEOzaai83jq3FmKmv4PmX1JYfs9IrYcGEVI/lyL1EXJGCj7eFVJ0bg5QR8LMxBlEtA+xKiLpFw==" - }, - "@hapi/topo": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.0.0.tgz", - "integrity": "sha512-tFJlT47db0kMqVm3H4nQYgn6Pwg10GTZHb1pwmSiv1K4ks6drQOtfEF5ZnPjkvC+y4/bUPHK+bc87QvLcL+WMw==", - "requires": { - "@hapi/hoek": "^9.0.0" - } - }, - "@mdx-js/mdx": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.6.22.tgz", - "integrity": "sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA==", - "requires": { - "@babel/core": "7.12.9", - "@babel/plugin-syntax-jsx": "7.12.1", - "@babel/plugin-syntax-object-rest-spread": "7.8.3", - "@mdx-js/util": "1.6.22", - "babel-plugin-apply-mdx-type-prop": "1.6.22", - "babel-plugin-extract-import-names": "1.6.22", - "camelcase-css": "2.0.1", - "detab": "2.0.4", - "hast-util-raw": "6.0.1", - "lodash.uniq": "4.5.0", - "mdast-util-to-hast": "10.0.1", - "remark-footnotes": "2.0.0", - "remark-mdx": "1.6.22", - "remark-parse": "8.0.3", - "remark-squeeze-paragraphs": "4.0.0", - "style-to-object": "0.3.0", - "unified": "9.2.0", - "unist-builder": "2.0.3", - "unist-util-visit": "2.0.3" - }, - "dependencies": { - "@babel/core": { - "version": "7.12.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz", - "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==", - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.5", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.5", - "@babel/parser": "^7.12.7", - "@babel/template": "^7.12.7", - "@babel/traverse": "^7.12.9", - "@babel/types": "^7.12.7", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.19", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "@mdx-js/react": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-1.6.22.tgz", - "integrity": "sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==" - }, - "@mdx-js/util": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/@mdx-js/util/-/util-1.6.22.tgz", - "integrity": "sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==" - }, - "@mrmlnc/readdir-enhanced": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", - "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", - "requires": { - "call-me-maybe": "^1.0.1", - "glob-to-regexp": "^0.3.0" - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", - "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", - "requires": { - "@nodelib/fs.stat": "2.0.4", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", - "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==" - }, - "@nodelib/fs.walk": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", - "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", - "requires": { - "@nodelib/fs.scandir": "2.1.4", - "fastq": "^1.6.0" - } - }, - "@npmcli/move-file": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.0.1.tgz", - "integrity": "sha512-Uv6h1sT+0DrblvIrolFtbvM1FgWm+/sy4B3pvLp67Zys+thcukzS5ekn7HsZFGpWP4Q3fYJCljbWQE/XivMRLw==", - "requires": { - "mkdirp": "^1.0.4" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - } - } - }, - "@sideway/address": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.0.tgz", - "integrity": "sha512-wAH/JYRXeIFQRsxerIuLjgUu2Xszam+O5xKeatJ4oudShOOirfmsQ1D6LL54XOU2tizpCYku+s1wmU0SYdpoSA==", - "requires": { - "@hapi/hoek": "^9.0.0" - } - }, - "@sideway/formula": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz", - "integrity": "sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==" - }, - "@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" - }, - "@sindresorhus/is": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" - }, - "@svgr/babel-plugin-add-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==" - }, - "@svgr/babel-plugin-remove-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==" - }, - "@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", - "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==" - }, - "@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", - "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==" - }, - "@svgr/babel-plugin-svg-dynamic-title": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", - "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==" - }, - "@svgr/babel-plugin-svg-em-dimensions": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", - "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==" - }, - "@svgr/babel-plugin-transform-react-native-svg": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", - "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==" - }, - "@svgr/babel-plugin-transform-svg-component": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", - "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==" - }, - "@svgr/babel-preset": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", - "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", - "requires": { - "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", - "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", - "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", - "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", - "@svgr/babel-plugin-transform-svg-component": "^5.5.0" - } - }, - "@svgr/core": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", - "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", - "requires": { - "@svgr/plugin-jsx": "^5.5.0", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.0" - } - }, - "@svgr/hast-util-to-babel-ast": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", - "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", - "requires": { - "@babel/types": "^7.12.6" - } - }, - "@svgr/plugin-jsx": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", - "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", - "requires": { - "@babel/core": "^7.12.3", - "@svgr/babel-preset": "^5.5.0", - "@svgr/hast-util-to-babel-ast": "^5.5.0", - "svg-parser": "^2.0.2" - } - }, - "@svgr/plugin-svgo": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", - "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", - "requires": { - "cosmiconfig": "^7.0.0", - "deepmerge": "^4.2.2", - "svgo": "^1.2.2" - } - }, - "@svgr/webpack": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", - "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", - "requires": { - "@babel/core": "^7.12.3", - "@babel/plugin-transform-react-constant-elements": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@babel/preset-react": "^7.12.5", - "@svgr/core": "^5.5.0", - "@svgr/plugin-jsx": "^5.5.0", - "@svgr/plugin-svgo": "^5.5.0", - "loader-utils": "^2.0.0" - } - }, - "@szmarczak/http-timer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", - "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", - "requires": { - "defer-to-connect": "^1.0.1" - } - }, - "@types/anymatch": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz", - "integrity": "sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==" - }, - "@types/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", - "requires": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "@types/hast": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.1.tgz", - "integrity": "sha512-viwwrB+6xGzw+G1eWpF9geV3fnsDgXqHG+cqgiHrvQfDUW5hzhCyV7Sy3UJxhfRFBsgky2SSW33qi/YrIkjX5Q==", - "requires": { - "@types/unist": "*" - } - }, - "@types/html-minifier-terser": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", - "integrity": "sha512-giAlZwstKbmvMk1OO7WXSj4OZ0keXAcl2TQq4LWHiiPH2ByaH7WeUzng+Qej8UPxxv+8lRTuouo0iaNDBuzIBA==" - }, - "@types/json-schema": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", - "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==" - }, - "@types/mdast": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.3.tgz", - "integrity": "sha512-SXPBMnFVQg1s00dlMCc/jCdvPqdE4mXaMMCeRlxLDmTAEoegHT53xKtkDnzDTOcmMHUfcjyf36/YYZ6SxRdnsw==", - "requires": { - "@types/unist": "*" - } - }, - "@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" - }, - "@types/node": { - "version": "14.14.17", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.17.tgz", - "integrity": "sha512-G0lD1/7qD60TJ/mZmhog76k7NcpLWkPVGgzkRy3CTlnFu4LUQh5v2Wa661z6vnXmD8EQrnALUyf0VRtrACYztw==" - }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - }, - "@types/parse5": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.3.tgz", - "integrity": "sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==" - }, - "@types/prop-types": { - "version": "15.7.3", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", - "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==" - }, - "@types/q": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", - "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==" - }, - "@types/react": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.0.tgz", - "integrity": "sha512-aj/L7RIMsRlWML3YB6KZiXB3fV2t41+5RBGYF8z+tAKU43Px8C3cYUZsDvf1/+Bm4FK21QWBrDutu8ZJ/70qOw==", - "requires": { - "@types/prop-types": "*", - "csstype": "^3.0.2" - } - }, - "@types/react-toggle": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/react-toggle/-/react-toggle-4.0.2.tgz", - "integrity": "sha512-sHqfoKFnL0YU2+OC4meNEC8Ptx9FE8/+nFeFvNcdBa6ANA8KpAzj3R9JN8GtrvlLgjKDoYgI7iILgXYcTPo2IA==", - "requires": { - "@types/react": "*" - } - }, - "@types/source-list-map": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", - "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==" - }, - "@types/tapable": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.6.tgz", - "integrity": "sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA==" - }, - "@types/uglify-js": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.11.1.tgz", - "integrity": "sha512-7npvPKV+jINLu1SpSYVWG8KvyJBhBa8tmzMMdDoVc2pWUYHN8KIXlPJhjJ4LT97c4dXJA2SHL/q6ADbDriZN+Q==", - "requires": { - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "@types/unist": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz", - "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==" - }, - "@types/webpack": { - "version": "4.41.25", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.25.tgz", - "integrity": "sha512-cr6kZ+4m9lp86ytQc1jPOJXgINQyz3kLLunZ57jznW+WIAL0JqZbGubQk4GlD42MuQL5JGOABrxdpqqWeovlVQ==", - "requires": { - "@types/anymatch": "*", - "@types/node": "*", - "@types/tapable": "*", - "@types/uglify-js": "*", - "@types/webpack-sources": "*", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "@types/webpack-sources": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-2.1.0.tgz", - "integrity": "sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg==", - "requires": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.7.3" - }, - "dependencies": { - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" - } - } - }, - "@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==" - }, - "@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==" - }, - "@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==" - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", - "requires": { - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==" - }, - "@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", - "requires": { - "@webassemblyjs/ast": "1.9.0" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==" - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==" - }, - "@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" - }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - } - }, - "acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==" - }, - "acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" - }, - "address": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", - "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==" - }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==" - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" - }, - "algoliasearch": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.8.3.tgz", - "integrity": "sha512-pljX9jEE2TQ3i1JayhG8afNdE8UuJg3O9c7unW6QO67yRWCKr6b0t5aKC3hSVtjt7pA2TQXLKoAISb4SHx9ozQ==", - "requires": { - "@algolia/cache-browser-local-storage": "4.8.3", - "@algolia/cache-common": "4.8.3", - "@algolia/cache-in-memory": "4.8.3", - "@algolia/client-account": "4.8.3", - "@algolia/client-analytics": "4.8.3", - "@algolia/client-common": "4.8.3", - "@algolia/client-recommendation": "4.8.3", - "@algolia/client-search": "4.8.3", - "@algolia/logger-common": "4.8.3", - "@algolia/logger-console": "4.8.3", - "@algolia/requester-browser-xhr": "4.8.3", - "@algolia/requester-common": "4.8.3", - "@algolia/requester-node-http": "4.8.3", - "@algolia/transporter": "4.8.3" - } - }, - "algoliasearch-helper": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.3.4.tgz", - "integrity": "sha512-1Ts2XcgGdjGlDrp3v6zbY8VW+X9+jJ5rBmtPBmXOQLd4b5t/LpJlaBdxoAnlMfVFjywP7KSAdmyFUNNYVHDyRQ==", - "requires": { - "events": "^1.1.1" - }, - "dependencies": { - "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" - } - } - }, - "alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" - }, - "ansi-align": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", - "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", - "requires": { - "string-width": "^3.0.0" - }, - "dependencies": { - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - } - } - }, - "ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==" - }, - "ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "requires": { - "type-fest": "^0.11.0" - }, - "dependencies": { - "type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==" - } - } - }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=" - }, - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" - }, - "asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - } - } - }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "requires": { - "inherits": "2.0.1" - } - } - } - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" - }, - "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "requires": { - "lodash": "^4.17.14" - } - }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" - }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" - }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" - }, - "autoprefixer": { - "version": "9.8.6", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", - "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==", - "requires": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001109", - "colorette": "^1.2.1", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^7.0.32", - "postcss-value-parser": "^4.1.0" - } - }, - "axios": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", - "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", - "requires": { - "follow-redirects": "^1.10.0" - } - }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" - } - } - }, - "babel-loader": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", - "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==", - "requires": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^1.4.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - } - } - }, - "babel-plugin-apply-mdx-type-prop": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.22.tgz", - "integrity": "sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ==", - "requires": { - "@babel/helper-plugin-utils": "7.10.4", - "@mdx-js/util": "1.6.22" - } - }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", - "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", - "requires": { - "object.assign": "^4.1.0" - } - }, - "babel-plugin-extract-import-names": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz", - "integrity": "sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ==", - "requires": { - "@babel/helper-plugin-utils": "7.10.4" - } - }, - "bail": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", - "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==" - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "base16": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz", - "integrity": "sha1-4pf2DX7BAUp6lxo568ipjAtoHnA=" - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=" - }, - "bfj": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/bfj/-/bfj-6.1.2.tgz", - "integrity": "sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw==", - "requires": { - "bluebird": "^3.5.5", - "check-types": "^8.0.3", - "hoopy": "^0.1.4", - "tryer": "^1.0.1" - } - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" - }, - "binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==" - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - }, - "bn.js": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", - "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==" - }, - "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "requires": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", - "requires": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" - }, - "dependencies": { - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" - } - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" - }, - "boxen": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz", - "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==", - "requires": { - "ansi-align": "^3.0.0", - "camelcase": "^5.3.1", - "chalk": "^3.0.0", - "cli-boxes": "^2.2.0", - "string-width": "^4.1.0", - "term-size": "^2.1.0", - "type-fest": "^0.8.1", - "widest-line": "^3.1.0" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", - "requires": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - } - }, - "browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", - "requires": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - } - } - }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "requires": { - "pako": "~1.0.5" - } - }, - "browserslist": { - "version": "4.16.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.0.tgz", - "integrity": "sha512-/j6k8R0p3nxOC6kx5JGAxsnhc9ixaWJfYc+TNTzxg6+ARaESAvQGV7h0uNOB4t+pLQJZWzcrMxXOxjgsCj3dqQ==", - "requires": { - "caniuse-lite": "^1.0.30001165", - "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.621", - "escalade": "^3.1.1", - "node-releases": "^1.1.67" - } - }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" - }, - "buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==" - }, - "buffer-json": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/buffer-json/-/buffer-json-2.0.0.tgz", - "integrity": "sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw==" - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" - }, - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" - }, - "cacache": { - "version": "15.0.5", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.5.tgz", - "integrity": "sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A==", - "requires": { - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.0", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - } - } - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "cache-loader": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cache-loader/-/cache-loader-4.1.0.tgz", - "integrity": "sha512-ftOayxve0PwKzBF/GLsZNC9fJBXl8lkZE3TOsjkboHfVHVkL39iUEs1FO07A33mizmci5Dudt38UZrrYXDtbhw==", - "requires": { - "buffer-json": "^2.0.0", - "find-cache-dir": "^3.0.0", - "loader-utils": "^1.2.3", - "mkdirp": "^0.5.1", - "neo-async": "^2.6.1", - "schema-utils": "^2.0.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - } - } - }, - "cacheable-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", - "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", - "requires": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" - }, - "dependencies": { - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "requires": { - "pump": "^3.0.0" - } - }, - "lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" - }, - "normalize-url": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", - "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==" - } - } - }, - "call-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", - "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.0" - } - }, - "call-me-maybe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", - "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=" - }, - "caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", - "requires": { - "callsites": "^2.0.0" - }, - "dependencies": { - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=" - } - } - }, - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "requires": { - "caller-callsite": "^2.0.0" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - }, - "camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "requires": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==" - }, - "camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" - }, - "caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "requires": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "caniuse-lite": { - "version": "1.0.30001237", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001237.tgz", - "integrity": "sha512-pDHgRndit6p1NR2GhzMbQ6CkRrp4VKuSsqbcLeOQppYPKOYkKT/6ZvZDvKJUqcmtyWIAHuZq3SVS2vc1egCZzw==" - }, - "ccount": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", - "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==" - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "character-entities": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", - "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==" - }, - "character-entities-legacy": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", - "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==" - }, - "character-reference-invalid": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", - "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==" - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" - }, - "check-types": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/check-types/-/check-types-8.0.3.tgz", - "integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==" - }, - "cheerio": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz", - "integrity": "sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=", - "requires": { - "css-select": "~1.2.0", - "dom-serializer": "~0.1.0", - "entities": "~1.1.1", - "htmlparser2": "^3.9.1", - "lodash.assignin": "^4.0.9", - "lodash.bind": "^4.1.4", - "lodash.defaults": "^4.0.1", - "lodash.filter": "^4.4.0", - "lodash.flatten": "^4.2.0", - "lodash.foreach": "^4.3.0", - "lodash.map": "^4.4.0", - "lodash.merge": "^4.4.0", - "lodash.pick": "^4.2.1", - "lodash.reduce": "^4.4.0", - "lodash.reject": "^4.4.0", - "lodash.some": "^4.4.0" - }, - "dependencies": { - "css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", - "requires": { - "boolbase": "~1.0.0", - "css-what": "2.1", - "domutils": "1.5.1", - "nth-check": "~1.0.1" - } - }, - "css-what": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", - "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==" - }, - "dom-serializer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", - "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", - "requires": { - "domelementtype": "^1.3.0", - "entities": "^1.1.1" - } - }, - "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" - } - } - }, - "chokidar": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", - "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" - } - }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" - }, - "chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", - "requires": { - "tslib": "^1.9.0" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "ci-info": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", - "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==" - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "classnames": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", - "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" - }, - "clean-css": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", - "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", - "requires": { - "source-map": "~0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" - }, - "cli-boxes": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", - "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==" - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" - }, - "clipboard": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.6.tgz", - "integrity": "sha512-g5zbiixBRk/wyKakSwCKd7vQXDjFnAMGHoEyBogG/bw9kTD9GvdAvaoRR1ALcEzt3pVKxZR0pViekPMIS0QyGg==", - "optional": true, - "requires": { - "good-listener": "^1.2.2", - "select": "^1.1.2", - "tiny-emitter": "^2.0.0" - } - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - }, - "dependencies": { - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - } - } - }, - "clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", - "requires": { - "mimic-response": "^1.0.0" - } - }, - "clsx": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.1.1.tgz", - "integrity": "sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==" - }, - "coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "requires": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - }, - "dependencies": { - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - } - } - }, - "collapse-white-space": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", - "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==" - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz", - "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==", - "requires": { - "color-convert": "^1.9.1", - "color-string": "^1.5.4" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "color-string": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz", - "integrity": "sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==", - "requires": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "colorette": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", - "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==" - }, - "comma-separated-tokens": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", - "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==" - }, - "commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "dependencies": { - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "configstore": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", - "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", - "requires": { - "dot-prop": "^5.2.0", - "graceful-fs": "^4.1.2", - "make-dir": "^3.0.0", - "unique-string": "^2.0.0", - "write-file-atomic": "^3.0.0", - "xdg-basedir": "^4.0.0" - } - }, - "connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==" - }, - "consola": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.0.tgz", - "integrity": "sha512-vlcSGgdYS26mPf7qNi+dCisbhiyDnrN1zaRbw3CSuc2wGOMEGGPsp46PdRG5gqXwgtJfjxDkxRNAgRPr1B77vQ==" - }, - "console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" - }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "requires": { - "safe-buffer": "5.1.2" - } - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" - }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - }, - "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" - }, - "copy-text-to-clipboard": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-2.2.0.tgz", - "integrity": "sha512-WRvoIdnTs1rgPMkgA2pUOa/M4Enh2uzCwdKsOMYNAJiz/4ZvEJgmbF4OmninPmlFdAWisfeh0tH+Cpf7ni3RqQ==" - }, - "copy-webpack-plugin": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-6.4.1.tgz", - "integrity": "sha512-MXyPCjdPVx5iiWyl40Va3JGh27bKzOTNY3NjUTrosD2q7dR/cLD0013uqJ3BpFbUjyONINjb6qI7nDIJujrMbA==", - "requires": { - "cacache": "^15.0.5", - "fast-glob": "^3.2.4", - "find-cache-dir": "^3.3.1", - "glob-parent": "^5.1.1", - "globby": "^11.0.1", - "loader-utils": "^2.0.0", - "normalize-path": "^3.0.0", - "p-limit": "^3.0.2", - "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", - "webpack-sources": "^1.4.3" - }, - "dependencies": { - "globby": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", - "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" - }, - "core-js-compat": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.1.tgz", - "integrity": "sha512-a16TLmy9NVD1rkjUGbwuyWkiDoN0FDpAwrfLONvHFQx0D9k7J9y0srwMT8QP/Z6HE3MIFaVynEeYwZwPX1o5RQ==", - "requires": { - "browserslist": "^4.15.0", - "semver": "7.0.0" - }, - "dependencies": { - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==" - } - } - }, - "core-js-pure": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.8.1.tgz", - "integrity": "sha512-Se+LaxqXlVXGvmexKGPvnUIYC1jwXu1H6Pkyb3uBM5d8/NELMYCHs/4/roD7721NxrTLyv7e5nXd5/QLBO+10g==" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "cosmiconfig": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", - "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - } - }, - "create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - } - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "cross-spawn": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", - "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } - }, - "crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" - }, - "css-blank-pseudo": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz", - "integrity": "sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w==", - "requires": { - "postcss": "^7.0.5" - } - }, - "css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=" - }, - "css-declaration-sorter": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", - "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", - "requires": { - "postcss": "^7.0.1", - "timsort": "^0.3.0" - } - }, - "css-has-pseudo": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz", - "integrity": "sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ==", - "requires": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^5.0.0-rc.4" - }, - "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" - }, - "postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "requires": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "css-loader": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz", - "integrity": "sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==", - "requires": { - "camelcase": "^5.3.1", - "cssesc": "^3.0.0", - "icss-utils": "^4.1.1", - "loader-utils": "^1.2.3", - "normalize-path": "^3.0.0", - "postcss": "^7.0.32", - "postcss-modules-extract-imports": "^2.0.0", - "postcss-modules-local-by-default": "^3.0.2", - "postcss-modules-scope": "^2.2.0", - "postcss-modules-values": "^3.0.0", - "postcss-value-parser": "^4.1.0", - "schema-utils": "^2.7.0", - "semver": "^6.3.0" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - } - } - }, - "css-prefers-color-scheme": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz", - "integrity": "sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg==", - "requires": { - "postcss": "^7.0.5" - } - }, - "css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" - }, - "css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", - "requires": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" - }, - "cssdb": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz", - "integrity": "sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ==" - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" - }, - "cssnano": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", - "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", - "requires": { - "cosmiconfig": "^5.0.0", - "cssnano-preset-default": "^4.0.7", - "is-resolvable": "^1.0.0", - "postcss": "^7.0.0" - }, - "dependencies": { - "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - } - }, - "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", - "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" - } - } - }, - "cssnano-preset-advanced": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-4.0.7.tgz", - "integrity": "sha512-j1O5/DQnaAqEyFFQfC+Z/vRlLXL3LxJHN+lvsfYqr7KgPH74t69+Rsy2yXkovWNaJjZYBpdz2Fj8ab2nH7pZXw==", - "requires": { - "autoprefixer": "^9.4.7", - "cssnano-preset-default": "^4.0.7", - "postcss-discard-unused": "^4.0.1", - "postcss-merge-idents": "^4.0.1", - "postcss-reduce-idents": "^4.0.2", - "postcss-zindex": "^4.0.1" - } - }, - "cssnano-preset-default": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", - "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", - "requires": { - "css-declaration-sorter": "^4.0.1", - "cssnano-util-raw-cache": "^4.0.1", - "postcss": "^7.0.0", - "postcss-calc": "^7.0.1", - "postcss-colormin": "^4.0.3", - "postcss-convert-values": "^4.0.1", - "postcss-discard-comments": "^4.0.2", - "postcss-discard-duplicates": "^4.0.2", - "postcss-discard-empty": "^4.0.1", - "postcss-discard-overridden": "^4.0.1", - "postcss-merge-longhand": "^4.0.11", - "postcss-merge-rules": "^4.0.3", - "postcss-minify-font-values": "^4.0.2", - "postcss-minify-gradients": "^4.0.2", - "postcss-minify-params": "^4.0.2", - "postcss-minify-selectors": "^4.0.2", - "postcss-normalize-charset": "^4.0.1", - "postcss-normalize-display-values": "^4.0.2", - "postcss-normalize-positions": "^4.0.2", - "postcss-normalize-repeat-style": "^4.0.2", - "postcss-normalize-string": "^4.0.2", - "postcss-normalize-timing-functions": "^4.0.2", - "postcss-normalize-unicode": "^4.0.1", - "postcss-normalize-url": "^4.0.1", - "postcss-normalize-whitespace": "^4.0.2", - "postcss-ordered-values": "^4.1.2", - "postcss-reduce-initial": "^4.0.3", - "postcss-reduce-transforms": "^4.0.2", - "postcss-svgo": "^4.0.2", - "postcss-unique-selectors": "^4.0.1" - } - }, - "cssnano-util-get-arguments": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", - "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=" - }, - "cssnano-util-get-match": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", - "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=" - }, - "cssnano-util-raw-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", - "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", - "requires": { - "postcss": "^7.0.0" - } - }, - "cssnano-util-same-parent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", - "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==" - }, - "csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "requires": { - "css-tree": "^1.1.2" - }, - "dependencies": { - "css-tree": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.2.tgz", - "integrity": "sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==", - "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - } - }, - "mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "csstype": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.5.tgz", - "integrity": "sha512-uVDi8LpBUKQj6sdxNaTetL6FpeCqTjOvAQuQUa/qAqq8oOd4ivkbhgnqayl0dnPal8Tb/yB1tF+gOvCBiicaiQ==" - }, - "cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" - }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "requires": { - "mimic-response": "^1.0.0" - } - }, - "deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", - "requires": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - } - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" - }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" - }, - "default-gateway": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", - "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", - "requires": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" - } - }, - "defer-to-connect": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", - "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "requires": { - "object-keys": "^1.0.12" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "del": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/del/-/del-5.1.0.tgz", - "integrity": "sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==", - "requires": { - "globby": "^10.0.1", - "graceful-fs": "^4.2.2", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.1", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "slash": "^3.0.0" - }, - "dependencies": { - "p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", - "requires": { - "aggregate-error": "^3.0.0" - } - } - } - }, - "delegate": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", - "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==", - "optional": true - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - }, - "des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "detab": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detab/-/detab-2.0.4.tgz", - "integrity": "sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g==", - "requires": { - "repeat-string": "^1.5.4" - } - }, - "detect-node": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", - "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==" - }, - "detect-port": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.3.0.tgz", - "integrity": "sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==", - "requires": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - } - } - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "requires": { - "path-type": "^4.0.0" - } - }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=" - }, - "dns-packet": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", - "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", - "requires": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "requires": { - "buffer-indexof": "^1.0.0" - } - }, - "dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "requires": { - "utila": "~0.4" - } - }, - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - }, - "dependencies": { - "domelementtype": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", - "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==" - } - } - }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" - }, - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - }, - "domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", - "requires": { - "domelementtype": "1" - } - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "requires": { - "is-obj": "^2.0.0" - } - }, - "duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" - }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" - }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "ejs": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", - "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==" - }, - "electron-to-chromium": { - "version": "1.3.633", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.633.tgz", - "integrity": "sha512-bsVCsONiVX1abkWdH7KtpuDAhsQ3N3bjPYhROSAXE78roJKet0Y5wznA14JE9pzbwSZmSMAW6KiKYf1RvbTJkA==" - }, - "elliptic": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", - "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", - "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - } - } - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" - }, - "emoticon": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/emoticon/-/emoticon-3.2.0.tgz", - "integrity": "sha512-SNujglcLTTg+lDAcApPNgEdudaqQFiAbJCqzjNxJkvN9vAwCGi0uu8IUVvx+f16h+V44KCY6Y2yboroc9pilHg==" - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" - }, - "encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "requires": { - "iconv-lite": "^0.6.2" - }, - "dependencies": { - "iconv-lite": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", - "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } - } - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "enhanced-resolve": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz", - "integrity": "sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==", - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "dependencies": { - "memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "entities": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", - "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==" - }, - "errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "requires": { - "prr": "~1.0.1" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "requires": { - "is-arrayish": "^0.2.1" - }, - "dependencies": { - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - } - } - }, - "es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-goat": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", - "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==" - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - }, - "eta": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/eta/-/eta-1.12.1.tgz", - "integrity": "sha512-H8npoci2J/7XiPnVcCVulBSPsTNGvGaINyMjQDU8AFqp9LGsEYS88g2CiU+d01Sg44WtX7o4nb8wUJ9vnI+tiA==" - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" - }, - "eval": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.4.tgz", - "integrity": "sha512-npGsebJejyjMRnLdFu+T/97dnigqIU0Ov3IGrZ8ygd1v7RL1vGkEKtvyWZobqUH1AQgKlg0Yqqe2BtMA9/QZLw==", - "requires": { - "require-like": ">= 0.1.1" - } - }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - }, - "events": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", - "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==" - }, - "eventsource": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", - "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", - "requires": { - "original": "^1.0.0" - } - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", - "requires": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-glob": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", - "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==", - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", - "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "fast-url-parser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", - "integrity": "sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0=", - "requires": { - "punycode": "^1.3.2" - } - }, - "fastq": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.0.tgz", - "integrity": "sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA==", - "requires": { - "reusify": "^1.0.4" - } - }, - "faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", - "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "fbemitter": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fbemitter/-/fbemitter-2.1.1.tgz", - "integrity": "sha1-Uj4U/a9SSIBbsC9i78M75wP1GGU=", - "requires": { - "fbjs": "^0.8.4" - } - }, - "fbjs": { - "version": "0.8.17", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", - "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", - "requires": { - "core-js": "^1.0.0", - "isomorphic-fetch": "^2.1.1", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.18" - }, - "dependencies": { - "core-js": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" - } - } - }, - "feed": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.1.tgz", - "integrity": "sha512-l28KKcK1J/u3iq5dRDmmoB2p7dtBfACC2NqJh4dI2kFptxH0asfjmOfcxqh5Sv8suAlVa73gZJ4REY5RrafVvg==", - "requires": { - "xml-js": "^1.6.11" - } - }, - "figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==" - }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "filesize": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-6.0.1.tgz", - "integrity": "sha512-u4AYWPgbI5GBhs6id1KdImZWn5yfyFrrQ8OWZdN7ZMfA8Bf4HcO0BGo9bmUIEV8yrp8I1xVfJ/dn90GtFNNJcg==" - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "flatten": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", - "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==" - }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "flux": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/flux/-/flux-3.1.3.tgz", - "integrity": "sha1-0jvtUVp5oi2TOrU6tK2hnQWy8Io=", - "requires": { - "fbemitter": "^2.0.0", - "fbjs": "^0.8.0" - } - }, - "follow-redirects": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.1.tgz", - "integrity": "sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg==" - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" - }, - "fork-ts-checker-webpack-plugin": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-3.1.1.tgz", - "integrity": "sha512-DuVkPNrM12jR41KM2e+N+styka0EgLkTnXmNcXdgOM37vtGeY+oCBK/Jx0hzSeEU6memFCtWb4htrHPMDfwwUQ==", - "requires": { - "babel-code-frame": "^6.22.0", - "chalk": "^2.4.1", - "chokidar": "^3.3.0", - "micromatch": "^3.1.10", - "minimatch": "^3.0.4", - "semver": "^5.6.0", - "tapable": "^1.0.0", - "worker-rpc": "^0.1.0" - }, - "dependencies": { - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "requires": { - "map-cache": "^0.2.2" - } - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "fs-extra": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", - "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" - } - }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "requires": { - "minipass": "^3.0.0" - } - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "get-intrinsic": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz", - "integrity": "sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, - "get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "requires": { - "pump": "^3.0.0" - } - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" - }, - "github-slugger": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.3.0.tgz", - "integrity": "sha512-gwJScWVNhFYSRDvURk/8yhcFBee6aFjye2a7Lhb2bUyRulpIoek9p0I9Kt7PT67d/nUlZbFu8L9RLiA0woQN8Q==", - "requires": { - "emoji-regex": ">=6.0.0 <=6.1.1" - }, - "dependencies": { - "emoji-regex": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.1.tgz", - "integrity": "sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4=" - } - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "requires": { - "is-glob": "^4.0.1" - } - }, - "glob-to-regexp": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", - "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=" - }, - "global-dirs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.1.0.tgz", - "integrity": "sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ==", - "requires": { - "ini": "1.3.7" - }, - "dependencies": { - "ini": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz", - "integrity": "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==" - } - } - }, - "global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "requires": { - "global-prefix": "^3.0.0" - } - }, - "global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "requires": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "dependencies": { - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - }, - "globby": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", - "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", - "requires": { - "@types/glob": "^7.1.1", - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", - "slash": "^3.0.0" - } - }, - "good-listener": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", - "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", - "optional": true, - "requires": { - "delegate": "^3.1.2" - } - }, - "got": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", - "requires": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" - } - }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" - }, - "gray-matter": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.2.tgz", - "integrity": "sha512-7hB/+LxrOjq/dd8APlK0r24uL/67w7SkYnfwhNFwg/VDIGWGmduTDYf3WNstLW2fbbmRwrDGCVSJ2isuf2+4Hw==", - "requires": { - "js-yaml": "^3.11.0", - "kind-of": "^6.0.2", - "section-matter": "^1.0.0", - "strip-bom-string": "^1.0.0" - } - }, - "gzip-size": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", - "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", - "requires": { - "duplexer": "^0.1.1", - "pify": "^4.0.1" - }, - "dependencies": { - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" - } - } - }, - "handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - } - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "has-yarn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", - "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==" - }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - } - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "hast-to-hyperscript": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz", - "integrity": "sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==", - "requires": { - "@types/unist": "^2.0.3", - "comma-separated-tokens": "^1.0.0", - "property-information": "^5.3.0", - "space-separated-tokens": "^1.0.0", - "style-to-object": "^0.3.0", - "unist-util-is": "^4.0.0", - "web-namespaces": "^1.0.0" - } - }, - "hast-util-from-parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz", - "integrity": "sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==", - "requires": { - "@types/parse5": "^5.0.0", - "hastscript": "^6.0.0", - "property-information": "^5.0.0", - "vfile": "^4.0.0", - "vfile-location": "^3.2.0", - "web-namespaces": "^1.0.0" - } - }, - "hast-util-parse-selector": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz", - "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==" - }, - "hast-util-raw": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-6.0.1.tgz", - "integrity": "sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig==", - "requires": { - "@types/hast": "^2.0.0", - "hast-util-from-parse5": "^6.0.0", - "hast-util-to-parse5": "^6.0.0", - "html-void-elements": "^1.0.0", - "parse5": "^6.0.0", - "unist-util-position": "^3.0.0", - "vfile": "^4.0.0", - "web-namespaces": "^1.0.0", - "xtend": "^4.0.0", - "zwitch": "^1.0.0" - } - }, - "hast-util-to-parse5": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz", - "integrity": "sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ==", - "requires": { - "hast-to-hyperscript": "^9.0.0", - "property-information": "^5.0.0", - "web-namespaces": "^1.0.0", - "xtend": "^4.0.0", - "zwitch": "^1.0.0" - } - }, - "hastscript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz", - "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==", - "requires": { - "@types/hast": "^2.0.0", - "comma-separated-tokens": "^1.0.0", - "hast-util-parse-selector": "^2.0.0", - "property-information": "^5.0.0", - "space-separated-tokens": "^1.0.0" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - }, - "hex-color-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", - "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" - }, - "history": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", - "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", - "requires": { - "@babel/runtime": "^7.1.2", - "loose-envify": "^1.2.0", - "resolve-pathname": "^3.0.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0", - "value-equal": "^1.0.1" - } - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "requires": { - "react-is": "^16.7.0" - } - }, - "hoopy": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", - "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==" - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "hsl-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", - "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=" - }, - "hsla-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", - "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=" - }, - "html-comment-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", - "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==" - }, - "html-entities": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", - "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==" - }, - "html-minifier-terser": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", - "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", - "requires": { - "camel-case": "^4.1.1", - "clean-css": "^4.2.3", - "commander": "^4.1.1", - "he": "^1.2.0", - "param-case": "^3.0.3", - "relateurl": "^0.2.7", - "terser": "^4.6.3" - } - }, - "html-tags": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz", - "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==" - }, - "html-void-elements": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz", - "integrity": "sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==" - }, - "html-webpack-plugin": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.0.tgz", - "integrity": "sha512-MouoXEYSjTzCrjIxWwg8gxL5fE2X2WZJLmBYXlaJhQUH5K/b5OrqmV7T4dB7iu0xkmJ6JlUuV6fFVtnqbPopZw==", - "requires": { - "@types/html-minifier-terser": "^5.0.0", - "@types/tapable": "^1.0.5", - "@types/webpack": "^4.41.8", - "html-minifier-terser": "^5.0.1", - "loader-utils": "^1.2.3", - "lodash": "^4.17.15", - "pretty-error": "^2.1.1", - "tapable": "^1.1.3", - "util.promisify": "1.0.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "util.promisify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", - "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", - "requires": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" - } - } - } - }, - "htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", - "requires": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" - } - } - }, - "http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=" - }, - "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - } - } - }, - "http-parser-js": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.2.tgz", - "integrity": "sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ==" - }, - "http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "http-proxy-middleware": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", - "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", - "requires": { - "http-proxy": "^1.17.0", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" - }, - "dependencies": { - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" - }, - "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "icss-utils": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", - "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", - "requires": { - "postcss": "^7.0.14" - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" - }, - "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==" - }, - "immer": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/immer/-/immer-1.10.0.tgz", - "integrity": "sha512-O3sR1/opvCDGLEVcvrGTMtLac8GJ5IwZC4puPrLuRj3l7ICKvkmA0vGuU9OW8mV9WIBRnaxp5GJh9IEAaNOoYg==" - }, - "import-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", - "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", - "requires": { - "import-from": "^2.1.0" - } - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "import-from": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", - "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", - "requires": { - "resolve-from": "^3.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" - } - } - }, - "import-lazy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=" - }, - "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "requires": { - "find-up": "^3.0.0" - } - } - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" - }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" - }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" - }, - "infima": { - "version": "0.2.0-alpha.18", - "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.18.tgz", - "integrity": "sha512-ndSEffXzjgM/eiSm5jpLTX6ON9MmylzxqBnV2bTiC3kCSyDYdvzTs+bSwf+C4TWayuqnRTnBK1JUePo3m6Bnfg==" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "inline-style-parser": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", - "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" - }, - "inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "internal-ip": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", - "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", - "requires": { - "default-gateway": "^4.2.0", - "ipaddr.js": "^1.9.0" - } - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" - }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" - }, - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" - }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" - }, - "is-absolute-url": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", - "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=" - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-alphabetical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", - "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==" - }, - "is-alphanumerical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", - "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", - "requires": { - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0" - } - }, - "is-arguments": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", - "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", - "requires": { - "call-bind": "^1.0.0" - } - }, - "is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==" - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "requires": { - "ci-info": "^2.0.0" - }, - "dependencies": { - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" - } - } - }, - "is-color-stop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", - "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", - "requires": { - "css-color-names": "^0.0.4", - "hex-color-regex": "^1.1.0", - "hsl-regex": "^1.0.0", - "hsla-regex": "^1.0.0", - "rgb-regex": "^1.0.1", - "rgba-regex": "^1.0.0" - } - }, - "is-core-module": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", - "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", - "requires": { - "has": "^1.0.3" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" - }, - "is-decimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", - "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==" - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - } - } - }, - "is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=" - }, - "is-docker": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", - "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==" - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-hexadecimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", - "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==" - }, - "is-installed-globally": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz", - "integrity": "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==", - "requires": { - "global-dirs": "^2.0.1", - "is-path-inside": "^3.0.1" - } - }, - "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" - }, - "is-npm": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz", - "integrity": "sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==" - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" - }, - "is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==" - }, - "is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", - "requires": { - "is-path-inside": "^2.1.0" - }, - "dependencies": { - "is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", - "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", - "requires": { - "path-is-inside": "^1.0.2" - } - } - } - }, - "is-path-inside": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz", - "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==" - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "requires": { - "isobject": "^3.0.1" - } - }, - "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", - "requires": { - "has-symbols": "^1.0.1" - } - }, - "is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=" - }, - "is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" - }, - "is-root": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", - "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==" - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - }, - "is-svg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", - "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", - "requires": { - "html-comment-regex": "^1.1.0" - } - }, - "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "requires": { - "has-symbols": "^1.0.1" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "is-whitespace-character": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", - "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==" - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" - }, - "is-word-character": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz", - "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==" - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "requires": { - "is-docker": "^2.0.0" - } - }, - "is-yarn-global": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", - "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - }, - "isomorphic-fetch": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", - "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", - "requires": { - "node-fetch": "^1.0.1", - "whatwg-fetch": ">=0.10.0" - } - }, - "jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "joi": { - "version": "17.3.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.3.0.tgz", - "integrity": "sha512-Qh5gdU6niuYbUIUV5ejbsMiiFmBdw8Kcp8Buj2JntszCkCfxJ9Cz76OtHxOZMPXrt5810iDIXs+n1nNVoquHgg==", - "requires": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.0", - "@sideway/formula": "^3.0.0", - "@sideway/pinpoint": "^2.0.0" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - }, - "json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "json3": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", - "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==" - }, - "json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "requires": { - "minimist": "^1.2.5" - } - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - }, - "dependencies": { - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - } - } - }, - "keyv": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", - "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", - "requires": { - "json-buffer": "3.0.0" - } - }, - "killable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", - "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==" - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - }, - "last-call-webpack-plugin": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz", - "integrity": "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==", - "requires": { - "lodash": "^4.17.5", - "webpack-sources": "^1.1.0" - } - }, - "latest-version": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", - "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", - "requires": { - "package-json": "^6.3.0" - } - }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" - }, - "lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" - }, - "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==" - }, - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" - }, - "lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" - }, - "lodash.assignin": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz", - "integrity": "sha1-uo31+4QesKPoBEIysOJjqNxqKKI=" - }, - "lodash.bind": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz", - "integrity": "sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU=" - }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" - }, - "lodash.chunk": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.chunk/-/lodash.chunk-4.2.0.tgz", - "integrity": "sha1-ZuXOH3btJ7QwPYxlEujRIW6BBrw=" - }, - "lodash.curry": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz", - "integrity": "sha1-JI42By7ekGUB11lmIAqG2riyMXA=" - }, - "lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" - }, - "lodash.filter": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz", - "integrity": "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4=" - }, - "lodash.flatmap": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.flatmap/-/lodash.flatmap-4.5.0.tgz", - "integrity": "sha1-74y/QI9uSCaGYzRTBcaswLd4cC4=" - }, - "lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" - }, - "lodash.flow": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz", - "integrity": "sha1-h79AKSuM+D5OjOGjrkIJ4gBxZ1o=" - }, - "lodash.foreach": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", - "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=" - }, - "lodash.groupby": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.groupby/-/lodash.groupby-4.6.0.tgz", - "integrity": "sha1-Cwih3PaDl8OXhVwyOXg4Mt90A9E=" - }, - "lodash.has": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz", - "integrity": "sha1-0Z9NwQlQWMzL4rDN9O4P5Ko3yGI=" - }, - "lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" - }, - "lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" - }, - "lodash.kebabcase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", - "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=" - }, - "lodash.map": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", - "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=" - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" - }, - "lodash.padstart": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz", - "integrity": "sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs=" - }, - "lodash.pick": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", - "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=" - }, - "lodash.pickby": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.pickby/-/lodash.pickby-4.6.0.tgz", - "integrity": "sha1-feoh2MGNdwOifHBMFdO4SmfjOv8=" - }, - "lodash.reduce": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", - "integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=" - }, - "lodash.reject": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz", - "integrity": "sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU=" - }, - "lodash.some": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", - "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=" - }, - "lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" - }, - "lodash.template": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", - "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", - "requires": { - "lodash._reinterpolate": "^3.0.0", - "lodash.templatesettings": "^4.0.0" - } - }, - "lodash.templatesettings": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", - "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", - "requires": { - "lodash._reinterpolate": "^3.0.0" - } - }, - "lodash.toarray": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", - "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=" - }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" - }, - "loglevel": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", - "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==" - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "requires": { - "tslib": "^2.0.3" - } - }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "requires": { - "semver": "^6.0.0" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "requires": { - "object-visit": "^1.0.0" - } - }, - "markdown-escapes": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", - "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==" - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "mdast-squeeze-paragraphs": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz", - "integrity": "sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ==", - "requires": { - "unist-util-remove": "^2.0.0" - } - }, - "mdast-util-definitions": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz", - "integrity": "sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==", - "requires": { - "unist-util-visit": "^2.0.0" - } - }, - "mdast-util-to-hast": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-10.0.1.tgz", - "integrity": "sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA==", - "requires": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "mdast-util-definitions": "^4.0.0", - "mdurl": "^1.0.0", - "unist-builder": "^2.0.0", - "unist-util-generated": "^1.0.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^2.0.0" - } - }, - "mdast-util-to-string": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz", - "integrity": "sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==" - }, - "mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" - }, - "mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" - }, - "microevent.ts": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz", - "integrity": "sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==" - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - } - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - }, - "mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" - }, - "mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", - "requires": { - "mime-db": "1.44.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" - }, - "mini-create-react-context": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz", - "integrity": "sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ==", - "requires": { - "@babel/runtime": "^7.12.1", - "tiny-warning": "^1.0.3" - } - }, - "mini-css-extract-plugin": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.8.2.tgz", - "integrity": "sha512-a3Y4of27Wz+mqK3qrcd3VhYz6cU0iW5x3Sgvqzbj+XmlrSizmvu8QQMl5oMYJjgHOC4iyt+w7l4umP+dQeW3bw==", - "requires": { - "loader-utils": "^1.1.0", - "normalize-url": "1.9.1", - "schema-utils": "^1.0.0", - "webpack-sources": "^1.1.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "normalize-url": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", - "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", - "requires": { - "object-assign": "^4.0.1", - "prepend-http": "^1.0.0", - "query-string": "^4.1.0", - "sort-keys": "^1.0.0" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } - } - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "minipass": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", - "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", - "requires": { - "yallist": "^4.0.0" - } - }, - "minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "requires": { - "minipass": "^3.0.0" - } - }, - "minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - } - }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } - }, - "move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - }, - "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", - "requires": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" - } - }, - "multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=" - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - } - }, - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - }, - "no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "requires": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node-emoji": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.10.0.tgz", - "integrity": "sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw==", - "requires": { - "lodash.toarray": "^4.4.0" - } - }, - "node-fetch": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", - "requires": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" - } - }, - "node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" - }, - "node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - } - } - }, - "node-releases": { - "version": "1.1.67", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.67.tgz", - "integrity": "sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==" - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" - }, - "normalize-url": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", - "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==" - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "requires": { - "path-key": "^2.0.0" - }, - "dependencies": { - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" - } - } - }, - "nprogress": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", - "integrity": "sha1-y480xTIT2JVyP8urkH6UIq28r7E=" - }, - "nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "requires": { - "boolbase": "~1.0.0" - } - }, - "null-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/null-loader/-/null-loader-3.0.0.tgz", - "integrity": "sha512-hf5sNLl8xdRho4UPBOOeoIwT3WhjYcMUQm0zj44EhD6UscMAz72o2udpoDFBgykucdEDGIcd6SXbc/G6zssbzw==", - "requires": { - "loader-utils": "^1.2.3", - "schema-utils": "^1.0.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } - } - }, - "num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" - }, - "object-is": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.4.tgz", - "integrity": "sha512-1ZvAZ4wlF7IyPVOcE1Omikt7UpaFlOQq0HlSti+ZvDH3UiD2brwGMwDbyV43jao2bKJ+4+WdPJHSd7kgzKYVqg==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "requires": { - "isobject": "^3.0.0" - } - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz", - "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "requires": { - "isobject": "^3.0.1" - } - }, - "object.values": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz", - "integrity": "sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "has": "^1.0.3" - } - }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "open": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/open/-/open-7.3.0.tgz", - "integrity": "sha512-mgLwQIx2F/ye9SmbrUkurZCnkoXyXyu9EbHtJZrICjVAJfyMArdHp3KkixGdZx1ZHFPNIwl0DDM1dFFqXbTLZw==", - "requires": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" - } - }, - "opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==" - }, - "opn": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", - "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", - "requires": { - "is-wsl": "^1.1.0" - }, - "dependencies": { - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" - } - } - }, - "optimize-css-assets-webpack-plugin": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.4.tgz", - "integrity": "sha512-wqd6FdI2a5/FdoiCNNkEvLeA//lHHfG24Ln2Xm2qqdIk4aOlsR18jwpyOihqQ8849W3qu2DX8fOYxpvTMj+93A==", - "requires": { - "cssnano": "^4.1.10", - "last-call-webpack-plugin": "^3.0.0" - } - }, - "original": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", - "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", - "requires": { - "url-parse": "^1.4.3" - } - }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" - }, - "p-cancelable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "p-retry": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", - "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", - "requires": { - "retry": "^0.12.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - }, - "package-json": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", - "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", - "requires": { - "got": "^9.6.0", - "registry-auth-token": "^4.0.0", - "registry-url": "^5.0.0", - "semver": "^6.2.0" - } - }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" - }, - "parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "requires": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "requires": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", - "requires": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "parse-entities": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", - "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", - "requires": { - "character-entities": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "character-reference-invalid": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-hexadecimal": "^1.0.0" - } - }, - "parse-json": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", - "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "parse-numeric-range": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.2.0.tgz", - "integrity": "sha512-1q2tXpAOplPxcl8vrIGPWz1dJxxfmdRkCFcpxxMBerDnGuuHalOWF/xj9L8Nn5XoTUoB/6F0CeQBp2fMgkOYFg==" - }, - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - }, - "pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" - }, - "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - }, - "pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", - "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==" - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "requires": { - "pinkie": "^2.0.0" - } - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "requires": { - "find-up": "^4.0.0" - } - }, - "pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", - "requires": { - "find-up": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" - } - } - }, - "pnp-webpack-plugin": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", - "integrity": "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==", - "requires": { - "ts-pnp": "^1.1.6" - } - }, - "portfinder": { - "version": "1.0.28", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", - "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", - "requires": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.5" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" - }, - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "dependencies": { - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-attribute-case-insensitive": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz", - "integrity": "sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA==", - "requires": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^6.0.2" - } - }, - "postcss-calc": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", - "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", - "requires": { - "postcss": "^7.0.27", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" - } - }, - "postcss-color-functional-notation": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz", - "integrity": "sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g==", - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-color-gray": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz", - "integrity": "sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw==", - "requires": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.5", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-color-hex-alpha": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz", - "integrity": "sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw==", - "requires": { - "postcss": "^7.0.14", - "postcss-values-parser": "^2.0.1" - } - }, - "postcss-color-mod-function": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz", - "integrity": "sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ==", - "requires": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-color-rebeccapurple": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz", - "integrity": "sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g==", - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-colormin": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", - "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", - "requires": { - "browserslist": "^4.0.0", - "color": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-combine-duplicated-selectors": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/postcss-combine-duplicated-selectors/-/postcss-combine-duplicated-selectors-9.4.0.tgz", - "integrity": "sha512-rMnO1H3wgR1T6QSlK3i8Slz9p3xD+0yOi4J7qwh/5PGR3z8jbgYvRlNKAIvXDtGBQbJKoWs4df5skL3a/fdUEA==", - "requires": { - "postcss": "^7.0.0", - "postcss-selector-parser": "^6.0.0" - } - }, - "postcss-convert-values": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", - "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-custom-media": { - "version": "7.0.8", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz", - "integrity": "sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg==", - "requires": { - "postcss": "^7.0.14" - } - }, - "postcss-custom-properties": { - "version": "8.0.11", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz", - "integrity": "sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA==", - "requires": { - "postcss": "^7.0.17", - "postcss-values-parser": "^2.0.1" - } - }, - "postcss-custom-selectors": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz", - "integrity": "sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w==", - "requires": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, - "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" - }, - "postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "requires": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "postcss-dir-pseudo-class": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz", - "integrity": "sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw==", - "requires": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, - "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" - }, - "postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "requires": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "postcss-discard-comments": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", - "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-duplicates": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", - "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-empty": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", - "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-overridden": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", - "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-unused": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-4.0.1.tgz", - "integrity": "sha512-/3vq4LU0bLH2Lj4NYN7BTf2caly0flUB7Xtrk9a5K3yLuXMkHMqMO/x3sDq8W2b1eQFSCyY0IVz2L+0HP8kUUA==", - "requires": { - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0", - "uniqs": "^2.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "postcss-double-position-gradients": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz", - "integrity": "sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA==", - "requires": { - "postcss": "^7.0.5", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-env-function": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-2.0.2.tgz", - "integrity": "sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw==", - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-focus-visible": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz", - "integrity": "sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-focus-within": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz", - "integrity": "sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-font-variant": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz", - "integrity": "sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-gap-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz", - "integrity": "sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-image-set-function": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz", - "integrity": "sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw==", - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-initial": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.2.tgz", - "integrity": "sha512-ugA2wKonC0xeNHgirR4D3VWHs2JcU08WAi1KFLVcnb7IN89phID6Qtg2RIctWbnvp1TM2BOmDtX8GGLCKdR8YA==", - "requires": { - "lodash.template": "^4.5.0", - "postcss": "^7.0.2" - } - }, - "postcss-lab-function": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz", - "integrity": "sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg==", - "requires": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-load-config": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz", - "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==", - "requires": { - "cosmiconfig": "^5.0.0", - "import-cwd": "^2.0.0" - }, - "dependencies": { - "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - } - }, - "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", - "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" - } - } - }, - "postcss-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", - "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", - "requires": { - "loader-utils": "^1.1.0", - "postcss": "^7.0.0", - "postcss-load-config": "^2.0.0", - "schema-utils": "^1.0.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } - } - }, - "postcss-logical": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-3.0.0.tgz", - "integrity": "sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-media-minmax": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz", - "integrity": "sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-merge-idents": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-4.0.1.tgz", - "integrity": "sha512-43S/VNdF6II0NZ31YxcvNYq4gfURlPAAsJW/z84avBXQCaP4I4qRHUH18slW/SOlJbcxxCobflPNUApYDddS7A==", - "requires": { - "cssnano-util-same-parent": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-merge-longhand": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", - "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", - "requires": { - "css-color-names": "0.0.4", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "stylehacks": "^4.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-merge-rules": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", - "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", - "requires": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "cssnano-util-same-parent": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0", - "vendors": "^1.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "postcss-minify-font-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", - "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-minify-gradients": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", - "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "is-color-stop": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-minify-params": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", - "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", - "requires": { - "alphanum-sort": "^1.0.0", - "browserslist": "^4.0.0", - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "uniqs": "^2.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-minify-selectors": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", - "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", - "requires": { - "alphanum-sort": "^1.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "postcss-modules-extract-imports": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", - "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", - "requires": { - "postcss": "^7.0.5" - } - }, - "postcss-modules-local-by-default": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz", - "integrity": "sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==", - "requires": { - "icss-utils": "^4.1.1", - "postcss": "^7.0.32", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-modules-scope": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", - "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", - "requires": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^6.0.0" - } - }, - "postcss-modules-values": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", - "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", - "requires": { - "icss-utils": "^4.0.0", - "postcss": "^7.0.6" - } - }, - "postcss-nesting": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.1.tgz", - "integrity": "sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-normalize-charset": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", - "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-normalize-display-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", - "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", - "requires": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-normalize-positions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", - "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-normalize-repeat-style": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", - "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-normalize-string": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", - "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", - "requires": { - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-normalize-timing-functions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", - "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", - "requires": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-normalize-unicode": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", - "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", - "requires": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-normalize-url": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", - "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", - "requires": { - "is-absolute-url": "^2.0.0", - "normalize-url": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-normalize-whitespace": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", - "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-ordered-values": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", - "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-overflow-shorthand": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz", - "integrity": "sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-page-break": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-2.0.0.tgz", - "integrity": "sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-place": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-4.0.1.tgz", - "integrity": "sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg==", - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - } - }, - "postcss-preset-env": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz", - "integrity": "sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg==", - "requires": { - "autoprefixer": "^9.6.1", - "browserslist": "^4.6.4", - "caniuse-lite": "^1.0.30000981", - "css-blank-pseudo": "^0.1.4", - "css-has-pseudo": "^0.10.0", - "css-prefers-color-scheme": "^3.1.1", - "cssdb": "^4.4.0", - "postcss": "^7.0.17", - "postcss-attribute-case-insensitive": "^4.0.1", - "postcss-color-functional-notation": "^2.0.1", - "postcss-color-gray": "^5.0.0", - "postcss-color-hex-alpha": "^5.0.3", - "postcss-color-mod-function": "^3.0.3", - "postcss-color-rebeccapurple": "^4.0.1", - "postcss-custom-media": "^7.0.8", - "postcss-custom-properties": "^8.0.11", - "postcss-custom-selectors": "^5.1.2", - "postcss-dir-pseudo-class": "^5.0.0", - "postcss-double-position-gradients": "^1.0.0", - "postcss-env-function": "^2.0.2", - "postcss-focus-visible": "^4.0.0", - "postcss-focus-within": "^3.0.0", - "postcss-font-variant": "^4.0.0", - "postcss-gap-properties": "^2.0.0", - "postcss-image-set-function": "^3.0.1", - "postcss-initial": "^3.0.0", - "postcss-lab-function": "^2.0.1", - "postcss-logical": "^3.0.0", - "postcss-media-minmax": "^4.0.0", - "postcss-nesting": "^7.0.0", - "postcss-overflow-shorthand": "^2.0.0", - "postcss-page-break": "^2.0.0", - "postcss-place": "^4.0.1", - "postcss-pseudo-class-any-link": "^6.0.0", - "postcss-replace-overflow-wrap": "^3.0.0", - "postcss-selector-matches": "^4.0.0", - "postcss-selector-not": "^4.0.0" - } - }, - "postcss-pseudo-class-any-link": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz", - "integrity": "sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew==", - "requires": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, - "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" - }, - "postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "requires": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "postcss-reduce-idents": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-4.0.2.tgz", - "integrity": "sha512-Tz70Ri10TclPoCtFfftjFVddx3fZGUkr0dEDbIEfbYhFUOFQZZ77TEqRrU0e6TvAvF+Wa5VVzYTpFpq0uwFFzw==", - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-reduce-initial": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", - "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", - "requires": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0" - } - }, - "postcss-reduce-transforms": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", - "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", - "requires": { - "cssnano-util-get-match": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-replace-overflow-wrap": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz", - "integrity": "sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw==", - "requires": { - "postcss": "^7.0.2" - } - }, - "postcss-selector-matches": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz", - "integrity": "sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==", - "requires": { - "balanced-match": "^1.0.0", - "postcss": "^7.0.2" - } - }, - "postcss-selector-not": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz", - "integrity": "sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ==", - "requires": { - "balanced-match": "^1.0.0", - "postcss": "^7.0.2" - } - }, - "postcss-selector-parser": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz", - "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", - "requires": { - "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1", - "util-deprecate": "^1.0.2" - } - }, - "postcss-sort-media-queries": { - "version": "1.31.21", - "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-1.31.21.tgz", - "integrity": "sha512-h+HbXXfOVFeLvCJOzl/Z9SqQ25MNpG/73k71756ftisaaJy75h06/Dn6KOwC4OCMN10ewT2PXMzHV03JNKwBbg==", - "requires": { - "postcss": "^7.0.27", - "sort-css-media-queries": "1.5.0" - } - }, - "postcss-svgo": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", - "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", - "requires": { - "is-svg": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "svgo": "^1.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - } - } - }, - "postcss-unique-selectors": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", - "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", - "requires": { - "alphanum-sort": "^1.0.0", - "postcss": "^7.0.0", - "uniqs": "^2.0.0" - } - }, - "postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" - }, - "postcss-values-parser": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz", - "integrity": "sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==", - "requires": { - "flatten": "^1.0.2", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - }, - "postcss-zindex": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-4.0.1.tgz", - "integrity": "sha512-d/8BlQcUdEugZNRM9AdCA2V4fqREUtn/wcixLN3L6ITgc2P/FMcVVYz8QZkhItWT9NB5qr8wuN2dJCE4/+dlrA==", - "requires": { - "has": "^1.0.0", - "postcss": "^7.0.0", - "uniqs": "^2.0.0" - } - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" - }, - "pretty-error": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", - "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", - "requires": { - "lodash": "^4.17.20", - "renderkid": "^2.0.4" - } - }, - "pretty-time": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", - "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==" - }, - "prism-react-renderer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-1.1.1.tgz", - "integrity": "sha512-MgMhSdHuHymNRqD6KM3eGS0PNqgK9q4QF5P0yoQQvpB6jNjeSAi3jcSAz0Sua/t9fa4xDOMar9HJbLa08gl9ug==" - }, - "prismjs": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.22.0.tgz", - "integrity": "sha512-lLJ/Wt9yy0AiSYBf212kK3mM5L8ycwlyTlSxHBAneXLR0nzFMlZ5y7riFPF3E33zXOF2IH95xdY5jIyZbM9z/w==", - "requires": { - "clipboard": "^2.0.0" - } - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "requires": { - "asap": "~2.0.3" - } - }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" - }, - "prop-types": { - "version": "15.7.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", - "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.8.1" - } - }, - "property-information": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz", - "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==", - "requires": { - "xtend": "^4.0.0" - } - }, - "proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", - "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.1" - } - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" - }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - } - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } - } - }, - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" - }, - "pupa": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", - "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", - "requires": { - "escape-goat": "^2.0.0" - } - }, - "pure-color": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz", - "integrity": "sha1-H+Bk+wrIUfDeYTIKi/eWg2Qi8z4=" - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" - }, - "query-string": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", - "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", - "requires": { - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" - }, - "querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - }, - "raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", - "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } - }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - } - }, - "react": { - "version": "16.14.0", - "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", - "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2" - } - }, - "react-base16-styling": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.6.0.tgz", - "integrity": "sha1-7yFW1mz0E5aVyKFniGy2nqZgeSw=", - "requires": { - "base16": "^1.0.0", - "lodash.curry": "^4.0.1", - "lodash.flow": "^3.3.0", - "pure-color": "^1.2.0" - } - }, - "react-dev-utils": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-10.2.1.tgz", - "integrity": "sha512-XxTbgJnYZmxuPtY3y/UV0D8/65NKkmaia4rXzViknVnZeVlklSh8u6TnaEYPfAi/Gh1TP4mEOXHI6jQOPbeakQ==", - "requires": { - "@babel/code-frame": "7.8.3", - "address": "1.1.2", - "browserslist": "4.10.0", - "chalk": "2.4.2", - "cross-spawn": "7.0.1", - "detect-port-alt": "1.1.6", - "escape-string-regexp": "2.0.0", - "filesize": "6.0.1", - "find-up": "4.1.0", - "fork-ts-checker-webpack-plugin": "3.1.1", - "global-modules": "2.0.0", - "globby": "8.0.2", - "gzip-size": "5.1.1", - "immer": "1.10.0", - "inquirer": "7.0.4", - "is-root": "2.1.0", - "loader-utils": "1.2.3", - "open": "^7.0.2", - "pkg-up": "3.1.0", - "react-error-overlay": "^6.0.7", - "recursive-readdir": "2.2.2", - "shell-quote": "1.7.2", - "strip-ansi": "6.0.0", - "text-table": "0.2.0" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", - "requires": { - "@babel/highlight": "^7.8.3" - } - }, - "@nodelib/fs.stat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", - "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==" - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "requires": { - "array-uniq": "^1.0.1" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "browserslist": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.10.0.tgz", - "integrity": "sha512-TpfK0TDgv71dzuTsEAlQiHeWQ/tiPqgNZVdv046fvNtBZrjbv2O3TsWCDU0AWGJJKCF/KsjNdLzR9hXOsh/CfA==", - "requires": { - "caniuse-lite": "^1.0.30001035", - "electron-to-chromium": "^1.3.378", - "node-releases": "^1.1.52", - "pkg-up": "^3.1.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - } - } - }, - "cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "detect-port-alt": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", - "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", - "requires": { - "address": "^1.0.1", - "debug": "^2.6.0" - } - }, - "dir-glob": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", - "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", - "requires": { - "arrify": "^1.0.1", - "path-type": "^3.0.0" - } - }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" - }, - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "fast-glob": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", - "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", - "requires": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.1.2", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.3", - "micromatch": "^3.1.10" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "globby": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", - "integrity": "sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==", - "requires": { - "array-union": "^1.0.1", - "dir-glob": "2.0.0", - "fast-glob": "^2.0.2", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" - } - }, - "ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==" - }, - "inquirer": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.4.tgz", - "integrity": "sha512-Bu5Td5+j11sCkqfqmUTiwv+tWisMtP0L7Q8WrqA2C/BbBhy1YTdFrvjjlrKq8oagA/tLQBski2Gcx/Sqyi2qSQ==", - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^2.4.2", - "cli-cursor": "^3.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.15", - "mute-stream": "0.0.8", - "run-async": "^2.2.0", - "rxjs": "^6.5.3", - "string-width": "^4.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" - }, - "dependencies": { - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", - "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^2.0.0", - "json5": "^1.0.1" - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "requires": { - "pify": "^3.0.0" - } - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - } - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "react-dom": { - "version": "16.14.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", - "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.19.1" - } - }, - "react-error-overlay": { - "version": "6.0.8", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.8.tgz", - "integrity": "sha512-HvPuUQnLp5H7TouGq3kzBeioJmXms1wHy9EGjz2OURWBp4qZO6AfGEcnxts1D/CbwPLRAgTMPCEgYhA3sEM4vw==" - }, - "react-fast-compare": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz", - "integrity": "sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==" - }, - "react-helmet": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-6.1.0.tgz", - "integrity": "sha512-4uMzEY9nlDlgxr61NL3XbKRy1hEkXmKNXhjbAIOVw5vcFrsdYbH2FEwcNyWvWinl103nXgzYNlns9ca+8kFiWw==", - "requires": { - "object-assign": "^4.1.1", - "prop-types": "^15.7.2", - "react-fast-compare": "^3.1.1", - "react-side-effect": "^2.1.0" - } - }, - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "react-json-view": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/react-json-view/-/react-json-view-1.19.1.tgz", - "integrity": "sha512-u5e0XDLIs9Rj43vWkKvwL8G3JzvXSl6etuS5G42a8klMohZuYFQzSN6ri+/GiBptDqlrXPTdExJVU7x9rrlXhg==", - "requires": { - "flux": "^3.1.3", - "react-base16-styling": "^0.6.0", - "react-lifecycles-compat": "^3.0.4", - "react-textarea-autosize": "^6.1.0" - } - }, - "react-lifecycles-compat": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", - "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" - }, - "react-loadable": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/react-loadable/-/react-loadable-5.5.0.tgz", - "integrity": "sha512-C8Aui0ZpMd4KokxRdVAm2bQtI03k2RMRNzOB+IipV3yxFTSVICv7WoUr5L9ALB5BmKO1iHgZtWM8EvYG83otdg==", - "requires": { - "prop-types": "^15.5.0" - } - }, - "react-loadable-ssr-addon": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/react-loadable-ssr-addon/-/react-loadable-ssr-addon-0.3.0.tgz", - "integrity": "sha512-E+lnmDakV0k6ut6R2J77vurwCOwTKEwKlHs9S62G8ez+ujecLPcqjt3YAU8M58kIGjp2QjFlZ7F9QWkq/mr6Iw==", - "requires": { - "@babel/runtime": "^7.10.3" - } - }, - "react-router": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.0.tgz", - "integrity": "sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw==", - "requires": { - "@babel/runtime": "^7.1.2", - "history": "^4.9.0", - "hoist-non-react-statics": "^3.1.0", - "loose-envify": "^1.3.1", - "mini-create-react-context": "^0.4.0", - "path-to-regexp": "^1.7.0", - "prop-types": "^15.6.2", - "react-is": "^16.6.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "path-to-regexp": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", - "requires": { - "isarray": "0.0.1" - } - } - } - }, - "react-router-config": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz", - "integrity": "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==", - "requires": { - "@babel/runtime": "^7.1.2" - } - }, - "react-router-dom": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.2.0.tgz", - "integrity": "sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA==", - "requires": { - "@babel/runtime": "^7.1.2", - "history": "^4.9.0", - "loose-envify": "^1.3.1", - "prop-types": "^15.6.2", - "react-router": "5.2.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" - } - }, - "react-side-effect": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-2.1.1.tgz", - "integrity": "sha512-2FoTQzRNTncBVtnzxFOk2mCpcfxQpenBMbk5kSVBg5UcPqV9fRbgY2zhb7GTWWOlpFmAxhClBDlIq8Rsubz1yQ==" - }, - "react-textarea-autosize": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-6.1.0.tgz", - "integrity": "sha512-F6bI1dgib6fSvG8so1HuArPUv+iVEfPliuLWusLF+gAKz0FbB4jLrWUrTAeq1afnPT2c9toEZYUdz/y1uKMy4A==", - "requires": { - "prop-types": "^15.6.0" - } - }, - "react-toggle": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/react-toggle/-/react-toggle-4.1.1.tgz", - "integrity": "sha512-+wXlMcSpg8SmnIXauMaZiKpR+r2wp2gMUteroejp2UTSqGTVvZLN+m9EhMzFARBKEw7KpQOwzCyfzeHeAndQGw==", - "requires": { - "classnames": "^2.2.5" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", - "requires": { - "picomatch": "^2.2.1" - } - }, - "reading-time": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.2.1.tgz", - "integrity": "sha512-a27kU9sCJzx4JklmKFMXgMoCWlhBi75DFTbU7+M3rjh5SXRWyacYt02il3muYaA+SUQ7tg5gMQn7GC8zOxTt/g==" - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "requires": { - "resolve": "^1.1.6" - } - }, - "recursive-readdir": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", - "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", - "requires": { - "minimatch": "3.0.4" - } - }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" - }, - "regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", - "requires": { - "regenerate": "^1.4.0" - } - }, - "regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" - }, - "regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - } - }, - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "regexp.prototype.flags": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", - "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - } - } - }, - "regexpu-core": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", - "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", - "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" - } - }, - "registry-auth-token": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz", - "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==", - "requires": { - "rc": "^1.2.8" - } - }, - "registry-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", - "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", - "requires": { - "rc": "^1.2.8" - } - }, - "regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" - }, - "regjsparser": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", - "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" - } - } - }, - "rehype-parse": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-6.0.2.tgz", - "integrity": "sha512-0S3CpvpTAgGmnz8kiCyFLGuW5yA4OQhyNTm/nwPopZ7+PI11WnGl1TTWTGv/2hPEe/g2jRLlhVVSsoDH8waRug==", - "requires": { - "hast-util-from-parse5": "^5.0.0", - "parse5": "^5.0.0", - "xtend": "^4.0.0" - }, - "dependencies": { - "hast-util-from-parse5": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-5.0.3.tgz", - "integrity": "sha512-gOc8UB99F6eWVWFtM9jUikjN7QkWxB3nY0df5Z0Zq1/Nkwl5V4hAAsl0tmwlgWl/1shlTF8DnNYLO8X6wRV9pA==", - "requires": { - "ccount": "^1.0.3", - "hastscript": "^5.0.0", - "property-information": "^5.0.0", - "web-namespaces": "^1.1.2", - "xtend": "^4.0.1" - } - }, - "hastscript": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-5.1.2.tgz", - "integrity": "sha512-WlztFuK+Lrvi3EggsqOkQ52rKbxkXL3RwB6t5lwoa8QLMemoWfBuL43eDrwOamJyR7uKQKdmKYaBH1NZBiIRrQ==", - "requires": { - "comma-separated-tokens": "^1.0.0", - "hast-util-parse-selector": "^2.0.0", - "property-information": "^5.0.0", - "space-separated-tokens": "^1.0.0" - } - }, - "parse5": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", - "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==" - } - } - }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=" - }, - "remark-admonitions": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/remark-admonitions/-/remark-admonitions-1.2.1.tgz", - "integrity": "sha512-Ji6p68VDvD+H1oS95Fdx9Ar5WA2wcDA4kwrrhVU7fGctC6+d3uiMICu7w7/2Xld+lnU7/gi+432+rRbup5S8ow==", - "requires": { - "rehype-parse": "^6.0.2", - "unified": "^8.4.2", - "unist-util-visit": "^2.0.1" - }, - "dependencies": { - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" - }, - "unified": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-8.4.2.tgz", - "integrity": "sha512-JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA==", - "requires": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-plain-obj": "^2.0.0", - "trough": "^1.0.0", - "vfile": "^4.0.0" - } - } - } - }, - "remark-emoji": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/remark-emoji/-/remark-emoji-2.1.0.tgz", - "integrity": "sha512-lDddGsxXURV01WS9WAiS9rO/cedO1pvr9tahtLhr6qCGFhHG4yZSJW3Ha4Nw9Uk1hLNmUBtPC0+m45Ms+xEitg==", - "requires": { - "emoticon": "^3.2.0", - "node-emoji": "^1.10.0", - "unist-util-visit": "^2.0.2" - } - }, - "remark-footnotes": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/remark-footnotes/-/remark-footnotes-2.0.0.tgz", - "integrity": "sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ==" - }, - "remark-mdx": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.6.22.tgz", - "integrity": "sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ==", - "requires": { - "@babel/core": "7.12.9", - "@babel/helper-plugin-utils": "7.10.4", - "@babel/plugin-proposal-object-rest-spread": "7.12.1", - "@babel/plugin-syntax-jsx": "7.12.1", - "@mdx-js/util": "1.6.22", - "is-alphabetical": "1.0.4", - "remark-parse": "8.0.3", - "unified": "9.2.0" - }, - "dependencies": { - "@babel/core": { - "version": "7.12.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz", - "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==", - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.5", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.5", - "@babel/parser": "^7.12.7", - "@babel/template": "^7.12.7", - "@babel/traverse": "^7.12.9", - "@babel/types": "^7.12.7", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.19", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "remark-parse": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz", - "integrity": "sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==", - "requires": { - "ccount": "^1.0.0", - "collapse-white-space": "^1.0.2", - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-whitespace-character": "^1.0.0", - "is-word-character": "^1.0.0", - "markdown-escapes": "^1.0.0", - "parse-entities": "^2.0.0", - "repeat-string": "^1.5.4", - "state-toggle": "^1.0.0", - "trim": "0.0.1", - "trim-trailing-lines": "^1.0.0", - "unherit": "^1.0.4", - "unist-util-remove-position": "^2.0.0", - "vfile-location": "^3.0.0", - "xtend": "^4.0.1" - } - }, - "remark-squeeze-paragraphs": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz", - "integrity": "sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw==", - "requires": { - "mdast-squeeze-paragraphs": "^4.0.0" - } - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" - }, - "renderkid": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.4.tgz", - "integrity": "sha512-K2eXrSOJdq+HuKzlcjOlGoOarUu5SDguDEhE7+Ah4zuOWL40j8A/oHvLlLob9PSTNvVnBd+/q0Er1QfpEuem5g==", - "requires": { - "css-select": "^1.1.0", - "dom-converter": "^0.2", - "htmlparser2": "^3.3.0", - "lodash": "^4.17.20", - "strip-ansi": "^3.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", - "requires": { - "boolbase": "~1.0.0", - "css-what": "2.1", - "domutils": "1.5.1", - "nth-check": "~1.0.1" - } - }, - "css-what": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", - "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==" - }, - "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" - }, - "require-like": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", - "integrity": "sha1-rW8wwTvs15cBDEaK+ndcDAprR/o=" - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" - }, - "resolve": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", - "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", - "requires": { - "is-core-module": "^2.1.0", - "path-parse": "^1.0.6" - } - }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "requires": { - "resolve-from": "^3.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" - } - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - }, - "resolve-pathname": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", - "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" - }, - "responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", - "requires": { - "lowercase-keys": "^1.0.0" - } - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" - }, - "retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=" - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" - }, - "rgb-regex": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", - "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=" - }, - "rgba-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", - "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" - }, - "run-parallel": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", - "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==" - }, - "run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "requires": { - "aproba": "^1.1.1" - } - }, - "rxjs": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", - "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", - "requires": { - "tslib": "^1.9.0" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "scheduler": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", - "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "requires": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - } - }, - "section-matter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", - "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", - "requires": { - "extend-shallow": "^2.0.1", - "kind-of": "^6.0.0" - } - }, - "select": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", - "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=", - "optional": true - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=" - }, - "selfsigned": { - "version": "1.10.8", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.8.tgz", - "integrity": "sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w==", - "requires": { - "node-forge": "^0.10.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "semver-diff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", - "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", - "requires": { - "semver": "^6.3.0" - } - }, - "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "requires": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - } - } - }, - "serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", - "requires": { - "randombytes": "^2.1.0" - } - }, - "serve-handler": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.3.tgz", - "integrity": "sha512-FosMqFBNrLyeiIDvP1zgO6YoTzFYHxLDEIavhlmQ+knB2Z7l1t+kGLHkZIDN7UVWqQAmKI3D20A6F6jo3nDd4w==", - "requires": { - "bytes": "3.0.0", - "content-disposition": "0.5.2", - "fast-url-parser": "1.1.3", - "mime-types": "2.1.18", - "minimatch": "3.0.4", - "path-is-inside": "1.0.2", - "path-to-regexp": "2.2.1", - "range-parser": "1.2.0" - }, - "dependencies": { - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" - }, - "content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=" - }, - "mime-db": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==" - }, - "mime-types": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", - "requires": { - "mime-db": "~1.33.0" - } - }, - "path-to-regexp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", - "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==" - }, - "range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" - } - } - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - } - } - }, - "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - } - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "shell-quote": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", - "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==" - }, - "shelljs": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz", - "integrity": "sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==", - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" - }, - "simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", - "requires": { - "is-arrayish": "^0.3.1" - } - }, - "sitemap": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-3.2.2.tgz", - "integrity": "sha512-TModL/WU4m2q/mQcrDgNANn0P4LwprM9MMvG4hu5zP4c6IIKs2YLTu6nXXnNr8ODW/WFtxKggiJ1EGn2W0GNmg==", - "requires": { - "lodash.chunk": "^4.2.0", - "lodash.padstart": "^4.6.1", - "whatwg-url": "^7.0.0", - "xmlbuilder": "^13.0.0" - } - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "sockjs": { - "version": "0.3.21", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", - "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", - "requires": { - "faye-websocket": "^0.11.3", - "uuid": "^3.4.0", - "websocket-driver": "^0.7.4" - } - }, - "sockjs-client": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.0.tgz", - "integrity": "sha512-8Dt3BDi4FYNrCFGTL/HtwVzkARrENdwOUf1ZoW/9p3M8lZdFT35jVdrHza+qgxuG9H3/shR4cuX/X9umUrjP8Q==", - "requires": { - "debug": "^3.2.6", - "eventsource": "^1.0.7", - "faye-websocket": "^0.11.3", - "inherits": "^2.0.4", - "json3": "^3.3.3", - "url-parse": "^1.4.7" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "sort-css-media-queries": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-1.5.0.tgz", - "integrity": "sha512-QofNE7CEVH1AKdhS7L9IPbV9UtyQYNXyw++8lC+xG6iOLlpzsmncZRiKbihTAESvZ8wOhwnPoesHbMrehrQyyw==" - }, - "sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", - "requires": { - "is-plain-obj": "^1.0.0" - } - }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" - }, - "space-separated-tokens": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", - "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==" - }, - "spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - } - }, - "spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "requires": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - } - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "requires": { - "extend-shallow": "^3.0.0" - }, - "dependencies": { - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - } - }, - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "ssri": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.0.tgz", - "integrity": "sha512-aq/pz989nxVYwn16Tsbj1TqFpD5LLrQxHf5zaHuieFV+R0Bbr4y8qUsOA45hXT/N4/9UNXTarBjnjVmjSOVaAA==", - "requires": { - "minipass": "^3.1.1" - } - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" - }, - "state-toggle": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz", - "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==" - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" - }, - "std-env": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-2.2.1.tgz", - "integrity": "sha512-IjYQUinA3lg5re/YMlwlfhqNRTzMZMqE+pezevdcTaHceqx8ngEi1alX9nNCk9Sc81fy1fLDeQoaCzeiW1yBOQ==", - "requires": { - "ci-info": "^1.6.0" - } - }, - "stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - } - } - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, - "string.prototype.trimend": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", - "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "string.prototype.trimstart": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", - "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "requires": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - }, - "dependencies": { - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" - } - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "strip-bom-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", - "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=" - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" - }, - "style-to-object": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz", - "integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==", - "requires": { - "inline-style-parser": "0.1.1" - } - }, - "stylehacks": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", - "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", - "requires": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "svg-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" - }, - "svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "requires": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - }, - "dependencies": { - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - } - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" - }, - "tar": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.5.tgz", - "integrity": "sha512-0b4HOimQHj9nXNEAA7zWwMM91Zhhba3pspja6sQbgTpynOJf+bkjBnfybNYzbpLbnwXnbyB4LOREvlyXLkCHSg==", - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - } - } - }, - "term-size": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", - "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==" - }, - "terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", - "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "terser-webpack-plugin": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz", - "integrity": "sha512-jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ==", - "requires": { - "cacache": "^15.0.5", - "find-cache-dir": "^3.3.1", - "jest-worker": "^26.5.0", - "p-limit": "^3.0.2", - "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", - "source-map": "^0.6.1", - "terser": "^5.3.4", - "webpack-sources": "^1.4.3" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "terser": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.5.1.tgz", - "integrity": "sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ==", - "requires": { - "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.19" - }, - "dependencies": { - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" - } - } - } - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" - }, - "timers-browserify": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", - "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", - "requires": { - "setimmediate": "^1.0.4" - } - }, - "timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" - }, - "tiny-emitter": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", - "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==", - "optional": true - }, - "tiny-invariant": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.1.0.tgz", - "integrity": "sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw==" - }, - "tiny-warning": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-readable-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - } - }, - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - }, - "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" - }, - "tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", - "requires": { - "punycode": "^2.1.0" - }, - "dependencies": { - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - } - } - }, - "trim": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", - "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=" - }, - "trim-trailing-lines": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz", - "integrity": "sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==" - }, - "trough": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", - "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==" - }, - "tryer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", - "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" - }, - "ts-pnp": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", - "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==" - }, - "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" - }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "ua-parser-js": { - "version": "0.7.23", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.23.tgz", - "integrity": "sha512-m4hvMLxgGHXG3O3fQVAyyAQpZzDOvwnhOTjYz5Xmr7r/+LpkNy3vJXdVRWgd1TkAb7NGROZuSy96CrlNVjA7KA==" - }, - "unherit": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz", - "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==", - "requires": { - "inherits": "^2.0.0", - "xtend": "^4.0.0" - } - }, - "unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==" - }, - "unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", - "requires": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==" - }, - "unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==" - }, - "unified": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz", - "integrity": "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==", - "requires": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^2.0.0", - "trough": "^1.0.0", - "vfile": "^4.0.0" - }, - "dependencies": { - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" - }, - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" - } - } - }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - } - }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" - }, - "uniqs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" - }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "requires": { - "unique-slug": "^2.0.0" - } - }, - "unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "requires": { - "imurmurhash": "^0.1.4" - } - }, - "unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "requires": { - "crypto-random-string": "^2.0.0" - } - }, - "unist-builder": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz", - "integrity": "sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==" - }, - "unist-util-generated": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz", - "integrity": "sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==" - }, - "unist-util-is": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.4.tgz", - "integrity": "sha512-3dF39j/u423v4BBQrk1AQ2Ve1FxY5W3JKwXxVFzBODQ6WEvccguhgp802qQLKSnxPODE6WuRZtV+ohlUg4meBA==" - }, - "unist-util-position": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz", - "integrity": "sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==" - }, - "unist-util-remove": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.0.1.tgz", - "integrity": "sha512-YtuetK6o16CMfG+0u4nndsWpujgsHDHHLyE0yGpJLLn5xSjKeyGyzEBOI2XbmoUHCYabmNgX52uxlWoQhcvR7Q==", - "requires": { - "unist-util-is": "^4.0.0" - } - }, - "unist-util-remove-position": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz", - "integrity": "sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==", - "requires": { - "unist-util-visit": "^2.0.0" - } - }, - "unist-util-stringify-position": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", - "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", - "requires": { - "@types/unist": "^2.0.2" - } - }, - "unist-util-visit": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", - "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", - "requires": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0", - "unist-util-visit-parents": "^3.0.0" - } - }, - "unist-util-visit-parents": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", - "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", - "requires": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0" - } - }, - "universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==" - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" - }, - "unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=" - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" - } - } - }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" - }, - "update-notifier": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.3.tgz", - "integrity": "sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==", - "requires": { - "boxen": "^4.2.0", - "chalk": "^3.0.0", - "configstore": "^5.0.1", - "has-yarn": "^2.1.0", - "import-lazy": "^2.1.0", - "is-ci": "^2.0.0", - "is-installed-globally": "^0.3.1", - "is-npm": "^4.0.0", - "is-yarn-global": "^0.3.0", - "latest-version": "^5.0.0", - "pupa": "^2.0.1", - "semver-diff": "^3.1.1", - "xdg-basedir": "^4.0.0" - } - }, - "uri-js": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", - "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", - "requires": { - "punycode": "^2.1.0" - }, - "dependencies": { - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - } - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "url-loader": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", - "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", - "requires": { - "loader-utils": "^2.0.0", - "mime-types": "^2.1.27", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "url-parse": { - "version": "1.4.7", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", - "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "requires": { - "prepend-http": "^2.0.0" - }, - "dependencies": { - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" - } - } - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" - }, - "util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "requires": { - "inherits": "2.0.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - } - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - } - } - }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=" - }, - "utility-types": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", - "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==" - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - }, - "value-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", - "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" - }, - "vendors": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", - "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==" - }, - "vfile": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", - "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", - "requires": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^2.0.0", - "vfile-message": "^2.0.0" - }, - "dependencies": { - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" - } - } - }, - "vfile-location": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz", - "integrity": "sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==" - }, - "vfile-message": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", - "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", - "requires": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^2.0.0" - } - }, - "vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" - }, - "wait-on": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-5.2.1.tgz", - "integrity": "sha512-H2F986kNWMU9hKlI9l/ppO6tN8ZSJd35yBljMLa1/vjzWP++Qh6aXyt77/u7ySJFZQqBtQxnvm/xgG48AObXcw==", - "requires": { - "axios": "^0.21.1", - "joi": "^17.3.0", - "lodash": "^4.17.20", - "minimist": "^1.2.5", - "rxjs": "^6.6.3" - } - }, - "watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", - "requires": { - "chokidar": "^3.4.1", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0", - "watchpack-chokidar2": "^2.0.1" - } - }, - "watchpack-chokidar2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", - "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", - "optional": true, - "requires": { - "chokidar": "^2.1.8" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "optional": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "optional": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "optional": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "optional": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "optional": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "optional": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "optional": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "optional": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "optional": true - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "optional": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "optional": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "optional": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "optional": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "optional": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "optional": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "optional": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "optional": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "use-composed-ref": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.1.0.tgz", + "integrity": "sha512-my1lNHGWsSDAhhVAT4MKs6IjBUtG6ZG11uUqexPH9PptiIZDQOzaF4f5tEbJ2+7qvNbtXNBbU3SfmN+fXlWDhg==", "requires": { - "minimalistic-assert": "^1.0.0" - } - }, - "web-namespaces": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz", - "integrity": "sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==" - }, - "webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" - }, - "webpack": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz", - "integrity": "sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==", - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.3.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - }, - "dependencies": { - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "requires": { - "locate-path": "^3.0.0" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "requires": { - "yallist": "^3.0.2" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "requires": { - "find-up": "^3.0.0" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "requires": { - "randombytes": "^2.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "requires": { - "figgy-pudding": "^3.5.1" - } - }, - "terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", - "requires": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "ts-essentials": "^2.0.3" + } + }, + "use-isomorphic-layout-effect": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.1.tgz", + "integrity": "sha512-L7Evj8FGcwo/wpbv/qvSfrkHFtOpCzvM5yl2KVyDJoylVuSvzphiiasmjgQPttIGBAy2WKiBNR98q8w7PiNgKQ==" + }, + "use-latest": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-latest/-/use-latest-1.2.0.tgz", + "integrity": "sha512-d2TEuG6nSLKQLAfW3By8mKr8HurOlTkul0sOpxbClIv4SQ4iOd7BYr7VIzdbktUCnv7dua/60xzd8igMU6jmyw==", + "requires": { + "use-isomorphic-layout-effect": "^1.0.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + } + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=" + }, + "utility-types": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", + "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + }, + "value-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", + "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "vendors": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==" + }, + "vfile": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", + "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", + "requires": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^2.0.0", + "vfile-message": "^2.0.0" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" } } }, + "vfile-location": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz", + "integrity": "sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==" + }, + "vfile-message": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", + "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + } + }, + "wait-on": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-5.3.0.tgz", + "integrity": "sha512-DwrHrnTK+/0QFaB9a8Ol5Lna3k7WvUR4jzSKmz0YaPBpuN2sACyiPVKVfj6ejnjcajAcvn3wlbTyMIn9AZouOg==", + "requires": { + "axios": "^0.21.1", + "joi": "^17.3.0", + "lodash": "^4.17.21", + "minimist": "^1.2.5", + "rxjs": "^6.6.3" + } + }, + "watchpack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz", + "integrity": "sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==", + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "web-namespaces": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz", + "integrity": "sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==" + }, + "webpack": { + "version": "5.45.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.45.1.tgz", + "integrity": "sha512-68VT2ZgG9EHs6h6UxfV2SEYewA9BA3SOLSnC2NEbJJiEwbAiueDL033R1xX0jzjmXvMh0oSeKnKgbO2bDXIEyQ==", + "requires": { + "@types/eslint-scope": "^3.7.0", + "@types/estree": "^0.0.50", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.8.0", + "es-module-lexer": "^0.7.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.4", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.2.0", + "webpack-sources": "^2.3.0" + } + }, "webpack-bundle-analyzer": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.9.0.tgz", - "integrity": "sha512-Ob8amZfCm3rMB1ScjQVlbYYUEJyEjdEtQ92jqiFUYt5VkEeO2v5UMbv49P/gnmCZm3A6yaFQzCBvpZqN4MUsdA==", + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.4.2.tgz", + "integrity": "sha512-PIagMYhlEzFfhMYOzs5gFT55DkUdkyrJi/SxJp8EF3YMWhS+T9vvs2EoTetpk5qb6VsCq02eXTlRDOydRhDFAQ==", "requires": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1", - "bfj": "^6.1.1", - "chalk": "^2.4.1", - "commander": "^2.18.0", - "ejs": "^2.6.1", - "express": "^4.16.3", - "filesize": "^3.6.1", - "gzip-size": "^5.0.0", - "lodash": "^4.17.19", - "mkdirp": "^0.5.1", - "opener": "^1.5.1", - "ws": "^6.0.0" + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "chalk": "^4.1.0", + "commander": "^6.2.0", + "gzip-size": "^6.0.0", + "lodash": "^4.17.20", + "opener": "^1.5.2", + "sirv": "^1.0.7", + "ws": "^7.3.1" }, "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + "commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==" }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "duplexer": "^0.1.2" } - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "filesize": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", - "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==" } } }, @@ -29834,16 +10156,16 @@ }, "dependencies": { "mime": { - "version": "2.4.7", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.7.tgz", - "integrity": "sha512-dhNd1uA2u397uQk3Nv5LM4lm93WYDUXFn3Fu291FJerns4jyTudqhIWe4W04YLy7Uk1tm1Ore04NpjRvQp/NPA==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", + "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==" } } }, "webpack-dev-server": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.1.tgz", - "integrity": "sha512-u4R3mRzZkbxQVa+MBWi2uVpB5W59H3ekZAJsQlKUTdl7Elcah2EhygTPLmeFXybQkf9i2+L0kn7ik9SnXa6ihQ==", + "version": "3.11.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz", + "integrity": "sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ==", "requires": { "ansi-html": "0.0.7", "bonjour": "^3.5.0", @@ -30061,11 +10383,6 @@ } } }, - "is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", - "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==" - }, "is-binary-path": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", @@ -30117,11 +10434,6 @@ "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==" }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" - }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -30164,6 +10476,11 @@ "ajv-keywords": "^3.1.0" } }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -30196,6 +10513,14 @@ "is-number": "^3.0.0", "repeat-string": "^1.6.1" } + }, + "ws": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "requires": { + "async-limiter": "~1.0.0" + } } } }, @@ -30209,20 +10534,21 @@ } }, "webpack-merge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", - "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", "requires": { - "lodash": "^4.17.15" + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" } }, "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.0.tgz", + "integrity": "sha512-WyOdtwSvOML1kbgtXbTDnEW0jkJ7hZr/bDByIwszhWd/4XX1A3XMkrbFMsuH4+/MfLlZCUzlAdg4r7jaGKEIgQ==", "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" }, "dependencies": { "source-map": { @@ -30233,76 +10559,18 @@ } }, "webpackbar": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-4.0.0.tgz", - "integrity": "sha512-k1qRoSL/3BVuINzngj09nIwreD8wxV4grcuhHTD8VJgUbGcy8lQSPqv+bM00B7F+PffwIsQ8ISd4mIwRbr23eQ==", + "version": "5.0.0-3", + "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.0-3.tgz", + "integrity": "sha512-viW6KCYjMb0NPoDrw2jAmLXU2dEOhRrtku28KmOfeE1vxbfwCYuTbTaMhnkrCZLFAFyY9Q49Z/jzYO80Dw5b8g==", "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^2.4.2", - "consola": "^2.10.0", - "figures": "^3.0.0", + "ansi-escapes": "^4.3.1", + "chalk": "^4.1.0", + "consola": "^2.15.0", + "figures": "^3.2.0", "pretty-time": "^1.1.0", "std-env": "^2.2.1", "text-table": "^0.2.0", - "wrap-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - } - } - } + "wrap-ansi": "^7.0.0" } }, "websocket-driver": { @@ -30320,21 +10588,6 @@ "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" }, - "whatwg-fetch": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.5.0.tgz", - "integrity": "sha512-jXkLtsR42xhXg7akoDKvKWE40eJeI+2KZqcp2h3NsOrRnDvtWX36KcKl30dy+hxECivdk2BVUHVNrPtoMBUx6A==" - }, - "whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -30343,6 +10596,18 @@ "isexe": "^2.0.0" } }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", @@ -30356,13 +10621,10 @@ "string-width": "^4.0.0" } }, - "worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", - "requires": { - "errno": "~0.1.7" - } + "wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==" }, "worker-rpc": { "version": "0.1.1", @@ -30373,24 +10635,35 @@ } }, "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "dependencies": { - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" } } }, @@ -30411,12 +10684,9 @@ } }, "ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", - "requires": { - "async-limiter": "~1.0.0" - } + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz", + "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==" }, "xdg-basedir": { "version": "4.0.0", @@ -30431,20 +10701,15 @@ "sax": "^1.2.4" } }, - "xmlbuilder": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-13.0.2.tgz", - "integrity": "sha512-Eux0i2QdDYKbdbA6AM6xE4m6ZTZr4G4xF9kahI2ukSEMCzwce2eX9WlTI5J3s+NU7hpasFsr8hWIONae7LluAQ==" - }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" }, "y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==" + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" }, "yallist": { "version": "4.0.0", @@ -30452,9 +10717,9 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "yaml": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", - "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==" + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" }, "yargs": { "version": "13.3.2", @@ -30490,6 +10755,14 @@ "path-exists": "^3.0.0" } }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, "p-locate": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", @@ -30512,6 +10785,14 @@ "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^5.1.0" } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } } } }, diff --git a/website/package.json b/website/package.json index 49024af0..195a13f2 100644 --- a/website/package.json +++ b/website/package.json @@ -14,8 +14,8 @@ "write-heading-ids": "docusaurus write-heading-ids" }, "dependencies": { - "@docusaurus/core": "^2.0.0-alpha.70", - "@docusaurus/preset-classic": "^2.0.0-alpha.70", + "@docusaurus/core": "^2.0.0-beta.3", + "@docusaurus/preset-classic": "^2.0.0-beta.3", "@mdx-js/react": "^1.6.21", "clsx": "^1.1.1", "react": "^16.8.4", From 5f45bb942cbc82e5688ec0c055246bee7ec1191d Mon Sep 17 00:00:00 2001 From: hiron Date: Sat, 17 Jul 2021 15:06:39 +0900 Subject: [PATCH 046/162] Rename DA to dataAccess --- HoaryFox/Component/Base/NameTagBase.cs | 8 ++++---- HoaryFox/Component/Base/SecTagBase.cs | 8 ++++---- HoaryFox/Component/Geometry/Stb2Brep.cs | 8 ++++---- HoaryFox/Component/Geometry/Stb2Line.cs | 10 +++++----- HoaryFox/Component/IO/StbLoader.cs | 6 +++--- HoaryFox/Component_v2/Geometry/Stb2Brep.cs | 8 ++++---- HoaryFox/Component_v2/Geometry/Stb2Line.cs | 10 +++++----- HoaryFox/Component_v2/IO/StbLoader.cs | 6 +++--- HoaryFox/Component_v2/Tag/Name/BeamNameTag.cs | 8 ++++---- HoaryFox/Component_v2/Tag/Name/BraceNameTag.cs | 8 ++++---- .../Component_v2/Tag/Name/ColumnNameTag.cs | 8 ++++---- .../Component_v2/Tag/Name/GirderNameTag.cs | 8 ++++---- HoaryFox/Component_v2/Tag/Name/PostNameTag.cs | 8 ++++---- .../Component_v2/Tag/Section/BeamSecTag.cs | 8 ++++---- .../Component_v2/Tag/Section/BraceSecTag.cs | 8 ++++---- .../Component_v2/Tag/Section/ColumnSecTag.cs | 8 ++++---- .../Component_v2/Tag/Section/GirderSecTag.cs | 8 ++++---- .../Component_v2/Tag/Section/PostSecTag.cs | 8 ++++---- KarambaConnect/Component/IO/Convert2Karamba.cs | 10 +++++----- KarambaConnect/Component/IO/Export.cs | 18 +++++++++--------- KarambaConnect/Component/IO/SetFamilyName.cs | 6 +++--- .../Component/StbBuilder/AxisBuilder.cs | 14 +++++++------- .../StbBuilder/FrameBuilderByAngle.cs | 10 +++++----- .../Component/StbBuilder/NodeBuilder.cs | 6 +++--- .../Component/StbBuilder/StoryBuilder.cs | 12 ++++++------ 25 files changed, 110 insertions(+), 110 deletions(-) diff --git a/HoaryFox/Component/Base/NameTagBase.cs b/HoaryFox/Component/Base/NameTagBase.cs index c8b9bbfb..1dd758e6 100644 --- a/HoaryFox/Component/Base/NameTagBase.cs +++ b/HoaryFox/Component/Base/NameTagBase.cs @@ -44,10 +44,10 @@ protected override void RegisterOutputParams(GH_OutputParamManager pManager) pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.list); } - protected override void SolveInstance(IGH_DataAccess DA) + protected override void SolveInstance(IGH_DataAccess dataAccess) { - if (!DA.GetData("Data", ref _stbData)) { return; } - if (!DA.GetData("Size", ref _size)) { return; } + if (!dataAccess.GetData("Data", ref _stbData)) { return; } + if (!dataAccess.GetData("Size", ref _size)) { return; } StbNodes nodes = _stbData.Nodes; StbFrame frame; @@ -78,7 +78,7 @@ protected override void SolveInstance(IGH_DataAccess DA) ); } - DA.SetDataList(0, _frameName); + dataAccess.SetDataList(0, _frameName); } public override void DrawViewportWires(IGH_PreviewArgs args) diff --git a/HoaryFox/Component/Base/SecTagBase.cs b/HoaryFox/Component/Base/SecTagBase.cs index 224e71b5..6d365ab0 100644 --- a/HoaryFox/Component/Base/SecTagBase.cs +++ b/HoaryFox/Component/Base/SecTagBase.cs @@ -46,10 +46,10 @@ protected override void RegisterOutputParams(GH_OutputParamManager pManager) pManager.AddTextParameter("SecTag", "STag", "output section tag", GH_ParamAccess.tree); } - protected override void SolveInstance(IGH_DataAccess DA) + protected override void SolveInstance(IGH_DataAccess dataAccess) { - if (!DA.GetData("Data", ref _stbData)) { return; } - if (!DA.GetData("Size", ref _size)) { return; } + if (!dataAccess.GetData("Data", ref _stbData)) { return; } + if (!dataAccess.GetData("Size", ref _size)) { return; } StbFrame frame; switch (_frameType) @@ -68,7 +68,7 @@ protected override void SolveInstance(IGH_DataAccess DA) } GetTag(frame); - DA.SetDataTree(0, _frameTags); + dataAccess.SetDataTree(0, _frameTags); } public override void DrawViewportWires(IGH_PreviewArgs args) diff --git a/HoaryFox/Component/Geometry/Stb2Brep.cs b/HoaryFox/Component/Geometry/Stb2Brep.cs index 0709774f..36147380 100644 --- a/HoaryFox/Component/Geometry/Stb2Brep.cs +++ b/HoaryFox/Component/Geometry/Stb2Brep.cs @@ -47,16 +47,16 @@ protected override void RegisterOutputParams(GH_OutputParamManager pManager) pManager.AddBrepParameter("Walls", "Wl", "output StbWalls to Brep", GH_ParamAccess.list); } - protected override void SolveInstance(IGH_DataAccess DA) + protected override void SolveInstance(IGH_DataAccess dataAccess) { var isBake = false; - if (!DA.GetData("Data", ref _stbData)) { return; } - if (!DA.GetData("Bake", ref isBake)) { return; } + if (!dataAccess.GetData("Data", ref _stbData)) { return; } + if (!dataAccess.GetData("Bake", ref isBake)) { return; } this.MakeBrep(isBake); for (var i = 0; i < 7; i++) { - DA.SetDataList(i, _geometryBreps[i]); + dataAccess.SetDataList(i, _geometryBreps[i]); } } diff --git a/HoaryFox/Component/Geometry/Stb2Line.cs b/HoaryFox/Component/Geometry/Stb2Line.cs index 7550f894..75832e4b 100644 --- a/HoaryFox/Component/Geometry/Stb2Line.cs +++ b/HoaryFox/Component/Geometry/Stb2Line.cs @@ -46,17 +46,17 @@ protected override void RegisterOutputParams(GH_OutputParamManager pManager) pManager.AddLineParameter("Braces", "Brc", "output StbBraces to Line", GH_ParamAccess.list); } - protected override void SolveInstance(IGH_DataAccess DA) + protected override void SolveInstance(IGH_DataAccess dataAccess) { var isBake = false; - if (!DA.GetData("Data", ref _stbData)) { return; } - if (!DA.GetData("Bake", ref isBake)) { return; } + if (!dataAccess.GetData("Data", ref _stbData)) { return; } + if (!dataAccess.GetData("Bake", ref isBake)) { return; } MakeLine(isBake); - DA.SetDataList(0, _nodes); + dataAccess.SetDataList(0, _nodes); foreach ((List geometry, int i) in _lineList.Select((geo, index) => (geo, index + 1))) { - DA.SetDataList(i, geometry); + dataAccess.SetDataList(i, geometry); } } diff --git a/HoaryFox/Component/IO/StbLoader.cs b/HoaryFox/Component/IO/StbLoader.cs index 27ffe4be..075c17f1 100644 --- a/HoaryFox/Component/IO/StbLoader.cs +++ b/HoaryFox/Component/IO/StbLoader.cs @@ -26,14 +26,14 @@ protected override void RegisterOutputParams(GH_OutputParamManager pManager) pManager.AddGenericParameter("Data", "D", "output StbData", GH_ParamAccess.item); } - protected override void SolveInstance(IGH_DataAccess DA) + protected override void SolveInstance(IGH_DataAccess dataAccess) { // 対象の stb の pathを取得 - if (!DA.GetData("path", ref _path)) { return; } + if (!dataAccess.GetData("path", ref _path)) { return; } var stbData = new StbData(_path, _lengthTolerance, _angleTolerance); - DA.SetData(0, stbData); + dataAccess.SetData(0, stbData); } protected override System.Drawing.Bitmap Icon => Properties.Resource.LoadStb; diff --git a/HoaryFox/Component_v2/Geometry/Stb2Brep.cs b/HoaryFox/Component_v2/Geometry/Stb2Brep.cs index 3a16c948..52926f40 100644 --- a/HoaryFox/Component_v2/Geometry/Stb2Brep.cs +++ b/HoaryFox/Component_v2/Geometry/Stb2Brep.cs @@ -44,17 +44,17 @@ protected override void RegisterOutputParams(GH_OutputParamManager pManager) pManager.AddBrepParameter("Walls", "Wl", "output StbWalls to Brep", GH_ParamAccess.list); } - protected override void SolveInstance(IGH_DataAccess DA) + protected override void SolveInstance(IGH_DataAccess dataAccess) { var isBake = false; - if (!DA.GetData("Data", ref _stBridge)) { return; } - if (!DA.GetData("Bake", ref isBake)) { return; } + if (!dataAccess.GetData("Data", ref _stBridge)) { return; } + if (!dataAccess.GetData("Bake", ref isBake)) { return; } MakeBrep(); for (var i = 0; i < 7; i++) { - DA.SetDataList(i, _brepList[i]); + dataAccess.SetDataList(i, _brepList[i]); } } protected override Bitmap Icon => Resource.Brep; diff --git a/HoaryFox/Component_v2/Geometry/Stb2Line.cs b/HoaryFox/Component_v2/Geometry/Stb2Line.cs index de236362..ba742e11 100644 --- a/HoaryFox/Component_v2/Geometry/Stb2Line.cs +++ b/HoaryFox/Component_v2/Geometry/Stb2Line.cs @@ -47,11 +47,11 @@ protected override void RegisterOutputParams(GH_OutputParamManager pManager) pManager.AddLineParameter("Braces", "Brc", "output StbBraces to Line", GH_ParamAccess.list); } - protected override void SolveInstance(IGH_DataAccess DA) + protected override void SolveInstance(IGH_DataAccess dataAccess) { var isBake = false; - if (!DA.GetData("Data", ref _stBridge)) { return; } - if (!DA.GetData("Bake", ref isBake)) { return; } + if (!dataAccess.GetData("Data", ref _stBridge)) { return; } + if (!dataAccess.GetData("Bake", ref isBake)) { return; } CreateLine(); if (isBake) @@ -59,10 +59,10 @@ protected override void SolveInstance(IGH_DataAccess DA) BakeLine(); } - DA.SetDataList(0, _nodes); + dataAccess.SetDataList(0, _nodes); foreach ((List geometry, int i) in _lineList.Select((geo, index) => (geo, index + 1))) { - DA.SetDataList(i, geometry); + dataAccess.SetDataList(i, geometry); } } diff --git a/HoaryFox/Component_v2/IO/StbLoader.cs b/HoaryFox/Component_v2/IO/StbLoader.cs index b8787194..4977a6d2 100644 --- a/HoaryFox/Component_v2/IO/StbLoader.cs +++ b/HoaryFox/Component_v2/IO/StbLoader.cs @@ -26,13 +26,13 @@ protected override void RegisterOutputParams(GH_Component.GH_OutputParamManager pManager.AddGenericParameter("Data", "D", "output StbData", GH_ParamAccess.item); } - protected override void SolveInstance(IGH_DataAccess DA) + protected override void SolveInstance(IGH_DataAccess dataAccess) { // 対象の stb の path を取得 - if (!DA.GetData("path", ref _path)) { return; } + if (!dataAccess.GetData("path", ref _path)) { return; } var stbData = (ST_BRIDGE)STBDotNet.Serialization.Serializer.Deserialize(_path); - DA.SetData(0, stbData); + dataAccess.SetData(0, stbData); } protected override System.Drawing.Bitmap Icon => Properties.Resource.LoadStb; diff --git a/HoaryFox/Component_v2/Tag/Name/BeamNameTag.cs b/HoaryFox/Component_v2/Tag/Name/BeamNameTag.cs index 2ec00293..67cd3228 100644 --- a/HoaryFox/Component_v2/Tag/Name/BeamNameTag.cs +++ b/HoaryFox/Component_v2/Tag/Name/BeamNameTag.cs @@ -42,10 +42,10 @@ protected override void RegisterOutputParams(GH_OutputParamManager pManager) pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.list); } - protected override void SolveInstance(IGH_DataAccess DA) + protected override void SolveInstance(IGH_DataAccess dataAccess) { - if (!DA.GetData("Data", ref _stBridge)) { return; } - if (!DA.GetData("Size", ref _size)) { return; } + if (!dataAccess.GetData("Data", ref _stBridge)) { return; } + if (!dataAccess.GetData("Size", ref _size)) { return; } StbNode[] nodes = _stBridge.StbModel.StbNodes; StbBeam[] beams = _stBridge.StbModel.StbMembers.StbBeams; @@ -57,7 +57,7 @@ protected override void SolveInstance(IGH_DataAccess DA) string idNodeEnd = beam.id_node_end; _framePos.Add(TagUtils.GetTagPosition(idNodeStart, idNodeEnd, nodes)); } - DA.SetDataList(0, _frameName); + dataAccess.SetDataList(0, _frameName); } public override void DrawViewportWires(IGH_PreviewArgs args) diff --git a/HoaryFox/Component_v2/Tag/Name/BraceNameTag.cs b/HoaryFox/Component_v2/Tag/Name/BraceNameTag.cs index b462da0d..d182251d 100644 --- a/HoaryFox/Component_v2/Tag/Name/BraceNameTag.cs +++ b/HoaryFox/Component_v2/Tag/Name/BraceNameTag.cs @@ -42,10 +42,10 @@ protected override void RegisterOutputParams(GH_OutputParamManager pManager) pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.list); } - protected override void SolveInstance(IGH_DataAccess DA) + protected override void SolveInstance(IGH_DataAccess dataAccess) { - if (!DA.GetData("Data", ref _stBridge)) { return; } - if (!DA.GetData("Size", ref _size)) { return; } + if (!dataAccess.GetData("Data", ref _stBridge)) { return; } + if (!dataAccess.GetData("Size", ref _size)) { return; } StbNode[] nodes = _stBridge.StbModel.StbNodes; StbBrace[] braces = _stBridge.StbModel.StbMembers.StbBraces; @@ -57,7 +57,7 @@ protected override void SolveInstance(IGH_DataAccess DA) string idNodeEnd = brace.id_node_end; _framePos.Add(TagUtils.GetTagPosition(idNodeStart, idNodeEnd, nodes)); } - DA.SetDataList(0, _frameName); + dataAccess.SetDataList(0, _frameName); } public override void DrawViewportWires(IGH_PreviewArgs args) diff --git a/HoaryFox/Component_v2/Tag/Name/ColumnNameTag.cs b/HoaryFox/Component_v2/Tag/Name/ColumnNameTag.cs index 6b24222c..ce7ea27e 100644 --- a/HoaryFox/Component_v2/Tag/Name/ColumnNameTag.cs +++ b/HoaryFox/Component_v2/Tag/Name/ColumnNameTag.cs @@ -42,10 +42,10 @@ protected override void RegisterOutputParams(GH_OutputParamManager pManager) pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.list); } - protected override void SolveInstance(IGH_DataAccess DA) + protected override void SolveInstance(IGH_DataAccess dataAccess) { - if (!DA.GetData("Data", ref _stBridge)) { return; } - if (!DA.GetData("Size", ref _size)) { return; } + if (!dataAccess.GetData("Data", ref _stBridge)) { return; } + if (!dataAccess.GetData("Size", ref _size)) { return; } StbNode[] nodes = _stBridge.StbModel.StbNodes; StbColumn[] columns = _stBridge.StbModel.StbMembers.StbColumns; @@ -57,7 +57,7 @@ protected override void SolveInstance(IGH_DataAccess DA) string idNodeEnd = column.id_node_top; _framePos.Add(TagUtils.GetTagPosition(idNodeStart, idNodeEnd, nodes)); } - DA.SetDataList(0, _frameName); + dataAccess.SetDataList(0, _frameName); } public override void DrawViewportWires(IGH_PreviewArgs args) diff --git a/HoaryFox/Component_v2/Tag/Name/GirderNameTag.cs b/HoaryFox/Component_v2/Tag/Name/GirderNameTag.cs index 23d3e5e1..f8c0ab7d 100644 --- a/HoaryFox/Component_v2/Tag/Name/GirderNameTag.cs +++ b/HoaryFox/Component_v2/Tag/Name/GirderNameTag.cs @@ -42,10 +42,10 @@ protected override void RegisterOutputParams(GH_OutputParamManager pManager) pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.list); } - protected override void SolveInstance(IGH_DataAccess DA) + protected override void SolveInstance(IGH_DataAccess dataAccess) { - if (!DA.GetData("Data", ref _stBridge)) { return; } - if (!DA.GetData("Size", ref _size)) { return; } + if (!dataAccess.GetData("Data", ref _stBridge)) { return; } + if (!dataAccess.GetData("Size", ref _size)) { return; } StbNode[] nodes = _stBridge.StbModel.StbNodes; StbGirder[] girders = _stBridge.StbModel.StbMembers.StbGirders; @@ -57,7 +57,7 @@ protected override void SolveInstance(IGH_DataAccess DA) string idNodeEnd = girder.id_node_end; _framePos.Add(TagUtils.GetTagPosition(idNodeStart, idNodeEnd, nodes)); } - DA.SetDataList(0, _frameName); + dataAccess.SetDataList(0, _frameName); } public override void DrawViewportWires(IGH_PreviewArgs args) diff --git a/HoaryFox/Component_v2/Tag/Name/PostNameTag.cs b/HoaryFox/Component_v2/Tag/Name/PostNameTag.cs index ac2b39df..5733aabf 100644 --- a/HoaryFox/Component_v2/Tag/Name/PostNameTag.cs +++ b/HoaryFox/Component_v2/Tag/Name/PostNameTag.cs @@ -42,10 +42,10 @@ protected override void RegisterOutputParams(GH_OutputParamManager pManager) pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.list); } - protected override void SolveInstance(IGH_DataAccess DA) + protected override void SolveInstance(IGH_DataAccess dataAccess) { - if (!DA.GetData("Data", ref _stBridge)) { return; } - if (!DA.GetData("Size", ref _size)) { return; } + if (!dataAccess.GetData("Data", ref _stBridge)) { return; } + if (!dataAccess.GetData("Size", ref _size)) { return; } StbNode[] nodes = _stBridge.StbModel.StbNodes; StbPost[] posts = _stBridge.StbModel.StbMembers.StbPosts; @@ -57,7 +57,7 @@ protected override void SolveInstance(IGH_DataAccess DA) string idNodeEnd = post.id_node_top; _framePos.Add(TagUtils.GetTagPosition(idNodeStart, idNodeEnd, nodes)); } - DA.SetDataList(0, _frameName); + dataAccess.SetDataList(0, _frameName); } public override void DrawViewportWires(IGH_PreviewArgs args) diff --git a/HoaryFox/Component_v2/Tag/Section/BeamSecTag.cs b/HoaryFox/Component_v2/Tag/Section/BeamSecTag.cs index 72c8f738..ae8a8dd5 100644 --- a/HoaryFox/Component_v2/Tag/Section/BeamSecTag.cs +++ b/HoaryFox/Component_v2/Tag/Section/BeamSecTag.cs @@ -46,15 +46,15 @@ protected override void RegisterOutputParams(GH_OutputParamManager pManager) pManager.AddTextParameter("SecTag", "STag", "output section tag", GH_ParamAccess.tree); } - protected override void SolveInstance(IGH_DataAccess DA) + protected override void SolveInstance(IGH_DataAccess dataAccess) { - if (!DA.GetData("Data", ref _stBridge)) { return; } - if (!DA.GetData("Size", ref _size)) { return; } + if (!dataAccess.GetData("Data", ref _stBridge)) { return; } + if (!dataAccess.GetData("Size", ref _size)) { return; } _frameTags = GetTagStrings(_stBridge.StbModel.StbMembers.StbBeams, _stBridge.StbModel.StbSections); _tagPos = GetTagPosition(_stBridge.StbModel.StbMembers.StbBeams, _stBridge.StbModel.StbNodes); - DA.SetDataTree(0, _frameTags); + dataAccess.SetDataTree(0, _frameTags); } private static GH_Structure GetTagStrings(IEnumerable beams, StbSections sections) { diff --git a/HoaryFox/Component_v2/Tag/Section/BraceSecTag.cs b/HoaryFox/Component_v2/Tag/Section/BraceSecTag.cs index 36caa188..926797a8 100644 --- a/HoaryFox/Component_v2/Tag/Section/BraceSecTag.cs +++ b/HoaryFox/Component_v2/Tag/Section/BraceSecTag.cs @@ -46,15 +46,15 @@ protected override void RegisterOutputParams(GH_OutputParamManager pManager) pManager.AddTextParameter("SecTag", "STag", "output section tag", GH_ParamAccess.tree); } - protected override void SolveInstance(IGH_DataAccess DA) + protected override void SolveInstance(IGH_DataAccess dataAccess) { - if (!DA.GetData("Data", ref _stBridge)) { return; } - if (!DA.GetData("Size", ref _size)) { return; } + if (!dataAccess.GetData("Data", ref _stBridge)) { return; } + if (!dataAccess.GetData("Size", ref _size)) { return; } _frameTags = GetTagStrings(_stBridge.StbModel.StbMembers.StbBraces, _stBridge.StbModel.StbSections); _tagPos = GetTagPosition(_stBridge.StbModel.StbMembers.StbBraces, _stBridge.StbModel.StbNodes); - DA.SetDataTree(0, _frameTags); + dataAccess.SetDataTree(0, _frameTags); } private static GH_Structure GetTagStrings(IEnumerable beams, StbSections sections) { diff --git a/HoaryFox/Component_v2/Tag/Section/ColumnSecTag.cs b/HoaryFox/Component_v2/Tag/Section/ColumnSecTag.cs index 875a3bcf..93a15dbf 100644 --- a/HoaryFox/Component_v2/Tag/Section/ColumnSecTag.cs +++ b/HoaryFox/Component_v2/Tag/Section/ColumnSecTag.cs @@ -46,15 +46,15 @@ protected override void RegisterOutputParams(GH_OutputParamManager pManager) pManager.AddTextParameter("SecTag", "STag", "output section tag", GH_ParamAccess.tree); } - protected override void SolveInstance(IGH_DataAccess DA) + protected override void SolveInstance(IGH_DataAccess dataAccess) { - if (!DA.GetData("Data", ref _stBridge)) { return; } - if (!DA.GetData("Size", ref _size)) { return; } + if (!dataAccess.GetData("Data", ref _stBridge)) { return; } + if (!dataAccess.GetData("Size", ref _size)) { return; } _frameTags = GetTagStrings(_stBridge.StbModel.StbMembers.StbColumns, _stBridge.StbModel.StbSections); _tagPos = GetTagPosition(_stBridge.StbModel.StbMembers.StbColumns, _stBridge.StbModel.StbNodes); - DA.SetDataTree(0, _frameTags); + dataAccess.SetDataTree(0, _frameTags); } private static GH_Structure GetTagStrings(IEnumerable columns, StbSections sections) { diff --git a/HoaryFox/Component_v2/Tag/Section/GirderSecTag.cs b/HoaryFox/Component_v2/Tag/Section/GirderSecTag.cs index 70cb7447..7074f740 100644 --- a/HoaryFox/Component_v2/Tag/Section/GirderSecTag.cs +++ b/HoaryFox/Component_v2/Tag/Section/GirderSecTag.cs @@ -46,15 +46,15 @@ protected override void RegisterOutputParams(GH_OutputParamManager pManager) pManager.AddTextParameter("SecTag", "STag", "output section tag", GH_ParamAccess.tree); } - protected override void SolveInstance(IGH_DataAccess DA) + protected override void SolveInstance(IGH_DataAccess dataAccess) { - if (!DA.GetData("Data", ref _stBridge)) { return; } - if (!DA.GetData("Size", ref _size)) { return; } + if (!dataAccess.GetData("Data", ref _stBridge)) { return; } + if (!dataAccess.GetData("Size", ref _size)) { return; } _frameTags = GetTagStrings(_stBridge.StbModel.StbMembers.StbGirders, _stBridge.StbModel.StbSections); _tagPos = GetTagPosition(_stBridge.StbModel.StbMembers.StbGirders, _stBridge.StbModel.StbNodes); - DA.SetDataTree(0, _frameTags); + dataAccess.SetDataTree(0, _frameTags); } private static GH_Structure GetTagStrings(IEnumerable beams, StbSections sections) { diff --git a/HoaryFox/Component_v2/Tag/Section/PostSecTag.cs b/HoaryFox/Component_v2/Tag/Section/PostSecTag.cs index ce1d2964..a395b436 100644 --- a/HoaryFox/Component_v2/Tag/Section/PostSecTag.cs +++ b/HoaryFox/Component_v2/Tag/Section/PostSecTag.cs @@ -46,15 +46,15 @@ protected override void RegisterOutputParams(GH_OutputParamManager pManager) pManager.AddTextParameter("SecTag", "STag", "output section tag", GH_ParamAccess.tree); } - protected override void SolveInstance(IGH_DataAccess DA) + protected override void SolveInstance(IGH_DataAccess dataAccess) { - if (!DA.GetData("Data", ref _stBridge)) { return; } - if (!DA.GetData("Size", ref _size)) { return; } + if (!dataAccess.GetData("Data", ref _stBridge)) { return; } + if (!dataAccess.GetData("Size", ref _size)) { return; } _frameTags = GetTagStrings(_stBridge.StbModel.StbMembers.StbPosts, _stBridge.StbModel.StbSections); _tagPos = GetTagPosition(_stBridge.StbModel.StbMembers.StbPosts, _stBridge.StbModel.StbNodes); - DA.SetDataTree(0, _frameTags); + dataAccess.SetDataTree(0, _frameTags); } private static GH_Structure GetTagStrings(IEnumerable columns, StbSections sections) { diff --git a/KarambaConnect/Component/IO/Convert2Karamba.cs b/KarambaConnect/Component/IO/Convert2Karamba.cs index 2f20960b..e1bd852c 100644 --- a/KarambaConnect/Component/IO/Convert2Karamba.cs +++ b/KarambaConnect/Component/IO/Convert2Karamba.cs @@ -46,11 +46,11 @@ protected override void RegisterOutputParams(GH_OutputParamManager pManager) pManager.AddParameter(new Param_CrossSection(), "CrossSection", "CroSec", "Karamba CrossSection", GH_ParamAccess.list); } - protected override void SolveInstance(IGH_DataAccess DA) + protected override void SolveInstance(IGH_DataAccess dataAccess) { var familyName = new CroSecFamilyName(); - if (!DA.GetData(0, ref _stbData)) { return; } - if (!DA.GetData(1, ref familyName)) + if (!dataAccess.GetData(0, ref _stbData)) { return; } + if (!dataAccess.GetData(1, ref familyName)) { familyName = CroSecFamilyName.Default(); } @@ -62,8 +62,8 @@ protected override void SolveInstance(IGH_DataAccess DA) List ghElements = elems.Select(e => new GH_Element(e)).ToList(); _k3ElemBe = ghElements; - DA.SetDataList(0, _k3ElemBe); - DA.SetDataList(1, k3CroSec); + dataAccess.SetDataList(0, _k3ElemBe); + dataAccess.SetDataList(1, k3CroSec); } protected override Bitmap Icon => Resource.ToKaramba; diff --git a/KarambaConnect/Component/IO/Export.cs b/KarambaConnect/Component/IO/Export.cs index 6f388854..9191aeaa 100644 --- a/KarambaConnect/Component/IO/Export.cs +++ b/KarambaConnect/Component/IO/Export.cs @@ -40,7 +40,7 @@ protected override void RegisterOutputParams(GH_OutputParamManager pManager) pManager.AddGenericParameter("Stb", "Stb", "StbModel Data", GH_ParamAccess.item); } - protected override void SolveInstance(IGH_DataAccess DA) + protected override void SolveInstance(IGH_DataAccess dataAccess) { var path = string.Empty; var isOutput = false; @@ -50,13 +50,13 @@ protected override void SolveInstance(IGH_DataAccess DA) var members = new Members(); var sections = new List
(); - if (!DA.GetDataList(0, node)) { return; } - if (!DA.GetDataList(1, axis)) { return; } - if (!DA.GetDataList(2, story)) { return; } - if (!DA.GetData(3, ref members)) { return; } - if (!DA.GetDataList(4, sections)) { return; } - if (!DA.GetData(5, ref path)) { return; } - if (!DA.GetData(6, ref isOutput)) { return; } + if (!dataAccess.GetDataList(0, node)) { return; } + if (!dataAccess.GetDataList(1, axis)) { return; } + if (!dataAccess.GetDataList(2, story)) { return; } + if (!dataAccess.GetData(3, ref members)) { return; } + if (!dataAccess.GetDataList(4, sections)) { return; } + if (!dataAccess.GetData(5, ref path)) { return; } + if (!dataAccess.GetData(6, ref isOutput)) { return; } var elements = new StbElements @@ -79,7 +79,7 @@ protected override void SolveInstance(IGH_DataAccess DA) sr.Serialize(elements, path); } - DA.SetData(0, elements); + dataAccess.SetData(0, elements); } protected override Bitmap Icon => Resource.ExportStb; diff --git a/KarambaConnect/Component/IO/SetFamilyName.cs b/KarambaConnect/Component/IO/SetFamilyName.cs index e32c839b..a5a60775 100644 --- a/KarambaConnect/Component/IO/SetFamilyName.cs +++ b/KarambaConnect/Component/IO/SetFamilyName.cs @@ -32,12 +32,12 @@ protected override void RegisterOutputParams(GH_OutputParamManager pManager) pManager.AddGenericParameter("FamilyName", "Family", "Each CrossSection Family Name", GH_ParamAccess.item); } - protected override void SolveInstance(IGH_DataAccess DA) + protected override void SolveInstance(IGH_DataAccess dataAccess) { var name = new string[8]; for (var i = 0; i < name.Length; i++) { - if (!DA.GetData(i, ref name[i])) { return; } + if (!dataAccess.GetData(i, ref name[i])) { return; } } var familyName = new CroSecFamilyName @@ -52,7 +52,7 @@ protected override void SolveInstance(IGH_DataAccess DA) Other = name[7] }; - DA.SetData(0, familyName); + dataAccess.SetData(0, familyName); } protected override Bitmap Icon => Resource.SetFamilyName; diff --git a/KarambaConnect/Component/StbBuilder/AxisBuilder.cs b/KarambaConnect/Component/StbBuilder/AxisBuilder.cs index 025246b5..497d3dc1 100644 --- a/KarambaConnect/Component/StbBuilder/AxisBuilder.cs +++ b/KarambaConnect/Component/StbBuilder/AxisBuilder.cs @@ -29,7 +29,7 @@ protected override void RegisterOutputParams(GH_OutputParamManager pManager) pManager.AddGenericParameter("Axis", "Axis", "StbAxis Data", GH_ParamAccess.list); } - protected override void SolveInstance(IGH_DataAccess DA) + protected override void SolveInstance(IGH_DataAccess dataAccess) { var count = 0; var nodes = new List(); @@ -38,11 +38,11 @@ protected override void SolveInstance(IGH_DataAccess DA) var names = new List(); var dir = new List(); - if (!DA.GetDataList(0, nodes)) { return; } - if (!DA.GetDataList(1, distance)) { return; } - if (!DA.GetDataList(2, range)) { return; } - if (!DA.GetDataList(3, names)) { return; } - if (!DA.GetDataList(4, dir)) { return; } + if (!dataAccess.GetDataList(0, nodes)) { return; } + if (!dataAccess.GetDataList(1, distance)) { return; } + if (!dataAccess.GetDataList(2, range)) { return; } + if (!dataAccess.GetDataList(3, names)) { return; } + if (!dataAccess.GetDataList(4, dir)) { return; } var axes = new List(); @@ -107,7 +107,7 @@ protected override void SolveInstance(IGH_DataAccess DA) count++; } - DA.SetDataList(0, axes); + dataAccess.SetDataList(0, axes); } protected override Bitmap Icon => Properties.Resource.AxisBuilder; diff --git a/KarambaConnect/Component/StbBuilder/FrameBuilderByAngle.cs b/KarambaConnect/Component/StbBuilder/FrameBuilderByAngle.cs index d63509ce..b181093e 100644 --- a/KarambaConnect/Component/StbBuilder/FrameBuilderByAngle.cs +++ b/KarambaConnect/Component/StbBuilder/FrameBuilderByAngle.cs @@ -32,12 +32,12 @@ protected override void RegisterOutputParams(GH_OutputParamManager pManager) pManager.AddGenericParameter("Section", "Sec", "StbSection data", GH_ParamAccess.list); } - protected override void SolveInstance(IGH_DataAccess DA) + protected override void SolveInstance(IGH_DataAccess dataAccess) { double colMaxAngle = 0; var modelIn = new object(); - if (!DA.GetData(0, ref modelIn)) { return; } - if (!DA.GetData(1, ref colMaxAngle)) { return; } + if (!dataAccess.GetData(0, ref modelIn)) { return; } + if (!dataAccess.GetData(1, ref colMaxAngle)) { return; } if (!(modelIn is GH_Model ghKModel)) { @@ -48,8 +48,8 @@ protected override void SolveInstance(IGH_DataAccess DA) _sModel = stbModel.SetByAngle(colMaxAngle); _sModel.Nodes = kModel.nodes.ToStb(); - DA.SetData(0, _sModel.Members); - DA.SetDataList(1, _sModel.Sections); + dataAccess.SetData(0, _sModel.Members); + dataAccess.SetDataList(1, _sModel.Sections); } protected override Bitmap Icon => Properties.Resource.FrameBuilder; diff --git a/KarambaConnect/Component/StbBuilder/NodeBuilder.cs b/KarambaConnect/Component/StbBuilder/NodeBuilder.cs index 2ddbcc97..0de98099 100644 --- a/KarambaConnect/Component/StbBuilder/NodeBuilder.cs +++ b/KarambaConnect/Component/StbBuilder/NodeBuilder.cs @@ -25,10 +25,10 @@ protected override void RegisterOutputParams(GH_OutputParamManager pManager) pManager.AddGenericParameter("Node", "Node", "StbNode Data", GH_ParamAccess.list); } - protected override void SolveInstance(IGH_DataAccess DA) + protected override void SolveInstance(IGH_DataAccess dataAccess) { var modelIn = new object(); - if (!DA.GetData(0, ref modelIn)) { return; } + if (!dataAccess.GetData(0, ref modelIn)) { return; } if (!(modelIn is GH_Model ghKModel)) { @@ -36,7 +36,7 @@ protected override void SolveInstance(IGH_DataAccess DA) } Model kModel = ghKModel.Value; - DA.SetDataList(0, kModel.nodes.ToStb()); + dataAccess.SetDataList(0, kModel.nodes.ToStb()); } protected override Bitmap Icon => Properties.Resource.NodeBuilder; diff --git a/KarambaConnect/Component/StbBuilder/StoryBuilder.cs b/KarambaConnect/Component/StbBuilder/StoryBuilder.cs index 0926e1d4..90954b99 100644 --- a/KarambaConnect/Component/StbBuilder/StoryBuilder.cs +++ b/KarambaConnect/Component/StbBuilder/StoryBuilder.cs @@ -28,7 +28,7 @@ protected override void RegisterOutputParams(GH_OutputParamManager pManager) pManager.AddGenericParameter("Story", "Story", "StbStory Data", GH_ParamAccess.list); } - protected override void SolveInstance(IGH_DataAccess DA) + protected override void SolveInstance(IGH_DataAccess dataAccess) { var count = 0; var nodes = new List(); @@ -36,10 +36,10 @@ protected override void SolveInstance(IGH_DataAccess DA) var range = new List(); var names = new List(); - if (!DA.GetDataList(0, nodes)) { return; } - if (!DA.GetDataList(1, height)) { return; } - if (!DA.GetDataList(2, range)) { return; } - if (!DA.GetDataList(3, names)) { return; } + if (!dataAccess.GetDataList(0, nodes)) { return; } + if (!dataAccess.GetDataList(1, height)) { return; } + if (!dataAccess.GetDataList(2, range)) { return; } + if (!dataAccess.GetDataList(3, names)) { return; } var stories = new List(); @@ -76,7 +76,7 @@ protected override void SolveInstance(IGH_DataAccess DA) count++; } - DA.SetDataList(0, stories); + dataAccess.SetDataList(0, stories); } protected override Bitmap Icon => Properties.Resource.StoryBuilder; From 3cd0442db33f2bbb48a6e2e625598a99dba0de78 Mon Sep 17 00:00:00 2001 From: hiron Date: Sat, 17 Jul 2021 15:32:32 +0900 Subject: [PATCH 047/162] Clean code --- .../Utils/Geometry/CreateBrepFromStb.cs | 2 +- HoaryFox/Component_v2/Utils/TagUtils.cs | 2 +- HoaryFox/Member/ShapeInfo.cs | 10 ++++++++++ HoaryFox/Member/SteelCroSecBrep.cs | 20 ------------------- .../Component/StbBuilder/AxisBuilder.cs | 2 +- .../Component/StbBuilder/StoryBuilder.cs | 2 +- 6 files changed, 14 insertions(+), 24 deletions(-) diff --git a/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs b/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs index ef11169f..2827d088 100644 --- a/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs +++ b/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs @@ -288,7 +288,7 @@ private Brep CreateGirderBrep(string idSection, double rotate, StbGirderKind_str } - private List SecRcBeamCurves(IReadOnlyList figures, IReadOnlyList sectionPoints) + private static List SecRcBeamCurves(IReadOnlyList figures, IReadOnlyList sectionPoints) { var curveList = new List(); diff --git a/HoaryFox/Component_v2/Utils/TagUtils.cs b/HoaryFox/Component_v2/Utils/TagUtils.cs index 010b821b..f6c5f24f 100644 --- a/HoaryFox/Component_v2/Utils/TagUtils.cs +++ b/HoaryFox/Component_v2/Utils/TagUtils.cs @@ -126,7 +126,7 @@ public static Dictionary[][] GetAllSectionInfoArray(StbMembers m var memberArray = new object[][] { members.StbColumns, members.StbGirders, members.StbPosts, members.StbBeams, members.StbBraces }; for (var i = 0; i < 5; i++) { - allTagList[i] = memberArray[i] != null ? StbMembersToDictArray(memberArray[i]) : new Dictionary[] { }; + allTagList[i] = memberArray[i] != null ? StbMembersToDictArray(memberArray[i]) : Array.Empty>(); } return allTagList; diff --git a/HoaryFox/Member/ShapeInfo.cs b/HoaryFox/Member/ShapeInfo.cs index d6a0d0f2..96166e67 100644 --- a/HoaryFox/Member/ShapeInfo.cs +++ b/HoaryFox/Member/ShapeInfo.cs @@ -42,5 +42,15 @@ public override int GetHashCode() return hashCode; } } + + public static bool operator ==(ShapeInfo left, ShapeInfo right) + { + return left.Equals(right); + } + + public static bool operator !=(ShapeInfo left, ShapeInfo right) + { + return !(left == right); + } } } diff --git a/HoaryFox/Member/SteelCroSecBrep.cs b/HoaryFox/Member/SteelCroSecBrep.cs index 5f79ae3a..2f87462c 100644 --- a/HoaryFox/Member/SteelCroSecBrep.cs +++ b/HoaryFox/Member/SteelCroSecBrep.cs @@ -55,26 +55,6 @@ public List TShape() return joinedBrep.Select(b => b.CapPlanarHoles(_tol)).ToList(); } - // o3 - - o4 - - o5 - // | | - // Y i2 - i3 i4 - i5 - // ^ | | - // o > X o0 - i0 - o1 - i1 - o2 - private static Point3d[] MakeTInnerPoint(IReadOnlyList outPoints) - { - var points = new Point3d[6]; - - points[0] = 0.55 * outPoints[0] + 0.45 * outPoints[2]; - points[1] = 0.55 * outPoints[2] + 0.45 * outPoints[0]; - points[2] = 0.95 * outPoints[3] + 0.05 * outPoints[0]; - points[5] = 0.95 * outPoints[5] + 0.05 * outPoints[2]; - - points[3] = 0.55 * points[5] + 0.45 * points[2]; - points[4] = 0.55 * points[2] + 0.45 * points[5]; - - return points; - } - public List HShape() { Point3d[] pointIs = MakeHInnerPoint(_pointStart); diff --git a/KarambaConnect/Component/StbBuilder/AxisBuilder.cs b/KarambaConnect/Component/StbBuilder/AxisBuilder.cs index 497d3dc1..72733b14 100644 --- a/KarambaConnect/Component/StbBuilder/AxisBuilder.cs +++ b/KarambaConnect/Component/StbBuilder/AxisBuilder.cs @@ -49,7 +49,7 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) if (distance.Count != names.Count || distance.Count != range.Count || distance.Count != dir.Count || range.Count != names.Count || range.Count != dir.Count || names.Count != dir.Count) { - throw new ArgumentOutOfRangeException("The number of items does not match."); + throw new ArgumentException("The number of items does not match."); } foreach (double dist in distance) diff --git a/KarambaConnect/Component/StbBuilder/StoryBuilder.cs b/KarambaConnect/Component/StbBuilder/StoryBuilder.cs index 90954b99..1961008d 100644 --- a/KarambaConnect/Component/StbBuilder/StoryBuilder.cs +++ b/KarambaConnect/Component/StbBuilder/StoryBuilder.cs @@ -45,7 +45,7 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) if (height.Count != range.Count || height.Count != names.Count || range.Count != names.Count) { - throw new ArgumentOutOfRangeException("The number of items does not match."); + throw new ArgumentException("The number of items does not match."); } foreach (double h in height) From 24fe9f4d9e49b15b5b6725d07162a124f6885dea Mon Sep 17 00:00:00 2001 From: hiron Date: Sat, 17 Jul 2021 19:42:18 +0900 Subject: [PATCH 048/162] Add output slab with thickness --- HoaryFox/Component_v2/Geometry/Stb2Brep.cs | 1 + .../Utils/Geometry/CreateBrepFromStb.cs | 86 +++++++++++++++++++ 2 files changed, 87 insertions(+) diff --git a/HoaryFox/Component_v2/Geometry/Stb2Brep.cs b/HoaryFox/Component_v2/Geometry/Stb2Brep.cs index 52926f40..0585a986 100644 --- a/HoaryFox/Component_v2/Geometry/Stb2Brep.cs +++ b/HoaryFox/Component_v2/Geometry/Stb2Brep.cs @@ -69,6 +69,7 @@ private void MakeBrep() _brepList.Add(brepFromStb.Post(member.StbPosts)); _brepList.Add(brepFromStb.Beam(member.StbBeams)); _brepList.Add(brepFromStb.Brace(member.StbBraces)); + _brepList.Add(brepFromStb.Slab(member.StbSlabs)); for (var i = 0; i < 3; i++) { diff --git a/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs b/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs index 2827d088..d99bdd47 100644 --- a/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs +++ b/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs @@ -634,6 +634,92 @@ private Curve GetSteelSec(string shape, Point3d point, SectionType type) throw new ArgumentException("There are no matching steel section"); } + public List Slab(IEnumerable slabs) + { + var brepList = new List(); + if (slabs == null) + { + return brepList; + } + + foreach (StbSlab slab in slabs) + { + StbSlabOffset[] offsets = slab.StbSlabOffsetList; + var curveList = new PolylineCurve[2]; + double depth = GetSlabDepth(slab); + string[] nodeIds = slab.StbNodeIdOrder.Split(' '); + var topPts = new List(); + foreach (string nodeId in nodeIds) + { + var offsetVec = new Vector3d(); + if (offsets != null) + { + foreach (StbSlabOffset offset in offsets) + { + if (nodeId == offset.id_node) + { + offsetVec = new Vector3d(offset.offset_X, offset.offset_Y, offset.offset_Z); + } + } + } + + StbNode node = _nodes.First(n => n.id == nodeId); + topPts.Add(new Point3d(node.X, node.Y, node.Z) + offsetVec); + } + + topPts.Add(topPts[0]); + curveList[0] = new PolylineCurve(topPts); + Vector3d slabNormal = Brep.CreatePlanarBreps(curveList[0], _tolerance[0])[0].Faces[0].NormalAt(0.5, 0.5); + curveList[1] = new PolylineCurve(topPts.Select(pt => pt - slabNormal * depth)); + brepList.Add(Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] + .CapPlanarHoles(_tolerance[0])); + } + + return brepList; + } + + private double GetSlabDepth(StbSlab slab) + { + double depth = 0; + + switch (slab.kind_structure) + { + case StbSlabKind_structure.RC: + object[] slabRc = _sections.StbSecSlab_RC.First(sec => sec.id == slab.id_section).StbSecFigureSlab_RC.Items; + switch (slabRc.Length) + { + case 1: + var straight = slabRc[0] as StbSecSlab_RC_Straight; + depth = straight.depth; + break; + case 2: + var tapers = new[] { slabRc[0] as StbSecSlab_RC_Taper, slabRc[1] as StbSecSlab_RC_Taper }; + depth = tapers.First(sec => sec.pos == StbSecSlab_RC_TaperPos.TIP).depth; + break; + case 3: + var haunches = new[] + { + slabRc[0] as StbSecSlab_RC_Haunch, slabRc[1] as StbSecSlab_RC_Haunch, + slabRc[2] as StbSecSlab_RC_Haunch + }; + depth = haunches.First(sec => sec.pos == StbSecSlab_RC_HaunchPos.CENTER).depth; + break; + } + + break; + case StbSlabKind_structure.DECK: + // StbSecSlabDeck slabDeck = _sections.StbSecSlabDeck.FirstOrDefault(sec => sec.id == slab.id_section); + // break; + case StbSlabKind_structure.PRECAST: + // StbSecSlabPrecast slabPrecast = _sections.StbSecSlabPrecast.FirstOrDefault(sec => sec.id == slab.id_section); + // break; + default: + throw new ArgumentOutOfRangeException(); + } + + return depth; + } + private enum SectionType { Column, From 6773721be276e1a2a05c1f0b8a189d373fd88c53 Mon Sep 17 00:00:00 2001 From: hiron Date: Sat, 17 Jul 2021 20:26:56 +0900 Subject: [PATCH 049/162] Fix tag error if brace is null --- HoaryFox/Component_v2/Tag/Section/BraceSecTag.cs | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/HoaryFox/Component_v2/Tag/Section/BraceSecTag.cs b/HoaryFox/Component_v2/Tag/Section/BraceSecTag.cs index 926797a8..5ffbfcb8 100644 --- a/HoaryFox/Component_v2/Tag/Section/BraceSecTag.cs +++ b/HoaryFox/Component_v2/Tag/Section/BraceSecTag.cs @@ -56,11 +56,16 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) dataAccess.SetDataTree(0, _frameTags); } - private static GH_Structure GetTagStrings(IEnumerable beams, StbSections sections) + private static GH_Structure GetTagStrings(IEnumerable braces, StbSections sections) { var ghSecStrings = new GH_Structure(); - foreach (var item in beams.Select((brace, index) => new { brace, index })) + if (braces == null) + { + return ghSecStrings; + } + + foreach (var item in braces.Select((brace, index) => new { brace, index })) { string secId = item.brace.id_section; var ghPath = new GH_Path(0, item.index); @@ -86,9 +91,11 @@ private static GH_Structure GetTagStrings(IEnumerable beams return ghSecStrings; } - private static List GetTagPosition(IEnumerable beams, IEnumerable nodes) + private static List GetTagPosition(IEnumerable braces, IEnumerable nodes) { - return beams.Select(beam => TagUtils.GetTagPosition(beam.id_node_start, beam.id_node_end, nodes)).ToList(); + return braces == null + ? new List() + : braces.Select(beam => TagUtils.GetTagPosition(beam.id_node_start, beam.id_node_end, nodes)).ToList(); } public override void DrawViewportWires(IGH_PreviewArgs args) From 090f640ab9ef131baf79d326bbe455fa4ce4618e Mon Sep 17 00:00:00 2001 From: hiron Date: Sat, 17 Jul 2021 20:27:25 +0900 Subject: [PATCH 050/162] Update create brep to apply member offset --- .../Utils/Geometry/CreateBrepFromStb.cs | 50 +++++++++++++------ 1 file changed, 35 insertions(+), 15 deletions(-) diff --git a/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs b/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs index d99bdd47..77ffddc7 100644 --- a/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs +++ b/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs @@ -36,13 +36,17 @@ public List Column(IEnumerable columns) _nodes.First(node => node.id == column.id_node_bottom), _nodes.First(node => node.id == column.id_node_top) }; - + Point3d[] offset = + { + new Point3d(column.offset_bottom_X, column.offset_bottom_Y, column.offset_bottom_Z), + new Point3d(column.offset_top_X, column.offset_top_Y, column.offset_top_Z) + }; Point3d[] sectionPoints = { - new Point3d(endNodes[0].X, endNodes[0].Y, endNodes[0].Z), + new Point3d(endNodes[0].X, endNodes[0].Y, endNodes[0].Z) + offset[0], new Point3d(), new Point3d(), - new Point3d(endNodes[1].X, endNodes[1].Y, endNodes[1].Z) + new Point3d(endNodes[1].X, endNodes[1].Y, endNodes[1].Z) + offset[1] }; Vector3d memberAxis = sectionPoints[3] - sectionPoints[0]; sectionPoints[1] = sectionPoints[0] + memberAxis / memberAxis.Length * column.joint_bottom; @@ -71,13 +75,17 @@ public List Post(IEnumerable posts) _nodes.First(node => node.id == post.id_node_bottom), _nodes.First(node => node.id == post.id_node_top) }; - + Point3d[] offset = + { + new Point3d(post.offset_bottom_X, post.offset_bottom_Y, post.offset_bottom_Z), + new Point3d(post.offset_top_X, post.offset_top_Y, post.offset_top_Z) + }; Point3d[] sectionPoints = { - new Point3d(endNodes[0].X, endNodes[0].Y, endNodes[0].Z), + new Point3d(endNodes[0].X, endNodes[0].Y, endNodes[0].Z) + offset[0], new Point3d(), new Point3d(), - new Point3d(endNodes[1].X, endNodes[1].Y, endNodes[1].Z) + new Point3d(endNodes[1].X, endNodes[1].Y, endNodes[1].Z) + offset[1] }; Vector3d memberAxis = sectionPoints[3] - sectionPoints[0]; sectionPoints[1] = sectionPoints[0] + memberAxis / memberAxis.Length * post.joint_bottom; @@ -206,13 +214,17 @@ public List Girder(IEnumerable girders) _nodes.First(node => node.id == girder.id_node_start), _nodes.First(node => node.id == girder.id_node_end) }; - + Point3d[] offset = + { + new Point3d(girder.offset_start_X, girder.offset_start_Y, girder.offset_start_Z), + new Point3d(girder.offset_end_X, girder.offset_end_Y, girder.offset_end_Z) + }; Point3d[] sectionPoints = { - new Point3d(endNodes[0].X, endNodes[0].Y, endNodes[0].Z), + new Point3d(endNodes[0].X, endNodes[0].Y, endNodes[0].Z) + offset[0], Point3d.Origin, Point3d.Origin, - new Point3d(endNodes[1].X, endNodes[1].Y, endNodes[1].Z) + new Point3d(endNodes[1].X, endNodes[1].Y, endNodes[1].Z) + offset[1] }; Vector3d memberAxis = sectionPoints[3] - sectionPoints[0]; sectionPoints[1] = sectionPoints[0] + memberAxis / memberAxis.Length * girder.joint_start; @@ -241,13 +253,17 @@ public List Beam(IEnumerable beams) _nodes.First(node => node.id == beam.id_node_start), _nodes.First(node => node.id == beam.id_node_end) }; - + Point3d[] offset = + { + new Point3d(beam.offset_start_X, beam.offset_start_Y, beam.offset_start_Z), + new Point3d(beam.offset_end_X, beam.offset_end_Y, beam.offset_end_Z) + }; Point3d[] sectionPoints = { - new Point3d(endNodes[0].X, endNodes[0].Y, endNodes[0].Z), + new Point3d(endNodes[0].X, endNodes[0].Y, endNodes[0].Z) + offset[0], Point3d.Origin, Point3d.Origin, - new Point3d(endNodes[1].X, endNodes[1].Y, endNodes[1].Z) + new Point3d(endNodes[1].X, endNodes[1].Y, endNodes[1].Z) + offset[1] }; Vector3d memberAxis = sectionPoints[3] - sectionPoints[0]; sectionPoints[1] = sectionPoints[0] + memberAxis / memberAxis.Length * beam.joint_start; @@ -389,13 +405,17 @@ public List Brace(IEnumerable braces) _nodes.First(node => node.id == brace.id_node_start), _nodes.First(node => node.id == brace.id_node_end) }; - + Point3d[] offset = + { + new Point3d(brace.offset_start_X, brace.offset_start_Y, brace.offset_start_Z), + new Point3d(brace.offset_end_X, brace.offset_end_Y, brace.offset_end_Z) + }; Point3d[] sectionPoints = { - new Point3d(endNodes[0].X, endNodes[0].Y, endNodes[0].Z), + new Point3d(endNodes[0].X, endNodes[0].Y, endNodes[0].Z) + offset[0], Point3d.Origin, Point3d.Origin, - new Point3d(endNodes[1].X, endNodes[1].Y, endNodes[1].Z) + new Point3d(endNodes[1].X, endNodes[1].Y, endNodes[1].Z) + offset[1] }; Vector3d memberAxis = sectionPoints[3] - sectionPoints[0]; sectionPoints[1] = sectionPoints[0] + memberAxis / memberAxis.Length * brace.joint_start; From 69e44e07c5453771871f6d6313c52369432d067c Mon Sep 17 00:00:00 2001 From: hiron Date: Sun, 18 Jul 2021 10:52:04 +0900 Subject: [PATCH 051/162] Add output wall --- HoaryFox/Component_v2/Geometry/Stb2Brep.cs | 6 +- .../Utils/Geometry/CreateBrepFromStb.cs | 58 ++++++++++++++++++- 2 files changed, 56 insertions(+), 8 deletions(-) diff --git a/HoaryFox/Component_v2/Geometry/Stb2Brep.cs b/HoaryFox/Component_v2/Geometry/Stb2Brep.cs index 0585a986..520607ff 100644 --- a/HoaryFox/Component_v2/Geometry/Stb2Brep.cs +++ b/HoaryFox/Component_v2/Geometry/Stb2Brep.cs @@ -70,11 +70,7 @@ private void MakeBrep() _brepList.Add(brepFromStb.Beam(member.StbBeams)); _brepList.Add(brepFromStb.Brace(member.StbBraces)); _brepList.Add(brepFromStb.Slab(member.StbSlabs)); - - for (var i = 0; i < 3; i++) - { - _brepList.Add(new List()); - } + _brepList.Add(brepFromStb.Wall(member.StbWalls)); } } } diff --git a/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs b/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs index 77ffddc7..cb892543 100644 --- a/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs +++ b/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs @@ -649,7 +649,7 @@ private Curve GetSteelSec(string shape, Point3d point, SectionType type) } } - // TODO: Box と H 以外の断面を実装する + // TODO: Box と H と L 以外の断面を実装する throw new ArgumentException("There are no matching steel section"); } @@ -689,8 +689,8 @@ public List Slab(IEnumerable slabs) topPts.Add(topPts[0]); curveList[0] = new PolylineCurve(topPts); - Vector3d slabNormal = Brep.CreatePlanarBreps(curveList[0], _tolerance[0])[0].Faces[0].NormalAt(0.5, 0.5); - curveList[1] = new PolylineCurve(topPts.Select(pt => pt - slabNormal * depth)); + Vector3d normal = Brep.CreatePlanarBreps(curveList[0], _tolerance[0])[0].Faces[0].NormalAt(0.5, 0.5); + curveList[1] = new PolylineCurve(topPts.Select(pt => pt - normal * depth)); brepList.Add(Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] .CapPlanarHoles(_tolerance[0])); } @@ -740,6 +740,58 @@ slabRc[2] as StbSecSlab_RC_Haunch return depth; } + public List Wall(IEnumerable walls) + { + var brepList = new List(); + if (walls == null) + { + return brepList; + } + + foreach (StbWall wall in walls) + { + StbWallOffset[] offsets = wall.StbWallOffsetList; + var curveList = new PolylineCurve[2]; + double thickness = GetWallThickness(wall); + string[] nodeIds = wall.StbNodeIdOrder.Split(' '); + var topPts = new List(); + foreach (string nodeId in nodeIds) + { + var offsetVec = new Vector3d(); + if (offsets != null) + { + foreach (StbWallOffset offset in offsets) + { + if (nodeId == offset.id_node) + { + offsetVec = new Vector3d(offset.offset_X, offset.offset_Y, offset.offset_Z); + break; + } + } + } + + StbNode node = _nodes.First(n => n.id == nodeId); + topPts.Add(new Point3d(node.X, node.Y, node.Z) + offsetVec); + } + + topPts.Add(topPts[0]); + var centerCurve = new PolylineCurve(topPts); + Vector3d normal = Brep.CreatePlanarBreps(centerCurve, _tolerance[0])[0].Faces[0].NormalAt(0.5, 0.5); + curveList[0] = new PolylineCurve(topPts.Select(pt => pt + normal * thickness / 2)); + curveList[1] = new PolylineCurve(topPts.Select(pt => pt - normal * thickness / 2)); + brepList.Add(Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] + .CapPlanarHoles(_tolerance[0])); + } + + return brepList; + } + + private double GetWallThickness(StbWall wall) + { + return _sections.StbSecWall_RC.First(sec => sec.id == wall.id_section) + .StbSecFigureWall_RC.StbSecWall_RC_Straight.t; + } + private enum SectionType { Column, From 416dc6b59b3686cf26aeedb20d529773a3f99c49 Mon Sep 17 00:00:00 2001 From: hiron Date: Sun, 18 Jul 2021 11:40:34 +0900 Subject: [PATCH 052/162] Add brep bake --- HoaryFox/Component_v2/Geometry/Stb2Brep.cs | 51 +++++++++++++++++++++- HoaryFox/Component_v2/Utils/TagUtils.cs | 6 +-- 2 files changed, 52 insertions(+), 5 deletions(-) diff --git a/HoaryFox/Component_v2/Geometry/Stb2Brep.cs b/HoaryFox/Component_v2/Geometry/Stb2Brep.cs index 520607ff..80cbfa59 100644 --- a/HoaryFox/Component_v2/Geometry/Stb2Brep.cs +++ b/HoaryFox/Component_v2/Geometry/Stb2Brep.cs @@ -1,9 +1,12 @@ using System; using System.Collections.Generic; using System.Drawing; +using System.Linq; using Grasshopper.Kernel; using HoaryFox.Component_v2.Utils.Geometry; using HoaryFox.Properties; +using Rhino; +using Rhino.DocObjects; using Rhino.Geometry; using STBDotNet.v202; @@ -50,17 +53,22 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) if (!dataAccess.GetData("Data", ref _stBridge)) { return; } if (!dataAccess.GetData("Bake", ref isBake)) { return; } - MakeBrep(); + CreateBrep(); + if (isBake) + { + BakeBrep(); + } for (var i = 0; i < 7; i++) { dataAccess.SetDataList(i, _brepList[i]); } } + protected override Bitmap Icon => Resource.Brep; public override Guid ComponentGuid => new Guid("B2D5EA7F-E75F-406B-8D22-C267B43C5E72"); - private void MakeBrep() + private void CreateBrep() { StbMembers member = _stBridge.StbModel.StbMembers; var brepFromStb = new CreateBrepFromStb(_stBridge.StbModel.StbSections, _stBridge.StbModel.StbNodes, new[] { DocumentTolerance(), DocumentAngleTolerance() }); @@ -72,5 +80,44 @@ private void MakeBrep() _brepList.Add(brepFromStb.Slab(member.StbSlabs)); _brepList.Add(brepFromStb.Wall(member.StbWalls)); } + + private void BakeBrep() + { + RhinoDoc activeDoc = RhinoDoc.ActiveDoc; + var parentLayerNames = new[] { "Column", "Girder", "Post", "Beam", "Brace", "Slab", "Wall" }; + Color[] layerColors = { Color.Red, Color.Green, Color.Aquamarine, Color.LightCoral, Color.MediumPurple, Color.DarkGray, Color.CornflowerBlue }; + GeometryBaker.MakeParentLayers(activeDoc, parentLayerNames, layerColors); + + Dictionary[][] infoArray = Utils.TagUtils.GetAllSectionInfoArray(_stBridge.StbModel.StbMembers); + + foreach ((List breps, int index) in _brepList.Select((frameBrep, index) => (frameBrep, index))) + { + Layer parentLayer = activeDoc.Layers.FindName(parentLayerNames[index]); + Guid parentId = parentLayer.Id; + foreach ((Brep brep, int bIndex) in breps.Select((brep, bIndex) => (brep, bIndex))) + { + var objAttr = new ObjectAttributes(); + + Dictionary[] infos = infoArray[index]; + Dictionary info = infos[bIndex]; + + foreach (KeyValuePair pair in info) + { + objAttr.SetUserString(pair.Key, pair.Value); + } + + var layer = new Layer { Name = info["name"], ParentLayerId = parentId, Color = layerColors[index] }; + int layerIndex = activeDoc.Layers.Add(layer); + if (layerIndex == -1) + { + layer = activeDoc.Layers.FindName(info["name"]); + layerIndex = layer.Index; + } + objAttr.LayerIndex = layerIndex; + + activeDoc.Objects.AddBrep(brep, objAttr); + } + } + } } } diff --git a/HoaryFox/Component_v2/Utils/TagUtils.cs b/HoaryFox/Component_v2/Utils/TagUtils.cs index f6c5f24f..eae21712 100644 --- a/HoaryFox/Component_v2/Utils/TagUtils.cs +++ b/HoaryFox/Component_v2/Utils/TagUtils.cs @@ -121,10 +121,10 @@ internal static IEnumerable GetColumnSSection(object steelFigure) public static Dictionary[][] GetAllSectionInfoArray(StbMembers members) { - var allTagList = new Dictionary[5][]; + var allTagList = new Dictionary[7][]; - var memberArray = new object[][] { members.StbColumns, members.StbGirders, members.StbPosts, members.StbBeams, members.StbBraces }; - for (var i = 0; i < 5; i++) + var memberArray = new object[][] { members.StbColumns, members.StbGirders, members.StbPosts, members.StbBeams, members.StbBraces, members.StbSlabs, members.StbWalls }; + for (var i = 0; i < 7; i++) { allTagList[i] = memberArray[i] != null ? StbMembersToDictArray(memberArray[i]) : Array.Empty>(); } From 4681316f8795ef7aabb5da9df0d96cfb35736567 Mon Sep 17 00:00:00 2001 From: hiron Date: Sun, 18 Jul 2021 11:49:30 +0900 Subject: [PATCH 053/162] Apply dotnet format --- HoaryFox/Component_v2/Geometry/Stb2Brep.cs | 32 +++++++++++----------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/HoaryFox/Component_v2/Geometry/Stb2Brep.cs b/HoaryFox/Component_v2/Geometry/Stb2Brep.cs index 80cbfa59..5936e280 100644 --- a/HoaryFox/Component_v2/Geometry/Stb2Brep.cs +++ b/HoaryFox/Component_v2/Geometry/Stb2Brep.cs @@ -98,22 +98,22 @@ private void BakeBrep() { var objAttr = new ObjectAttributes(); - Dictionary[] infos = infoArray[index]; - Dictionary info = infos[bIndex]; - - foreach (KeyValuePair pair in info) - { - objAttr.SetUserString(pair.Key, pair.Value); - } - - var layer = new Layer { Name = info["name"], ParentLayerId = parentId, Color = layerColors[index] }; - int layerIndex = activeDoc.Layers.Add(layer); - if (layerIndex == -1) - { - layer = activeDoc.Layers.FindName(info["name"]); - layerIndex = layer.Index; - } - objAttr.LayerIndex = layerIndex; + Dictionary[] infos = infoArray[index]; + Dictionary info = infos[bIndex]; + + foreach (KeyValuePair pair in info) + { + objAttr.SetUserString(pair.Key, pair.Value); + } + + var layer = new Layer { Name = info["name"], ParentLayerId = parentId, Color = layerColors[index] }; + int layerIndex = activeDoc.Layers.Add(layer); + if (layerIndex == -1) + { + layer = activeDoc.Layers.FindName(info["name"]); + layerIndex = layer.Index; + } + objAttr.LayerIndex = layerIndex; activeDoc.Objects.AddBrep(brep, objAttr); } From acbb64c1b9113334703286f88af506120c777a32 Mon Sep 17 00:00:00 2001 From: hiron Date: Sun, 18 Jul 2021 23:22:36 +0900 Subject: [PATCH 054/162] Add Axes component --- HoaryFox/Component_v2/Geometry/Axes.cs | 81 ++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 HoaryFox/Component_v2/Geometry/Axes.cs diff --git a/HoaryFox/Component_v2/Geometry/Axes.cs b/HoaryFox/Component_v2/Geometry/Axes.cs new file mode 100644 index 00000000..df835004 --- /dev/null +++ b/HoaryFox/Component_v2/Geometry/Axes.cs @@ -0,0 +1,81 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Grasshopper.Kernel; +using Rhino.Geometry; +using STBDotNet.v202; + +namespace HoaryFox.Component_v2.Geometry +{ + public class Axis : GH_Component + { + private ST_BRIDGE _stBridge; + private readonly List _axisLines = new List(); + + public Axis() + : base("Axis", "Axis", + "Description", + "HoaryFox2", "Geometry") + { + } + + public override void ClearData() + { + base.ClearData(); + _axisLines.Clear(); + } + + protected override void RegisterInputParams(GH_InputParamManager pManager) + { + pManager.AddGenericParameter("Data", "D", "input ST-Bridge Data", GH_ParamAccess.item); + pManager.AddNumberParameter("Factor", "F", "Axis length factor", GH_ParamAccess.item, 1.2); + } + + protected override void RegisterOutputParams(GH_OutputParamManager pManager) + { + pManager.AddLineParameter("Columns", "Col", "output StbColumns to Brep", GH_ParamAccess.list); + } + + protected override void SolveInstance(IGH_DataAccess dataAccess) + { + double factor = 1; + if (!dataAccess.GetData(0, ref _stBridge)) { return; } + if (!dataAccess.GetData(1, ref factor)) { return; } + + StbAxes axis = _stBridge.StbModel.StbAxes; + StbParallelAxes[] parallels = axis.StbParallelAxes; + double length = GetMaxLength(_stBridge.StbModel.StbNodes); + + foreach (StbParallelAxes parallel in parallels) + { + var basePt = new Point3d(parallel.X, parallel.Y, 0); + var axisVec = Vector3d.XAxis * length; + axisVec.Rotate(parallel.angle * Math.PI / 180, Vector3d.ZAxis); + var distanceVec = Vector3d.CrossProduct(axisVec, Vector3d.ZAxis); + + foreach (StbParallelAxis pAxis in parallel.StbParallelAxis) + { + _axisLines.Add(new Line( + basePt - axisVec * (factor - 1) + distanceVec * pAxis.distance, + basePt + axisVec * factor + distanceVec * pAxis.distance + )); + } + } + + dataAccess.SetDataList(0, _axisLines); + } + + private static double GetMaxLength(StbNode[] stbNodes) + { + IEnumerable xList = stbNodes.Select(n => n.X); + IEnumerable yList = stbNodes.Select(n => n.Y); + IEnumerable zList = stbNodes.Select(n => n.Z); + + return Math.Sqrt(Math.Pow(xList.Max() - xList.Min(), 2) + Math.Pow(yList.Max() - yList.Min(), 2)); + } + + protected override System.Drawing.Bitmap Icon => null; + + public override Guid ComponentGuid => new Guid("98315013-7bb3-4ad9-8b69-ad1457ebe0b7"); + } +} From f8e448d8e79fb93f9c946e99599c09fc1a3c7e7d Mon Sep 17 00:00:00 2001 From: hiron Date: Mon, 19 Jul 2021 23:39:11 +0900 Subject: [PATCH 055/162] Fix Axis rotate bug --- HoaryFox/Component_v2/Geometry/Axes.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/HoaryFox/Component_v2/Geometry/Axes.cs b/HoaryFox/Component_v2/Geometry/Axes.cs index df835004..4f06a958 100644 --- a/HoaryFox/Component_v2/Geometry/Axes.cs +++ b/HoaryFox/Component_v2/Geometry/Axes.cs @@ -33,7 +33,7 @@ protected override void RegisterInputParams(GH_InputParamManager pManager) protected override void RegisterOutputParams(GH_OutputParamManager pManager) { - pManager.AddLineParameter("Columns", "Col", "output StbColumns to Brep", GH_ParamAccess.list); + pManager.AddLineParameter("Axis", "Ax", "output StbAxes to Line", GH_ParamAccess.list); } protected override void SolveInstance(IGH_DataAccess dataAccess) @@ -49,9 +49,10 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) foreach (StbParallelAxes parallel in parallels) { var basePt = new Point3d(parallel.X, parallel.Y, 0); - var axisVec = Vector3d.XAxis * length; - axisVec.Rotate(parallel.angle * Math.PI / 180, Vector3d.ZAxis); - var distanceVec = Vector3d.CrossProduct(axisVec, Vector3d.ZAxis); + Vector3d axisVec = Vector3d.XAxis * length; + axisVec.Rotate(parallel.angle * Math.PI / 180, -Vector3d.ZAxis); + Vector3d distanceVec = Vector3d.YAxis; + distanceVec.Rotate(parallel.angle * Math.PI / 180, Vector3d.ZAxis); foreach (StbParallelAxis pAxis in parallel.StbParallelAxis) { @@ -69,7 +70,6 @@ private static double GetMaxLength(StbNode[] stbNodes) { IEnumerable xList = stbNodes.Select(n => n.X); IEnumerable yList = stbNodes.Select(n => n.Y); - IEnumerable zList = stbNodes.Select(n => n.Z); return Math.Sqrt(Math.Pow(xList.Max() - xList.Min(), 2) + Math.Pow(yList.Max() - yList.Min(), 2)); } From dd983e4c7e10a658b8fe3bc9aab154293303de6c Mon Sep 17 00:00:00 2001 From: hiron Date: Tue, 20 Jul 2021 22:48:21 +0900 Subject: [PATCH 056/162] Add output axis tag --- HoaryFox/Component_v2/Geometry/Axes.cs | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/HoaryFox/Component_v2/Geometry/Axes.cs b/HoaryFox/Component_v2/Geometry/Axes.cs index 4f06a958..88ed1f79 100644 --- a/HoaryFox/Component_v2/Geometry/Axes.cs +++ b/HoaryFox/Component_v2/Geometry/Axes.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Drawing; using System.Linq; using Grasshopper.Kernel; using Rhino.Geometry; @@ -10,8 +11,12 @@ namespace HoaryFox.Component_v2.Geometry public class Axis : GH_Component { private ST_BRIDGE _stBridge; + private int _size; private readonly List _axisLines = new List(); + private readonly List _axisPts = new List(); + private readonly List _axisStr = new List(); + public override bool IsPreviewCapable => true; public Axis() : base("Axis", "Axis", "Description", @@ -29,6 +34,7 @@ protected override void RegisterInputParams(GH_InputParamManager pManager) { pManager.AddGenericParameter("Data", "D", "input ST-Bridge Data", GH_ParamAccess.item); pManager.AddNumberParameter("Factor", "F", "Axis length factor", GH_ParamAccess.item, 1.2); + pManager.AddIntegerParameter("Size", "S", "Axis tag", GH_ParamAccess.item, 12); } protected override void RegisterOutputParams(GH_OutputParamManager pManager) @@ -41,6 +47,7 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) double factor = 1; if (!dataAccess.GetData(0, ref _stBridge)) { return; } if (!dataAccess.GetData(1, ref factor)) { return; } + if (!dataAccess.GetData(2, ref _size)) { return; } StbAxes axis = _stBridge.StbModel.StbAxes; StbParallelAxes[] parallels = axis.StbParallelAxes; @@ -60,6 +67,8 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) basePt - axisVec * (factor - 1) + distanceVec * pAxis.distance, basePt + axisVec * factor + distanceVec * pAxis.distance )); + _axisPts.Add(basePt - axisVec * (factor - 1) + distanceVec * pAxis.distance); + _axisStr.Add(pAxis.name); } } @@ -74,7 +83,16 @@ private static double GetMaxLength(StbNode[] stbNodes) return Math.Sqrt(Math.Pow(xList.Max() - xList.Min(), 2) + Math.Pow(yList.Max() - yList.Min(), 2)); } - protected override System.Drawing.Bitmap Icon => null; + public override void DrawViewportWires(IGH_PreviewArgs args) + { + for (var i = 0; i < _axisPts.Count; i++) + { + args.Display.Draw2dText(_axisStr[i], Color.Black, _axisPts[i], true, _size); + args.Display.DrawLine(_axisLines[i], Color.Black); + } + } + + protected override Bitmap Icon => null; public override Guid ComponentGuid => new Guid("98315013-7bb3-4ad9-8b69-ad1457ebe0b7"); } From e2dc9f893480b23add9ece40d0d000e505ae33e0 Mon Sep 17 00:00:00 2001 From: hiron Date: Wed, 28 Jul 2021 22:10:13 +0900 Subject: [PATCH 057/162] Add SRC Brep output --- .../Utils/Geometry/CreateBrepFromStb.cs | 78 +++++++++++++++---- 1 file changed, 61 insertions(+), 17 deletions(-) diff --git a/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs b/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs index cb892543..4f002676 100644 --- a/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs +++ b/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs @@ -105,15 +105,19 @@ private Brep CreateColumnBrep(string idSection, double rotate, StbColumnKind_str { case StbColumnKind_structure.RC: StbSecColumn_RC rcSec = _sections.StbSecColumn_RC.First(sec => sec.id == idSection); - object figure = rcSec.StbSecFigureColumn_RC.Item; - curveList = SecRcColumnToCurves(figure, sectionPoints); + object rcFigure = rcSec.StbSecFigureColumn_RC.Item; + curveList = SecRcColumnToCurves(rcFigure, sectionPoints); break; case StbColumnKind_structure.S: StbSecColumn_S sSec = _sections.StbSecColumn_S.First(sec => sec.id == idSection); - object[] figures = sSec.StbSecSteelFigureColumn_S.Items; - curveList = SecSteelColumnToCurves(figures, sectionPoints); + object[] sFigures = sSec.StbSecSteelFigureColumn_S.Items; + curveList = SecSteelColumnToCurves(sFigures, sectionPoints); break; case StbColumnKind_structure.SRC: + StbSecColumn_SRC srcSec = _sections.StbSecColumn_SRC.First(sec => sec.id == idSection); + object srcFigure = srcSec.StbSecFigureColumn_SRC.Item; + curveList = SecRcColumnToCurves(srcFigure, sectionPoints); + break; case StbColumnKind_structure.CFT: case StbColumnKind_structure.UNDEFINED: break; @@ -139,10 +143,20 @@ private static List SecRcColumnToCurves(object figure, IReadOnlyList sec.id == idSection); - object[] figure = rcSec.StbSecFigureBeam_RC.Items; - curveList = SecRcBeamCurves(figure, sectionPoints); + object[] rcFigure = rcSec.StbSecFigureBeam_RC.Items; + curveList = SecRcBeamCurves(rcFigure, sectionPoints); break; case StbGirderKind_structure.S: StbSecBeam_S sSec = _sections.StbSecBeam_S.First(sec => sec.id == idSection); - object[] figures = sSec.StbSecSteelFigureBeam_S.Items; - curveList = SecSteelBeamToCurves(figures, sectionPoints); + object[] sFigure = sSec.StbSecSteelFigureBeam_S.Items; + curveList = SecSteelBeamToCurves(sFigure, sectionPoints); break; case StbGirderKind_structure.SRC: - case StbGirderKind_structure.UNDEFINED: + StbSecBeam_SRC srcSec = _sections.StbSecBeam_SRC.First(sec => sec.id == idSection); + object[] srcFigure = srcSec.StbSecFigureBeam_SRC.Items; + curveList = SecSrcBeamCurves(srcFigure, sectionPoints); break; + case StbGirderKind_structure.UNDEFINED: default: throw new ArgumentOutOfRangeException(); } @@ -325,12 +342,39 @@ private static List SecRcBeamCurves(IReadOnlyList figures, IReadO SectionCornerPoints.BeamRect(sectionPoints[3], taper[1].depth, taper[1].width))); break; case 3: - var haunch4 = new[] { figures[0] as StbSecBeam_RC_Haunch, figures[1] as StbSecBeam_RC_Haunch, figures[2] as StbSecBeam_RC_Haunch, figures[3] as StbSecBeam_RC_Haunch }; - for (var i = 0; i < 4; i++) - { - curveList.Add(new PolylineCurve( - SectionCornerPoints.BeamRect(sectionPoints[i], haunch4[i].depth, haunch4[i].width))); - } + var haunch = new[] { figures[0] as StbSecBeam_RC_Haunch, figures[1] as StbSecBeam_RC_Haunch, figures[2] as StbSecBeam_RC_Haunch }; + curveList.AddRange(haunch.Select((fig, i) => new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[i], fig.depth, fig.width)))); + break; + default: + throw new Exception(); + } + + return curveList; + } + + private static List SecSrcBeamCurves(IReadOnlyList figures, IReadOnlyList sectionPoints) + { + var curveList = new List(); + + switch (figures.Count) + { + case 1: + var straight = figures[0] as StbSecBeam_SRC_Straight; + curveList.Add(new PolylineCurve( + SectionCornerPoints.BeamRect(sectionPoints[0], straight.depth, straight.width))); + curveList.Add(new PolylineCurve( + SectionCornerPoints.BeamRect(sectionPoints[3], straight.depth, straight.width))); + break; + case 2: + var taper = new[] { figures[0] as StbSecBeam_SRC_Taper, figures[1] as StbSecBeam_SRC_Taper }; + curveList.Add(new PolylineCurve( + SectionCornerPoints.BeamRect(sectionPoints[0], taper[0].depth, taper[0].width))); + curveList.Add(new PolylineCurve( + SectionCornerPoints.BeamRect(sectionPoints[3], taper[1].depth, taper[1].width))); + break; + case 3: + var haunch = new[] { figures[0] as StbSecBeam_SRC_Haunch, figures[1] as StbSecBeam_SRC_Haunch, figures[2] as StbSecBeam_SRC_Haunch }; + curveList.AddRange(haunch.Select((t, i) => new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[i], t.depth, t.width)))); break; default: throw new Exception(); @@ -689,7 +733,7 @@ public List Slab(IEnumerable slabs) topPts.Add(topPts[0]); curveList[0] = new PolylineCurve(topPts); - Vector3d normal = Brep.CreatePlanarBreps(curveList[0], _tolerance[0])[0].Faces[0].NormalAt(0.5, 0.5); + Vector3d normal = Vector3d.CrossProduct(curveList[0].TangentAtEnd, curveList[0].TangentAtStart); curveList[1] = new PolylineCurve(topPts.Select(pt => pt - normal * depth)); brepList.Add(Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] .CapPlanarHoles(_tolerance[0])); @@ -776,7 +820,7 @@ public List Wall(IEnumerable walls) topPts.Add(topPts[0]); var centerCurve = new PolylineCurve(topPts); - Vector3d normal = Brep.CreatePlanarBreps(centerCurve, _tolerance[0])[0].Faces[0].NormalAt(0.5, 0.5); + Vector3d normal = Vector3d.CrossProduct(centerCurve.TangentAtEnd, centerCurve.TangentAtStart); curveList[0] = new PolylineCurve(topPts.Select(pt => pt + normal * thickness / 2)); curveList[1] = new PolylineCurve(topPts.Select(pt => pt - normal * thickness / 2)); brepList.Add(Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] From 09cd85544a2c028d20055ae096c99df613c35684 Mon Sep 17 00:00:00 2001 From: hiron Date: Thu, 29 Jul 2021 20:40:00 +0900 Subject: [PATCH 058/162] Fix inPlane rotate bug MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 部材の回転がラジアンであるべきなのに角度になっていたのに修正 --- .../Utils/Geometry/CreateBrepFromStb.cs | 31 ++++++++++--------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs b/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs index 4f002676..6915bc5f 100644 --- a/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs +++ b/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs @@ -541,37 +541,38 @@ private List SecSteelBraceToCurves(IReadOnlyList figures, IReadOn private static void RotateCurveList(Vector3d memberAxis, IReadOnlyList curveList, double rotate, IReadOnlyList sectionPoints, Vector3d secLocalAxis) { Vector3d rotateAxis = Vector3d.CrossProduct(secLocalAxis, memberAxis); - double angle = Vector3d.VectorAngle(secLocalAxis, memberAxis); + double outPlaneAngle = Vector3d.VectorAngle(secLocalAxis, memberAxis); + double inPlaneAngle = rotate * Math.PI / 180; int len = curveList.Count; switch (len) { case 2: - curveList[0].Rotate(rotate, secLocalAxis, sectionPoints[0]); // 断面内の回転 - curveList[0].Rotate(angle, rotateAxis, sectionPoints[0]); // 断面外の回転 - curveList[1].Rotate(rotate, secLocalAxis, sectionPoints[3]); - curveList[1].Rotate(angle, rotateAxis, sectionPoints[3]); + curveList[0].Rotate(inPlaneAngle, secLocalAxis, sectionPoints[0]); // 断面内の回転 + curveList[0].Rotate(outPlaneAngle, rotateAxis, sectionPoints[0]); // 断面外の回転 + curveList[1].Rotate(inPlaneAngle, secLocalAxis, sectionPoints[3]); + curveList[1].Rotate(outPlaneAngle, rotateAxis, sectionPoints[3]); break; case 3: - curveList[0].Rotate(rotate, secLocalAxis, sectionPoints[0]); - curveList[0].Rotate(angle, rotateAxis, sectionPoints[0]); - curveList[2].Rotate(rotate, secLocalAxis, sectionPoints[3]); - curveList[2].Rotate(angle, rotateAxis, sectionPoints[3]); + curveList[0].Rotate(inPlaneAngle, secLocalAxis, sectionPoints[0]); + curveList[0].Rotate(outPlaneAngle, rotateAxis, sectionPoints[0]); + curveList[2].Rotate(inPlaneAngle, secLocalAxis, sectionPoints[3]); + curveList[2].Rotate(outPlaneAngle, rotateAxis, sectionPoints[3]); if (sectionPoints[2] == sectionPoints[3]) { - curveList[1].Rotate(rotate, secLocalAxis, sectionPoints[1]); - curveList[1].Rotate(angle, rotateAxis, sectionPoints[1]); + curveList[1].Rotate(inPlaneAngle, secLocalAxis, sectionPoints[1]); + curveList[1].Rotate(outPlaneAngle, rotateAxis, sectionPoints[1]); } else { - curveList[1].Rotate(rotate, secLocalAxis, sectionPoints[2]); - curveList[1].Rotate(angle, rotateAxis, sectionPoints[2]); + curveList[1].Rotate(inPlaneAngle, secLocalAxis, sectionPoints[2]); + curveList[1].Rotate(outPlaneAngle, rotateAxis, sectionPoints[2]); } break; case 4: for (var i = 0; i < 4; i++) { - curveList[i].Rotate(rotate, secLocalAxis, sectionPoints[i]); - curveList[i].Rotate(angle, rotateAxis, sectionPoints[i]); + curveList[i].Rotate(inPlaneAngle, secLocalAxis, sectionPoints[i]); + curveList[i].Rotate(outPlaneAngle, rotateAxis, sectionPoints[i]); } break; default: From 8653cd45d3b6b934f04b0c799cbfad791d3e4812 Mon Sep 17 00:00:00 2001 From: hiron Date: Sun, 1 Aug 2021 12:59:17 +0900 Subject: [PATCH 059/162] Clean hf v1 related codes & rename v2 directroy --- HoaryFox/Component/Base/NameTagBase.cs | 95 ------- HoaryFox/Component/Base/SecTagBase.cs | 100 ------- HoaryFox/Component/Geometry/Stb2Brep.cs | 101 ++++--- HoaryFox/Component/Geometry/Stb2Line.cs | 79 +++--- HoaryFox/Component/IO/StbLoader.cs | 21 +- HoaryFox/Component/Tag/Name/BeamNameTag.cs | 72 ++++- HoaryFox/Component/Tag/Name/BraceNameTag.cs | 72 ++++- HoaryFox/Component/Tag/Name/ColumnNameTag.cs | 72 ++++- HoaryFox/Component/Tag/Name/GirderNameTag.cs | 72 ++++- HoaryFox/Component/Tag/Name/PostNameTag.cs | 70 ++++- HoaryFox/Component/Tag/Section/BeamSecTag.cs | 127 ++++++++- HoaryFox/Component/Tag/Section/BraceSecTag.cs | 117 +++++++- .../Component/Tag/Section/ColumnSecTag.cs | 122 ++++++++- .../Component/Tag/Section/GirderSecTag.cs | 127 ++++++++- HoaryFox/Component/Tag/Section/PostSecTag.cs | 122 ++++++++- .../Utils/Geometry/CreateBrepFromStb.cs | 0 .../Utils/Geometry/CreateLineFromStb.cs | 0 .../Utils/Geometry/GeometryBaker.cs | 0 .../Utils/Geometry/SectionCornerPoints.cs | 0 .../Utils/TagUtils.cs | 0 HoaryFox/Component_v2/Geometry/Stb2Brep.cs | 123 --------- HoaryFox/Component_v2/Geometry/Stb2Line.cs | 130 --------- HoaryFox/Component_v2/IO/StbLoader.cs | 41 --- HoaryFox/Component_v2/Tag/Name/BeamNameTag.cs | 75 ------ .../Component_v2/Tag/Name/BraceNameTag.cs | 75 ------ .../Component_v2/Tag/Name/ColumnNameTag.cs | 75 ------ .../Component_v2/Tag/Name/GirderNameTag.cs | 75 ------ HoaryFox/Component_v2/Tag/Name/PostNameTag.cs | 75 ------ .../Component_v2/Tag/Section/BeamSecTag.cs | 130 --------- .../Component_v2/Tag/Section/BraceSecTag.cs | 120 --------- .../Component_v2/Tag/Section/ColumnSecTag.cs | 125 --------- .../Component_v2/Tag/Section/GirderSecTag.cs | 130 --------- .../Component_v2/Tag/Section/PostSecTag.cs | 125 --------- HoaryFox/HoaryFox.csproj | 10 +- HoaryFox/Library/STBReader.dll | Bin 48128 -> 0 bytes HoaryFox/Member/CreateBar.cs | 255 ------------------ HoaryFox/Member/CreateBreps.cs | 182 ------------- HoaryFox/Member/CreateTag.cs | 223 --------------- HoaryFox/Member/FrameBreps.cs | 167 ------------ HoaryFox/Member/FrameLines.cs | 65 ----- HoaryFox/Member/FramePoints.cs | 57 ---- HoaryFox/Member/ShapeInfo.cs | 56 ---- HoaryFox/Member/SteelCroSecBrep.cs | 140 ---------- HoaryFox/Misc.cs | 39 --- 44 files changed, 1001 insertions(+), 2861 deletions(-) delete mode 100644 HoaryFox/Component/Base/NameTagBase.cs delete mode 100644 HoaryFox/Component/Base/SecTagBase.cs rename HoaryFox/{Component_v2 => Component}/Utils/Geometry/CreateBrepFromStb.cs (100%) rename HoaryFox/{Component_v2 => Component}/Utils/Geometry/CreateLineFromStb.cs (100%) rename HoaryFox/{Component_v2 => Component}/Utils/Geometry/GeometryBaker.cs (100%) rename HoaryFox/{Component_v2 => Component}/Utils/Geometry/SectionCornerPoints.cs (100%) rename HoaryFox/{Component_v2 => Component}/Utils/TagUtils.cs (100%) delete mode 100644 HoaryFox/Component_v2/Geometry/Stb2Brep.cs delete mode 100644 HoaryFox/Component_v2/Geometry/Stb2Line.cs delete mode 100644 HoaryFox/Component_v2/IO/StbLoader.cs delete mode 100644 HoaryFox/Component_v2/Tag/Name/BeamNameTag.cs delete mode 100644 HoaryFox/Component_v2/Tag/Name/BraceNameTag.cs delete mode 100644 HoaryFox/Component_v2/Tag/Name/ColumnNameTag.cs delete mode 100644 HoaryFox/Component_v2/Tag/Name/GirderNameTag.cs delete mode 100644 HoaryFox/Component_v2/Tag/Name/PostNameTag.cs delete mode 100644 HoaryFox/Component_v2/Tag/Section/BeamSecTag.cs delete mode 100644 HoaryFox/Component_v2/Tag/Section/BraceSecTag.cs delete mode 100644 HoaryFox/Component_v2/Tag/Section/ColumnSecTag.cs delete mode 100644 HoaryFox/Component_v2/Tag/Section/GirderSecTag.cs delete mode 100644 HoaryFox/Component_v2/Tag/Section/PostSecTag.cs delete mode 100644 HoaryFox/Library/STBReader.dll delete mode 100644 HoaryFox/Member/CreateBar.cs delete mode 100644 HoaryFox/Member/CreateBreps.cs delete mode 100644 HoaryFox/Member/CreateTag.cs delete mode 100644 HoaryFox/Member/FrameBreps.cs delete mode 100644 HoaryFox/Member/FrameLines.cs delete mode 100644 HoaryFox/Member/FramePoints.cs delete mode 100644 HoaryFox/Member/ShapeInfo.cs delete mode 100644 HoaryFox/Member/SteelCroSecBrep.cs delete mode 100644 HoaryFox/Misc.cs diff --git a/HoaryFox/Component/Base/NameTagBase.cs b/HoaryFox/Component/Base/NameTagBase.cs deleted file mode 100644 index 1dd758e6..00000000 --- a/HoaryFox/Component/Base/NameTagBase.cs +++ /dev/null @@ -1,95 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Drawing; -using Grasshopper.Kernel; -using Rhino.Geometry; -using STBReader; -using STBReader.Member; -using STBReader.Model; - -namespace HoaryFox.Component.Base -{ - public class NameTagBase : GH_Component - { - private StbData _stbData; - private int _size; - private readonly FrameType _frameType; - - private readonly List _frameName = new List(); - private readonly List _framePos = new List(); - - public override bool IsPreviewCapable => true; - - protected NameTagBase(string name, string nickname, string description, FrameType frameType) - : base(name, nickname, description, category: "HoaryFox", subCategory: "NameTag") - { - _frameType = frameType; - } - - public override void ClearData() - { - base.ClearData(); - _frameName.Clear(); - _framePos.Clear(); - } - - protected override void RegisterInputParams(GH_InputParamManager pManager) - { - pManager.AddGenericParameter("Data", "D", "input ST-Bridge file data", GH_ParamAccess.item); - pManager.AddIntegerParameter("Size", "S", "Tag size", GH_ParamAccess.item, 12); - } - - protected override void RegisterOutputParams(GH_OutputParamManager pManager) - { - pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.list); - } - - protected override void SolveInstance(IGH_DataAccess dataAccess) - { - if (!dataAccess.GetData("Data", ref _stbData)) { return; } - if (!dataAccess.GetData("Size", ref _size)) { return; } - - StbNodes nodes = _stbData.Nodes; - StbFrame frame; - switch (_frameType) - { - case FrameType.Column: frame = _stbData.Columns; break; - case FrameType.Post: frame = _stbData.Posts; break; - case FrameType.Girder: frame = _stbData.Girders; break; - case FrameType.Beam: frame = _stbData.Beams; break; - case FrameType.Brace: frame = _stbData.Braces; break; - case FrameType.Slab: - case FrameType.Wall: - case FrameType.Any: - return; - default: - throw new ArgumentOutOfRangeException(); - } - - for (var i = 0; i < frame.Id.Count; i++) - { - int idNodeStart = nodes.Id.IndexOf(frame.IdNodeStart[i]); - int idNodeEnd = nodes.Id.IndexOf(frame.IdNodeEnd[i]); - _frameName.Add(frame.Name[i]); - _framePos.Add(new Point3d( - (nodes.X[idNodeStart] + nodes.X[idNodeEnd]) / 2.0, - (nodes.Y[idNodeStart] + nodes.Y[idNodeEnd]) / 2.0, - (nodes.Z[idNodeStart] + nodes.Z[idNodeEnd]) / 2.0) - ); - } - - dataAccess.SetDataList(0, _frameName); - } - - public override void DrawViewportWires(IGH_PreviewArgs args) - { - for (var i = 0; i < _frameName.Count; i++) - { - args.Display.Draw2dText(_frameName[i], Color.Black, _framePos[i], true, _size); - } - } - - protected override Bitmap Icon => null; - public override Guid ComponentGuid => new Guid("758DE991-F652-4EDC-BC63-2A454BA43FB0"); - } -} diff --git a/HoaryFox/Component/Base/SecTagBase.cs b/HoaryFox/Component/Base/SecTagBase.cs deleted file mode 100644 index 6d365ab0..00000000 --- a/HoaryFox/Component/Base/SecTagBase.cs +++ /dev/null @@ -1,100 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Drawing; -using Grasshopper.Kernel; -using Grasshopper.Kernel.Data; -using Grasshopper.Kernel.Types; -using HoaryFox.Member; -using Rhino.Geometry; -using STBReader; -using STBReader.Member; - -namespace HoaryFox.Component.Base -{ - public class SecTagBase : GH_Component - { - private StbData _stbData; - private int _size; - private readonly FrameType _frameType; - - private GH_Structure _frameTags = new GH_Structure(); - private List _tagPos = new List(); - - protected SecTagBase(string name, string nickname, string description, FrameType frameType) - : base(name, nickname, description, category: "HoaryFox", subCategory: "SectionTag") - { - _frameType = frameType; - } - - public override void ClearData() - { - base.ClearData(); - _frameTags.Clear(); - _tagPos.Clear(); - } - - public override bool IsPreviewCapable => true; - - protected override void RegisterInputParams(GH_InputParamManager pManager) - { - pManager.AddGenericParameter("Data", "D", "input ST-Bridge file data", GH_ParamAccess.item); - pManager.AddIntegerParameter("Size", "S", "Tag size", GH_ParamAccess.item, 12); - } - - protected override void RegisterOutputParams(GH_OutputParamManager pManager) - { - pManager.AddTextParameter("SecTag", "STag", "output section tag", GH_ParamAccess.tree); - } - - protected override void SolveInstance(IGH_DataAccess dataAccess) - { - if (!dataAccess.GetData("Data", ref _stbData)) { return; } - if (!dataAccess.GetData("Size", ref _size)) { return; } - - StbFrame frame; - switch (_frameType) - { - case FrameType.Column: frame = _stbData.Columns; break; - case FrameType.Post: frame = _stbData.Posts; break; - case FrameType.Girder: frame = _stbData.Girders; break; - case FrameType.Beam: frame = _stbData.Beams; break; - case FrameType.Brace: frame = _stbData.Braces; break; - case FrameType.Slab: - case FrameType.Wall: - case FrameType.Any: - return; - default: - throw new ArgumentOutOfRangeException(); - } - GetTag(frame); - - dataAccess.SetDataTree(0, _frameTags); - } - - public override void DrawViewportWires(IGH_PreviewArgs args) - { - if (_frameTags.DataCount == 0) - { - return; - } - - for (var i = 0; i < _frameTags.PathCount; i++) - { - List tags = _frameTags.Branches[i]; - string tag = tags[0].ToString() + "\n" + tags[1].ToString() + "\n" + tags[2].ToString() + "\n" + - tags[3].ToString() + "\n" + tags[4].ToString() + "\n" + tags[5].ToString(); - args.Display.Draw2dText(tag, Color.Black, _tagPos[i], false, _size); - } - } - - protected override Bitmap Icon => null; - public override Guid ComponentGuid => new Guid("6300E95D-38AF-47A6-B792-E4680FE37F49"); - - private void GetTag(StbFrame stbFrame) - { - var tags = new CreateTag(_stbData.Nodes, _stbData.SecColumnRc, _stbData.SecColumnS, _stbData.SecBeamRc, _stbData.SecBeamS, _stbData.SecBraceS, _stbData.SecSteel); - _frameTags = tags.FrameGHStructure(stbFrame); - _tagPos = tags.Position; - } - } -} diff --git a/HoaryFox/Component/Geometry/Stb2Brep.cs b/HoaryFox/Component/Geometry/Stb2Brep.cs index 36147380..5936e280 100644 --- a/HoaryFox/Component/Geometry/Stb2Brep.cs +++ b/HoaryFox/Component/Geometry/Stb2Brep.cs @@ -3,31 +3,31 @@ using System.Drawing; using System.Linq; using Grasshopper.Kernel; -using HoaryFox.Member; +using HoaryFox.Component_v2.Utils.Geometry; using HoaryFox.Properties; using Rhino; using Rhino.DocObjects; using Rhino.Geometry; -using STBReader; -using STBReader.Member; +using STBDotNet.v202; -namespace HoaryFox.Component.Geometry +namespace HoaryFox.Component_v2.Geometry { public class Stb2Brep : GH_Component { - private StbData _stbData; - - private readonly List> _geometryBreps = new List>(); + private ST_BRIDGE _stBridge; + private readonly List> _brepList = new List>(); public Stb2Brep() - : base("Stb to Brep", "S2B", "Read ST-Bridge file and display", "HoaryFox", "Geometry") + : base("Stb to Brep", "S2B", + "Display ST-Bridge model in Brep", + "HoaryFox2", "Geometry") { } public override void ClearData() { base.ClearData(); - _geometryBreps.Clear(); + _brepList.Clear(); } protected override void RegisterInputParams(GH_InputParamManager pManager) @@ -50,80 +50,71 @@ protected override void RegisterOutputParams(GH_OutputParamManager pManager) protected override void SolveInstance(IGH_DataAccess dataAccess) { var isBake = false; - if (!dataAccess.GetData("Data", ref _stbData)) { return; } + if (!dataAccess.GetData("Data", ref _stBridge)) { return; } if (!dataAccess.GetData("Bake", ref isBake)) { return; } - this.MakeBrep(isBake); + + CreateBrep(); + if (isBake) + { + BakeBrep(); + } for (var i = 0; i < 7; i++) { - dataAccess.SetDataList(i, _geometryBreps[i]); + dataAccess.SetDataList(i, _brepList[i]); } } protected override Bitmap Icon => Resource.Brep; - public override Guid ComponentGuid => new Guid("7d2f0c4e-4888-4607-8548-592104f6f06f"); + public override Guid ComponentGuid => new Guid("B2D5EA7F-E75F-406B-8D22-C267B43C5E72"); - private void MakeBrep(bool isBake) + private void CreateBrep() { - var stbFrames = new List - { - _stbData.Columns, _stbData.Girders, _stbData.Posts, _stbData.Beams, _stbData.Braces - }; - var breps = new FrameBreps(_stbData); - - foreach (StbFrame frame in stbFrames) - { - _geometryBreps.Add(breps.Frame(frame)); - } - _geometryBreps.Add(breps.Slab(_stbData.Slabs)); - _geometryBreps.Add(breps.Wall(_stbData.Walls)); - - if (isBake) - { - this.BakeBreps(stbFrames); - } + StbMembers member = _stBridge.StbModel.StbMembers; + var brepFromStb = new CreateBrepFromStb(_stBridge.StbModel.StbSections, _stBridge.StbModel.StbNodes, new[] { DocumentTolerance(), DocumentAngleTolerance() }); + _brepList.Add(brepFromStb.Column(member.StbColumns)); + _brepList.Add(brepFromStb.Girder(member.StbGirders)); + _brepList.Add(brepFromStb.Post(member.StbPosts)); + _brepList.Add(brepFromStb.Beam(member.StbBeams)); + _brepList.Add(brepFromStb.Brace(member.StbBraces)); + _brepList.Add(brepFromStb.Slab(member.StbSlabs)); + _brepList.Add(brepFromStb.Wall(member.StbWalls)); } - private void BakeBreps(IEnumerable stbFrames) + private void BakeBrep() { RhinoDoc activeDoc = RhinoDoc.ActiveDoc; var parentLayerNames = new[] { "Column", "Girder", "Post", "Beam", "Brace", "Slab", "Wall" }; Color[] layerColors = { Color.Red, Color.Green, Color.Aquamarine, Color.LightCoral, Color.MediumPurple, Color.DarkGray, Color.CornflowerBlue }; - Misc.MakeParentLayers(activeDoc, parentLayerNames, layerColors); + GeometryBaker.MakeParentLayers(activeDoc, parentLayerNames, layerColors); - //TODO: このネストは直す - List>> tagList = stbFrames.Select(stbFrame => Misc.GetTag(_stbData, stbFrame)).ToList(); + Dictionary[][] infoArray = Utils.TagUtils.GetAllSectionInfoArray(_stBridge.StbModel.StbMembers); - foreach ((List frameBreps, int index) in _geometryBreps.Select((frameBrep, index) => (frameBrep, index))) + foreach ((List breps, int index) in _brepList.Select((frameBrep, index) => (frameBrep, index))) { Layer parentLayer = activeDoc.Layers.FindName(parentLayerNames[index]); - int parentIndex = parentLayer.Index; Guid parentId = parentLayer.Id; - - foreach ((Brep brep, int bIndex) in frameBreps.Select((brep, bIndex) => (brep, bIndex))) + foreach ((Brep brep, int bIndex) in breps.Select((brep, bIndex) => (brep, bIndex))) { var objAttr = new ObjectAttributes(); - objAttr.SetUserString("Type", parentLayerNames[index]); - if (index < 5) + Dictionary[] infos = infoArray[index]; + Dictionary info = infos[bIndex]; + + foreach (KeyValuePair pair in info) { - List> tags = tagList[index]; - List tag = tags[bIndex]; - Misc.SetFrameUserString(ref objAttr, tag); - - var layer = new Layer { Name = tag[0], ParentLayerId = parentId, Color = layerColors[index] }; - int layerIndex = activeDoc.Layers.Add(layer); - if (layerIndex == -1) - { - layer = activeDoc.Layers.FindName(tag[0]); - layerIndex = layer.Index; - } - objAttr.LayerIndex = layerIndex; + objAttr.SetUserString(pair.Key, pair.Value); } - else + + var layer = new Layer { Name = info["name"], ParentLayerId = parentId, Color = layerColors[index] }; + int layerIndex = activeDoc.Layers.Add(layer); + if (layerIndex == -1) { - objAttr.LayerIndex = parentIndex; + layer = activeDoc.Layers.FindName(info["name"]); + layerIndex = layer.Index; } + objAttr.LayerIndex = layerIndex; + activeDoc.Objects.AddBrep(brep, objAttr); } } diff --git a/HoaryFox/Component/Geometry/Stb2Line.cs b/HoaryFox/Component/Geometry/Stb2Line.cs index 75832e4b..ba742e11 100644 --- a/HoaryFox/Component/Geometry/Stb2Line.cs +++ b/HoaryFox/Component/Geometry/Stb2Line.cs @@ -3,24 +3,25 @@ using System.Drawing; using System.Linq; using Grasshopper.Kernel; -using HoaryFox.Member; +using HoaryFox.Component_v2.Utils.Geometry; +using HoaryFox.Properties; using Rhino; using Rhino.DocObjects; using Rhino.Geometry; -using STBReader; -using STBReader.Member; +using STBDotNet.v202; - -namespace HoaryFox.Component.Geometry +namespace HoaryFox.Component_v2.Geometry { public class Stb2Line : GH_Component { - private StbData _stbData; + private ST_BRIDGE _stBridge; private List _nodes = new List(); private readonly List> _lineList = new List>(); public Stb2Line() - : base(name: "Stb to Line", nickname: "S2L", description: "Read ST-Bridge file and display", category: "HoaryFox", subCategory: "Geometry") + : base("Stb to Line", "S2L", + "Display ST-Bridge model in line", + "HoaryFox2", "Geometry") { } @@ -49,44 +50,30 @@ protected override void RegisterOutputParams(GH_OutputParamManager pManager) protected override void SolveInstance(IGH_DataAccess dataAccess) { var isBake = false; - if (!dataAccess.GetData("Data", ref _stbData)) { return; } + if (!dataAccess.GetData("Data", ref _stBridge)) { return; } if (!dataAccess.GetData("Bake", ref isBake)) { return; } - MakeLine(isBake); - dataAccess.SetDataList(0, _nodes); - foreach ((List geometry, int i) in _lineList.Select((geo, index) => (geo, index + 1))) + CreateLine(); + if (isBake) { - dataAccess.SetDataList(i, geometry); + BakeLine(); } - } - - private void MakeLine(bool isBake) - { - var createLines = new FrameLines(_stbData); - _nodes = createLines.Nodes(); - _lineList.Add(createLines.Columns()); - _lineList.Add(createLines.Girders()); - _lineList.Add(createLines.Posts()); - _lineList.Add(createLines.Beams()); - _lineList.Add(createLines.Braces()); - if (isBake) + dataAccess.SetDataList(0, _nodes); + foreach ((List geometry, int i) in _lineList.Select((geo, index) => (geo, index + 1))) { - this.BakeLines(); + dataAccess.SetDataList(i, geometry); } } - private void BakeLines() + private void BakeLine() { RhinoDoc activeDoc = RhinoDoc.ActiveDoc; - var parentLayerNames = new[] { "Column", "Girder", "Post", "Beam", "Brace", "Slab", "Wall" }; Color[] layerColors = { Color.Red, Color.Green, Color.Aquamarine, Color.LightCoral, Color.MediumPurple, Color.DarkGray, Color.CornflowerBlue }; - Misc.MakeParentLayers(activeDoc, parentLayerNames, layerColors); - var stbFrames = new List { _stbData.Columns, _stbData.Girders, _stbData.Posts, _stbData.Beams, _stbData.Braces }; + GeometryBaker.MakeParentLayers(activeDoc, parentLayerNames, layerColors); - //TODO: このネストは直す - List>> tagList = stbFrames.Select(stbFrame => Misc.GetTag(_stbData, stbFrame)).ToList(); + Dictionary[][] infoArray = Utils.TagUtils.GetAllSectionInfoArray(_stBridge.StbModel.StbMembers); foreach ((List lines, int index) in _lineList.Select((frameBrep, index) => (frameBrep, index))) { @@ -96,19 +83,22 @@ private void BakeLines() foreach ((Line line, int bIndex) in lines.Select((brep, bIndex) => (brep, bIndex))) { var objAttr = new ObjectAttributes(); - objAttr.SetUserString("Type", parentLayerNames[index]); if (index < 5) { - List> tags = tagList[index]; - List tag = tags[bIndex]; - Misc.SetFrameUserString(ref objAttr, tag); + Dictionary[] infos = infoArray[index]; + Dictionary info = infos[bIndex]; + + foreach (KeyValuePair pair in info) + { + objAttr.SetUserString(pair.Key, pair.Value); + } - var layer = new Layer { Name = tag[0], ParentLayerId = parentId, Color = layerColors[index] }; + var layer = new Layer { Name = info["name"], ParentLayerId = parentId, Color = layerColors[index] }; int layerIndex = activeDoc.Layers.Add(layer); if (layerIndex == -1) { - layer = activeDoc.Layers.FindName(tag[0]); + layer = activeDoc.Layers.FindName(info["name"]); layerIndex = layer.Index; } objAttr.LayerIndex = layerIndex; @@ -123,7 +113,18 @@ private void BakeLines() } } - protected override Bitmap Icon => Properties.Resource.Line; - public override Guid ComponentGuid => new Guid("7d2f0c4e-4888-4607-8548-592104f6f06d"); + private void CreateLine() + { + var createLines = new CreateLineFromStb(_stBridge); + _nodes = createLines.Nodes(); + _lineList.Add(createLines.Columns()); + _lineList.Add(createLines.Girders()); + _lineList.Add(createLines.Posts()); + _lineList.Add(createLines.Beams()); + _lineList.Add(createLines.Braces()); + } + + protected override Bitmap Icon => Resource.Line; + public override Guid ComponentGuid => new Guid("D1E6793B-F75C-4AEE-9A9F-B9DD08D6EB77"); } } diff --git a/HoaryFox/Component/IO/StbLoader.cs b/HoaryFox/Component/IO/StbLoader.cs index 075c17f1..4977a6d2 100644 --- a/HoaryFox/Component/IO/StbLoader.cs +++ b/HoaryFox/Component/IO/StbLoader.cs @@ -1,42 +1,41 @@ using System; using Grasshopper.Kernel; -using STBReader; +using STBDotNet.v202; -namespace HoaryFox.Component.IO +namespace HoaryFox.Component_v2.IO { public class StbLoader : GH_Component { private string _path; - private readonly double _lengthTolerance = DocumentTolerance(); - private readonly double _angleTolerance = DocumentAngleTolerance(); public override GH_Exposure Exposure => GH_Exposure.primary; public StbLoader() - : base("Load STB file", "Loader", "Read ST-Bridge file and display", "HoaryFox", "IO") + : base("Load STB file", "Loader", + "Read ST-Bridge file", + "HoaryFox2", "IO") { } - protected override void RegisterInputParams(GH_InputParamManager pManager) + protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager) { pManager.AddTextParameter("path", "path", "input ST-Bridge file path", GH_ParamAccess.item); } - protected override void RegisterOutputParams(GH_OutputParamManager pManager) + protected override void RegisterOutputParams(GH_Component.GH_OutputParamManager pManager) { pManager.AddGenericParameter("Data", "D", "output StbData", GH_ParamAccess.item); } protected override void SolveInstance(IGH_DataAccess dataAccess) { - // 対象の stb の pathを取得 + // 対象の stb の path を取得 if (!dataAccess.GetData("path", ref _path)) { return; } - var stbData = new StbData(_path, _lengthTolerance, _angleTolerance); - + var stbData = (ST_BRIDGE)STBDotNet.Serialization.Serializer.Deserialize(_path); dataAccess.SetData(0, stbData); } protected override System.Drawing.Bitmap Icon => Properties.Resource.LoadStb; - public override Guid ComponentGuid => new Guid("B8B7631C-BCAE-4549-95F7-1954D4781D24"); + public override Guid ComponentGuid => new Guid("C1E1CD82-9AC0-479C-A22F-DB7C44F3C77D"); } } diff --git a/HoaryFox/Component/Tag/Name/BeamNameTag.cs b/HoaryFox/Component/Tag/Name/BeamNameTag.cs index 5dd23918..67cd3228 100644 --- a/HoaryFox/Component/Tag/Name/BeamNameTag.cs +++ b/HoaryFox/Component/Tag/Name/BeamNameTag.cs @@ -1,17 +1,75 @@ using System; +using System.Collections.Generic; using System.Drawing; -using HoaryFox.Component.Base; -using STBReader.Member; +using Grasshopper.Kernel; +using HoaryFox.Component_v2.Utils; +using Rhino.Geometry; +using STBDotNet.v202; -namespace HoaryFox.Component.Tag.Name +namespace HoaryFox.Component_v2.Tag.Name { - public class BeamNameTag : NameTagBase + public class BeamNameTag : GH_Component { + private ST_BRIDGE _stBridge; + private int _size; + + private readonly List _frameName = new List(); + private readonly List _framePos = new List(); + + public override bool IsPreviewCapable => true; public BeamNameTag() - : base(name: "Beam Name Tag", nickname: "BeamTag", description: "Display Beam Name Tag", frameType: FrameType.Beam) + : base("Beam Name Tag", "BeamTag", + "Display Beam Name Tag", + "HoaryFox2", "NameTag") + { + } + + public override void ClearData() + { + base.ClearData(); + _frameName.Clear(); + _framePos.Clear(); + } + + protected override void RegisterInputParams(GH_InputParamManager pManager) + { + pManager.AddGenericParameter("Data", "D", "input ST-Bridge file data", GH_ParamAccess.item); + pManager.AddIntegerParameter("Size", "S", "Tag size", GH_ParamAccess.item, 12); + } + + protected override void RegisterOutputParams(GH_OutputParamManager pManager) { + pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.list); } - protected override Bitmap Icon => Properties.Resource.BeamName; - public override Guid ComponentGuid => new Guid("758DE991-F652-4EDC-BC63-2A454BA43FB1"); + + protected override void SolveInstance(IGH_DataAccess dataAccess) + { + if (!dataAccess.GetData("Data", ref _stBridge)) { return; } + if (!dataAccess.GetData("Size", ref _size)) { return; } + + StbNode[] nodes = _stBridge.StbModel.StbNodes; + StbBeam[] beams = _stBridge.StbModel.StbMembers.StbBeams; + foreach (StbBeam beam in beams) + { + _frameName.Add(beam.name); + + string idNodeStart = beam.id_node_start; + string idNodeEnd = beam.id_node_end; + _framePos.Add(TagUtils.GetTagPosition(idNodeStart, idNodeEnd, nodes)); + } + dataAccess.SetDataList(0, _frameName); + } + + public override void DrawViewportWires(IGH_PreviewArgs args) + { + for (var i = 0; i < _frameName.Count; i++) + { + args.Display.Draw2dText(_frameName[i], Color.Black, _framePos[i], true, _size); + } + } + + protected override System.Drawing.Bitmap Icon => Properties.Resource.BeamName; + + public override Guid ComponentGuid => new Guid("FDC62C6D-7C03-412D-8FF8-B76439197730"); } } diff --git a/HoaryFox/Component/Tag/Name/BraceNameTag.cs b/HoaryFox/Component/Tag/Name/BraceNameTag.cs index 27535364..d182251d 100644 --- a/HoaryFox/Component/Tag/Name/BraceNameTag.cs +++ b/HoaryFox/Component/Tag/Name/BraceNameTag.cs @@ -1,17 +1,75 @@ using System; +using System.Collections.Generic; using System.Drawing; -using HoaryFox.Component.Base; -using STBReader.Member; +using Grasshopper.Kernel; +using HoaryFox.Component_v2.Utils; +using Rhino.Geometry; +using STBDotNet.v202; -namespace HoaryFox.Component.Tag.Name +namespace HoaryFox.Component_v2.Tag.Name { - public class BraceNameTag : NameTagBase + public class BraceNameTag : GH_Component { + private ST_BRIDGE _stBridge; + private int _size; + + private readonly List _frameName = new List(); + private readonly List _framePos = new List(); + + public override bool IsPreviewCapable => true; public BraceNameTag() - : base(name: "Brace Name Tag", nickname: "BraceTag", description: "Display Brace Name Tag", frameType: FrameType.Brace) + : base("Brace Name Tag", "BraceTag", + "Display Brace Name Tag", + "HoaryFox2", "NameTag") + { + } + + public override void ClearData() + { + base.ClearData(); + _frameName.Clear(); + _framePos.Clear(); + } + + protected override void RegisterInputParams(GH_InputParamManager pManager) + { + pManager.AddGenericParameter("Data", "D", "input ST-Bridge file data", GH_ParamAccess.item); + pManager.AddIntegerParameter("Size", "S", "Tag size", GH_ParamAccess.item, 12); + } + + protected override void RegisterOutputParams(GH_OutputParamManager pManager) { + pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.list); } - protected override Bitmap Icon => Properties.Resource.BraceName; - public override Guid ComponentGuid => new Guid("E566DDCB-4192-40B2-8E96-2083207CC5A8"); + + protected override void SolveInstance(IGH_DataAccess dataAccess) + { + if (!dataAccess.GetData("Data", ref _stBridge)) { return; } + if (!dataAccess.GetData("Size", ref _size)) { return; } + + StbNode[] nodes = _stBridge.StbModel.StbNodes; + StbBrace[] braces = _stBridge.StbModel.StbMembers.StbBraces; + foreach (StbBrace brace in braces) + { + _frameName.Add(brace.name); + + string idNodeStart = brace.id_node_start; + string idNodeEnd = brace.id_node_end; + _framePos.Add(TagUtils.GetTagPosition(idNodeStart, idNodeEnd, nodes)); + } + dataAccess.SetDataList(0, _frameName); + } + + public override void DrawViewportWires(IGH_PreviewArgs args) + { + for (var i = 0; i < _frameName.Count; i++) + { + args.Display.Draw2dText(_frameName[i], Color.Black, _framePos[i], true, _size); + } + } + + protected override System.Drawing.Bitmap Icon => Properties.Resource.BraceName; + + public override Guid ComponentGuid => new Guid("21F7885E-6321-4C0D-8974-BC40769AAEAE"); } } diff --git a/HoaryFox/Component/Tag/Name/ColumnNameTag.cs b/HoaryFox/Component/Tag/Name/ColumnNameTag.cs index c77d32e0..ce7ea27e 100644 --- a/HoaryFox/Component/Tag/Name/ColumnNameTag.cs +++ b/HoaryFox/Component/Tag/Name/ColumnNameTag.cs @@ -1,17 +1,75 @@ using System; +using System.Collections.Generic; using System.Drawing; -using HoaryFox.Component.Base; -using STBReader.Member; +using Grasshopper.Kernel; +using HoaryFox.Component_v2.Utils; +using Rhino.Geometry; +using STBDotNet.v202; -namespace HoaryFox.Component.Tag.Name +namespace HoaryFox.Component_v2.Tag.Name { - public class ColumnNameTag : NameTagBase + public class ColumnNameTag : GH_Component { + private ST_BRIDGE _stBridge; + private int _size; + + private readonly List _frameName = new List(); + private readonly List _framePos = new List(); + + public override bool IsPreviewCapable => true; public ColumnNameTag() - : base(name: "Column Name Tag", nickname: "ColumnTag", description: "Display Column Name Tag", frameType: FrameType.Column) + : base("Column Name Tag", "ColumnTag", + "Display Column Name Tag", + "HoaryFox2", "NameTag") + { + } + + public override void ClearData() + { + base.ClearData(); + _frameName.Clear(); + _framePos.Clear(); + } + + protected override void RegisterInputParams(GH_InputParamManager pManager) + { + pManager.AddGenericParameter("Data", "D", "input ST-Bridge file data", GH_ParamAccess.item); + pManager.AddIntegerParameter("Size", "S", "Tag size", GH_ParamAccess.item, 12); + } + + protected override void RegisterOutputParams(GH_OutputParamManager pManager) { + pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.list); } - protected override Bitmap Icon => Properties.Resource.ColumnName; - public override Guid ComponentGuid => new Guid("806B9DBE-0207-4E79-A1BE-DD0B37BA9B31"); + + protected override void SolveInstance(IGH_DataAccess dataAccess) + { + if (!dataAccess.GetData("Data", ref _stBridge)) { return; } + if (!dataAccess.GetData("Size", ref _size)) { return; } + + StbNode[] nodes = _stBridge.StbModel.StbNodes; + StbColumn[] columns = _stBridge.StbModel.StbMembers.StbColumns; + foreach (StbColumn column in columns) + { + _frameName.Add(column.name); + + string idNodeStart = column.id_node_bottom; + string idNodeEnd = column.id_node_top; + _framePos.Add(TagUtils.GetTagPosition(idNodeStart, idNodeEnd, nodes)); + } + dataAccess.SetDataList(0, _frameName); + } + + public override void DrawViewportWires(IGH_PreviewArgs args) + { + for (var i = 0; i < _frameName.Count; i++) + { + args.Display.Draw2dText(_frameName[i], Color.Black, _framePos[i], true, _size); + } + } + + protected override System.Drawing.Bitmap Icon => Properties.Resource.ColumnName; + + public override Guid ComponentGuid => new Guid("AB439AE1-A56F-4764-BC36-F3752D30461A"); } } diff --git a/HoaryFox/Component/Tag/Name/GirderNameTag.cs b/HoaryFox/Component/Tag/Name/GirderNameTag.cs index 9904afa8..f8c0ab7d 100644 --- a/HoaryFox/Component/Tag/Name/GirderNameTag.cs +++ b/HoaryFox/Component/Tag/Name/GirderNameTag.cs @@ -1,17 +1,75 @@ using System; +using System.Collections.Generic; using System.Drawing; -using HoaryFox.Component.Base; -using STBReader.Member; +using Grasshopper.Kernel; +using HoaryFox.Component_v2.Utils; +using Rhino.Geometry; +using STBDotNet.v202; -namespace HoaryFox.Component.Tag.Name +namespace HoaryFox.Component_v2.Tag.Name { - public class GirderNameTag : NameTagBase + public class GirderNameTag : GH_Component { + private ST_BRIDGE _stBridge; + private int _size; + + private readonly List _frameName = new List(); + private readonly List _framePos = new List(); + + public override bool IsPreviewCapable => true; public GirderNameTag() - : base(name: "Girder Name Tag", nickname: "GirderTag", description: "Display girder Name Tag ", frameType: FrameType.Girder) + : base("Girder Name Tag", "GirderTag", + "Display Girder Name Tag", + "HoaryFox2", "NameTag") + { + } + + public override void ClearData() + { + base.ClearData(); + _frameName.Clear(); + _framePos.Clear(); + } + + protected override void RegisterInputParams(GH_InputParamManager pManager) + { + pManager.AddGenericParameter("Data", "D", "input ST-Bridge file data", GH_ParamAccess.item); + pManager.AddIntegerParameter("Size", "S", "Tag size", GH_ParamAccess.item, 12); + } + + protected override void RegisterOutputParams(GH_OutputParamManager pManager) { + pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.list); } - protected override Bitmap Icon => Properties.Resource.GirderName; - public override Guid ComponentGuid => new Guid("35D72484-2675-487E-A970-5DE885582312"); + + protected override void SolveInstance(IGH_DataAccess dataAccess) + { + if (!dataAccess.GetData("Data", ref _stBridge)) { return; } + if (!dataAccess.GetData("Size", ref _size)) { return; } + + StbNode[] nodes = _stBridge.StbModel.StbNodes; + StbGirder[] girders = _stBridge.StbModel.StbMembers.StbGirders; + foreach (StbGirder girder in girders) + { + _frameName.Add(girder.name); + + string idNodeStart = girder.id_node_start; + string idNodeEnd = girder.id_node_end; + _framePos.Add(TagUtils.GetTagPosition(idNodeStart, idNodeEnd, nodes)); + } + dataAccess.SetDataList(0, _frameName); + } + + public override void DrawViewportWires(IGH_PreviewArgs args) + { + for (var i = 0; i < _frameName.Count; i++) + { + args.Display.Draw2dText(_frameName[i], Color.Black, _framePos[i], true, _size); + } + } + + protected override System.Drawing.Bitmap Icon => Properties.Resource.GirderName; + + public override Guid ComponentGuid => new Guid("31664B98-E1F0-4635-A718-18C8FDE14A14"); } } diff --git a/HoaryFox/Component/Tag/Name/PostNameTag.cs b/HoaryFox/Component/Tag/Name/PostNameTag.cs index e6a3d097..5733aabf 100644 --- a/HoaryFox/Component/Tag/Name/PostNameTag.cs +++ b/HoaryFox/Component/Tag/Name/PostNameTag.cs @@ -1,17 +1,75 @@ using System; +using System.Collections.Generic; using System.Drawing; -using HoaryFox.Component.Base; -using STBReader.Member; +using Grasshopper.Kernel; +using HoaryFox.Component_v2.Utils; +using Rhino.Geometry; +using STBDotNet.v202; -namespace HoaryFox.Component.Tag.Name +namespace HoaryFox.Component_v2.Tag.Name { - public class PostNameTag : NameTagBase + public class PostNameTag : GH_Component { + private ST_BRIDGE _stBridge; + private int _size; + + private readonly List _frameName = new List(); + private readonly List _framePos = new List(); + + public override bool IsPreviewCapable => true; public PostNameTag() - : base(name: "Post Name Tag", nickname: "PostTag", description: "Display Post Name Tag", frameType: FrameType.Post) + : base("Post Name Tag", "PostTag", + "Display Post Name Tag", + "HoaryFox2", "NameTag") + { + } + + public override void ClearData() + { + base.ClearData(); + _frameName.Clear(); + _framePos.Clear(); + } + + protected override void RegisterInputParams(GH_InputParamManager pManager) + { + pManager.AddGenericParameter("Data", "D", "input ST-Bridge file data", GH_ParamAccess.item); + pManager.AddIntegerParameter("Size", "S", "Tag size", GH_ParamAccess.item, 12); + } + + protected override void RegisterOutputParams(GH_OutputParamManager pManager) { + pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.list); } + + protected override void SolveInstance(IGH_DataAccess dataAccess) + { + if (!dataAccess.GetData("Data", ref _stBridge)) { return; } + if (!dataAccess.GetData("Size", ref _size)) { return; } + + StbNode[] nodes = _stBridge.StbModel.StbNodes; + StbPost[] posts = _stBridge.StbModel.StbMembers.StbPosts; + foreach (StbPost post in posts) + { + _frameName.Add(post.name); + + string idNodeStart = post.id_node_bottom; + string idNodeEnd = post.id_node_top; + _framePos.Add(TagUtils.GetTagPosition(idNodeStart, idNodeEnd, nodes)); + } + dataAccess.SetDataList(0, _frameName); + } + + public override void DrawViewportWires(IGH_PreviewArgs args) + { + for (var i = 0; i < _frameName.Count; i++) + { + args.Display.Draw2dText(_frameName[i], Color.Black, _framePos[i], true, _size); + } + } + protected override Bitmap Icon => Properties.Resource.PostName; - public override Guid ComponentGuid => new Guid("8FAC9887-B49F-4FC1-8B6B-7847FCE49339"); + + public override Guid ComponentGuid => new Guid("AD517629-4CD1-4109-B071-653D80DC6B70"); } } diff --git a/HoaryFox/Component/Tag/Section/BeamSecTag.cs b/HoaryFox/Component/Tag/Section/BeamSecTag.cs index 9595dc8d..ae8a8dd5 100644 --- a/HoaryFox/Component/Tag/Section/BeamSecTag.cs +++ b/HoaryFox/Component/Tag/Section/BeamSecTag.cs @@ -1,17 +1,130 @@ using System; +using System.Collections.Generic; using System.Drawing; -using HoaryFox.Component.Base; -using STBReader.Member; +using System.Linq; +using Grasshopper.Kernel; +using Grasshopper.Kernel.Data; +using Grasshopper.Kernel.Types; +using HoaryFox.Component_v2.Utils; +using HoaryFox.Properties; +using Rhino.Geometry; +using STBDotNet.v202; -namespace HoaryFox.Component.Tag.Section +namespace HoaryFox.Component_v2.Tag.Section { - public class BeamSecTag : SecTagBase + public class BeamSecTag : GH_Component { + private ST_BRIDGE _stBridge; + private int _size; + private GH_Structure _frameTags = new GH_Structure(); + private List _tagPos = new List(); + public BeamSecTag() - : base(name: "Beam Section Tag", nickname: "BeamSec", description: "Display Beam Section Tag", frameType: FrameType.Beam) + : base("Beam Section Tag", "BeamSec", + "Display Beam Section Tag", + "HoaryFox2", "Section") + { + } + + public override void ClearData() + { + base.ClearData(); + _frameTags.Clear(); + _tagPos.Clear(); + } + + public override bool IsPreviewCapable => true; + + protected override void RegisterInputParams(GH_InputParamManager pManager) + { + pManager.AddGenericParameter("Data", "D", "input ST-Bridge file data", GH_ParamAccess.item); + pManager.AddIntegerParameter("Size", "S", "Tag size", GH_ParamAccess.item, 12); + } + + protected override void RegisterOutputParams(GH_OutputParamManager pManager) + { + pManager.AddTextParameter("SecTag", "STag", "output section tag", GH_ParamAccess.tree); + } + + protected override void SolveInstance(IGH_DataAccess dataAccess) + { + if (!dataAccess.GetData("Data", ref _stBridge)) { return; } + if (!dataAccess.GetData("Size", ref _size)) { return; } + + _frameTags = GetTagStrings(_stBridge.StbModel.StbMembers.StbBeams, _stBridge.StbModel.StbSections); + _tagPos = GetTagPosition(_stBridge.StbModel.StbMembers.StbBeams, _stBridge.StbModel.StbNodes); + + dataAccess.SetDataTree(0, _frameTags); + } + private static GH_Structure GetTagStrings(IEnumerable beams, StbSections sections) { + var ghSecStrings = new GH_Structure(); + + foreach (var item in beams.Select((beam, index) => new { beam, index })) + { + string secId = item.beam.id_section; + var ghPath = new GH_Path(0, item.index); + StbGirderKind_structure kindStruct = item.beam.kind_structure; + + switch (kindStruct) + { + case StbGirderKind_structure.RC: + StbSecBeam_RC secRc = sections.StbSecBeam_RC.First(i => i.id == secId); + foreach (object figureObj in secRc.StbSecFigureBeam_RC.Items) + { + ghSecStrings.AppendRange(TagUtils.GetBeamRcSection(figureObj, secRc.strength_concrete), ghPath); + } + break; + case StbGirderKind_structure.S: + StbSecBeam_S secS = sections.StbSecBeam_S.First(i => i.id == secId); + foreach (object figureObj in secS.StbSecSteelFigureBeam_S.Items) + { + ghSecStrings.AppendRange(TagUtils.GetBeamSSection(figureObj), ghPath); + } + break; + case StbGirderKind_structure.SRC: + StbSecBeam_SRC secSrc = sections.StbSecBeam_SRC.First(i => i.id == secId); + foreach (object figureObj in secSrc.StbSecFigureBeam_SRC.Items) + { + ghSecStrings.AppendRange(TagUtils.GetBeamRcSection(figureObj, secSrc.strength_concrete), ghPath); + } + foreach (object figureObj in secSrc.StbSecSteelFigureBeam_SRC.Items) + { + ghSecStrings.AppendRange(TagUtils.GetBeamSSection(figureObj), ghPath); + } + break; + case StbGirderKind_structure.UNDEFINED: + break; + default: + throw new ArgumentOutOfRangeException(); + } + } + + return ghSecStrings; } - protected override Bitmap Icon => Properties.Resource.BeamSection; - public override Guid ComponentGuid => new Guid("6310E95D-38AF-47A6-B792-E4680FE37F49"); + + private static List GetTagPosition(IEnumerable beams, IEnumerable nodes) + { + return beams.Select(beam => TagUtils.GetTagPosition(beam.id_node_start, beam.id_node_end, nodes)).ToList(); + } + + public override void DrawViewportWires(IGH_PreviewArgs args) + { + if (_frameTags.DataCount == 0) + { + return; + } + + for (var i = 0; i < _frameTags.PathCount; i++) + { + List tags = _frameTags.Branches[i]; + string tag = tags.Aggregate(string.Empty, (current, tagString) => current + (tagString + "\n")); + args.Display.Draw2dText(tag, Color.Black, _tagPos[i], true, _size); + } + } + + protected override Bitmap Icon => Resource.BeamSection; + public override Guid ComponentGuid => new Guid("73277668-972F-4E7B-821F-FC86C6868FF3"); + } } diff --git a/HoaryFox/Component/Tag/Section/BraceSecTag.cs b/HoaryFox/Component/Tag/Section/BraceSecTag.cs index 1dd8471e..5ffbfcb8 100644 --- a/HoaryFox/Component/Tag/Section/BraceSecTag.cs +++ b/HoaryFox/Component/Tag/Section/BraceSecTag.cs @@ -1,17 +1,120 @@ using System; +using System.Collections.Generic; using System.Drawing; -using HoaryFox.Component.Base; -using STBReader.Member; +using System.Linq; +using Grasshopper.Kernel; +using Grasshopper.Kernel.Data; +using Grasshopper.Kernel.Types; +using HoaryFox.Component_v2.Utils; +using HoaryFox.Properties; +using Rhino.Geometry; +using STBDotNet.v202; -namespace HoaryFox.Component.Tag.Section +namespace HoaryFox.Component_v2.Tag.Section { - public class BraceSecTag : SecTagBase + public class BraceSecTag : GH_Component { + private ST_BRIDGE _stBridge; + private int _size; + private GH_Structure _frameTags = new GH_Structure(); + private List _tagPos = new List(); + public BraceSecTag() - : base(name: "Brace Section Tag", nickname: "BraceSec", description: "Display Beam Section Tag", frameType: FrameType.Brace) + : base("Brace Section Tag", "BraceSec", + "Display Brace Section Tag", + "HoaryFox2", "Section") + { + } + + public override void ClearData() + { + base.ClearData(); + _frameTags.Clear(); + _tagPos.Clear(); + } + + public override bool IsPreviewCapable => true; + + protected override void RegisterInputParams(GH_InputParamManager pManager) { + pManager.AddGenericParameter("Data", "D", "input ST-Bridge file data", GH_ParamAccess.item); + pManager.AddIntegerParameter("Size", "S", "Tag size", GH_ParamAccess.item, 12); + } + + protected override void RegisterOutputParams(GH_OutputParamManager pManager) + { + pManager.AddTextParameter("SecTag", "STag", "output section tag", GH_ParamAccess.tree); + } + + protected override void SolveInstance(IGH_DataAccess dataAccess) + { + if (!dataAccess.GetData("Data", ref _stBridge)) { return; } + if (!dataAccess.GetData("Size", ref _size)) { return; } + + _frameTags = GetTagStrings(_stBridge.StbModel.StbMembers.StbBraces, _stBridge.StbModel.StbSections); + _tagPos = GetTagPosition(_stBridge.StbModel.StbMembers.StbBraces, _stBridge.StbModel.StbNodes); + + dataAccess.SetDataTree(0, _frameTags); } - protected override Bitmap Icon => Properties.Resource.BraceSection; - public override Guid ComponentGuid => new Guid("DE9D56D2-C82C-4AB1-96FF-D1253B420A43"); + private static GH_Structure GetTagStrings(IEnumerable braces, StbSections sections) + { + var ghSecStrings = new GH_Structure(); + + if (braces == null) + { + return ghSecStrings; + } + + foreach (var item in braces.Select((brace, index) => new { brace, index })) + { + string secId = item.brace.id_section; + var ghPath = new GH_Path(0, item.index); + StbBraceKind_structure kindStruct = item.brace.kind_structure; + + switch (kindStruct) + { + case StbBraceKind_structure.S: + StbSecBrace_S secS = sections.StbSecBrace_S.First(i => i.id == secId); + foreach (object figureObj in secS.StbSecSteelFigureBrace_S.Items) + { + ghSecStrings.AppendRange(TagUtils.GetBraceSSection(figureObj), ghPath); + } + break; + case StbBraceKind_structure.RC: + case StbBraceKind_structure.SRC: + throw new ArgumentException("Unsupported section type."); + default: + throw new ArgumentOutOfRangeException(); + } + } + + return ghSecStrings; + } + + private static List GetTagPosition(IEnumerable braces, IEnumerable nodes) + { + return braces == null + ? new List() + : braces.Select(beam => TagUtils.GetTagPosition(beam.id_node_start, beam.id_node_end, nodes)).ToList(); + } + + public override void DrawViewportWires(IGH_PreviewArgs args) + { + if (_frameTags.DataCount == 0) + { + return; + } + + for (var i = 0; i < _frameTags.PathCount; i++) + { + List tags = _frameTags.Branches[i]; + string tag = tags.Aggregate(string.Empty, (current, tagString) => current + (tagString + "\n")); + args.Display.Draw2dText(tag, Color.Black, _tagPos[i], true, _size); + } + } + + protected override Bitmap Icon => Resource.BraceSection; + public override Guid ComponentGuid => new Guid("86763C20-7C6C-4D8C-9AFF-CC4380127991"); + } } diff --git a/HoaryFox/Component/Tag/Section/ColumnSecTag.cs b/HoaryFox/Component/Tag/Section/ColumnSecTag.cs index 76e0ba67..93a15dbf 100644 --- a/HoaryFox/Component/Tag/Section/ColumnSecTag.cs +++ b/HoaryFox/Component/Tag/Section/ColumnSecTag.cs @@ -1,17 +1,125 @@ using System; +using System.Collections.Generic; using System.Drawing; -using HoaryFox.Component.Base; -using STBReader.Member; +using System.Linq; +using Grasshopper.Kernel; +using Grasshopper.Kernel.Data; +using Grasshopper.Kernel.Types; +using HoaryFox.Component_v2.Utils; +using HoaryFox.Properties; +using Rhino.Geometry; +using STBDotNet.v202; -namespace HoaryFox.Component.Tag.Section +namespace HoaryFox.Component_v2.Tag.Section { - public class ColumnSecTag : SecTagBase + public class ColumnSecTag : GH_Component { + private ST_BRIDGE _stBridge; + private int _size; + private GH_Structure _frameTags = new GH_Structure(); + private List _tagPos = new List(); + public ColumnSecTag() - : base(name: "Column Section Tag", nickname: "ColumnSec", description: "Display Column Section Tag", frameType: FrameType.Column) + : base("Column Section Tag", "ColumnSec", + "Display Column Section Tag", + "HoaryFox2", "Section") + { + } + + public override void ClearData() + { + base.ClearData(); + _frameTags.Clear(); + _tagPos.Clear(); + } + + public override bool IsPreviewCapable => true; + + protected override void RegisterInputParams(GH_InputParamManager pManager) + { + pManager.AddGenericParameter("Data", "D", "input ST-Bridge file data", GH_ParamAccess.item); + pManager.AddIntegerParameter("Size", "S", "Tag size", GH_ParamAccess.item, 12); + } + + protected override void RegisterOutputParams(GH_OutputParamManager pManager) + { + pManager.AddTextParameter("SecTag", "STag", "output section tag", GH_ParamAccess.tree); + } + + protected override void SolveInstance(IGH_DataAccess dataAccess) + { + if (!dataAccess.GetData("Data", ref _stBridge)) { return; } + if (!dataAccess.GetData("Size", ref _size)) { return; } + + _frameTags = GetTagStrings(_stBridge.StbModel.StbMembers.StbColumns, _stBridge.StbModel.StbSections); + _tagPos = GetTagPosition(_stBridge.StbModel.StbMembers.StbColumns, _stBridge.StbModel.StbNodes); + + dataAccess.SetDataTree(0, _frameTags); + } + private static GH_Structure GetTagStrings(IEnumerable columns, StbSections sections) { + var ghSecStrings = new GH_Structure(); + + foreach (var item in columns.Select((column, index) => new { column, index })) + { + string secId = item.column.id_section; + var ghPath = new GH_Path(0, item.index); + StbColumnKind_structure kindStruct = item.column.kind_structure; + + switch (kindStruct) + { + case StbColumnKind_structure.RC: + StbSecColumn_RC secRc = sections.StbSecColumn_RC.First(i => i.id == secId); + ghSecStrings.AppendRange(TagUtils.GetColumnRcSection(secRc.StbSecFigureColumn_RC.Item, secRc.strength_concrete), ghPath); + break; + case StbColumnKind_structure.S: + StbSecColumn_S secS = sections.StbSecColumn_S.First(i => i.id == secId); + foreach (object figureObj in secS.StbSecSteelFigureColumn_S.Items) + { + ghSecStrings.AppendRange(TagUtils.GetColumnSSection(figureObj), ghPath); + } + break; + case StbColumnKind_structure.SRC: + StbSecColumn_SRC secSrc = sections.StbSecColumn_SRC.First(i => i.id == secId); + ghSecStrings.AppendRange(TagUtils.GetColumnRcSection(secSrc.StbSecFigureColumn_SRC.Item, secSrc.strength_concrete), ghPath); + foreach (object figureObj in secSrc.StbSecSteelFigureColumn_SRC.Items) + { + ghSecStrings.AppendRange(TagUtils.GetColumnSSection(figureObj), ghPath); + } + break; + case StbColumnKind_structure.CFT: + case StbColumnKind_structure.UNDEFINED: + throw new ArgumentException("Unsupported section type."); + default: + throw new ArgumentOutOfRangeException(); + } + } + + return ghSecStrings; } - protected override Bitmap Icon => Properties.Resource.ColumnSection; - public override Guid ComponentGuid => new Guid("63B2A2E1-A277-4ABA-B522-00D7969871C3"); + + private static List GetTagPosition(IEnumerable columns, IEnumerable nodes) + { + return columns.Select(beam => TagUtils.GetTagPosition(beam.id_node_bottom, beam.id_node_top, nodes)).ToList(); + } + + public override void DrawViewportWires(IGH_PreviewArgs args) + { + if (_frameTags.DataCount == 0) + { + return; + } + + for (var i = 0; i < _frameTags.PathCount; i++) + { + List tags = _frameTags.Branches[i]; + string tag = tags.Aggregate(string.Empty, (current, tagString) => current + (tagString + "\n")); + args.Display.Draw2dText(tag, Color.Black, _tagPos[i], true, _size); + } + } + + protected override Bitmap Icon => Resource.ColumnSection; + public override Guid ComponentGuid => new Guid("BCF4A288-DA26-4F28-A919-CB9FD1FCF3B1"); + } } diff --git a/HoaryFox/Component/Tag/Section/GirderSecTag.cs b/HoaryFox/Component/Tag/Section/GirderSecTag.cs index 1a6c0d94..7074f740 100644 --- a/HoaryFox/Component/Tag/Section/GirderSecTag.cs +++ b/HoaryFox/Component/Tag/Section/GirderSecTag.cs @@ -1,17 +1,130 @@ using System; +using System.Collections.Generic; using System.Drawing; -using HoaryFox.Component.Base; -using STBReader.Member; +using System.Linq; +using Grasshopper.Kernel; +using Grasshopper.Kernel.Data; +using Grasshopper.Kernel.Types; +using HoaryFox.Component_v2.Utils; +using HoaryFox.Properties; +using Rhino.Geometry; +using STBDotNet.v202; -namespace HoaryFox.Component.Tag.Section +namespace HoaryFox.Component_v2.Tag.Section { - public class GirderSecTag : SecTagBase + public class GirderSecTag : GH_Component { + private ST_BRIDGE _stBridge; + private int _size; + private GH_Structure _frameTags = new GH_Structure(); + private List _tagPos = new List(); + public GirderSecTag() - : base(name: "Girder Section Tag", nickname: "GirderSec", description: "Display Girder Section Tag", frameType: FrameType.Girder) + : base("Girder Section Tag", "GirderSec", + "Display Girder Section Tag", + "HoaryFox2", "Section") + { + } + + public override void ClearData() + { + base.ClearData(); + _frameTags.Clear(); + _tagPos.Clear(); + } + + public override bool IsPreviewCapable => true; + + protected override void RegisterInputParams(GH_InputParamManager pManager) + { + pManager.AddGenericParameter("Data", "D", "input ST-Bridge file data", GH_ParamAccess.item); + pManager.AddIntegerParameter("Size", "S", "Tag size", GH_ParamAccess.item, 12); + } + + protected override void RegisterOutputParams(GH_OutputParamManager pManager) + { + pManager.AddTextParameter("SecTag", "STag", "output section tag", GH_ParamAccess.tree); + } + + protected override void SolveInstance(IGH_DataAccess dataAccess) + { + if (!dataAccess.GetData("Data", ref _stBridge)) { return; } + if (!dataAccess.GetData("Size", ref _size)) { return; } + + _frameTags = GetTagStrings(_stBridge.StbModel.StbMembers.StbGirders, _stBridge.StbModel.StbSections); + _tagPos = GetTagPosition(_stBridge.StbModel.StbMembers.StbGirders, _stBridge.StbModel.StbNodes); + + dataAccess.SetDataTree(0, _frameTags); + } + private static GH_Structure GetTagStrings(IEnumerable beams, StbSections sections) { + var ghSecStrings = new GH_Structure(); + + foreach (var item in beams.Select((beam, index) => new { beam, index })) + { + string secId = item.beam.id_section; + var ghPath = new GH_Path(0, item.index); + StbGirderKind_structure kindStruct = item.beam.kind_structure; + + switch (kindStruct) + { + case StbGirderKind_structure.RC: + StbSecBeam_RC secRc = sections.StbSecBeam_RC.First(i => i.id == secId); + foreach (object figureObj in secRc.StbSecFigureBeam_RC.Items) + { + ghSecStrings.AppendRange(TagUtils.GetBeamRcSection(figureObj, secRc.strength_concrete), ghPath); + } + break; + case StbGirderKind_structure.S: + StbSecBeam_S secS = sections.StbSecBeam_S.First(i => i.id == secId); + foreach (object figureObj in secS.StbSecSteelFigureBeam_S.Items) + { + ghSecStrings.AppendRange(TagUtils.GetBeamSSection(figureObj), ghPath); + } + break; + case StbGirderKind_structure.SRC: + StbSecBeam_SRC secSrc = sections.StbSecBeam_SRC.First(i => i.id == secId); + foreach (object figureObj in secSrc.StbSecFigureBeam_SRC.Items) + { + ghSecStrings.AppendRange(TagUtils.GetBeamRcSection(figureObj, secSrc.strength_concrete), ghPath); + } + foreach (object figureObj in secSrc.StbSecSteelFigureBeam_SRC.Items) + { + ghSecStrings.AppendRange(TagUtils.GetBeamSSection(figureObj), ghPath); + } + break; + case StbGirderKind_structure.UNDEFINED: + break; + default: + throw new ArgumentOutOfRangeException(); + } + } + + return ghSecStrings; } - protected override Bitmap Icon => Properties.Resource.GirderSection; - public override Guid ComponentGuid => new Guid("D72C9B9D-6233-44EF-B588-D2854BB4FB4F"); + + private static List GetTagPosition(IEnumerable girders, IEnumerable nodes) + { + return girders.Select(girder => TagUtils.GetTagPosition(girder.id_node_start, girder.id_node_end, nodes)).ToList(); + } + + public override void DrawViewportWires(IGH_PreviewArgs args) + { + if (_frameTags.DataCount == 0) + { + return; + } + + for (var i = 0; i < _frameTags.PathCount; i++) + { + List tags = _frameTags.Branches[i]; + string tag = tags.Aggregate(string.Empty, (current, tagString) => current + (tagString + "\n")); + args.Display.Draw2dText(tag, Color.Black, _tagPos[i], true, _size); + } + } + + protected override Bitmap Icon => Resource.GirderSection; + public override Guid ComponentGuid => new Guid("6E1E7529-826B-4214-9C63-B77AF0715009"); + } } diff --git a/HoaryFox/Component/Tag/Section/PostSecTag.cs b/HoaryFox/Component/Tag/Section/PostSecTag.cs index 744cd833..a395b436 100644 --- a/HoaryFox/Component/Tag/Section/PostSecTag.cs +++ b/HoaryFox/Component/Tag/Section/PostSecTag.cs @@ -1,17 +1,125 @@ using System; +using System.Collections.Generic; using System.Drawing; -using HoaryFox.Component.Base; -using STBReader.Member; +using System.Linq; +using Grasshopper.Kernel; +using Grasshopper.Kernel.Data; +using Grasshopper.Kernel.Types; +using HoaryFox.Component_v2.Utils; +using HoaryFox.Properties; +using Rhino.Geometry; +using STBDotNet.v202; -namespace HoaryFox.Component.Tag.Section +namespace HoaryFox.Component_v2.Tag.Section { - public class PostSecTag : SecTagBase + public class PostSecTag : GH_Component { + private ST_BRIDGE _stBridge; + private int _size; + private GH_Structure _frameTags = new GH_Structure(); + private List _tagPos = new List(); + public PostSecTag() - : base(name: "Post Section Tag", nickname: "PostSec", description: "Display Post Section Tag", frameType: FrameType.Post) + : base("Post Section Tag", "PostSec", + "Display Post Section Tag", + "HoaryFox2", "Section") + { + } + + public override void ClearData() + { + base.ClearData(); + _frameTags.Clear(); + _tagPos.Clear(); + } + + public override bool IsPreviewCapable => true; + + protected override void RegisterInputParams(GH_InputParamManager pManager) + { + pManager.AddGenericParameter("Data", "D", "input ST-Bridge file data", GH_ParamAccess.item); + pManager.AddIntegerParameter("Size", "S", "Tag size", GH_ParamAccess.item, 12); + } + + protected override void RegisterOutputParams(GH_OutputParamManager pManager) + { + pManager.AddTextParameter("SecTag", "STag", "output section tag", GH_ParamAccess.tree); + } + + protected override void SolveInstance(IGH_DataAccess dataAccess) + { + if (!dataAccess.GetData("Data", ref _stBridge)) { return; } + if (!dataAccess.GetData("Size", ref _size)) { return; } + + _frameTags = GetTagStrings(_stBridge.StbModel.StbMembers.StbPosts, _stBridge.StbModel.StbSections); + _tagPos = GetTagPosition(_stBridge.StbModel.StbMembers.StbPosts, _stBridge.StbModel.StbNodes); + + dataAccess.SetDataTree(0, _frameTags); + } + private static GH_Structure GetTagStrings(IEnumerable columns, StbSections sections) { + var ghSecStrings = new GH_Structure(); + + foreach (var item in columns.Select((column, index) => new { column, index })) + { + string secId = item.column.id_section; + var ghPath = new GH_Path(0, item.index); + StbColumnKind_structure kindStruct = item.column.kind_structure; + + switch (kindStruct) + { + case StbColumnKind_structure.RC: + StbSecColumn_RC secRc = sections.StbSecColumn_RC.First(i => i.id == secId); + ghSecStrings.AppendRange(TagUtils.GetColumnRcSection(secRc.StbSecFigureColumn_RC.Item, secRc.strength_concrete), ghPath); + break; + case StbColumnKind_structure.S: + StbSecColumn_S secS = sections.StbSecColumn_S.First(i => i.id == secId); + foreach (object figureObj in secS.StbSecSteelFigureColumn_S.Items) + { + ghSecStrings.AppendRange(TagUtils.GetColumnSSection(figureObj), ghPath); + } + break; + case StbColumnKind_structure.SRC: + StbSecColumn_SRC secSrc = sections.StbSecColumn_SRC.First(i => i.id == secId); + ghSecStrings.AppendRange(TagUtils.GetColumnRcSection(secSrc.StbSecFigureColumn_SRC.Item, secSrc.strength_concrete), ghPath); + foreach (object figureObj in secSrc.StbSecSteelFigureColumn_SRC.Items) + { + ghSecStrings.AppendRange(TagUtils.GetColumnSSection(figureObj), ghPath); + } + break; + case StbColumnKind_structure.CFT: + case StbColumnKind_structure.UNDEFINED: + throw new ArgumentException("Unsupported section type."); + default: + throw new ArgumentOutOfRangeException(); + } + } + + return ghSecStrings; } - protected override Bitmap Icon => Properties.Resource.PostSection; - public override Guid ComponentGuid => new Guid("C5891374-37F7-43E8-9D28-A901D87B497E"); + + private static List GetTagPosition(IEnumerable columns, IEnumerable nodes) + { + return columns.Select(beam => TagUtils.GetTagPosition(beam.id_node_bottom, beam.id_node_top, nodes)).ToList(); + } + + public override void DrawViewportWires(IGH_PreviewArgs args) + { + if (_frameTags.DataCount == 0) + { + return; + } + + for (var i = 0; i < _frameTags.PathCount; i++) + { + List tags = _frameTags.Branches[i]; + string tag = tags.Aggregate(string.Empty, (current, tagString) => current + (tagString + "\n")); + args.Display.Draw2dText(tag, Color.Black, _tagPos[i], true, _size); + } + } + + protected override Bitmap Icon => Resource.PostSection; + public override Guid ComponentGuid => new Guid("B0C5FFF4-B510-4A0F-B441-C0B3144BF757"); + } } diff --git a/HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs b/HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs similarity index 100% rename from HoaryFox/Component_v2/Utils/Geometry/CreateBrepFromStb.cs rename to HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs diff --git a/HoaryFox/Component_v2/Utils/Geometry/CreateLineFromStb.cs b/HoaryFox/Component/Utils/Geometry/CreateLineFromStb.cs similarity index 100% rename from HoaryFox/Component_v2/Utils/Geometry/CreateLineFromStb.cs rename to HoaryFox/Component/Utils/Geometry/CreateLineFromStb.cs diff --git a/HoaryFox/Component_v2/Utils/Geometry/GeometryBaker.cs b/HoaryFox/Component/Utils/Geometry/GeometryBaker.cs similarity index 100% rename from HoaryFox/Component_v2/Utils/Geometry/GeometryBaker.cs rename to HoaryFox/Component/Utils/Geometry/GeometryBaker.cs diff --git a/HoaryFox/Component_v2/Utils/Geometry/SectionCornerPoints.cs b/HoaryFox/Component/Utils/Geometry/SectionCornerPoints.cs similarity index 100% rename from HoaryFox/Component_v2/Utils/Geometry/SectionCornerPoints.cs rename to HoaryFox/Component/Utils/Geometry/SectionCornerPoints.cs diff --git a/HoaryFox/Component_v2/Utils/TagUtils.cs b/HoaryFox/Component/Utils/TagUtils.cs similarity index 100% rename from HoaryFox/Component_v2/Utils/TagUtils.cs rename to HoaryFox/Component/Utils/TagUtils.cs diff --git a/HoaryFox/Component_v2/Geometry/Stb2Brep.cs b/HoaryFox/Component_v2/Geometry/Stb2Brep.cs deleted file mode 100644 index 5936e280..00000000 --- a/HoaryFox/Component_v2/Geometry/Stb2Brep.cs +++ /dev/null @@ -1,123 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Drawing; -using System.Linq; -using Grasshopper.Kernel; -using HoaryFox.Component_v2.Utils.Geometry; -using HoaryFox.Properties; -using Rhino; -using Rhino.DocObjects; -using Rhino.Geometry; -using STBDotNet.v202; - -namespace HoaryFox.Component_v2.Geometry -{ - public class Stb2Brep : GH_Component - { - private ST_BRIDGE _stBridge; - private readonly List> _brepList = new List>(); - - public Stb2Brep() - : base("Stb to Brep", "S2B", - "Display ST-Bridge model in Brep", - "HoaryFox2", "Geometry") - { - } - - public override void ClearData() - { - base.ClearData(); - _brepList.Clear(); - } - - protected override void RegisterInputParams(GH_InputParamManager pManager) - { - pManager.AddGenericParameter("Data", "D", "input ST-Bridge Data", GH_ParamAccess.item); - pManager.AddBooleanParameter("Bake", "Bake", "If it true, bake geometry.", GH_ParamAccess.item, false); - } - - protected override void RegisterOutputParams(GH_OutputParamManager pManager) - { - pManager.AddBrepParameter("Columns", "Col", "output StbColumns to Brep", GH_ParamAccess.list); - pManager.AddBrepParameter("Girders", "Gird", "output StbGirders to Brep", GH_ParamAccess.list); - pManager.AddBrepParameter("Posts", "Pst", "output StbPosts to Brep", GH_ParamAccess.list); - pManager.AddBrepParameter("Beams", "Bm", "output StbBeams to Brep", GH_ParamAccess.list); - pManager.AddBrepParameter("Braces", "Brc", "output StbBraces to Brep", GH_ParamAccess.list); - pManager.AddBrepParameter("Slabs", "Slb", "output StbSlabs to Brep", GH_ParamAccess.list); - pManager.AddBrepParameter("Walls", "Wl", "output StbWalls to Brep", GH_ParamAccess.list); - } - - protected override void SolveInstance(IGH_DataAccess dataAccess) - { - var isBake = false; - if (!dataAccess.GetData("Data", ref _stBridge)) { return; } - if (!dataAccess.GetData("Bake", ref isBake)) { return; } - - CreateBrep(); - if (isBake) - { - BakeBrep(); - } - - for (var i = 0; i < 7; i++) - { - dataAccess.SetDataList(i, _brepList[i]); - } - } - - protected override Bitmap Icon => Resource.Brep; - public override Guid ComponentGuid => new Guid("B2D5EA7F-E75F-406B-8D22-C267B43C5E72"); - - private void CreateBrep() - { - StbMembers member = _stBridge.StbModel.StbMembers; - var brepFromStb = new CreateBrepFromStb(_stBridge.StbModel.StbSections, _stBridge.StbModel.StbNodes, new[] { DocumentTolerance(), DocumentAngleTolerance() }); - _brepList.Add(brepFromStb.Column(member.StbColumns)); - _brepList.Add(brepFromStb.Girder(member.StbGirders)); - _brepList.Add(brepFromStb.Post(member.StbPosts)); - _brepList.Add(brepFromStb.Beam(member.StbBeams)); - _brepList.Add(brepFromStb.Brace(member.StbBraces)); - _brepList.Add(brepFromStb.Slab(member.StbSlabs)); - _brepList.Add(brepFromStb.Wall(member.StbWalls)); - } - - private void BakeBrep() - { - RhinoDoc activeDoc = RhinoDoc.ActiveDoc; - var parentLayerNames = new[] { "Column", "Girder", "Post", "Beam", "Brace", "Slab", "Wall" }; - Color[] layerColors = { Color.Red, Color.Green, Color.Aquamarine, Color.LightCoral, Color.MediumPurple, Color.DarkGray, Color.CornflowerBlue }; - GeometryBaker.MakeParentLayers(activeDoc, parentLayerNames, layerColors); - - Dictionary[][] infoArray = Utils.TagUtils.GetAllSectionInfoArray(_stBridge.StbModel.StbMembers); - - foreach ((List breps, int index) in _brepList.Select((frameBrep, index) => (frameBrep, index))) - { - Layer parentLayer = activeDoc.Layers.FindName(parentLayerNames[index]); - Guid parentId = parentLayer.Id; - foreach ((Brep brep, int bIndex) in breps.Select((brep, bIndex) => (brep, bIndex))) - { - var objAttr = new ObjectAttributes(); - - Dictionary[] infos = infoArray[index]; - Dictionary info = infos[bIndex]; - - foreach (KeyValuePair pair in info) - { - objAttr.SetUserString(pair.Key, pair.Value); - } - - var layer = new Layer { Name = info["name"], ParentLayerId = parentId, Color = layerColors[index] }; - int layerIndex = activeDoc.Layers.Add(layer); - if (layerIndex == -1) - { - layer = activeDoc.Layers.FindName(info["name"]); - layerIndex = layer.Index; - } - objAttr.LayerIndex = layerIndex; - - activeDoc.Objects.AddBrep(brep, objAttr); - } - } - } - } -} diff --git a/HoaryFox/Component_v2/Geometry/Stb2Line.cs b/HoaryFox/Component_v2/Geometry/Stb2Line.cs deleted file mode 100644 index ba742e11..00000000 --- a/HoaryFox/Component_v2/Geometry/Stb2Line.cs +++ /dev/null @@ -1,130 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Drawing; -using System.Linq; -using Grasshopper.Kernel; -using HoaryFox.Component_v2.Utils.Geometry; -using HoaryFox.Properties; -using Rhino; -using Rhino.DocObjects; -using Rhino.Geometry; -using STBDotNet.v202; - -namespace HoaryFox.Component_v2.Geometry -{ - public class Stb2Line : GH_Component - { - private ST_BRIDGE _stBridge; - private List _nodes = new List(); - private readonly List> _lineList = new List>(); - - public Stb2Line() - : base("Stb to Line", "S2L", - "Display ST-Bridge model in line", - "HoaryFox2", "Geometry") - { - } - - public override void ClearData() - { - base.ClearData(); - _lineList.Clear(); - } - - protected override void RegisterInputParams(GH_InputParamManager pManager) - { - pManager.AddGenericParameter("Data", "D", "input ST-Bridge Data", GH_ParamAccess.item); - pManager.AddBooleanParameter("Bake", "Bake", "If it true, bake geometry.", GH_ParamAccess.item, false); - } - - protected override void RegisterOutputParams(GH_OutputParamManager pManager) - { - pManager.AddPointParameter("Nodes", "pt", "output StbNodes to point3d", GH_ParamAccess.list); - pManager.AddLineParameter("Columns", "Col", "output StbColumns to Line", GH_ParamAccess.list); - pManager.AddLineParameter("Girders", "Gird", "output StbGirders to Line", GH_ParamAccess.list); - pManager.AddLineParameter("Posts", "Pst", "output StbPosts to Line", GH_ParamAccess.list); - pManager.AddLineParameter("Beams", "Beam", "output StbBeams to Line", GH_ParamAccess.list); - pManager.AddLineParameter("Braces", "Brc", "output StbBraces to Line", GH_ParamAccess.list); - } - - protected override void SolveInstance(IGH_DataAccess dataAccess) - { - var isBake = false; - if (!dataAccess.GetData("Data", ref _stBridge)) { return; } - if (!dataAccess.GetData("Bake", ref isBake)) { return; } - - CreateLine(); - if (isBake) - { - BakeLine(); - } - - dataAccess.SetDataList(0, _nodes); - foreach ((List geometry, int i) in _lineList.Select((geo, index) => (geo, index + 1))) - { - dataAccess.SetDataList(i, geometry); - } - } - - private void BakeLine() - { - RhinoDoc activeDoc = RhinoDoc.ActiveDoc; - var parentLayerNames = new[] { "Column", "Girder", "Post", "Beam", "Brace", "Slab", "Wall" }; - Color[] layerColors = { Color.Red, Color.Green, Color.Aquamarine, Color.LightCoral, Color.MediumPurple, Color.DarkGray, Color.CornflowerBlue }; - GeometryBaker.MakeParentLayers(activeDoc, parentLayerNames, layerColors); - - Dictionary[][] infoArray = Utils.TagUtils.GetAllSectionInfoArray(_stBridge.StbModel.StbMembers); - - foreach ((List lines, int index) in _lineList.Select((frameBrep, index) => (frameBrep, index))) - { - Layer parentLayer = activeDoc.Layers.FindName(parentLayerNames[index]); - int parentIndex = parentLayer.Index; - Guid parentId = parentLayer.Id; - foreach ((Line line, int bIndex) in lines.Select((brep, bIndex) => (brep, bIndex))) - { - var objAttr = new ObjectAttributes(); - - if (index < 5) - { - Dictionary[] infos = infoArray[index]; - Dictionary info = infos[bIndex]; - - foreach (KeyValuePair pair in info) - { - objAttr.SetUserString(pair.Key, pair.Value); - } - - var layer = new Layer { Name = info["name"], ParentLayerId = parentId, Color = layerColors[index] }; - int layerIndex = activeDoc.Layers.Add(layer); - if (layerIndex == -1) - { - layer = activeDoc.Layers.FindName(info["name"]); - layerIndex = layer.Index; - } - objAttr.LayerIndex = layerIndex; - } - else - { - objAttr.LayerIndex = parentIndex; - } - - activeDoc.Objects.AddLine(line, objAttr); - } - } - } - - private void CreateLine() - { - var createLines = new CreateLineFromStb(_stBridge); - _nodes = createLines.Nodes(); - _lineList.Add(createLines.Columns()); - _lineList.Add(createLines.Girders()); - _lineList.Add(createLines.Posts()); - _lineList.Add(createLines.Beams()); - _lineList.Add(createLines.Braces()); - } - - protected override Bitmap Icon => Resource.Line; - public override Guid ComponentGuid => new Guid("D1E6793B-F75C-4AEE-9A9F-B9DD08D6EB77"); - } -} diff --git a/HoaryFox/Component_v2/IO/StbLoader.cs b/HoaryFox/Component_v2/IO/StbLoader.cs deleted file mode 100644 index 4977a6d2..00000000 --- a/HoaryFox/Component_v2/IO/StbLoader.cs +++ /dev/null @@ -1,41 +0,0 @@ -using System; -using Grasshopper.Kernel; -using STBDotNet.v202; - -namespace HoaryFox.Component_v2.IO -{ - public class StbLoader : GH_Component - { - private string _path; - public override GH_Exposure Exposure => GH_Exposure.primary; - - public StbLoader() - : base("Load STB file", "Loader", - "Read ST-Bridge file", - "HoaryFox2", "IO") - { - } - - protected override void RegisterInputParams(GH_Component.GH_InputParamManager pManager) - { - pManager.AddTextParameter("path", "path", "input ST-Bridge file path", GH_ParamAccess.item); - } - - protected override void RegisterOutputParams(GH_Component.GH_OutputParamManager pManager) - { - pManager.AddGenericParameter("Data", "D", "output StbData", GH_ParamAccess.item); - } - - protected override void SolveInstance(IGH_DataAccess dataAccess) - { - // 対象の stb の path を取得 - if (!dataAccess.GetData("path", ref _path)) { return; } - - var stbData = (ST_BRIDGE)STBDotNet.Serialization.Serializer.Deserialize(_path); - dataAccess.SetData(0, stbData); - } - - protected override System.Drawing.Bitmap Icon => Properties.Resource.LoadStb; - public override Guid ComponentGuid => new Guid("C1E1CD82-9AC0-479C-A22F-DB7C44F3C77D"); - } -} diff --git a/HoaryFox/Component_v2/Tag/Name/BeamNameTag.cs b/HoaryFox/Component_v2/Tag/Name/BeamNameTag.cs deleted file mode 100644 index 67cd3228..00000000 --- a/HoaryFox/Component_v2/Tag/Name/BeamNameTag.cs +++ /dev/null @@ -1,75 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Drawing; -using Grasshopper.Kernel; -using HoaryFox.Component_v2.Utils; -using Rhino.Geometry; -using STBDotNet.v202; - -namespace HoaryFox.Component_v2.Tag.Name -{ - public class BeamNameTag : GH_Component - { - private ST_BRIDGE _stBridge; - private int _size; - - private readonly List _frameName = new List(); - private readonly List _framePos = new List(); - - public override bool IsPreviewCapable => true; - public BeamNameTag() - : base("Beam Name Tag", "BeamTag", - "Display Beam Name Tag", - "HoaryFox2", "NameTag") - { - } - - public override void ClearData() - { - base.ClearData(); - _frameName.Clear(); - _framePos.Clear(); - } - - protected override void RegisterInputParams(GH_InputParamManager pManager) - { - pManager.AddGenericParameter("Data", "D", "input ST-Bridge file data", GH_ParamAccess.item); - pManager.AddIntegerParameter("Size", "S", "Tag size", GH_ParamAccess.item, 12); - } - - protected override void RegisterOutputParams(GH_OutputParamManager pManager) - { - pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.list); - } - - protected override void SolveInstance(IGH_DataAccess dataAccess) - { - if (!dataAccess.GetData("Data", ref _stBridge)) { return; } - if (!dataAccess.GetData("Size", ref _size)) { return; } - - StbNode[] nodes = _stBridge.StbModel.StbNodes; - StbBeam[] beams = _stBridge.StbModel.StbMembers.StbBeams; - foreach (StbBeam beam in beams) - { - _frameName.Add(beam.name); - - string idNodeStart = beam.id_node_start; - string idNodeEnd = beam.id_node_end; - _framePos.Add(TagUtils.GetTagPosition(idNodeStart, idNodeEnd, nodes)); - } - dataAccess.SetDataList(0, _frameName); - } - - public override void DrawViewportWires(IGH_PreviewArgs args) - { - for (var i = 0; i < _frameName.Count; i++) - { - args.Display.Draw2dText(_frameName[i], Color.Black, _framePos[i], true, _size); - } - } - - protected override System.Drawing.Bitmap Icon => Properties.Resource.BeamName; - - public override Guid ComponentGuid => new Guid("FDC62C6D-7C03-412D-8FF8-B76439197730"); - } -} diff --git a/HoaryFox/Component_v2/Tag/Name/BraceNameTag.cs b/HoaryFox/Component_v2/Tag/Name/BraceNameTag.cs deleted file mode 100644 index d182251d..00000000 --- a/HoaryFox/Component_v2/Tag/Name/BraceNameTag.cs +++ /dev/null @@ -1,75 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Drawing; -using Grasshopper.Kernel; -using HoaryFox.Component_v2.Utils; -using Rhino.Geometry; -using STBDotNet.v202; - -namespace HoaryFox.Component_v2.Tag.Name -{ - public class BraceNameTag : GH_Component - { - private ST_BRIDGE _stBridge; - private int _size; - - private readonly List _frameName = new List(); - private readonly List _framePos = new List(); - - public override bool IsPreviewCapable => true; - public BraceNameTag() - : base("Brace Name Tag", "BraceTag", - "Display Brace Name Tag", - "HoaryFox2", "NameTag") - { - } - - public override void ClearData() - { - base.ClearData(); - _frameName.Clear(); - _framePos.Clear(); - } - - protected override void RegisterInputParams(GH_InputParamManager pManager) - { - pManager.AddGenericParameter("Data", "D", "input ST-Bridge file data", GH_ParamAccess.item); - pManager.AddIntegerParameter("Size", "S", "Tag size", GH_ParamAccess.item, 12); - } - - protected override void RegisterOutputParams(GH_OutputParamManager pManager) - { - pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.list); - } - - protected override void SolveInstance(IGH_DataAccess dataAccess) - { - if (!dataAccess.GetData("Data", ref _stBridge)) { return; } - if (!dataAccess.GetData("Size", ref _size)) { return; } - - StbNode[] nodes = _stBridge.StbModel.StbNodes; - StbBrace[] braces = _stBridge.StbModel.StbMembers.StbBraces; - foreach (StbBrace brace in braces) - { - _frameName.Add(brace.name); - - string idNodeStart = brace.id_node_start; - string idNodeEnd = brace.id_node_end; - _framePos.Add(TagUtils.GetTagPosition(idNodeStart, idNodeEnd, nodes)); - } - dataAccess.SetDataList(0, _frameName); - } - - public override void DrawViewportWires(IGH_PreviewArgs args) - { - for (var i = 0; i < _frameName.Count; i++) - { - args.Display.Draw2dText(_frameName[i], Color.Black, _framePos[i], true, _size); - } - } - - protected override System.Drawing.Bitmap Icon => Properties.Resource.BraceName; - - public override Guid ComponentGuid => new Guid("21F7885E-6321-4C0D-8974-BC40769AAEAE"); - } -} diff --git a/HoaryFox/Component_v2/Tag/Name/ColumnNameTag.cs b/HoaryFox/Component_v2/Tag/Name/ColumnNameTag.cs deleted file mode 100644 index ce7ea27e..00000000 --- a/HoaryFox/Component_v2/Tag/Name/ColumnNameTag.cs +++ /dev/null @@ -1,75 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Drawing; -using Grasshopper.Kernel; -using HoaryFox.Component_v2.Utils; -using Rhino.Geometry; -using STBDotNet.v202; - -namespace HoaryFox.Component_v2.Tag.Name -{ - public class ColumnNameTag : GH_Component - { - private ST_BRIDGE _stBridge; - private int _size; - - private readonly List _frameName = new List(); - private readonly List _framePos = new List(); - - public override bool IsPreviewCapable => true; - public ColumnNameTag() - : base("Column Name Tag", "ColumnTag", - "Display Column Name Tag", - "HoaryFox2", "NameTag") - { - } - - public override void ClearData() - { - base.ClearData(); - _frameName.Clear(); - _framePos.Clear(); - } - - protected override void RegisterInputParams(GH_InputParamManager pManager) - { - pManager.AddGenericParameter("Data", "D", "input ST-Bridge file data", GH_ParamAccess.item); - pManager.AddIntegerParameter("Size", "S", "Tag size", GH_ParamAccess.item, 12); - } - - protected override void RegisterOutputParams(GH_OutputParamManager pManager) - { - pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.list); - } - - protected override void SolveInstance(IGH_DataAccess dataAccess) - { - if (!dataAccess.GetData("Data", ref _stBridge)) { return; } - if (!dataAccess.GetData("Size", ref _size)) { return; } - - StbNode[] nodes = _stBridge.StbModel.StbNodes; - StbColumn[] columns = _stBridge.StbModel.StbMembers.StbColumns; - foreach (StbColumn column in columns) - { - _frameName.Add(column.name); - - string idNodeStart = column.id_node_bottom; - string idNodeEnd = column.id_node_top; - _framePos.Add(TagUtils.GetTagPosition(idNodeStart, idNodeEnd, nodes)); - } - dataAccess.SetDataList(0, _frameName); - } - - public override void DrawViewportWires(IGH_PreviewArgs args) - { - for (var i = 0; i < _frameName.Count; i++) - { - args.Display.Draw2dText(_frameName[i], Color.Black, _framePos[i], true, _size); - } - } - - protected override System.Drawing.Bitmap Icon => Properties.Resource.ColumnName; - - public override Guid ComponentGuid => new Guid("AB439AE1-A56F-4764-BC36-F3752D30461A"); - } -} diff --git a/HoaryFox/Component_v2/Tag/Name/GirderNameTag.cs b/HoaryFox/Component_v2/Tag/Name/GirderNameTag.cs deleted file mode 100644 index f8c0ab7d..00000000 --- a/HoaryFox/Component_v2/Tag/Name/GirderNameTag.cs +++ /dev/null @@ -1,75 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Drawing; -using Grasshopper.Kernel; -using HoaryFox.Component_v2.Utils; -using Rhino.Geometry; -using STBDotNet.v202; - -namespace HoaryFox.Component_v2.Tag.Name -{ - public class GirderNameTag : GH_Component - { - private ST_BRIDGE _stBridge; - private int _size; - - private readonly List _frameName = new List(); - private readonly List _framePos = new List(); - - public override bool IsPreviewCapable => true; - public GirderNameTag() - : base("Girder Name Tag", "GirderTag", - "Display Girder Name Tag", - "HoaryFox2", "NameTag") - { - } - - public override void ClearData() - { - base.ClearData(); - _frameName.Clear(); - _framePos.Clear(); - } - - protected override void RegisterInputParams(GH_InputParamManager pManager) - { - pManager.AddGenericParameter("Data", "D", "input ST-Bridge file data", GH_ParamAccess.item); - pManager.AddIntegerParameter("Size", "S", "Tag size", GH_ParamAccess.item, 12); - } - - protected override void RegisterOutputParams(GH_OutputParamManager pManager) - { - pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.list); - } - - protected override void SolveInstance(IGH_DataAccess dataAccess) - { - if (!dataAccess.GetData("Data", ref _stBridge)) { return; } - if (!dataAccess.GetData("Size", ref _size)) { return; } - - StbNode[] nodes = _stBridge.StbModel.StbNodes; - StbGirder[] girders = _stBridge.StbModel.StbMembers.StbGirders; - foreach (StbGirder girder in girders) - { - _frameName.Add(girder.name); - - string idNodeStart = girder.id_node_start; - string idNodeEnd = girder.id_node_end; - _framePos.Add(TagUtils.GetTagPosition(idNodeStart, idNodeEnd, nodes)); - } - dataAccess.SetDataList(0, _frameName); - } - - public override void DrawViewportWires(IGH_PreviewArgs args) - { - for (var i = 0; i < _frameName.Count; i++) - { - args.Display.Draw2dText(_frameName[i], Color.Black, _framePos[i], true, _size); - } - } - - protected override System.Drawing.Bitmap Icon => Properties.Resource.GirderName; - - public override Guid ComponentGuid => new Guid("31664B98-E1F0-4635-A718-18C8FDE14A14"); - } -} diff --git a/HoaryFox/Component_v2/Tag/Name/PostNameTag.cs b/HoaryFox/Component_v2/Tag/Name/PostNameTag.cs deleted file mode 100644 index 5733aabf..00000000 --- a/HoaryFox/Component_v2/Tag/Name/PostNameTag.cs +++ /dev/null @@ -1,75 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Drawing; -using Grasshopper.Kernel; -using HoaryFox.Component_v2.Utils; -using Rhino.Geometry; -using STBDotNet.v202; - -namespace HoaryFox.Component_v2.Tag.Name -{ - public class PostNameTag : GH_Component - { - private ST_BRIDGE _stBridge; - private int _size; - - private readonly List _frameName = new List(); - private readonly List _framePos = new List(); - - public override bool IsPreviewCapable => true; - public PostNameTag() - : base("Post Name Tag", "PostTag", - "Display Post Name Tag", - "HoaryFox2", "NameTag") - { - } - - public override void ClearData() - { - base.ClearData(); - _frameName.Clear(); - _framePos.Clear(); - } - - protected override void RegisterInputParams(GH_InputParamManager pManager) - { - pManager.AddGenericParameter("Data", "D", "input ST-Bridge file data", GH_ParamAccess.item); - pManager.AddIntegerParameter("Size", "S", "Tag size", GH_ParamAccess.item, 12); - } - - protected override void RegisterOutputParams(GH_OutputParamManager pManager) - { - pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.list); - } - - protected override void SolveInstance(IGH_DataAccess dataAccess) - { - if (!dataAccess.GetData("Data", ref _stBridge)) { return; } - if (!dataAccess.GetData("Size", ref _size)) { return; } - - StbNode[] nodes = _stBridge.StbModel.StbNodes; - StbPost[] posts = _stBridge.StbModel.StbMembers.StbPosts; - foreach (StbPost post in posts) - { - _frameName.Add(post.name); - - string idNodeStart = post.id_node_bottom; - string idNodeEnd = post.id_node_top; - _framePos.Add(TagUtils.GetTagPosition(idNodeStart, idNodeEnd, nodes)); - } - dataAccess.SetDataList(0, _frameName); - } - - public override void DrawViewportWires(IGH_PreviewArgs args) - { - for (var i = 0; i < _frameName.Count; i++) - { - args.Display.Draw2dText(_frameName[i], Color.Black, _framePos[i], true, _size); - } - } - - protected override Bitmap Icon => Properties.Resource.PostName; - - public override Guid ComponentGuid => new Guid("AD517629-4CD1-4109-B071-653D80DC6B70"); - } -} diff --git a/HoaryFox/Component_v2/Tag/Section/BeamSecTag.cs b/HoaryFox/Component_v2/Tag/Section/BeamSecTag.cs deleted file mode 100644 index ae8a8dd5..00000000 --- a/HoaryFox/Component_v2/Tag/Section/BeamSecTag.cs +++ /dev/null @@ -1,130 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Drawing; -using System.Linq; -using Grasshopper.Kernel; -using Grasshopper.Kernel.Data; -using Grasshopper.Kernel.Types; -using HoaryFox.Component_v2.Utils; -using HoaryFox.Properties; -using Rhino.Geometry; -using STBDotNet.v202; - -namespace HoaryFox.Component_v2.Tag.Section -{ - public class BeamSecTag : GH_Component - { - private ST_BRIDGE _stBridge; - private int _size; - private GH_Structure _frameTags = new GH_Structure(); - private List _tagPos = new List(); - - public BeamSecTag() - : base("Beam Section Tag", "BeamSec", - "Display Beam Section Tag", - "HoaryFox2", "Section") - { - } - - public override void ClearData() - { - base.ClearData(); - _frameTags.Clear(); - _tagPos.Clear(); - } - - public override bool IsPreviewCapable => true; - - protected override void RegisterInputParams(GH_InputParamManager pManager) - { - pManager.AddGenericParameter("Data", "D", "input ST-Bridge file data", GH_ParamAccess.item); - pManager.AddIntegerParameter("Size", "S", "Tag size", GH_ParamAccess.item, 12); - } - - protected override void RegisterOutputParams(GH_OutputParamManager pManager) - { - pManager.AddTextParameter("SecTag", "STag", "output section tag", GH_ParamAccess.tree); - } - - protected override void SolveInstance(IGH_DataAccess dataAccess) - { - if (!dataAccess.GetData("Data", ref _stBridge)) { return; } - if (!dataAccess.GetData("Size", ref _size)) { return; } - - _frameTags = GetTagStrings(_stBridge.StbModel.StbMembers.StbBeams, _stBridge.StbModel.StbSections); - _tagPos = GetTagPosition(_stBridge.StbModel.StbMembers.StbBeams, _stBridge.StbModel.StbNodes); - - dataAccess.SetDataTree(0, _frameTags); - } - private static GH_Structure GetTagStrings(IEnumerable beams, StbSections sections) - { - var ghSecStrings = new GH_Structure(); - - foreach (var item in beams.Select((beam, index) => new { beam, index })) - { - string secId = item.beam.id_section; - var ghPath = new GH_Path(0, item.index); - StbGirderKind_structure kindStruct = item.beam.kind_structure; - - switch (kindStruct) - { - case StbGirderKind_structure.RC: - StbSecBeam_RC secRc = sections.StbSecBeam_RC.First(i => i.id == secId); - foreach (object figureObj in secRc.StbSecFigureBeam_RC.Items) - { - ghSecStrings.AppendRange(TagUtils.GetBeamRcSection(figureObj, secRc.strength_concrete), ghPath); - } - break; - case StbGirderKind_structure.S: - StbSecBeam_S secS = sections.StbSecBeam_S.First(i => i.id == secId); - foreach (object figureObj in secS.StbSecSteelFigureBeam_S.Items) - { - ghSecStrings.AppendRange(TagUtils.GetBeamSSection(figureObj), ghPath); - } - break; - case StbGirderKind_structure.SRC: - StbSecBeam_SRC secSrc = sections.StbSecBeam_SRC.First(i => i.id == secId); - foreach (object figureObj in secSrc.StbSecFigureBeam_SRC.Items) - { - ghSecStrings.AppendRange(TagUtils.GetBeamRcSection(figureObj, secSrc.strength_concrete), ghPath); - } - foreach (object figureObj in secSrc.StbSecSteelFigureBeam_SRC.Items) - { - ghSecStrings.AppendRange(TagUtils.GetBeamSSection(figureObj), ghPath); - } - break; - case StbGirderKind_structure.UNDEFINED: - break; - default: - throw new ArgumentOutOfRangeException(); - } - } - - return ghSecStrings; - } - - private static List GetTagPosition(IEnumerable beams, IEnumerable nodes) - { - return beams.Select(beam => TagUtils.GetTagPosition(beam.id_node_start, beam.id_node_end, nodes)).ToList(); - } - - public override void DrawViewportWires(IGH_PreviewArgs args) - { - if (_frameTags.DataCount == 0) - { - return; - } - - for (var i = 0; i < _frameTags.PathCount; i++) - { - List tags = _frameTags.Branches[i]; - string tag = tags.Aggregate(string.Empty, (current, tagString) => current + (tagString + "\n")); - args.Display.Draw2dText(tag, Color.Black, _tagPos[i], true, _size); - } - } - - protected override Bitmap Icon => Resource.BeamSection; - public override Guid ComponentGuid => new Guid("73277668-972F-4E7B-821F-FC86C6868FF3"); - - } -} diff --git a/HoaryFox/Component_v2/Tag/Section/BraceSecTag.cs b/HoaryFox/Component_v2/Tag/Section/BraceSecTag.cs deleted file mode 100644 index 5ffbfcb8..00000000 --- a/HoaryFox/Component_v2/Tag/Section/BraceSecTag.cs +++ /dev/null @@ -1,120 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Drawing; -using System.Linq; -using Grasshopper.Kernel; -using Grasshopper.Kernel.Data; -using Grasshopper.Kernel.Types; -using HoaryFox.Component_v2.Utils; -using HoaryFox.Properties; -using Rhino.Geometry; -using STBDotNet.v202; - -namespace HoaryFox.Component_v2.Tag.Section -{ - public class BraceSecTag : GH_Component - { - private ST_BRIDGE _stBridge; - private int _size; - private GH_Structure _frameTags = new GH_Structure(); - private List _tagPos = new List(); - - public BraceSecTag() - : base("Brace Section Tag", "BraceSec", - "Display Brace Section Tag", - "HoaryFox2", "Section") - { - } - - public override void ClearData() - { - base.ClearData(); - _frameTags.Clear(); - _tagPos.Clear(); - } - - public override bool IsPreviewCapable => true; - - protected override void RegisterInputParams(GH_InputParamManager pManager) - { - pManager.AddGenericParameter("Data", "D", "input ST-Bridge file data", GH_ParamAccess.item); - pManager.AddIntegerParameter("Size", "S", "Tag size", GH_ParamAccess.item, 12); - } - - protected override void RegisterOutputParams(GH_OutputParamManager pManager) - { - pManager.AddTextParameter("SecTag", "STag", "output section tag", GH_ParamAccess.tree); - } - - protected override void SolveInstance(IGH_DataAccess dataAccess) - { - if (!dataAccess.GetData("Data", ref _stBridge)) { return; } - if (!dataAccess.GetData("Size", ref _size)) { return; } - - _frameTags = GetTagStrings(_stBridge.StbModel.StbMembers.StbBraces, _stBridge.StbModel.StbSections); - _tagPos = GetTagPosition(_stBridge.StbModel.StbMembers.StbBraces, _stBridge.StbModel.StbNodes); - - dataAccess.SetDataTree(0, _frameTags); - } - private static GH_Structure GetTagStrings(IEnumerable braces, StbSections sections) - { - var ghSecStrings = new GH_Structure(); - - if (braces == null) - { - return ghSecStrings; - } - - foreach (var item in braces.Select((brace, index) => new { brace, index })) - { - string secId = item.brace.id_section; - var ghPath = new GH_Path(0, item.index); - StbBraceKind_structure kindStruct = item.brace.kind_structure; - - switch (kindStruct) - { - case StbBraceKind_structure.S: - StbSecBrace_S secS = sections.StbSecBrace_S.First(i => i.id == secId); - foreach (object figureObj in secS.StbSecSteelFigureBrace_S.Items) - { - ghSecStrings.AppendRange(TagUtils.GetBraceSSection(figureObj), ghPath); - } - break; - case StbBraceKind_structure.RC: - case StbBraceKind_structure.SRC: - throw new ArgumentException("Unsupported section type."); - default: - throw new ArgumentOutOfRangeException(); - } - } - - return ghSecStrings; - } - - private static List GetTagPosition(IEnumerable braces, IEnumerable nodes) - { - return braces == null - ? new List() - : braces.Select(beam => TagUtils.GetTagPosition(beam.id_node_start, beam.id_node_end, nodes)).ToList(); - } - - public override void DrawViewportWires(IGH_PreviewArgs args) - { - if (_frameTags.DataCount == 0) - { - return; - } - - for (var i = 0; i < _frameTags.PathCount; i++) - { - List tags = _frameTags.Branches[i]; - string tag = tags.Aggregate(string.Empty, (current, tagString) => current + (tagString + "\n")); - args.Display.Draw2dText(tag, Color.Black, _tagPos[i], true, _size); - } - } - - protected override Bitmap Icon => Resource.BraceSection; - public override Guid ComponentGuid => new Guid("86763C20-7C6C-4D8C-9AFF-CC4380127991"); - - } -} diff --git a/HoaryFox/Component_v2/Tag/Section/ColumnSecTag.cs b/HoaryFox/Component_v2/Tag/Section/ColumnSecTag.cs deleted file mode 100644 index 93a15dbf..00000000 --- a/HoaryFox/Component_v2/Tag/Section/ColumnSecTag.cs +++ /dev/null @@ -1,125 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Drawing; -using System.Linq; -using Grasshopper.Kernel; -using Grasshopper.Kernel.Data; -using Grasshopper.Kernel.Types; -using HoaryFox.Component_v2.Utils; -using HoaryFox.Properties; -using Rhino.Geometry; -using STBDotNet.v202; - -namespace HoaryFox.Component_v2.Tag.Section -{ - public class ColumnSecTag : GH_Component - { - private ST_BRIDGE _stBridge; - private int _size; - private GH_Structure _frameTags = new GH_Structure(); - private List _tagPos = new List(); - - public ColumnSecTag() - : base("Column Section Tag", "ColumnSec", - "Display Column Section Tag", - "HoaryFox2", "Section") - { - } - - public override void ClearData() - { - base.ClearData(); - _frameTags.Clear(); - _tagPos.Clear(); - } - - public override bool IsPreviewCapable => true; - - protected override void RegisterInputParams(GH_InputParamManager pManager) - { - pManager.AddGenericParameter("Data", "D", "input ST-Bridge file data", GH_ParamAccess.item); - pManager.AddIntegerParameter("Size", "S", "Tag size", GH_ParamAccess.item, 12); - } - - protected override void RegisterOutputParams(GH_OutputParamManager pManager) - { - pManager.AddTextParameter("SecTag", "STag", "output section tag", GH_ParamAccess.tree); - } - - protected override void SolveInstance(IGH_DataAccess dataAccess) - { - if (!dataAccess.GetData("Data", ref _stBridge)) { return; } - if (!dataAccess.GetData("Size", ref _size)) { return; } - - _frameTags = GetTagStrings(_stBridge.StbModel.StbMembers.StbColumns, _stBridge.StbModel.StbSections); - _tagPos = GetTagPosition(_stBridge.StbModel.StbMembers.StbColumns, _stBridge.StbModel.StbNodes); - - dataAccess.SetDataTree(0, _frameTags); - } - private static GH_Structure GetTagStrings(IEnumerable columns, StbSections sections) - { - var ghSecStrings = new GH_Structure(); - - foreach (var item in columns.Select((column, index) => new { column, index })) - { - string secId = item.column.id_section; - var ghPath = new GH_Path(0, item.index); - StbColumnKind_structure kindStruct = item.column.kind_structure; - - switch (kindStruct) - { - case StbColumnKind_structure.RC: - StbSecColumn_RC secRc = sections.StbSecColumn_RC.First(i => i.id == secId); - ghSecStrings.AppendRange(TagUtils.GetColumnRcSection(secRc.StbSecFigureColumn_RC.Item, secRc.strength_concrete), ghPath); - break; - case StbColumnKind_structure.S: - StbSecColumn_S secS = sections.StbSecColumn_S.First(i => i.id == secId); - foreach (object figureObj in secS.StbSecSteelFigureColumn_S.Items) - { - ghSecStrings.AppendRange(TagUtils.GetColumnSSection(figureObj), ghPath); - } - break; - case StbColumnKind_structure.SRC: - StbSecColumn_SRC secSrc = sections.StbSecColumn_SRC.First(i => i.id == secId); - ghSecStrings.AppendRange(TagUtils.GetColumnRcSection(secSrc.StbSecFigureColumn_SRC.Item, secSrc.strength_concrete), ghPath); - foreach (object figureObj in secSrc.StbSecSteelFigureColumn_SRC.Items) - { - ghSecStrings.AppendRange(TagUtils.GetColumnSSection(figureObj), ghPath); - } - break; - case StbColumnKind_structure.CFT: - case StbColumnKind_structure.UNDEFINED: - throw new ArgumentException("Unsupported section type."); - default: - throw new ArgumentOutOfRangeException(); - } - } - - return ghSecStrings; - } - - private static List GetTagPosition(IEnumerable columns, IEnumerable nodes) - { - return columns.Select(beam => TagUtils.GetTagPosition(beam.id_node_bottom, beam.id_node_top, nodes)).ToList(); - } - - public override void DrawViewportWires(IGH_PreviewArgs args) - { - if (_frameTags.DataCount == 0) - { - return; - } - - for (var i = 0; i < _frameTags.PathCount; i++) - { - List tags = _frameTags.Branches[i]; - string tag = tags.Aggregate(string.Empty, (current, tagString) => current + (tagString + "\n")); - args.Display.Draw2dText(tag, Color.Black, _tagPos[i], true, _size); - } - } - - protected override Bitmap Icon => Resource.ColumnSection; - public override Guid ComponentGuid => new Guid("BCF4A288-DA26-4F28-A919-CB9FD1FCF3B1"); - - } -} diff --git a/HoaryFox/Component_v2/Tag/Section/GirderSecTag.cs b/HoaryFox/Component_v2/Tag/Section/GirderSecTag.cs deleted file mode 100644 index 7074f740..00000000 --- a/HoaryFox/Component_v2/Tag/Section/GirderSecTag.cs +++ /dev/null @@ -1,130 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Drawing; -using System.Linq; -using Grasshopper.Kernel; -using Grasshopper.Kernel.Data; -using Grasshopper.Kernel.Types; -using HoaryFox.Component_v2.Utils; -using HoaryFox.Properties; -using Rhino.Geometry; -using STBDotNet.v202; - -namespace HoaryFox.Component_v2.Tag.Section -{ - public class GirderSecTag : GH_Component - { - private ST_BRIDGE _stBridge; - private int _size; - private GH_Structure _frameTags = new GH_Structure(); - private List _tagPos = new List(); - - public GirderSecTag() - : base("Girder Section Tag", "GirderSec", - "Display Girder Section Tag", - "HoaryFox2", "Section") - { - } - - public override void ClearData() - { - base.ClearData(); - _frameTags.Clear(); - _tagPos.Clear(); - } - - public override bool IsPreviewCapable => true; - - protected override void RegisterInputParams(GH_InputParamManager pManager) - { - pManager.AddGenericParameter("Data", "D", "input ST-Bridge file data", GH_ParamAccess.item); - pManager.AddIntegerParameter("Size", "S", "Tag size", GH_ParamAccess.item, 12); - } - - protected override void RegisterOutputParams(GH_OutputParamManager pManager) - { - pManager.AddTextParameter("SecTag", "STag", "output section tag", GH_ParamAccess.tree); - } - - protected override void SolveInstance(IGH_DataAccess dataAccess) - { - if (!dataAccess.GetData("Data", ref _stBridge)) { return; } - if (!dataAccess.GetData("Size", ref _size)) { return; } - - _frameTags = GetTagStrings(_stBridge.StbModel.StbMembers.StbGirders, _stBridge.StbModel.StbSections); - _tagPos = GetTagPosition(_stBridge.StbModel.StbMembers.StbGirders, _stBridge.StbModel.StbNodes); - - dataAccess.SetDataTree(0, _frameTags); - } - private static GH_Structure GetTagStrings(IEnumerable beams, StbSections sections) - { - var ghSecStrings = new GH_Structure(); - - foreach (var item in beams.Select((beam, index) => new { beam, index })) - { - string secId = item.beam.id_section; - var ghPath = new GH_Path(0, item.index); - StbGirderKind_structure kindStruct = item.beam.kind_structure; - - switch (kindStruct) - { - case StbGirderKind_structure.RC: - StbSecBeam_RC secRc = sections.StbSecBeam_RC.First(i => i.id == secId); - foreach (object figureObj in secRc.StbSecFigureBeam_RC.Items) - { - ghSecStrings.AppendRange(TagUtils.GetBeamRcSection(figureObj, secRc.strength_concrete), ghPath); - } - break; - case StbGirderKind_structure.S: - StbSecBeam_S secS = sections.StbSecBeam_S.First(i => i.id == secId); - foreach (object figureObj in secS.StbSecSteelFigureBeam_S.Items) - { - ghSecStrings.AppendRange(TagUtils.GetBeamSSection(figureObj), ghPath); - } - break; - case StbGirderKind_structure.SRC: - StbSecBeam_SRC secSrc = sections.StbSecBeam_SRC.First(i => i.id == secId); - foreach (object figureObj in secSrc.StbSecFigureBeam_SRC.Items) - { - ghSecStrings.AppendRange(TagUtils.GetBeamRcSection(figureObj, secSrc.strength_concrete), ghPath); - } - foreach (object figureObj in secSrc.StbSecSteelFigureBeam_SRC.Items) - { - ghSecStrings.AppendRange(TagUtils.GetBeamSSection(figureObj), ghPath); - } - break; - case StbGirderKind_structure.UNDEFINED: - break; - default: - throw new ArgumentOutOfRangeException(); - } - } - - return ghSecStrings; - } - - private static List GetTagPosition(IEnumerable girders, IEnumerable nodes) - { - return girders.Select(girder => TagUtils.GetTagPosition(girder.id_node_start, girder.id_node_end, nodes)).ToList(); - } - - public override void DrawViewportWires(IGH_PreviewArgs args) - { - if (_frameTags.DataCount == 0) - { - return; - } - - for (var i = 0; i < _frameTags.PathCount; i++) - { - List tags = _frameTags.Branches[i]; - string tag = tags.Aggregate(string.Empty, (current, tagString) => current + (tagString + "\n")); - args.Display.Draw2dText(tag, Color.Black, _tagPos[i], true, _size); - } - } - - protected override Bitmap Icon => Resource.GirderSection; - public override Guid ComponentGuid => new Guid("6E1E7529-826B-4214-9C63-B77AF0715009"); - - } -} diff --git a/HoaryFox/Component_v2/Tag/Section/PostSecTag.cs b/HoaryFox/Component_v2/Tag/Section/PostSecTag.cs deleted file mode 100644 index a395b436..00000000 --- a/HoaryFox/Component_v2/Tag/Section/PostSecTag.cs +++ /dev/null @@ -1,125 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Drawing; -using System.Linq; -using Grasshopper.Kernel; -using Grasshopper.Kernel.Data; -using Grasshopper.Kernel.Types; -using HoaryFox.Component_v2.Utils; -using HoaryFox.Properties; -using Rhino.Geometry; -using STBDotNet.v202; - -namespace HoaryFox.Component_v2.Tag.Section -{ - public class PostSecTag : GH_Component - { - private ST_BRIDGE _stBridge; - private int _size; - private GH_Structure _frameTags = new GH_Structure(); - private List _tagPos = new List(); - - public PostSecTag() - : base("Post Section Tag", "PostSec", - "Display Post Section Tag", - "HoaryFox2", "Section") - { - } - - public override void ClearData() - { - base.ClearData(); - _frameTags.Clear(); - _tagPos.Clear(); - } - - public override bool IsPreviewCapable => true; - - protected override void RegisterInputParams(GH_InputParamManager pManager) - { - pManager.AddGenericParameter("Data", "D", "input ST-Bridge file data", GH_ParamAccess.item); - pManager.AddIntegerParameter("Size", "S", "Tag size", GH_ParamAccess.item, 12); - } - - protected override void RegisterOutputParams(GH_OutputParamManager pManager) - { - pManager.AddTextParameter("SecTag", "STag", "output section tag", GH_ParamAccess.tree); - } - - protected override void SolveInstance(IGH_DataAccess dataAccess) - { - if (!dataAccess.GetData("Data", ref _stBridge)) { return; } - if (!dataAccess.GetData("Size", ref _size)) { return; } - - _frameTags = GetTagStrings(_stBridge.StbModel.StbMembers.StbPosts, _stBridge.StbModel.StbSections); - _tagPos = GetTagPosition(_stBridge.StbModel.StbMembers.StbPosts, _stBridge.StbModel.StbNodes); - - dataAccess.SetDataTree(0, _frameTags); - } - private static GH_Structure GetTagStrings(IEnumerable columns, StbSections sections) - { - var ghSecStrings = new GH_Structure(); - - foreach (var item in columns.Select((column, index) => new { column, index })) - { - string secId = item.column.id_section; - var ghPath = new GH_Path(0, item.index); - StbColumnKind_structure kindStruct = item.column.kind_structure; - - switch (kindStruct) - { - case StbColumnKind_structure.RC: - StbSecColumn_RC secRc = sections.StbSecColumn_RC.First(i => i.id == secId); - ghSecStrings.AppendRange(TagUtils.GetColumnRcSection(secRc.StbSecFigureColumn_RC.Item, secRc.strength_concrete), ghPath); - break; - case StbColumnKind_structure.S: - StbSecColumn_S secS = sections.StbSecColumn_S.First(i => i.id == secId); - foreach (object figureObj in secS.StbSecSteelFigureColumn_S.Items) - { - ghSecStrings.AppendRange(TagUtils.GetColumnSSection(figureObj), ghPath); - } - break; - case StbColumnKind_structure.SRC: - StbSecColumn_SRC secSrc = sections.StbSecColumn_SRC.First(i => i.id == secId); - ghSecStrings.AppendRange(TagUtils.GetColumnRcSection(secSrc.StbSecFigureColumn_SRC.Item, secSrc.strength_concrete), ghPath); - foreach (object figureObj in secSrc.StbSecSteelFigureColumn_SRC.Items) - { - ghSecStrings.AppendRange(TagUtils.GetColumnSSection(figureObj), ghPath); - } - break; - case StbColumnKind_structure.CFT: - case StbColumnKind_structure.UNDEFINED: - throw new ArgumentException("Unsupported section type."); - default: - throw new ArgumentOutOfRangeException(); - } - } - - return ghSecStrings; - } - - private static List GetTagPosition(IEnumerable columns, IEnumerable nodes) - { - return columns.Select(beam => TagUtils.GetTagPosition(beam.id_node_bottom, beam.id_node_top, nodes)).ToList(); - } - - public override void DrawViewportWires(IGH_PreviewArgs args) - { - if (_frameTags.DataCount == 0) - { - return; - } - - for (var i = 0; i < _frameTags.PathCount; i++) - { - List tags = _frameTags.Branches[i]; - string tag = tags.Aggregate(string.Empty, (current, tagString) => current + (tagString + "\n")); - args.Display.Draw2dText(tag, Color.Black, _tagPos[i], true, _size); - } - } - - protected override Bitmap Icon => Resource.PostSection; - public override Guid ComponentGuid => new Guid("B0C5FFF4-B510-4A0F-B441-C0B3144BF757"); - - } -} diff --git a/HoaryFox/HoaryFox.csproj b/HoaryFox/HoaryFox.csproj index db8bbcc2..0792da34 100644 --- a/HoaryFox/HoaryFox.csproj +++ b/HoaryFox/HoaryFox.csproj @@ -13,18 +13,10 @@ + - - - ..\..\STBDotNet\STBDotNet\bin\Debug\netstandard2.0\STBDotNet.dll - - - Library\STBReader.dll - - - C:\Program Files\Rhino 7\System\Rhino.exe diff --git a/HoaryFox/Library/STBReader.dll b/HoaryFox/Library/STBReader.dll deleted file mode 100644 index c2851d80ef7bc8f9c73c77e33cca90f90427d8c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48128 zcmeHw3w&Hvwf8z_CNq=C`_*@8N?VvVY5Jxq&!kBofs}?OeL*3eCetP~&4e@Q69NfP z9)dgzXrY=S3MdL(sz9yU3L^3l5cJ{&Ar%k>QA893gzvxB-sjAm%uK0%a(~|YeQEPQ zd#%0p+H0--KIhD2(dpNahlsrR{p1s(2XN(|D#1fTFS2vT?9HV;nNN;=z^H$6Y*Sl% zthCFDuCu}$N?XF6ozd>nHIY(lV`pi5XKC%?#?lSZ)<{K8PH?$mS!1KiS~fwQ{0_D!?hH@1NbG%m$a$uW`-7nj6noG|9EKib{6IT@vA18g`b7c zyO1ld+19fQ3>I8a42*CBM`JdP`V*fx_g=#C9U zZO{V^|J2VB=D8^9orEj54qp*f@1&7ay|e@xky+r077zs|8=W%<775G1lpzc(X_M)vulLqSje?Mp#lIf!8(UYrEIXk(MgXw(7*kYYzqs`E07K95>C9Y)XD-7{YI^Fd2 zaE9saVZNEsBW$9gsV2>b4NzBLhR_Rq!9vP2Bo#UWD$6IEp-hL(Da9UQhG4vw=9I7} z4S|2G6AtiLE%0nawPtyq=c{}Tn!XTP-6vuqH)n9&p)shm^z-oabf;qBg>9y;Rxwc> zjhvc6Z{dm>-~-12Zu*s*@W|^4m4X-aNmFL|=X@QqehYz32zGh7X&nvDV7@ehRmQSo zp`-@^@Rntn=O1Ykert+LkrWvE`SEDx2}8zI?23+qGOEkJ&30))4jA#@iX0*8+1dnqe=6qqW9edoSJR7_7Eq%6eT;Mm{H zEc}?UeJIj{o`at95+@ORB!A7x97(>;$y`bPo|Ac!e4CR{4A~DkiJFnbc<}Y0<0E-I zbJ6{gY~>^d0g{-Td_5QnNN(gL1_P4kaT4PI$*VYtQQ)0~HuKVNVIz8DK@5QpPB719 zL!%*;<|^$p*J-EO13S$w*lG5`PO}qsn!T{oY_OeXGwn26Z>QO2JIzMhX|`I@(TOlH zST?+nLWqCRW1h=RXP(O)BZ^+@Lk7A_aPmtpXEO;{e5)QFA3%nVX&gf zWUykW%N3o{JE;h0J{E2n&{8G>Ud;pQjI zDoQ}QvNO$G4JAEnl^Lsm)*d!YPcv+r8S+CXPcxW=#9|CLxni!6D~2zc7h~H?m%;;> zULZao;687;&pWhYS=n4Ogm}WV+g&EdO*2C<0r}6Q$uBFEQRlr9UCu0yO@XD`Vhd0t z=tI1s^N})H8z$X(!01#6O!}#5p*MH+u;tn%HeM&$els?WeP$QT5PE_*S_+CC#_;z} z+GJWo4d`H|F39}2H0A~Gq?1i+4ofi+&%#9DopdB7Vo5+F<^si#1Q;0aiXjOwjR{nQw!rcr0AwU6hkvta}OnAUQR8vCXvSa#2h&EQ6156#$2PO_6a$$si2yQ-7y ztxmGTI>|oA`|lZ`ID)J6^-O&|OJAG$s`~LQu+4AxV~hfHOpNrz#bde|nw^3#9oo8- zWo6#?3@tN;L}$T=vTRjCQL$PSR$aFSDKk_F^hHkqMvsBC8JZ&utRObySYcE%12qRH zePCKQaPZhIGlufP9`;PT&d%v1`)9_WFWAE_nxRq9!GTx}O1h^czzEw6Nr17&W=Mi# z;~~qGy<>s5Jli|;xRK}&m5adgSl@Oc1XHp2mY?slo^tWZJIukX36s4?6_@2%ui1h; z4+KNU0Xjk_!qBuO-b_`Zic1U)&1DaLf9{bfGktDZ;}BRyy_<; z+J`9ZW}Gc%#>qq}PllDpisQRS6`MJiL8ULlIxac0yeom7W%~STf5_!*TO(<0O(nfC zm9!Y?1gagTY)@gzX$kDqrhGPGOPK4`zDVYKbjTL&kZO$H;32{itoz~TKvhNo9_v2a zUukme{yM?-TQ9rV9I{Yi|BwD4Lx{k(+-Q zidLpkO~V7$inFs(d#F^VJl zx>jG;=_|G-lHbl(J}-O$JvDf^dlj`Sscb+Q`&ceJXn)!rv^s_R)1JcpgLcy8h!XFx z2lM0G*s}b=TWo)dokN}IaPKG%y>s9aYUkj$?sK=?=D{4%l#^-wnB`;_GAh&hxkHT3 zv|e|JBg)XMr-*XwJ%VM&C~7G0M1o}@MGaTf2t|!h6t*+*a(?SiZle&Wlf_9lpI7vt zY+rag#1cb=@>>}ht|5!^^-|u=4`Iuv4nJI;B}(KdmQdwmE0N3& z@Lil0NSS{M-e7R{|@L3ohkeimrZu#VsPk!}B7#k=@-yen=UxY`WPvOyH;*pc{k9s6d{C9cu zQfb_sG>a9^!!nL9GOjK(gYXSwdZ~HkL6ycCd@OfCjH6B-N4Q4ywM$>m(N{}fWBS_7 zSH3UuICN&a&y$aHTycXZ7?nK=&XYK@;hgE_t5xA;y9-QK=gDdm;|Y*U42d%3vEFj) z!vuPk=yUVk6EI5*kqJ14$wZ$=G237Q3hy-DD3=_E%ien8y_N~StVAn==Ph9uNHHp@$t`%+3TPbH0M z+&9Ut`W#0>SIvynRbTCh9!}Lar;>J6eY+!}t7b;(s(;{!9!}NIrjnMb6HdqyGw0k8 zl59-luX9=VY>DIAI!xn!oSOqlndR*X?9|5p%i@+{osew6oFAaGC*%a}UQ@*bS?2P} z3n6ld={&+(W%657=+@ zpVHgXPW^iBztp_x2#=oo!=4>~QE5y$n|aFNIh>zyW;*lC22hnt04eS_oCdbvx`~4< z6TFPLEMeHU6kZ;j$qf6J!tl&NC7EI0QottfUw2D^+;XkL<{yTl18Eew`G=wCtu%_<{KHUG z6tsJZJJ@diVJJE&jUqSyFch8PR)j5xYJN9AK@rZL$*uosw-k6l#&0QX;o*s4x>aAd z>Fc@rdY-=a@Kv5c)?j(b#W?;4p7U3Jh#BYjpomspP7BQ{*PFX84NdiTgB)b7!5 zZBA-B?AoBu&3Eq}Swig|{nn*v%DegL%iok#9{WSo@8-LY?<`>-|G%A79-B&(ck|ul zSwbKG(WmtB9~(>O_>WcEb^QNe@bRA#&;L2-SC#mcMFf)>Kj(^{|DS?^J=|IK{+Ro# z-U)M;)k*HP`q0lES0}me>hnMJ^4WbKHn>^NT68P8l{d^7R6~^0R^(^pL!NbX`Ya|E<>bIo$ekXpl`E)^)57SjXIawXQE_S*%gP z$(|u)#?WXDl6+T)OAHYzh9K#64QojHb?xIpx3%5t8sb`sUwd7{3o#MY+`|oE#%ht# z!)@R!Q2dU-<2(yF>yzAD=84H;^*R3O_31XS|K;n`;8iH?y=7UL^u1+!k@^aon6yZJ zga}~P`FV0CFH#QsGhL*tj2ydnaP;Qvl4(JhY_BsdaHhTFIXCU&OP+NctKp6_=O}pf z*{w^wtk!T{?r6@rN9=ZT4%_bdqI1q?Xmpx81(<4j^_0`6uNUg;Mf!TNzHZmoOZ4?p zeZ5RyFW1-4@m01_bm|Q#^5ok~(CWA-r?t^G6xw?tmGZ zA`C{&m?{iL&6p+(M$MQm3`WhEAq+;%m@Ev&=*g%ShMj`Tv1ef4qu#tMh`)KM-jg-y zYP#z<1IInJA4dzyj~TlbT6#cY3fsX+Zc{UM6DPS@&Dc&(a?6@Aj5A*kH?A4$=OnkU z8T$$+xrxo#*Eq?oY{u^7Bsa7fyNi?D)@JN(PI7abp;<`sx`nW-`$|tKlkhywdGC`0 z>9H--F%ybXV_XSJ}C^tDje{;vDFu0LC}}d zkJwcbF^<$n;nh2jb+51&t6Q|j{gqx zcnwUCpDSElg(o+URhM31G6aS@L0HT|V7KEzxXx+&|J5-V>cpU(W58a=V{p9_gS6|~ zMd?F4McUvH9YwF_={2Y+{t#2fKQhwet$hW1%D!n&(Z>%tXB}coqI^7rg`dToHA1x+ z-ygUgwihJcA1DqU>JxrhYW*BpHXRR4zrleoagQZ&k}XG9k+&21Gel!xXb+dy z_w-ps{G%y%YsL5IEA&Z4|Dmt<>FXYS{Wf3qSmbvO(KXd)u22Ax4 zX&fQ$wF#R9ye>2=1v|@Q%}K$|E?eobPDqgfHPtEDP%|$DJ3G}!xXch-!HY)6z(6zf z9i;s_eLvCxoqm92{DD{&uF+E=iuKA>1HYKN7ny_k?gu_Bp&t0)B}Z3zxuKSm8Op*3 z9*evM-qL{&dM}ZUbYaQD#9_~zTtNgxj&UH8~m3Il} z3Wsx6C61&h^<{^%vJwYPaPD?EO=Vj%tsgk#lCrZit!Esvq3jGZ^dN#TB)S;2;^`|B zLlcQ%iNx?kVniY_GLaaSNQ_nl?BeHNO}O%pX&r1Rpi(cH*b&@-~PI7-YV+}B_ zhr7HPJB^dv>-DhVj&FvLCueB%7rytKL2sfC^l^L^guDKx%11$atUs~m()Evp8vBk| zUcTmrs=&qbC)AH_RRSWb>}bEdh>5$X-vcv{_RVp>`kePOFKzahqsz+6k{*6vIOu#3 zxKw=*IE3L@7DXU}Ib|aYJ)xyY6~PDAU*HWb11XaPvX&z~`NfyU7kWM(QtaHyu*Sh) z^|{A{&%$7R7=^e}70rmL^}(bsQRor%Ia9oTUjb!393baexf3=FEty>~tmKMbAXkhJ zxqg?gvd(Wo4~Hf3xy1}&dxK#%#|~n`tRjOo<;V*9tOZ;^`g)DeTJ8|FKC9g!=J~9c zL(KPCmpa4(pLMfCEG%m>LpUL#8?S(qWlIz_R8h5x8m1_`&(4y=6@~ZNnHr%eywA?m zNJXK^nHnY3;1A~W{KB`p2J>a!kT=Bn#ebHFf40_R-ODCR|Kl4t{PEm}MTeUo*MR}a z0&x}m8NZ)HNe{P}9wOXmCcm#9?BRCPA4%n=Gh?SSms>ABMD~H=+fC?ha>YC&SG>rk z+xQpg{!SbFP`?>^T+B?joSC5~B>#1nd-18(WBuKoGXiFz3ydtVyTC-BH8zo$kVs69 z6J;~a(37ZZNc0S-KzNuKnn(;wB!(vvqZEOU0MCNL9*%<^6dVej>VE859E_hHb>k8B5iDv_yU7o3KlTw;cP2L3oLsNT7PH_XI}8LFL8VxVjnqg^4{q zJ_p#%Fg8to*$P|3>@*U#hQ>7cWodT#9&5d;1W(;?3VqJaPaJ4UV$k@!&a^f|Qx8YT z9M;1D(xZ=K6p!FKW85KXS-jTc?4taW_FkzGDq~VKXEUyOBFAFudi?E>mT&> zkNWzyzWzyH-_h4U^HutlYt8v(ik9JCk7A$F>sew@i>ZD4+4k7CzRBLO;kw<}b~APs zub6DU=CTJm$xfKDW)@&SG?!h`@3^ryW^6SJutR3(zhDJ7{=1;~`WJouD__+(!cK>V z*z1<^_j@obVU5i-LmxxW@Msu{%Qku}cfM@0viu20u2Fs~e%c!CPdFyYXChhI5Ty*e zMy7@;3cE(8hA9fW#(1?c90=87nu&xN`a9%&(KRrLzs~9B97*=kjJ2@y?52E~POyhP zjmP0V_8W1)FWpj`k}slq_3z(4-xI)tZ}NHFYjE9#-%yMQ&1DBM&8{U{rx?b*y3EqZQ%2BZZIV34L2)fD8CFRKwU zC!iMg++sjv4C=@AhXoH5D9XT_Dzma5D42&FlQQx3KFjEVf-~`5YyoicsnFy+KiiD8P`PukxxI&>8f*OX14;3mRR4I)XYMD?+QmIf+7w*ZQhe#YL)PthsXtW!*Y-j$S z{0%gfjuGniJf>!7YHyIKV>I;!v}~X`n)+N8QzvQa4x#31>Ptc`&{VHbCu?elP>VG6 zvgmAJ3jS>}_vDYFGeB{#{WB!z(Q3qysc<dPCsZA3C`Y*qg*qNO z%jpWdal_tD5b8?0PN;1qocDRUL8xY-uA(mpwGlBZN2!~Ix?Rd$gL_%5*zM2JVITM=Q=ETX#q>_psx$np{Z{QRh2h2FB^IHNPjshdurYWx)EP#$$e>O z2~%Iv)ayZ}zQz=Eeyeb5-qUoqrhJf`hcCDMp5(nNdH2(Pq3+kz0ig~SvE)8_RHz>! zkEx#s^_8NX1=*k;6KZkR&Vu)$<7uH*Wi$07`cJX!7;|UA2Kq6*Ak+yZOg*NlUr63l znmQ+!^M0nO2cUBU{emg@a1`qMh+fvzn?fA~E&d7h3cVs!wot#pcl2@IvO+HRJABI` zQ^$fL<4yXLP##E<@h*L&sQjH6@9(jdi08TJd-LcM%)VIEXigJNl%_3ljITU!cF%o!@F$TEF7!Rz^o9MCadCgma^bwhCm9p@U zeok)_3n@6uk$gcoEMri8CgTekjL-NPAN8`eO2Z@K={R2%%KAMEfg=T{2-XNL7hDhY z`GV$R&$8ZF{u1ECk|hr3R|U(!`A*(4hm(_cIye)6cBy&UXMyvI$@qK0DFvLqvE(dA zX1=iooS{Iw)LLULIA;rX3KjzG+($^Mn`rItWeZsj9XvZxxunp;teH^i^nT+Ag3q1xnub2injN#17!KWbS zs%WcHX9X?<=S1I?!0Q9trknf~D0}FZTIJsX$q7=n+|L>w5L7ml_!m00m-x9)Cf2LU zCYHK3lk2U?U{tn!J>wRnANAY@yvK7VaB=Wkz*)ijfbV2H0Q{@xd%z1kKLoz)`7!WD z&lA9(1fBuj9ry)M^{9Uol?~j(?KZm5d;yXFg28yNq{kO?I*`Zss-#~nc)^h$oi_mf z&Bcr}a~YRpGk!gv@#!GrjU@w){0jxIfzzMI7|CZmx`gpPlkx3b#wn716_R$8a=hG{ zO@cQIZVkKv&W?$T*Vd*+bd8i+;mdRQ0pBpB zH%srjTeLMNv=nQwqckLMw0BwW$GM{&&I<)cg43VJIK^aq6&zdsvXZ00xf*D5{xi26 zoRbO|-^?p___6$9;7lxG{8a(tck&n?3o;&OGByk6M#$J6Da)1b$?19MrEbY&jw-A8 z-||j_=8png>INxWoN+8Tf0M|ovG8kOjZ^!q%zC7U2bTg>Y}M?oB0NV*^$L~>t`p=q z+tH|`-Xb_hR?BLa0juADeAnFRj+p{4A#0l%&Ds zy!5 z@)pw5<5}{N0Q*-&&kJ=);M?XdZxIb>D!;G|)Nh4)nAoEt3Qw?W;64B6gi>0D&~+*= zFgd@?JA`&>YI~5WTQxPZW`YL zGWX(~@Sdg`%zQql9Ub>!GzElGK8&V(MP*ha)}v{dk_`MX>t63@D%F%hdqIUXRU_0? zO)VCxQd4INRi&v`p%!Xty-*E8Jwn_gN7HjEPx@dfog892m1U*0M5s#wwfR5vmeT2( zx;1w%s5P1j6*G0Vramls98|YZs{Kl76d!Hr5~*PvouR0}t-0I0DpQc_E>S3W&e}T@~aa-olM~agEGKajC zoTvKB9Lf>ulE91TOUF`)&if7e(y>&k^2FQYT;85Yy~j%p(kD)&%M>M&CsKBmd0pl_$Pe(-cjyx79RTQ|xUuousLUig$rppsBVXQw>6?K2c5k<`RC?=%}UQ z8ll9NTFPG-&s*T~VF3-3JZ0GeDpit!n}ct77s#hxFp8n&EKob@;#y9oJ&KYVPIlF> z$W_CksVn%F6xw0B@n`QMx?WQwjK6`pSyP=QpMd&`rk0dsWGtd@XsRPC3)Fp@+GP}g z`mUx1Xeg+MG}T~?2KBh6{z~IOJ*%m63nqekK~v2IQ$W2cl=6KM)t?&oy@8$=>X87? zv<);Ml7gZY$yM|Vp_Jq*8W2iJuA&`{ami-7T_`2lO!o+-B%A4qrnux9`jSve zat+-fl#*OS*DQ@oM(8U-Dai=kC6tnk(2iws$u_!OC?(lO_XwpV+vxn|amn?xLnxKE zo))g)Jk>^>l)W-8c@7l|r6kXxM}<<7-7d+^bmi%yMfND0X@^j1kFuF=5lU&)lRQY3ez|Y&+eksm+*8w^P4Rs)p_KvC5N{zKrIyaDA$V%cxo?6^YBJUMN-W zGU`)#Qtk@+azeQ)=ypx9WmnKW3FWS!_SU#ZSJ8Pwsrs&>i#5gNuA(c2QuSR$^CIzb z*HW`ks@%1-PE%a&TH=Qn+SeIk`m^88|b0?fd;)%z=*>k za91wpJ^}Pl1@s%#Z!#w9N#<0bltIZj0vb%(o?z$Ulsy*mZts#gN^@cal51BSD=7|# zw&C0)`D9LV?e`{?N|yOiaIjy=GRe06`*RM*i^Gvg=PCD}!|R9XG$i(ue-{~p-YN3n zNu(D~XftVMp@Gl*@SUOIz#yIv&n)B<9^)LrYQZ|e(*#!vhJhv2F6naww+dbh#M1}C zKH6Jcj%OtA7EQyGkrRt&)8FWcq7(2o?NNn`alhhQ#m#ssQdiQ7r=%xj`{+&@k=sTE z#>vH9G@f2Iv2zhUmkSQZy{AiQxWRXs`Y>bd63t%$-dpl@;IiUx0>4_ahb9_q|4-;o z!M%7|&-RpywsO?_Q<^FD&Lpmv>w1Zfm)zq;avI9MO|`jU zY!zH3{8qug(e=eA7_7P0XrjLd8;uT;VUC3~+w(Vi9&zXvez$PWlk|C#zE~qi;9{}) zO0jvoXsZ{zQtYpHH2>1rA?aHLcZh~t1n;ErIEhpn#U&HW@uKZE(N<^FXP;!=CVK9Y zQg?~`9>IOW*{3;d$-|O3m5S8!S1@V98S9j~9Nq zq^C-{Qqspux>nK)C0#FN8>DQL!L_U~9s;g19tEy8o&>fUKLfTI|H*ulZCGux4Xq~E z+h%gT9VVCUGP!KG$z{(I$zGAXSR^kK$ty+j8j;)~lDCLtzewIDl6Q#YT_SmpNbV8I z2TZo7)WbH6_plA+lAbE*nI5*M(!=&t3BOkO^^$Iobd$)e63%Mjv{yxfMxhf&kDR{z<8Wsjqp#w zTR;_rBO?$87GMh<0mS(X7^9{BD$!gmxLPnQ*elp4coAKM+ILI(fFK!cPpM#)LX$bG z1$zYt1j!?kf@1}%1gizZf_;Mhg1ZIx3my=o=2>=)cE zxL@#q;DF#kLCO%#f~A6E1*-*D3x)-I1^Wd11$PVX7d#+1Ab3!aeB!%cmEdZ@{elC6 z&D=dxo3s|2eBR||#(djnamf~y6?g1v%$g1ZF|2o4Ay6f_FOPQfa{YQeBzpJ2b>Zb2$y`PG8^1xt&W(=o=2>=)cExL@#q;DF#kK^iJL1xp3T3RVeL3x);z1p5Vd z3my7(1$zbi1p5Vd3my=x8qRuF3-${33(^SDFIXkGTCi7e zK#)dCS;1bx0l|ZUG>UT#!LfqXf~y6?g1v%$g8hQK1rG=w6r|CjN3c|ItYDR3wP0AV zPq1Hbx8Q!k1A+$yjU&V_!Lfo>g4Ken1;c{9f_;Mhg1ZIx3my<05IiVIW5iCuQo*r; z)q-KcUco-We!<;>`vngOmX@-fD#6u)y@LIM`vnICX)H^Q#d>!o-Ujk>R8 zJpykOj-z386!!T?(+HZ3XMoedt)wx8rxiG}g$ytoQHuf^dWDE!@nFr19gHv3{GKw=TpVOBI8OM}7 z;_%ms9wl=_5$j)@#aNop*km%Q+<8*_BUwKKCj)ON5v*lw6buWt2}T7~sfGEkK<1uY zmYiM87%cw1aM8~H5xT-N)*$^!Q2r+JKrw)4_F!-w~8rR+z! ztl`5vRU_+vLoB%`m+O5)FtJ`$HnG%?i@C;*AfvMF%lO10{-Csh7htK(7!K?$83T-z zOaPvnRR;W~F%9@O%?7SEP5@>aHNejo)B&x6#XuF$e-xDss(n@Z*9QA#nv4O#_w$!R z|Bb=3fOkvWa!TU%t5&!%*oNHhZ0--4B^J_&njgz&`C-}TJNyT-E1xb12L4R?DM-)5d}CrBS`4hi zOlD#(Y6PBwSdnyvzUpQj^89c4QOJvI}_I+7nzROUp$Um|P--pEgdG39=r*7UxsAY1+6;{1Eo1!Y zMa+{X-YqsE*9Y8+mB6HJv>kXM{(i6t`f}jKc#|0SIPuP~iJA3k;H7vE*rdzo zdf??)J52f<-2}XXz6iXMZU$bBH~LMybNprC4YV8h1^No`X8J1dOL$k<1ouwhZS)P` z?fA5+iT8r<2HuN*Cf@bE5BP2TGwC~YKk$Bf5cmLn7x*CF{xxYY{Q&qqIsiO??xOn`EL)5zsVBfF5Hg&}$3_W*8%ZK4Ub{Z;Sy3jIqWD^v@OO1wV#QuR;GX&A}AiFAB})xIg*9jV*U z)e+ec>Ff@7w?{i`Bi-Tlj@XGbe=aq4uW5|5%#DOMG%l&pRAWbYjYBLCcXT+!{OHEc zR?z`gZFD1CsgX*TL_0d{;wsHfbE>|*D=|aJdG(F+sBxi`oV&5TqjjNeha&8U>9||Cfc!aLno*vM_E&XvL+Iv<}O}A ztedZFk;3{&=eq7Tm2QZ}+Bu+#S}9U0U#0DQMV(HY!W|nU&COg@E!v)9`pVi*Y42?1 zz|-PRxiB4*6zAgOOH%Lh$Qp_bqBq1^qE<)yngmCew75KFa%-$RvY`T=cSKs)=2*po zNN2=qZ=o%ES z7k4hO@UWGwU$7C0;~S=(xW2i0Zn$MVK8ZEIJ<`Fv=_zM|H_$zI4OX?E2K~reyYtWR~ty$r*P4Nl|8Hvb64b$r-kq6lG3NmbN=$a!x`g zOwO!pP3Ad0Cpk-ZqvQ8R_)xdH8-595PO+i4Rh!6 ztdX2`YIs8mZev@xD+RluJr#Gp1szRWQ)P*s)LC=Gu{4FGrMj(+E!`Wf6h#U2#7uOWItyrab+D^{GNJ^Jw5B%gpIyg8BZ?}$cI6kOaD>5L_t0GE=Pb+IJ~K{9_~q4JcKND2KR^h@Yd+Y6bjWAB)TQJD%q2y$l#SWK2PcuTu+Tc z*|VV#T(^^uIZtmH8oMKr4#i-Zm`Y-+(%7w%7`c(o)<|bdgcd})7lvbPHE^Cpn5z@5 zi!idncrOaOgC*fkB;uQ2s;g~}bwy*m_tl#^YKnG5WVN7fCxt5Kw?kwFPrag464*S+ zL@FGaH`R`aXJX;;2(UXzn&Ps+56w{*gG zc376wj&Y75JHLG$=4Q4=w%87X^>e^5lc?!ig)dHW2~7N?LWS^cLBt}|5VjbxlW&V| zL<(XJ7?jF!HQ_63^?uQw<7q{8H$DNsW+Oyvq8qvpS4;MPDBBv(;>9;k)kfBAT(^#! zDb7RTW$m$c7q2=N!|3nW+SJ~iDC)4SaBE~k*jgXg(iFB30SWNtXkvz4h8rHIofu}k zcquy*POas*%0VPKyEYPQvD&+Mwv1;gr`6FV(h=SwsaQPU*4<#?=+x4koKX|)+G_E1 z63^mkC)~QYvtw(VXY1km!kq~jOEzLz+Yk|ccl(<5j`r?^T<#CjmDCvlJr!Sfz)UQ+ za*eOP_Eugitk7Y?o*KP@zvO_pJH{4vDJ!{@RH? z7`58BMR7pwz^QC5$2DSA;20YL-Mz+1U`WaQB+6w=fY(<$63euLit%KH0mum+cOuQh zO$g|-)d;<~Q!Z+wtrlaofqdU zx58agKE6k>t6Q<5qoTgO^BkL&G#h4bSvb%z*daMjZ(4MgP1Ur8tpqRC_C-ZR?`7h- zR0p+u){R)C$DyWh#%;Hly|}v#h!Fu?f%yqHSa7%&eF@z|c0j_EO^orE1SU+WC)5oGNJ$qTPcIb^SjB2&EuCHW>-hmbr>CBXwLCP9!b z9yM>-(9tP5s@I~>mTv6*&^v^yJD{YOv?NlvPvIhY;}T~i-SCh)(J5un@s)cA_XAO_ zdVnNVo2trLCl+1oKoHd!=CD``Ha|F`z)W=@5;^Isl7eF7@wyxCmKxONR4UcU#cR&S zpwb;uIbE|>39B8e2ki-((Z z5d=FqV}&+d8cal2;2w~SQ5BSp7Un2r5mq9V(8E#o#mX@`cPqL9XOM7AJ1pB^5sB}L z*_Z^XDat!ykvw zg8O#3yGvPH@NA+3&mCfT-TGYo_CRJ6ax8G#@g$-XylMEIPBg0t&nhB#=F^DhAaikb z%auYt25u)xb>qtVyYWc19pB(WS!+>C6#p!IoshDj5&12UP_>}`iM4oYVu9NZ9cx9l z1=I%oc0#Thsj%dIy5t&2c5=NVRb5L^Q&N3nZ9BSALj?9ENsP87tW@P)ez2s{LPOV! zm94P21zvRE$<78?Lpe3Lr(TbzM~m=8oyOR@ISMria?N<+R6{g8F@HWZu7e(q4wWS4 zECGk3NEx+wZor6-F1gCqpe)G^jtH_Y1dX+n(k@F>ORSE?TqA_mkG!iR6Rf2U)S0m#PIu0#?85}l*(VwWK z3vJ$wzQt|sj5(KPo7;@O!TnJB#-~W2w-j+Xo)3_{T_@%h4P0IaiccbtTR(H2iGX%`*$PEB92^9ED~YlbplPYP%&LA9-$lnEhnBlTwh*Vg4Gm=}4GMoZ3Iv{DoPEk+yhyf+UsUK0=>DLvtE zb@FP%@rj_M>H&ygQG9M)gB%{yl(PU&^Os03fd1jU3e88nc?7jW!d_wQwLs1Cb9L!d zv+Y8Z;?mr&X?Wti#_JLHAYLD7cq^`5y6s#!t{%hw@~p)(cpK7`71u~vaUJe;u?Z!( z*Q1`IxO}tJk97?_JYF~31m4k!kxlFogM4+(#O^$9%|X_>v<{X|u+qXmLjck6eJv^4X$y97spck~IfZAs#6%Rcff zMA3Q|&a1`X+0~Zj7|~dc5gzT!xJ`_sEtSqEcgxt)qBCvO5~Wx&)xIy4 z4XQN>)!?2?`?$bO_rBkk1o@(s7=VEW(jr|+rbkMwhBA)C?et@y?9*@Lr;2Rl*^zLcRz?Hlt*AR_9E6j8GAehGx8h zn6Mkc_s%kp_o>yq7t%7Wlc1JSJKHAAleQinV^~oO6kP)iJlg6UiAIdOYUs94_1t&a z13MZvt*qu4#}F|pQvN39QVHj*!8?tvlYb7M_nm!9-U8Xj@h(nAe8F5?c`v?5_^>>4 z33}gR?7pa|LGyU7SSnIfREH~{fUCs|_KHe)@2+Gybt={i?Cr<#s>1s(-v99|-Yk|U z?v_cn8vDX`70_BG%Fh_&F& zt}dmmtwAa0enXyW=LYb&b$Mr;Xbbc7T06)Rz0Qj5&1eVPl7tdTcIYx$e3yY&5sV^j z(*pD$-gC%k(KgvDj~&Cg5<^*Cv_zxC5GS65yD2>4ag$4S5O$yE_iuULwCTk%lVNv( zvnl({=TmiuNluzc&K>Q639tczxdFdXQqXP`22kB1T)2ABT)kqG5wL3u zKz-qAU#Z8)9hIBO^8A}qkZ-_2ww>_^D%|P~f)IrTO=2e-R=7%WrV7W*@SCs?_K5Ff z8^_|T&GIew2*zV~7m zb&V3Ql%L~he!xy1ZO*X0-!Y0_>*?J3?`u!O>IXStRN=v?EnerxfIFUKsX$8Q6En{>&ks-$W9OwBo7 zUuWuTC0BhL!yOEFG2Fwjhv5N+eGK~<9%guy;R!h1`y9jb3@>VJ`D(0yVJDuCyA!Z^ zT&}N}!OIX}$Y!vM_j$EwU$&jlS!g|*6UfA9E38KBbNxIqV8{z+DRVG>b9gkOA7UOb z3-Wmm7$xIVI4GzK1+r9O3AoHK=&VgTGsk93)eIAQ42OHXojub|RAyir>%C3z4#B$w z?-AT1_<-O(!To{{3qC6Ngsmz+QyIp=EHyD;;FrUCKEY}PLfl7#Km#Ic(|ukimF=W# zwTPs{3t*&W=6XVu>kp|&BAuhtfh@&S0a9rMNF{OtnlV)~Oq4Wj=J9r7rk$wF2uXYx z?~wFeg7*mS5qv;!pWuGMhXo%Me8N_hpQ)?vebGrhpI~di;Xa3g92PB)u-K_=CuM8n zu-Lf){6UTYhC0y^{6*wV<`8~reQLDRd5qoEW<@v049M}UL6mDyrt@M0jxs!<&`^U4 zo%c#ge|TqU>GY}7r{YGCLF4C6tDH4s-kjRWGiKD(OrCknyxEiI*4ECRJZILl+8J|Z z95ZX)>|+Su;6VOq`12R|N3_VGQ5C1oYjWPJDc6tuPr#qZm|Za)hUOMKnfzu^M|dm0 zQ&r5RN}Zfik!AyF<+tva?;m3)M#1LtXYhL;(UQj6#`E&-p8eFpYZhMk>fc%`pW62X zyHs=Rs--bJC|%XoZbieZ?5B#cRZAjW(NznhVQcIB=$3fG3CXH>3h#h6JcRlK z31tVJzfooyJ{vjJ`6YZaQ7+^;I_j=CKiS87XpTk6byT1(IU%84`ESb9qyBYLiaqXv zKO8arY(k>o=9S{pf2H_09d__9;nUz8leiw$GJL}0Cs-Cf%V!~N||a{&-W1c)Zc;Vln%ZtlGG;L Yw*NLiPh&lWF}L7G-T(jje=h?62V{6hWdHyG diff --git a/HoaryFox/Member/CreateBar.cs b/HoaryFox/Member/CreateBar.cs deleted file mode 100644 index 61f14e26..00000000 --- a/HoaryFox/Member/CreateBar.cs +++ /dev/null @@ -1,255 +0,0 @@ -//using System; -//using System.Collections.Generic; -//using Rhino.Geometry; - -//using HoaryFox.STB; -//using HoaryFox.Component.Bar; - -//namespace HoaryFox.Util -//{ -// public class CreateBar -// { -// private readonly StbNodes _nodes; - -// public CreateBar(StbNodes nodes) -// { -// this._nodes = nodes; -// } - -// public List Slab(StbSlabs slabs) -// { -// List brep = new List(); -// return brep; -// } - -// public List Wall(StbWalls walls) -// { -// List brep = new List(); -// return brep; -// } - -// public List Frame(StbFrame frame) -// { -// List brep = new List(); - -// double height = -1; -// double width = -1; -// string shape = string.Empty; -// ShapeTypes shapeType = ShapeTypes.H; - -// for (int eNum = 0; eNum < frame.Id.Count; eNum++) -// { -// int idSection = frame.IdSection[eNum]; -// KindsStructure kind = frame.KindStructure[eNum]; - -// // 始点と終点の座標取得 -// int nodeIndexStart = _nodes.Id.IndexOf(frame.IdNodeStart[eNum]); -// int nodeIndexEnd = _nodes.Id.IndexOf(frame.IdNodeEnd[eNum]); -// Point3d nodeStart = new Point3d(_nodes.X[nodeIndexStart], _nodes.Y[nodeIndexStart], _nodes.Z[nodeIndexStart]); -// Point3d nodeEnd = new Point3d(_nodes.X[nodeIndexEnd], _nodes.Y[nodeIndexEnd], _nodes.Z[nodeIndexEnd]); - -// int secIndex = -1; -// if (kind == KindsStructure.RC) -// { -// switch (frame.FrameType) -// { -// case FrameType.Column: -// case FrameType.Post: -// secIndex = Stb2Bar.SecColumnRc.Id.IndexOf(idSection); -// height = Stb2Bar.SecColumnRc.Height[secIndex]; -// width = Stb2Bar.SecColumnRc.Width[secIndex]; -// break; -// case FrameType.Girder: -// case FrameType.Beam: -// secIndex = Stb2Bar.SecBeamRc.Id.IndexOf(idSection); -// height = Stb2Bar.SecBeamRc.Depth[secIndex]; -// width = Stb2Bar.SecBeamRc.Width[secIndex]; -// break; -// } - -// shapeType = height <= 0 ? ShapeTypes.Pipe : ShapeTypes.BOX; -// } - -// // 配筋の作成 -// if (kind == KindsStructure.RC) { -// if (shapeType == ShapeTypes.BOX) { -// switch (frame.FrameType) { -// case FrameType.Column: -// case FrameType.Post: -// brep.AddRange(Column(secIndex, nodeStart, nodeEnd, width, height, eNum)); -// break; -// case FrameType.Girder: -// case FrameType.Beam: -// brep.AddRange(Beam(secIndex, nodeStart, nodeEnd, width, height, eNum)); -// break; -// } -// } -// } -// } -// return brep; -// } - -// private List Beam(int index, Point3d nodeStart, Point3d nodeEnd, double width, double height, int eNum) -// { -// var brep = new List(); -// return brep; -// } - -// private List Column(int index, Point3d nodeStart, Point3d nodeEnd, double width, double height, int eNum) -// { -// var brep = new List(); - -// // かぶり、鉄筋径はとりあえずで設定 -// const double kaburi = 50; -// const double bandD = 10; -// const double mainD = 25; -// const double bandSpace = 2 * kaburi + bandD; -// const double main1Space = bandSpace + bandD + mainD; -// double barSpace = Math.Max(1.5 * mainD, 25); // 鉄筋のあき -// double main2Space = main1Space + 2 * (mainD + barSpace); - -// Point3d[,] hoopPos = GetColumnCorner(nodeStart, nodeEnd, width - bandSpace, height - bandSpace); -// Point3d[,] main1Pos = GetColumnCorner(nodeStart, nodeEnd, width - main1Space, height - main1Space); -// Point3d[,] mainX2Pos = GetColumnCorner(nodeStart, nodeEnd, width - main1Space, height - main2Space); -// Point3d[,] mainY2Pos = GetColumnCorner(nodeStart, nodeEnd, width - main2Space, height - main1Space); - -// brep.AddRange(Hoop(hoopPos, bandD, index)); -// brep.AddRange(ColumnMainBar(main1Pos, mainX2Pos, mainY2Pos, barSpace, mainD)); - -// return brep; -// } - -// /// -// /// かぶりを考慮した部材の角のポジションを返す。 -// /// [0, n]はスタート側、[1, n]はエンド側 -// /// -// /// -// /// -// /// -// /// -// /// -// private static Point3d[,] GetColumnCorner(Point3d nodeStart, Point3d nodeEnd, double width, double height) -// { -// // Z 4 - 3 -// // ^ | 0 | -// // o > X 1 - 2 -// Point3d[,] cornerPoint = new Point3d[2, 5]; -// Point3d node = nodeStart; -// double dx = nodeEnd.X - nodeStart.X; -// double dy = nodeEnd.Y - nodeStart.Y; -// double dz = nodeEnd.Z - nodeStart.Z; -// double angleX = -1.0 * Math.Atan2(dx, dy); -// double angleZ = -1.0 * Math.Atan2(dz, dy); - -// for (int i = 0; i < 2; i++) { -// cornerPoint[i, 0] = node; -// cornerPoint[i, 1] = new Point3d(node.X - width / 2.0 * Math.Cos(angleX), -// node.Y - height / 2.0 * Math.Cos(angleZ), -// node.Z - width / 2.0 * Math.Sin(angleX) - height / 2.0 * Math.Sin(angleZ) -// ); -// cornerPoint[i, 2] = new Point3d(node.X + width / 2.0 * Math.Cos(angleX), -// node.Y - height / 2.0 * Math.Cos(angleZ), -// node.Z + width / 2.0 * Math.Sin(angleX) + height / 2.0 * Math.Sin(angleZ) -// ); -// cornerPoint[i, 3] = new Point3d(node.X + width / 2.0 * Math.Cos(angleX), -// node.Y + height / 2.0 * Math.Cos(angleZ), -// node.Z + width / 2.0 * Math.Sin(angleX) + height / 2.0 * Math.Sin(angleZ) -// ); -// cornerPoint[i, 4] = new Point3d(node.X - width / 2.0 * Math.Cos(angleX), -// node.Y + height / 2.0 * Math.Cos(angleZ), -// node.Z - width / 2.0 * Math.Sin(angleX) - height / 2.0 * Math.Sin(angleZ) -// ); -// node = nodeEnd; -// } -// return (cornerPoint); -// } - -// private static List Hoop(Point3d[,] cornerPos, double bandD, int index) -// { -// var brep = new List(); -// double pitch = Stb2Bar.SecColumnRc.BarList[index][5]; -// int dirXNum = Stb2Bar.SecColumnRc.BarList[index][6]; -// int dirYNum = Stb2Bar.SecColumnRc.BarList[index][7]; -// int sumBar = dirXNum + dirYNum; -// Curve crv = new LineCurve(cornerPos[0, 0], cornerPos[1, 0]); -// double distance = crv.GetLength(); -// List pts = new List(); - -// // 中子も含めたpointを求める。 -// Point3d[,] hoopPos = GetBandPos(cornerPos, dirXNum, dirYNum); - -// for (int i = 0; i < dirXNum + dirYNum; i++) -// { -// var rail = new LineCurve(hoopPos[0, 2*i], hoopPos[0, 2*i+1]); -// brep.AddRange(Brep.CreatePipe(rail, bandD / 2.0, true, PipeCapMode.Flat, true, Stb2Bar.LengthTolerance, Stb2Bar.AngleTolerance)); -// } -// for (int i = 0; i < dirXNum + dirYNum; i++) -// { -// var rail = new LineCurve(hoopPos[1, 2*i], hoopPos[1, 2*i+1]); -// brep.AddRange(Brep.CreatePipe(rail, bandD / 2.0, true, PipeCapMode.Flat, true, Stb2Bar.LengthTolerance, Stb2Bar.AngleTolerance)); -// } -// // 始点と終点の間のフープを作成 -// //for (int i = 0; i < dirXNum + dirYNum; i++) -// //{ -// // Point3d[] pts1; -// // Point3d[] pts2; -// // var crv1 = new LineCurve(hoopPos[0, 2 * i], hoopPos[1, 2 * i]); -// // var crv2 = new LineCurve(hoopPos[0, 2 * i + 1], hoopPos[1, 2 * i + 1]); -// // crv1.DivideByCount((int)(distance/pitch), true, out pts1); -// // crv2.DivideByCount((int)(distance/pitch), true, out pts2); - -// // for (int j = 0; j < (int)(distance/pitch); j++) -// // { -// // var rail = new LineCurve(pts1[j], pts2[j]); -// // brep.AddRange(Brep.CreatePipe(rail, bandD / 2.0, true, PipeCapMode.Flat, true, Stb2Bar.LengthTolerance, Stb2Bar.AngleTolerance)); -// // } -// //} - -// return brep; -// } - -// static Point3d[,] GetBandPos(Point3d[,] cornerPos, int dirXNum, int dirYNum) { -// Point3d[,] bandPos = new Point3d[2, 2 * (dirXNum + dirYNum)]; -// Point3d[] pts1; -// Point3d[] pts2; - -// // dir_X -// for (int j = 0; j < 2; j++) { -// var crv1 = new LineCurve(cornerPos[j, 1], cornerPos[j, 4]); -// var crv2 = new LineCurve(cornerPos[j, 2], cornerPos[j, 3]); - -// crv1.DivideByCount(dirXNum, true, out pts1); -// crv2.DivideByCount(dirXNum, true, out pts2); - -// for (int i = 0; i < dirXNum; i++) -// { -// bandPos[j, 2 * i] = pts1[i]; -// bandPos[j, 2 * i + 1] = pts2[i]; -// } -// } -// // dir_Y -// for (int j = 0; j < 2; j++) { -// var crv1 = new LineCurve(cornerPos[j, 1], cornerPos[j, 2]); -// var crv2 = new LineCurve(cornerPos[j, 4], cornerPos[j, 3]); - -// crv1.DivideByCount(dirXNum, true, out pts1); -// crv2.DivideByCount(dirXNum, true, out pts2); - -// for (int i = dirXNum; i < dirXNum + dirYNum; i++) -// { -// bandPos[j, 2 * i] = pts1[i - dirXNum]; -// bandPos[j, 2 * i + 1] = pts2[i - dirXNum]; -// } -// } - -// return (bandPos); -// } - -// private static List ColumnMainBar(Point3d[,] main1Pos, Point3d[,] mainX2Pos, Point3d[,] mainY2Pos, double barSpace, double mainD) -// { -// var brep = new List(); - -// return brep; -// } -// } -//} diff --git a/HoaryFox/Member/CreateBreps.cs b/HoaryFox/Member/CreateBreps.cs deleted file mode 100644 index 2104f7bb..00000000 --- a/HoaryFox/Member/CreateBreps.cs +++ /dev/null @@ -1,182 +0,0 @@ -using System; -using System.Collections.Generic; -using Rhino.Geometry; -using STBReader; -using STBReader.Member; -using STBReader.Section; - -namespace HoaryFox.Member -{ - public static class CreateBreps - { - public static IEnumerable FromEndPoint(StbData stbData, ShapeInfo shapeInfo, ShapeTypes shapeType, FrameType frameType) - { - Vector3d dVector = shapeInfo.NodeEnd - shapeInfo.NodeStart; - var angles = new List - { - -1 * Math.Atan2(dVector.Y, dVector.X), - -1 * Math.Atan2(dVector.Z, dVector.X) - }; - - List> origins = GetOriginPoints(frameType, shapeInfo, angles); - List breps = GetSecBrep(stbData, shapeType, origins, shapeInfo); - IEnumerable brepRot = ApplyRotation(breps, shapeInfo.Rotate, frameType, origins); - return brepRot; - } - - private static IEnumerable ApplyRotation(IReadOnlyCollection breps, double rotate, FrameType frameType, IReadOnlyList> origins) - { - double rotateAngle = rotate * Math.PI / 180d; - var rotationCenter = new Point3d[2]; - if (frameType == FrameType.Girder || frameType == FrameType.Beam) - { - rotationCenter[0] = new Point3d(origins[0][4]); - rotationCenter[1] = new Point3d(origins[0][4]); - } - else - { - rotationCenter[0] = new Point3d( - (origins[0][1].X + origins[0][4].X) / 2, (origins[0][1].Y + origins[0][4].Y) / 2, (origins[0][1].Z + origins[0][4].Z) / 2 - ); - rotationCenter[1] = new Point3d( - (origins[1][1].X + origins[1][4].X) / 2, (origins[1][1].Y + origins[1][4].Y) / 2, (origins[1][1].Z + origins[1][4].Z) / 2 - ); - } - var rotationAxis = new Vector3d(rotationCenter[1] - rotationCenter[0]); - foreach (Brep b in breps) - { - b.Rotate(rotateAngle, rotationAxis, rotationCenter[0]); - } - return breps; - } - - private static List GetSecBrep(StbData stbData, ShapeTypes shapeType, IReadOnlyList> origins, ShapeInfo shapeInfo) - { - var secBrep = new SteelCroSecBrep(stbData, origins); - switch (shapeType) - { - case ShapeTypes.H: - return secBrep.HShape(); - case ShapeTypes.BOX: - case ShapeTypes.BuildBOX: - case ShapeTypes.RollBOX: - case ShapeTypes.FB: - return secBrep.BoxShape(); - case ShapeTypes.Bar: - case ShapeTypes.Pipe: - return secBrep.PipeShape(shapeInfo); - case ShapeTypes.L: - return secBrep.LShape(); - case ShapeTypes.T: - return secBrep.TShape(); - case ShapeTypes.C: - return secBrep.CShape(); - default: - throw new ArgumentOutOfRangeException(nameof(shapeType), shapeType, null); - } - } - - // 梁は部材天端の中心が起点に対して、柱・ブレースは部材芯が起点なので場合分け - private static List> GetOriginPoints(FrameType frameType, ShapeInfo shapeInfo, IReadOnlyList angles) - { - var origin = new List>(); - switch (frameType) - { - case FrameType.Column: - case FrameType.Post: - origin.Add(FramePoints.Column(shapeInfo.NodeStart, shapeInfo.Width, shapeInfo.Height, angles[1])); - origin.Add(FramePoints.Column(shapeInfo.NodeEnd, shapeInfo.Width, shapeInfo.Height, angles[1])); - break; - case FrameType.Girder: - case FrameType.Beam: - origin.Add(FramePoints.Girder(shapeInfo.NodeStart, shapeInfo.Width, shapeInfo.Height, angles[0])); - origin.Add(FramePoints.Girder(shapeInfo.NodeEnd, shapeInfo.Width, shapeInfo.Height, angles[0])); - break; - case FrameType.Brace: - origin.Add(FramePoints.Brace(shapeInfo.NodeStart, shapeInfo.Width, angles[0])); - origin.Add(FramePoints.Brace(shapeInfo.NodeEnd, shapeInfo.Width, angles[0])); - break; - default: - throw new ArgumentOutOfRangeException(nameof(frameType), frameType, null); - } - - return origin; - } - - - public static Brep PlaneWithOpens(StbData stbData, Point3d[] pts, StbOpen open) - { - Brep brep; - double tol = stbData.ToleLength; - - try - { - brep = CreatePlaneBreps(pts, tol); - } - catch (NullReferenceException) - { - brep = null; - } - - Brep planeWithOpens = ApplyOpens(brep, pts, open, tol); - - return planeWithOpens; - } - - private static Brep ApplyOpens(Brep brep, IReadOnlyCollection pts, StbOpen open, double tol) - { - Brep planeWithOpens = brep; - if (open == null || pts.Count != 4 || open.Id.Count == 0 || brep == null) - { - return planeWithOpens; - } - - Surface surface = brep.Surfaces[0]; - var trimSurf = new List(); - - try - { - for (var i = 0; i < open.Id.Count; i++) - { - var intervalX = new Interval(open.PositionX[i], open.PositionX[i] + open.LengthX[i]); - var intervalY = new Interval(open.PositionY[i], open.PositionY[i] + open.LengthY[i]); - trimSurf.Add(surface.Trim(intervalX, intervalY).ToBrep()); - } - planeWithOpens = Brep.CreateBooleanDifference(new[] { brep }, trimSurf, tol)[0]; - } - catch (NullReferenceException) - { - planeWithOpens = brep; - } - - return planeWithOpens; - } - - private static Brep CreatePlaneBreps(IReadOnlyList pts, double tol) - { - switch (pts.Count) - { - case 3: - return Brep.CreateFromCornerPoints(pts[0], pts[1], pts[2], tol); - case 4: - return Brep.CreateFromCornerPoints(pts[0], pts[1], pts[2], pts[3], tol); - default: - var centerPt = new Point3d(); - - foreach (Point3d pt in pts) - { - centerPt.X += pt.X / pts.Count; - centerPt.Y += pt.Y / pts.Count; - centerPt.Z += pt.Z / pts.Count; - } - var brep = Brep.CreateFromCornerPoints(pts[0], pts[1], centerPt, tol); - for (var i = 0; i < pts.Count - 2; i++) - { - brep.Join(Brep.CreateFromCornerPoints(pts[i + 1], pts[i + 2], centerPt, tol), tol, false); - } - brep.Join(Brep.CreateFromCornerPoints(pts[pts.Count - 1], pts[0], centerPt, tol), tol, true); - return brep; - } - } - } -} diff --git a/HoaryFox/Member/CreateTag.cs b/HoaryFox/Member/CreateTag.cs deleted file mode 100644 index 2c773dbc..00000000 --- a/HoaryFox/Member/CreateTag.cs +++ /dev/null @@ -1,223 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Globalization; -using Grasshopper.GUI; -using Grasshopper.Kernel.Data; -using Grasshopper.Kernel.Types; -using Rhino.Geometry; -using STBReader; -using STBReader.Member; -using STBReader.Model; -using STBReader.Section; - -namespace HoaryFox.Member -{ - public class CreateTag - { - private readonly StbNodes _nodes; - private readonly StbSecColumnRc _colRc; - private readonly StbSecColumnS _colS; - private readonly StbSecBeamRc _beamRc; - private readonly StbSecBeamS _beamS; - private readonly StbSecBraceS _braceS; - private readonly StbSecSteel _secSteel; - public List Position { get; } = new List(); - - public CreateTag(StbNodes nodes, StbSecColumnRc colRc, StbSecColumnS colS, StbSecBeamRc beamRc, StbSecBeamS beamS, StbSecBraceS braceS, StbSecSteel secSteel) - { - _nodes = nodes; - _secSteel = secSteel; - _braceS = braceS; - _beamS = beamS; - _beamRc = beamRc; - _colS = colS; - _colRc = colRc; - } - - public GH_Structure FrameGHStructure(StbFrame frameData) - { - var ghSecStrings = new GH_Structure(); - - for (var eNum = 0; eNum < frameData.Id.Count; eNum++) - { - TagInfo tagInfo; - int idSection = frameData.IdSection[eNum]; - var ghPath = new GH_Path(new[] { eNum }); - KindsStructure kind = frameData.KindStructure[eNum]; - SetTagPosition(frameData, eNum); - - switch (kind) - { - case KindsStructure.Rc: - tagInfo = TagRc(frameData, idSection); - break; - case KindsStructure.S: - tagInfo = TagSteel(frameData, idSection); - break; - case KindsStructure.Src: - case KindsStructure.Cft: - case KindsStructure.Deck: - case KindsStructure.Precast: - case KindsStructure.Other: - throw new ArgumentException("Wrong kind structure"); - default: - throw new ArgumentOutOfRangeException(); - } - - ghSecStrings.Append(new GH_String(tagInfo.Name), ghPath); - ghSecStrings.Append(new GH_String(tagInfo.ShapeTypes.ToString()), ghPath); - ghSecStrings.Append(new GH_String(tagInfo.P1.ToString(CultureInfo.InvariantCulture)), ghPath); - ghSecStrings.Append(new GH_String(tagInfo.P2.ToString(CultureInfo.InvariantCulture)), ghPath); - ghSecStrings.Append(new GH_String(tagInfo.P3.ToString(CultureInfo.InvariantCulture)), ghPath); - ghSecStrings.Append(new GH_String(tagInfo.P4.ToString(CultureInfo.InvariantCulture)), ghPath); - } - - return ghSecStrings; - } - - public List> FrameList(StbFrame frameData) - { - var tags = new List>(); - - for (var eNum = 0; eNum < frameData.Id.Count; eNum++) - { - TagInfo tagInfo; - var tag = new List(); - int idSection = frameData.IdSection[eNum]; - KindsStructure kind = frameData.KindStructure[eNum]; - SetTagPosition(frameData, eNum); - - switch (kind) - { - case KindsStructure.Rc: - tagInfo = TagRc(frameData, idSection); - break; - case KindsStructure.S: - tagInfo = TagSteel(frameData, idSection); - break; - case KindsStructure.Src: - case KindsStructure.Cft: - case KindsStructure.Deck: - case KindsStructure.Precast: - case KindsStructure.Other: - throw new ArgumentException("Wrong kind structure"); - default: - throw new ArgumentOutOfRangeException(); - } - - tag.Add(tagInfo.Name); - tag.Add(tagInfo.ShapeTypes.ToString()); - tag.Add(tagInfo.P1.ToString()); - tag.Add(tagInfo.P2.ToString()); - tag.Add(tagInfo.P3.ToString()); - tag.Add(tagInfo.P4.ToString()); - tag.Add(kind.ToString()); - tags.Add(tag); - } - - return tags; - } - - private void SetTagPosition(StbFrame frame, int eNum) - { - // 始点と終点の座標取得 - int startIndex = _nodes.Id.IndexOf(frame.IdNodeStart[eNum]); - int endIndex = _nodes.Id.IndexOf(frame.IdNodeEnd[eNum]); - var nodeStart = new Point3d(_nodes.X[startIndex], _nodes.Y[startIndex], _nodes.Z[startIndex]); - var nodeEnd = new Point3d(_nodes.X[endIndex], _nodes.Y[endIndex], _nodes.Z[endIndex]); - Position.Add(new Point3d((nodeStart.X + nodeEnd.X) / 2.0, (nodeStart.Y + nodeEnd.Y) / 2.0, (nodeStart.Z + nodeEnd.Z) / 2.0)); - } - - private TagInfo TagSteel(StbFrame frame, int idSection) - { - int idShape; - string shapeName; - switch (frame.FrameType) - { - case FrameType.Column: - case FrameType.Post: - idShape = _colS.Id.IndexOf(idSection); - shapeName = _colS.Shape[idShape]; - break; - case FrameType.Girder: - case FrameType.Beam: - idShape = _beamS.Id.IndexOf(idSection); - shapeName = _beamS.Shape[idShape]; - break; - case FrameType.Brace: - idShape = _braceS.Id.IndexOf(idSection); - shapeName = _braceS.Shape[idShape]; - break; - case FrameType.Slab: - case FrameType.Wall: - case FrameType.Any: - throw new ArgumentException("Wrong frame type"); - default: - throw new ArgumentOutOfRangeException(); - } - - int secIndex = _secSteel.Name.IndexOf(shapeName); - var tagInfo = new TagInfo - { - Name = _secSteel.Name[secIndex], - ShapeTypes = _secSteel.ShapeType[secIndex], - P1 = _secSteel.P1[secIndex], - P2 = _secSteel.P2[secIndex], - P3 = _secSteel.P3[secIndex], - P4 = _secSteel.P4[secIndex] - }; - return tagInfo; - } - - private TagInfo TagRc(StbFrame frame, int idSection) - { - int secIndex; - TagInfo tagInfo; - switch (frame.FrameType) - { - case FrameType.Column: - case FrameType.Post: - secIndex = _colRc.Id.IndexOf(idSection); - tagInfo = new TagInfo(_colRc.Name[secIndex], _colRc.Height[secIndex], _colRc.Width[secIndex], 0d, 0d); - break; - case FrameType.Girder: - case FrameType.Beam: - secIndex = _beamRc.Id.IndexOf(idSection); - tagInfo = new TagInfo(_beamRc.Name[secIndex], _beamRc.Depth[secIndex], _beamRc.Width[secIndex], 0d, 0d); - break; - case FrameType.Brace: - case FrameType.Slab: - case FrameType.Wall: - case FrameType.Any: - throw new ArgumentException("Wrong frame type"); - default: - throw new ArgumentOutOfRangeException(); - } - tagInfo.ShapeTypes = tagInfo.P1 <= 0 ? ShapeTypes.Pipe : ShapeTypes.BOX; - return tagInfo; - } - } - - public class TagInfo - { - public string Name { get; set; } - public ShapeTypes ShapeTypes { get; set; } - public double P1 { get; set; } - public double P2 { get; set; } - public double P3 { get; set; } - public double P4 { get; set; } - - public TagInfo() - { - } - - public TagInfo(string name, double p1, double p2, double p3, double p4) - { - Name = name; - P1 = p1; - P2 = p2; - P3 = p3; - P4 = p4; - } - } -} diff --git a/HoaryFox/Member/FrameBreps.cs b/HoaryFox/Member/FrameBreps.cs deleted file mode 100644 index 10879705..00000000 --- a/HoaryFox/Member/FrameBreps.cs +++ /dev/null @@ -1,167 +0,0 @@ -using System; -using System.Collections.Generic; -using Rhino.Geometry; -using STBReader; -using STBReader.Member; -using STBReader.Model; -using STBReader.Section; - -namespace HoaryFox.Member -{ - public class FrameBreps - { - private readonly StbData _stbData; - - public FrameBreps(StbData stbData) - { - _stbData = stbData; - } - - public List Slab(StbSlabs slabs) - { - var brep = new List(); - var count = 0; - - foreach (List nodeIds in slabs.NodeIdList) - { - var index = new int[nodeIds.Count]; - var pts = new Point3d[nodeIds.Count]; - double offset = slabs.Level[count]; - - for (var i = 0; i < nodeIds.Count; i++) - { - index[i] = _stbData.Nodes.Id.IndexOf(nodeIds[i]); - pts[i] = new Point3d(_stbData.Nodes.X[index[i]], _stbData.Nodes.Y[index[i]], _stbData.Nodes.Z[index[i]] + offset); - } - - brep.Add(CreateBreps.PlaneWithOpens(_stbData, pts, null)); - count++; - } - - return brep; - } - - public List Wall(StbWalls walls) - { - var brep = new List(); - var count = 0; - - foreach (List nodeIds in walls.NodeIdList) - { - var index = new int[nodeIds.Count]; - var pts = new Point3d[nodeIds.Count]; - - for (var i = 0; i < nodeIds.Count; i++) - { - index[i] = _stbData.Nodes.Id.IndexOf(nodeIds[i]); - pts[i] = new Point3d(_stbData.Nodes.X[index[i]], _stbData.Nodes.Y[index[i]], _stbData.Nodes.Z[index[i]]); - } - - brep.Add(CreateBreps.PlaneWithOpens(_stbData, pts, walls.Opens[count])); - count++; - } - - return brep; - } - - public List Frame(StbFrame frameData) - { - var brep = new List(); - - double height = -1; - double width = -1; - var shape = string.Empty; - var shapeType = ShapeTypes.H; - - for (var eNum = 0; eNum < frameData.Id.Count; eNum++) - { - int idSection = frameData.IdSection[eNum]; - KindsStructure kind = frameData.KindStructure[eNum]; - double rotate = frameData.Rotate[eNum]; - - // 始点と終点の座標取得 - int nodeIndexStart = _stbData.Nodes.Id.IndexOf(frameData.IdNodeStart[eNum]); - int nodeIndexEnd = _stbData.Nodes.Id.IndexOf(frameData.IdNodeEnd[eNum]); - var nodeStart = new Point3d(_stbData.Nodes.X[nodeIndexStart], _stbData.Nodes.Y[nodeIndexStart], _stbData.Nodes.Z[nodeIndexStart]); - var nodeEnd = new Point3d(_stbData.Nodes.X[nodeIndexEnd], _stbData.Nodes.Y[nodeIndexEnd], _stbData.Nodes.Z[nodeIndexEnd]); - - int secIndex; - switch (kind) - { - case KindsStructure.Rc: - switch (frameData.FrameType) - { - case FrameType.Column: - case FrameType.Post: - secIndex = _stbData.SecColumnRc.Id.IndexOf(idSection); - height = _stbData.SecColumnRc.Height[secIndex]; - width = _stbData.SecColumnRc.Width[secIndex]; - break; - case FrameType.Girder: - case FrameType.Beam: - secIndex = _stbData.SecBeamRc.Id.IndexOf(idSection); - height = _stbData.SecBeamRc.Depth[secIndex]; - width = _stbData.SecBeamRc.Width[secIndex]; - break; - case FrameType.Brace: - case FrameType.Slab: - case FrameType.Wall: - case FrameType.Any: - break; - default: - throw new ArgumentOutOfRangeException(); - } - - shapeType = height <= 0 ? ShapeTypes.Pipe : ShapeTypes.BOX; - break; - case KindsStructure.S: - { - int idShape; - switch (frameData.FrameType) - { - case FrameType.Column: - case FrameType.Post: - idShape = _stbData.SecColumnS.Id.IndexOf(idSection); - shape = _stbData.SecColumnS.Shape[idShape]; - break; - case FrameType.Girder: - case FrameType.Beam: - idShape = _stbData.SecBeamS.Id.IndexOf(idSection); - shape = _stbData.SecBeamS.Shape[idShape]; - break; - case FrameType.Brace: - idShape = _stbData.SecBraceS.Id.IndexOf(idSection); - shape = _stbData.SecBraceS.Shape[idShape]; - break; - case FrameType.Slab: - case FrameType.Wall: - case FrameType.Any: - break; - default: - throw new ArgumentOutOfRangeException(); - } - - secIndex = _stbData.SecSteel.Name.IndexOf(shape); - height = _stbData.SecSteel.P1[secIndex]; - width = _stbData.SecSteel.P2[secIndex]; - shapeType = _stbData.SecSteel.ShapeType[secIndex]; - break; - } - case KindsStructure.Src: - case KindsStructure.Cft: - case KindsStructure.Deck: - case KindsStructure.Precast: - case KindsStructure.Other: - break; - default: - throw new ArgumentOutOfRangeException(); - } - - var shapeInfo = new ShapeInfo(nodeStart, nodeEnd, height, width, rotate); - brep.AddRange(CreateBreps.FromEndPoint(_stbData, shapeInfo, shapeType, frameData.FrameType)); - } - - return brep; - } - } -} diff --git a/HoaryFox/Member/FrameLines.cs b/HoaryFox/Member/FrameLines.cs deleted file mode 100644 index 511693b3..00000000 --- a/HoaryFox/Member/FrameLines.cs +++ /dev/null @@ -1,65 +0,0 @@ -using System.Collections.Generic; -using System.Linq; -using Rhino.Geometry; -using STBReader; -using STBReader.Member; -using STBReader.Model; - -namespace HoaryFox.Member -{ - public class FrameLines - { - private readonly StbData _stbData; - private readonly StbNodes _nodes; - - public FrameLines(StbData stbData) - { - _stbData = stbData; - _nodes = stbData.Nodes; - } - - public List Columns() - { - return CreateFrameLines(_stbData.Columns); - } - - public List Girders() - { - return CreateFrameLines(_stbData.Girders); - } - - public List Posts() - { - return CreateFrameLines(_stbData.Posts); - } - - public List Beams() - { - return CreateFrameLines(_stbData.Beams); - } - - public List Braces() - { - return CreateFrameLines(_stbData.Braces); - } - - public List Nodes() - { - return _nodes.Position.Select(point => new Point3d(point.X, point.Y, point.Z)).ToList(); - } - - private List CreateFrameLines(StbFrame frame) - { - var lines = new List(); - for (var i = 0; i < frame.Id.Count; i++) - { - int idNodeStart = _nodes.Id.IndexOf(frame.IdNodeStart[i]); - int idNodeEnd = _stbData.Nodes.Id.IndexOf(frame.IdNodeEnd[i]); - var ptStart = new Point3d(_nodes.X[idNodeStart], _nodes.Y[idNodeStart], _nodes.Z[idNodeStart]); - var ptEnd = new Point3d(_nodes.X[idNodeEnd], _nodes.Y[idNodeEnd], _nodes.Z[idNodeEnd]); - lines.Add(new Line(ptStart, ptEnd)); - } - return lines; - } - } -} diff --git a/HoaryFox/Member/FramePoints.cs b/HoaryFox/Member/FramePoints.cs deleted file mode 100644 index f6e6248d..00000000 --- a/HoaryFox/Member/FramePoints.cs +++ /dev/null @@ -1,57 +0,0 @@ -using System; -using System.Collections.Generic; -using Rhino.Geometry; - -namespace HoaryFox.Member -{ - public static class FramePoints - { - // Y 3 - 4 - 5 - // ^ | | | - // o > X 0 - 1 - 2 - public static List Column(Point3d node, double width, double height, double angle) - { - var points = new List - { - new Point3d(node.X - width / 2 * Math.Sin(angle), node.Y - height / 2, node.Z - width / 2 * Math.Cos(angle)), - new Point3d(node.X, node.Y + height / 2, node.Z), - new Point3d(node.X + width / 2 * Math.Sin(angle), node.Y - height / 2, node.Z + width / 2 * Math.Cos(angle)), - new Point3d(node.X - width / 2 * Math.Sin(angle), node.Y + height / 2, node.Z - width / 2 * Math.Cos(angle)), - new Point3d(node.X, node.Y - height / 2, node.Z), - new Point3d(node.X + width / 2 * Math.Sin(angle), node.Y + height / 2, node.Z + width / 2 * Math.Cos(angle)) - }; - - return points; - } - - public static List Girder(Point3d node, double width, double height, double angle) - { - var points = new List - { - new Point3d(node.X + width / 2 * Math.Sin(angle), node.Y + width / 2 * Math.Cos(angle), node.Z - height), - new Point3d(node.X, node.Y, node.Z - height), - new Point3d(node.X - width / 2 * Math.Sin(angle), node.Y - width / 2 * Math.Cos(angle), node.Z - height), - new Point3d(node.X + width / 2 * Math.Sin(angle), node.Y + width / 2 * Math.Cos(angle), node.Z), - new Point3d(node.X, node.Y, node.Z), - new Point3d(node.X - width / 2 * Math.Sin(angle), node.Y - width / 2 * Math.Cos(angle), node.Z) - }; - - return points; - } - - public static List Brace(Point3d node, double width, double angle) - { - var points = new List - { - new Point3d(node.X + width / 2 * Math.Sin(angle), node.Y + width / 2 * Math.Cos(angle), node.Z - width / 2), - new Point3d(node.X, node.Y, node.Z - width / 2), - new Point3d(node.X - width / 2 * Math.Sin(angle), node.Y - width / 2 * Math.Cos(angle), node.Z - width / 2), - new Point3d(node.X + width / 2 * Math.Sin(angle), node.Y + width / 2 * Math.Cos(angle), node.Z + width / 2), - new Point3d(node.X, node.Y, node.Z + width / 2), - new Point3d(node.X - width / 2 * Math.Sin(angle), node.Y - width / 2 * Math.Cos(angle), node.Z + width / 2) - }; - - return points; - } - } -} diff --git a/HoaryFox/Member/ShapeInfo.cs b/HoaryFox/Member/ShapeInfo.cs deleted file mode 100644 index 96166e67..00000000 --- a/HoaryFox/Member/ShapeInfo.cs +++ /dev/null @@ -1,56 +0,0 @@ -using System; -using Rhino.Geometry; - -namespace HoaryFox.Member -{ - public readonly struct ShapeInfo : IEquatable - { - public Point3d NodeStart { get; } - public Point3d NodeEnd { get; } - public double Height { get; } - public double Width { get; } - public double Rotate { get; } - - public ShapeInfo(Point3d nodeStart, Point3d nodeEnd, double height, double width, double rotate) - { - NodeStart = nodeStart; - NodeEnd = nodeEnd; - Height = height; - Width = width; - Rotate = rotate; - } - - public bool Equals(ShapeInfo other) - { - return NodeStart.Equals(other.NodeStart) && NodeEnd.Equals(other.NodeEnd) && Height.Equals(other.Height) && Width.Equals(other.Width) && Rotate.Equals(other.Rotate); - } - - public override bool Equals(object obj) - { - return obj is ShapeInfo other && Equals(other); - } - - public override int GetHashCode() - { - unchecked - { - int hashCode = NodeStart.GetHashCode(); - hashCode = (hashCode * 397) ^ NodeEnd.GetHashCode(); - hashCode = (hashCode * 397) ^ Height.GetHashCode(); - hashCode = (hashCode * 397) ^ Width.GetHashCode(); - hashCode = (hashCode * 397) ^ Rotate.GetHashCode(); - return hashCode; - } - } - - public static bool operator ==(ShapeInfo left, ShapeInfo right) - { - return left.Equals(right); - } - - public static bool operator !=(ShapeInfo left, ShapeInfo right) - { - return !(left == right); - } - } -} diff --git a/HoaryFox/Member/SteelCroSecBrep.cs b/HoaryFox/Member/SteelCroSecBrep.cs deleted file mode 100644 index 2f87462c..00000000 --- a/HoaryFox/Member/SteelCroSecBrep.cs +++ /dev/null @@ -1,140 +0,0 @@ -using System.Collections.Generic; -using System.Linq; -using System.Security.Permissions; -using Rhino.Geometry; -using STBReader; - -namespace HoaryFox.Member -{ - public class SteelCroSecBrep - { - private readonly StbData _stbData; - private readonly double _tol; - private readonly List _pointStart; - private readonly List _pointEnd; - - public SteelCroSecBrep(StbData stbData, IReadOnlyList> origins) - { - _stbData = stbData; - _tol = _stbData.ToleLength; - _pointStart = origins[0]; - _pointEnd = origins[1]; - } - - public List CShape() - { - var breps = new List - { - Brep.CreateFromCornerPoints(_pointStart[2], _pointStart[1], _pointEnd[1], _pointEnd[2], _tol), - Brep.CreateFromCornerPoints(_pointStart[1], _pointStart[4], _pointEnd[4], _pointEnd[1], _tol), - Brep.CreateFromCornerPoints(_pointStart[4], _pointStart[5], _pointEnd[5], _pointEnd[4], _tol) - }; - List joinedBrep = Brep.JoinBreps(breps, _tol).ToList(); - - return joinedBrep; - } - - public List TShape() - { - Point3d[] pointIs = MakeHInnerPoint(_pointStart); - Point3d[] pointIe = MakeHInnerPoint(_pointEnd); - - var breps = new List - { - Brep.CreateFromCornerPoints(_pointStart[3], _pointStart[5], _pointEnd[5], _pointEnd[3], _tol), - Brep.CreateFromCornerPoints(_pointStart[5], pointIs[5], pointIe[5], _pointEnd[5], _tol), - Brep.CreateFromCornerPoints(pointIs[5], pointIs[4], pointIe[4], pointIe[5], _tol), - Brep.CreateFromCornerPoints(pointIs[4], pointIs[1], pointIe[1], pointIe[4], _tol), - Brep.CreateFromCornerPoints(pointIs[1], pointIs[0], pointIe[0], pointIe[1], _tol), - Brep.CreateFromCornerPoints(pointIs[0], pointIs[3], pointIe[3], pointIe[0], _tol), - Brep.CreateFromCornerPoints(pointIs[3], pointIs[2], pointIe[2], pointIe[3], _tol), - Brep.CreateFromCornerPoints(pointIs[2], _pointStart[3], _pointEnd[3], pointIe[2], _tol), - }; - List joinedBrep = Brep.JoinBreps(breps, _tol).ToList(); - - return joinedBrep.Select(b => b.CapPlanarHoles(_tol)).ToList(); - } - - public List HShape() - { - Point3d[] pointIs = MakeHInnerPoint(_pointStart); - Point3d[] pointIe = MakeHInnerPoint(_pointEnd); - - var breps = new List - { - Brep.CreateFromCornerPoints(_pointStart[3], _pointStart[5], _pointEnd[5], _pointEnd[3], _tol), - Brep.CreateFromCornerPoints(_pointStart[5], pointIs[7], pointIe[7], _pointEnd[5], _tol), - Brep.CreateFromCornerPoints(pointIs[7], pointIs[6], pointIe[6], pointIe[7], _tol), - Brep.CreateFromCornerPoints(pointIs[6], pointIs[2], pointIe[2], pointIe[6], _tol), - Brep.CreateFromCornerPoints(pointIs[2], pointIs[3], pointIe[3], pointIe[2], _tol), - Brep.CreateFromCornerPoints(pointIs[3], _pointStart[2], _pointEnd[2], pointIe[3], _tol), - Brep.CreateFromCornerPoints(_pointStart[2], _pointStart[0], _pointEnd[0], _pointEnd[2], _tol), - Brep.CreateFromCornerPoints(_pointStart[0], pointIs[0], pointIe[0], _pointEnd[0], _tol), - Brep.CreateFromCornerPoints(pointIs[0], pointIs[1], pointIe[1], pointIe[0], _tol), - Brep.CreateFromCornerPoints(pointIs[1], pointIs[5], pointIe[5], pointIe[1], _tol), - Brep.CreateFromCornerPoints(pointIs[5], pointIs[4], pointIe[4], pointIe[5], _tol), - Brep.CreateFromCornerPoints(pointIs[4], _pointStart[3], _pointEnd[3], pointIe[4], _tol), - }; - List joinedBrep = Brep.JoinBreps(breps, _tol).ToList(); - - return joinedBrep.Select(b => b.CapPlanarHoles(_tol)).ToList(); - } - - // o3 - o4 - o5 - // | | - // i4 - i5 i6 - i7 - // | | - // Y i0 - i1 i2 - i3 - // ^ | | - // o > X o0 - o1 - o2 - private static Point3d[] MakeHInnerPoint(IReadOnlyList outPoints) - { - var points = new Point3d[8]; - - points[0] = 0.95 * outPoints[0] + 0.05 * outPoints[3]; - points[3] = 0.95 * outPoints[2] + 0.05 * outPoints[5]; - points[4] = 0.95 * outPoints[3] + 0.05 * outPoints[0]; - points[7] = 0.95 * outPoints[5] + 0.05 * outPoints[2]; - - points[1] = 0.55 * points[0] + 0.45 * points[3]; - points[2] = 0.55 * points[3] + 0.45 * points[0]; - points[5] = 0.55 * points[4] + 0.45 * points[7]; - points[6] = 0.55 * points[7] + 0.45 * points[4]; - - return points; - } - - public List BoxShape() - { - var breps = new List - { - Brep.CreateFromCornerPoints(_pointStart[3], _pointStart[5], _pointEnd[5], _pointEnd[3], _tol), - Brep.CreateFromCornerPoints(_pointStart[0], _pointStart[2], _pointEnd[2], _pointEnd[0], _tol), - Brep.CreateFromCornerPoints(_pointStart[3], _pointStart[0], _pointEnd[0], _pointEnd[3], _tol), - Brep.CreateFromCornerPoints(_pointStart[5], _pointStart[2], _pointEnd[2], _pointEnd[5], _tol) - }; - List joinedBrep = Brep.JoinBreps(breps, _tol).ToList(); - - return joinedBrep.Select(b => b.CapPlanarHoles(_tol)).ToList(); - } - - public List LShape() - { - var breps = new List - { - Brep.CreateFromCornerPoints(_pointStart[0], _pointStart[2], _pointEnd[2], _pointEnd[0], _tol), - Brep.CreateFromCornerPoints(_pointStart[5], _pointStart[2], _pointEnd[2], _pointEnd[5], _tol) - }; - List joinedBrep = Brep.JoinBreps(breps, _tol).ToList(); - - return joinedBrep; - } - - public List PipeShape(ShapeInfo shapeInfo) - { - var brep = new List(); - brep.AddRange(Brep.CreatePipe(new LineCurve(shapeInfo.NodeStart, shapeInfo.NodeEnd), shapeInfo.Width / 2, true, PipeCapMode.Flat, true, _stbData.ToleLength, _stbData.ToleAngle)); - return brep; - } - } -} diff --git a/HoaryFox/Misc.cs b/HoaryFox/Misc.cs deleted file mode 100644 index c902d355..00000000 --- a/HoaryFox/Misc.cs +++ /dev/null @@ -1,39 +0,0 @@ -using System.Collections.Generic; -using System.Drawing; -using System.Linq; -using HoaryFox.Member; -using Rhino; -using Rhino.DocObjects; -using STBReader; -using STBReader.Member; - -namespace HoaryFox -{ - public static class Misc - { - public static List> GetTag(StbData stbData, StbFrame stbFrame) - { - var tags = new CreateTag(stbData.Nodes, stbData.SecColumnRc, stbData.SecColumnS, stbData.SecBeamRc, stbData.SecBeamS, stbData.SecBraceS, stbData.SecSteel); - return tags.FrameList(stbFrame); - } - - public static void MakeParentLayers(RhinoDoc activeDoc, IEnumerable parentLayerNames, IReadOnlyList layerColors) - { - foreach ((string name, int index) in parentLayerNames.Select((name, index) => (name, index))) - { - var parentLayer = new Layer { Name = name, Color = layerColors[index] }; - activeDoc.Layers.Add(parentLayer); - } - } - public static void SetFrameUserString(ref ObjectAttributes objAttr, IReadOnlyList tag) - { - objAttr.SetUserString("Tag", tag[0]); - objAttr.SetUserString("ShapeType", tag[1]); - objAttr.SetUserString("Height", tag[2]); - objAttr.SetUserString("Width", tag[3]); - objAttr.SetUserString("t1", tag[4]); - objAttr.SetUserString("t2", tag[5]); - objAttr.SetUserString("Kind", tag[6]); - } - } -} From f42ace58e1f10248eb8f379cbf10a2f10d11a7a7 Mon Sep 17 00:00:00 2001 From: hiron Date: Sun, 1 Aug 2021 13:16:40 +0900 Subject: [PATCH 060/162] Rename category name HoaryFox2 to HoaryFox --- HoaryFox/Component/Geometry/Stb2Brep.cs | 2 +- HoaryFox/Component/Geometry/Stb2Line.cs | 2 +- HoaryFox/Component/IO/StbLoader.cs | 2 +- HoaryFox/Component/Tag/Name/BeamNameTag.cs | 2 +- HoaryFox/Component/Tag/Name/BraceNameTag.cs | 2 +- HoaryFox/Component/Tag/Name/ColumnNameTag.cs | 2 +- HoaryFox/Component/Tag/Name/GirderNameTag.cs | 2 +- HoaryFox/Component/Tag/Name/PostNameTag.cs | 2 +- HoaryFox/Component/Tag/Section/BeamSecTag.cs | 2 +- HoaryFox/Component/Tag/Section/BraceSecTag.cs | 2 +- HoaryFox/Component/Tag/Section/ColumnSecTag.cs | 2 +- HoaryFox/Component/Tag/Section/GirderSecTag.cs | 2 +- HoaryFox/Component/Tag/Section/PostSecTag.cs | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/HoaryFox/Component/Geometry/Stb2Brep.cs b/HoaryFox/Component/Geometry/Stb2Brep.cs index 5936e280..02382f42 100644 --- a/HoaryFox/Component/Geometry/Stb2Brep.cs +++ b/HoaryFox/Component/Geometry/Stb2Brep.cs @@ -20,7 +20,7 @@ public class Stb2Brep : GH_Component public Stb2Brep() : base("Stb to Brep", "S2B", "Display ST-Bridge model in Brep", - "HoaryFox2", "Geometry") + "HoaryFox", "Geometry") { } diff --git a/HoaryFox/Component/Geometry/Stb2Line.cs b/HoaryFox/Component/Geometry/Stb2Line.cs index ba742e11..79a73fc1 100644 --- a/HoaryFox/Component/Geometry/Stb2Line.cs +++ b/HoaryFox/Component/Geometry/Stb2Line.cs @@ -21,7 +21,7 @@ public class Stb2Line : GH_Component public Stb2Line() : base("Stb to Line", "S2L", "Display ST-Bridge model in line", - "HoaryFox2", "Geometry") + "HoaryFox", "Geometry") { } diff --git a/HoaryFox/Component/IO/StbLoader.cs b/HoaryFox/Component/IO/StbLoader.cs index 4977a6d2..b7ea3b58 100644 --- a/HoaryFox/Component/IO/StbLoader.cs +++ b/HoaryFox/Component/IO/StbLoader.cs @@ -12,7 +12,7 @@ public class StbLoader : GH_Component public StbLoader() : base("Load STB file", "Loader", "Read ST-Bridge file", - "HoaryFox2", "IO") + "HoaryFox", "IO") { } diff --git a/HoaryFox/Component/Tag/Name/BeamNameTag.cs b/HoaryFox/Component/Tag/Name/BeamNameTag.cs index 67cd3228..763554b6 100644 --- a/HoaryFox/Component/Tag/Name/BeamNameTag.cs +++ b/HoaryFox/Component/Tag/Name/BeamNameTag.cs @@ -20,7 +20,7 @@ public class BeamNameTag : GH_Component public BeamNameTag() : base("Beam Name Tag", "BeamTag", "Display Beam Name Tag", - "HoaryFox2", "NameTag") + "HoaryFox", "NameTag") { } diff --git a/HoaryFox/Component/Tag/Name/BraceNameTag.cs b/HoaryFox/Component/Tag/Name/BraceNameTag.cs index d182251d..0fb74205 100644 --- a/HoaryFox/Component/Tag/Name/BraceNameTag.cs +++ b/HoaryFox/Component/Tag/Name/BraceNameTag.cs @@ -20,7 +20,7 @@ public class BraceNameTag : GH_Component public BraceNameTag() : base("Brace Name Tag", "BraceTag", "Display Brace Name Tag", - "HoaryFox2", "NameTag") + "HoaryFox", "NameTag") { } diff --git a/HoaryFox/Component/Tag/Name/ColumnNameTag.cs b/HoaryFox/Component/Tag/Name/ColumnNameTag.cs index ce7ea27e..8903bf52 100644 --- a/HoaryFox/Component/Tag/Name/ColumnNameTag.cs +++ b/HoaryFox/Component/Tag/Name/ColumnNameTag.cs @@ -20,7 +20,7 @@ public class ColumnNameTag : GH_Component public ColumnNameTag() : base("Column Name Tag", "ColumnTag", "Display Column Name Tag", - "HoaryFox2", "NameTag") + "HoaryFox", "NameTag") { } diff --git a/HoaryFox/Component/Tag/Name/GirderNameTag.cs b/HoaryFox/Component/Tag/Name/GirderNameTag.cs index f8c0ab7d..2e76df54 100644 --- a/HoaryFox/Component/Tag/Name/GirderNameTag.cs +++ b/HoaryFox/Component/Tag/Name/GirderNameTag.cs @@ -20,7 +20,7 @@ public class GirderNameTag : GH_Component public GirderNameTag() : base("Girder Name Tag", "GirderTag", "Display Girder Name Tag", - "HoaryFox2", "NameTag") + "HoaryFox", "NameTag") { } diff --git a/HoaryFox/Component/Tag/Name/PostNameTag.cs b/HoaryFox/Component/Tag/Name/PostNameTag.cs index 5733aabf..431c34cc 100644 --- a/HoaryFox/Component/Tag/Name/PostNameTag.cs +++ b/HoaryFox/Component/Tag/Name/PostNameTag.cs @@ -20,7 +20,7 @@ public class PostNameTag : GH_Component public PostNameTag() : base("Post Name Tag", "PostTag", "Display Post Name Tag", - "HoaryFox2", "NameTag") + "HoaryFox", "NameTag") { } diff --git a/HoaryFox/Component/Tag/Section/BeamSecTag.cs b/HoaryFox/Component/Tag/Section/BeamSecTag.cs index ae8a8dd5..a6ead9a2 100644 --- a/HoaryFox/Component/Tag/Section/BeamSecTag.cs +++ b/HoaryFox/Component/Tag/Section/BeamSecTag.cs @@ -22,7 +22,7 @@ public class BeamSecTag : GH_Component public BeamSecTag() : base("Beam Section Tag", "BeamSec", "Display Beam Section Tag", - "HoaryFox2", "Section") + "HoaryFox", "Section") { } diff --git a/HoaryFox/Component/Tag/Section/BraceSecTag.cs b/HoaryFox/Component/Tag/Section/BraceSecTag.cs index 5ffbfcb8..c642cab4 100644 --- a/HoaryFox/Component/Tag/Section/BraceSecTag.cs +++ b/HoaryFox/Component/Tag/Section/BraceSecTag.cs @@ -22,7 +22,7 @@ public class BraceSecTag : GH_Component public BraceSecTag() : base("Brace Section Tag", "BraceSec", "Display Brace Section Tag", - "HoaryFox2", "Section") + "HoaryFox", "Section") { } diff --git a/HoaryFox/Component/Tag/Section/ColumnSecTag.cs b/HoaryFox/Component/Tag/Section/ColumnSecTag.cs index 93a15dbf..4946e42b 100644 --- a/HoaryFox/Component/Tag/Section/ColumnSecTag.cs +++ b/HoaryFox/Component/Tag/Section/ColumnSecTag.cs @@ -22,7 +22,7 @@ public class ColumnSecTag : GH_Component public ColumnSecTag() : base("Column Section Tag", "ColumnSec", "Display Column Section Tag", - "HoaryFox2", "Section") + "HoaryFox", "Section") { } diff --git a/HoaryFox/Component/Tag/Section/GirderSecTag.cs b/HoaryFox/Component/Tag/Section/GirderSecTag.cs index 7074f740..954e68d9 100644 --- a/HoaryFox/Component/Tag/Section/GirderSecTag.cs +++ b/HoaryFox/Component/Tag/Section/GirderSecTag.cs @@ -22,7 +22,7 @@ public class GirderSecTag : GH_Component public GirderSecTag() : base("Girder Section Tag", "GirderSec", "Display Girder Section Tag", - "HoaryFox2", "Section") + "HoaryFox", "Section") { } diff --git a/HoaryFox/Component/Tag/Section/PostSecTag.cs b/HoaryFox/Component/Tag/Section/PostSecTag.cs index a395b436..65aece72 100644 --- a/HoaryFox/Component/Tag/Section/PostSecTag.cs +++ b/HoaryFox/Component/Tag/Section/PostSecTag.cs @@ -22,7 +22,7 @@ public class PostSecTag : GH_Component public PostSecTag() : base("Post Section Tag", "PostSec", "Display Post Section Tag", - "HoaryFox2", "Section") + "HoaryFox", "Section") { } From 4b5cf1c6aba1b60fa3b525109f589f847ea97906 Mon Sep 17 00:00:00 2001 From: hiron Date: Sun, 1 Aug 2021 13:16:53 +0900 Subject: [PATCH 061/162] Update CI build settings --- .github/workflows/dotnet-grasshopper.yml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/workflows/dotnet-grasshopper.yml b/.github/workflows/dotnet-grasshopper.yml index c0b610e8..734dd027 100644 --- a/.github/workflows/dotnet-grasshopper.yml +++ b/.github/workflows/dotnet-grasshopper.yml @@ -47,8 +47,7 @@ jobs: - name: Copy karambaConnect to /HoaryFox/bin dir shell: powershell run: | - cp ./KarambaConnect/bin/KarambaConnect.gha ./HoaryFox/bin/KarambaConnect.gha - cp ./KarambaConnect/bin/STBDotNet.dll ./HoaryFox/bin/STBDotNet.dll + cp ./KarambaConnect/bin/Release/net48/KarambaConnect.gha ./HoaryFox/bin/Release/net48/KarambaConnect.gha - name: Upload release build of plugin as artefact if: ${{ matrix.configuration == 'Release' }} # Only upload gha from a release build @@ -56,9 +55,8 @@ jobs: with: name: HoaryFox path: | - ./HoaryFox/bin/HoaryFox.gha - ./HoaryFox/bin/KarambaConnect.gha - ./HoaryFox/bin/STBReader.dll - ./HoaryFox/bin/STBDotNet.dll + ./HoaryFox/bin/Release/net48/HoaryFox.gha + ./HoaryFox/bin/Release/net48/KarambaConnect.gha + ./HoaryFox/bin/Release/net48/STBDotNet.dll From dfbc423cd4a0749f1a482819feeae80e4d0a38a6 Mon Sep 17 00:00:00 2001 From: hiron Date: Sun, 1 Aug 2021 13:20:25 +0900 Subject: [PATCH 062/162] Fix CI build error to set matrix.configuration setting --- .github/workflows/dotnet-grasshopper.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/dotnet-grasshopper.yml b/.github/workflows/dotnet-grasshopper.yml index 734dd027..9a8748e9 100644 --- a/.github/workflows/dotnet-grasshopper.yml +++ b/.github/workflows/dotnet-grasshopper.yml @@ -45,6 +45,7 @@ jobs: Configuration: ${{ matrix.configuration }} - name: Copy karambaConnect to /HoaryFox/bin dir + if: ${{ matrix.configuration == 'Release' }} # Only upload gha from a release build shell: powershell run: | cp ./KarambaConnect/bin/Release/net48/KarambaConnect.gha ./HoaryFox/bin/Release/net48/KarambaConnect.gha From 55107ed09baeafc1519ddc8db95182d2e8cbbf8e Mon Sep 17 00:00:00 2001 From: hiron Date: Sun, 1 Aug 2021 18:26:18 +0900 Subject: [PATCH 063/162] Add bake figure size infomation --- HoaryFox/Component/Geometry/Stb2Brep.cs | 2 +- HoaryFox/Component/Geometry/Stb2Line.cs | 2 +- HoaryFox/Component/Utils/TagUtils.cs | 174 +++++++++++++++++++++++- 3 files changed, 170 insertions(+), 8 deletions(-) diff --git a/HoaryFox/Component/Geometry/Stb2Brep.cs b/HoaryFox/Component/Geometry/Stb2Brep.cs index 02382f42..5bc66fa5 100644 --- a/HoaryFox/Component/Geometry/Stb2Brep.cs +++ b/HoaryFox/Component/Geometry/Stb2Brep.cs @@ -88,7 +88,7 @@ private void BakeBrep() Color[] layerColors = { Color.Red, Color.Green, Color.Aquamarine, Color.LightCoral, Color.MediumPurple, Color.DarkGray, Color.CornflowerBlue }; GeometryBaker.MakeParentLayers(activeDoc, parentLayerNames, layerColors); - Dictionary[][] infoArray = Utils.TagUtils.GetAllSectionInfoArray(_stBridge.StbModel.StbMembers); + Dictionary[][] infoArray = Utils.TagUtils.GetAllSectionInfoArray(_stBridge.StbModel.StbMembers, _stBridge.StbModel.StbSections); foreach ((List breps, int index) in _brepList.Select((frameBrep, index) => (frameBrep, index))) { diff --git a/HoaryFox/Component/Geometry/Stb2Line.cs b/HoaryFox/Component/Geometry/Stb2Line.cs index 79a73fc1..362ffb03 100644 --- a/HoaryFox/Component/Geometry/Stb2Line.cs +++ b/HoaryFox/Component/Geometry/Stb2Line.cs @@ -73,7 +73,7 @@ private void BakeLine() Color[] layerColors = { Color.Red, Color.Green, Color.Aquamarine, Color.LightCoral, Color.MediumPurple, Color.DarkGray, Color.CornflowerBlue }; GeometryBaker.MakeParentLayers(activeDoc, parentLayerNames, layerColors); - Dictionary[][] infoArray = Utils.TagUtils.GetAllSectionInfoArray(_stBridge.StbModel.StbMembers); + Dictionary[][] infoArray = Utils.TagUtils.GetAllSectionInfoArray(_stBridge.StbModel.StbMembers, _stBridge.StbModel.StbSections); foreach ((List lines, int index) in _lineList.Select((frameBrep, index) => (frameBrep, index))) { diff --git a/HoaryFox/Component/Utils/TagUtils.cs b/HoaryFox/Component/Utils/TagUtils.cs index eae21712..f7400e5c 100644 --- a/HoaryFox/Component/Utils/TagUtils.cs +++ b/HoaryFox/Component/Utils/TagUtils.cs @@ -38,6 +38,15 @@ internal static IEnumerable GetBeamRcSection(object rcFigure, string case StbSecBeam_RC_Taper figure: ghSecStrings.Append(new GH_String(figure.pos + ": BD-" + figure.width + "x" + figure.depth + "(" + strength + ")")); break; + case StbSecBeam_SRC_Straight figure: + ghSecStrings.Append(new GH_String("BD-" + figure.width + "x" + figure.depth + "(" + strength + ")")); + break; + case StbSecBeam_SRC_Haunch figure: + ghSecStrings.Append(new GH_String(figure.pos + ": BD-" + figure.width + "x" + figure.depth + "(" + strength + ")")); + break; + case StbSecBeam_SRC_Taper figure: + ghSecStrings.Append(new GH_String(figure.pos + ": BD-" + figure.width + "x" + figure.depth + "(" + strength + ")")); + break; } return ghSecStrings; @@ -54,6 +63,12 @@ internal static IEnumerable GetColumnRcSection(object rcFigure, strin case StbSecColumn_RC_Circle figure: ghSecStrings.Append(new GH_String("P-" + figure.D + "(" + strength + ")")); break; + case StbSecColumn_SRC_Rect figure: + ghSecStrings.Append(new GH_String("CD-" + figure.width_X + "x" + figure.width_Y + "(" + strength + ")")); + break; + case StbSecColumn_SRC_Circle figure: + ghSecStrings.Append(new GH_String("P-" + figure.D + "(" + strength + ")")); + break; } return ghSecStrings; @@ -76,6 +91,18 @@ internal static IEnumerable GetBeamSSection(object steelFigure) case StbSecSteelBeam_S_Straight figure: ghSecStrings.Append(new GH_String(figure.shape + "(" + figure.strength_main + ")")); break; + case StbSecSteelBeam_SRC_Haunch figure: + ghSecStrings.Append(new GH_String(figure.pos + ":" + figure.shape + "(" + figure.strength_main + ")")); + break; + case StbSecSteelBeam_SRC_FiveTypes figure: + ghSecStrings.Append(new GH_String(figure.pos + ":" + figure.shape + "(" + figure.strength_main + ")")); + break; + case StbSecSteelBeam_SRC_Taper figure: + ghSecStrings.Append(new GH_String(figure.pos + ":" + figure.shape + "(" + figure.strength_main + ")")); + break; + case StbSecSteelBeam_SRC_Straight figure: + ghSecStrings.Append(new GH_String(figure.shape + "(" + figure.strength_main + ")")); + break; } return ghSecStrings; @@ -114,40 +141,72 @@ internal static IEnumerable GetColumnSSection(object steelFigure) case StbSecSteelColumn_S_ThreeTypes figure: ghSecStrings.Append(new GH_String(figure.pos + ":" + figure.shape + "(" + figure.strength_main + ")")); break; + // TODO: SRC の鉄骨出力対応する + case StbSecSteelColumn_SRC_Same _: + case StbSecSteelColumn_SRC_NotSame _: + case StbSecSteelColumn_SRC_ThreeTypes _: + break; } return ghSecStrings; } - public static Dictionary[][] GetAllSectionInfoArray(StbMembers members) + internal static IEnumerable GetSlabRcSection(object slabFigure, string strength) + { + var ghSecString = new GH_Structure(); + switch (slabFigure) + { + case StbSecSlab_RC_Straight figure: + ghSecString.Append(new GH_String("t=" + figure.depth + "(" + strength + ")")); + break; + case StbSecSlab_RC_Taper figure: + ghSecString.Append(new GH_String("t=" + figure.pos + ":" + figure.depth + "(" + strength + ")")); + break; + case StbSecSlab_RC_Haunch figure: + ghSecString.Append(new GH_String("t=" + figure.pos + ":" + figure.depth + "(" + strength + ")")); + break; + } + + return ghSecString; + } + + internal static IEnumerable GetWallSection(StbSecWall_RC_Straight figure, string strength) + { + var ghSecString = new GH_Structure(); + ghSecString.Append(new GH_String("t=" + figure.t + "(" + strength + ")")); + + return ghSecString; + } + + public static Dictionary[][] GetAllSectionInfoArray(StbMembers members, StbSections sections) { var allTagList = new Dictionary[7][]; var memberArray = new object[][] { members.StbColumns, members.StbGirders, members.StbPosts, members.StbBeams, members.StbBraces, members.StbSlabs, members.StbWalls }; for (var i = 0; i < 7; i++) { - allTagList[i] = memberArray[i] != null ? StbMembersToDictArray(memberArray[i]) : Array.Empty>(); + allTagList[i] = memberArray[i] != null ? StbMembersToDictArray(memberArray[i], sections) : Array.Empty>(); } return allTagList; } - private static Dictionary[] StbMembersToDictArray(IReadOnlyList members) + private static Dictionary[] StbMembersToDictArray(IReadOnlyList members, StbSections sections) { var propertiesArray = new Dictionary[members.Count]; object item = members[0]; Type t = item.GetType(); - foreach ((object column, int index) in members.Select((column, index) => (column, index))) + foreach ((object member, int index) in members.Select((column, index) => (column, index))) { - propertiesArray[index] = GetMemberInfoDictionary(t, column); + propertiesArray[index] = GetMemberInfoDictionary(t, member, sections); } return propertiesArray; } - private static Dictionary GetMemberInfoDictionary(Type type, object member) + private static Dictionary GetMemberInfoDictionary(Type type, object member, StbSections sections) { PropertyInfo[] props = type.GetProperties(); var instanceProps = new Dictionary { { "stb_element_type", type.Name } }; @@ -166,8 +225,111 @@ private static Dictionary GetMemberInfoDictionary(Type type, obj // ignored } } + AppendSectionInfos(instanceProps, sections); return instanceProps; } + + private static void AppendSectionInfos(IDictionary pDict, StbSections sections) + { + var sectionInfo = new List(); + switch (pDict["stb_element_type"]) + { + case "StbColumn": + case "StbPost": + switch (pDict["kind_structure"]) + { + case "RC": + StbSecColumn_RC columnRc = sections.StbSecColumn_RC.First(sec => sec.id == pDict["id_section"]); + sectionInfo = GetColumnRcSection(columnRc.StbSecFigureColumn_RC.Item, columnRc.strength_concrete).ToList(); + break; + case "SRC": + StbSecColumn_SRC columnSrc = sections.StbSecColumn_SRC.First(sec => sec.id == pDict["id_section"]); + sectionInfo = GetColumnRcSection(columnSrc.StbSecFigureColumn_SRC.Item, columnSrc.strength_concrete).ToList(); + foreach (object item in columnSrc.StbSecSteelFigureColumn_SRC.Items) + { + sectionInfo.AddRange(GetColumnSSection(item).ToList()); + } + break; + case "S": + StbSecSteelFigureColumn_S sFigure = sections.StbSecColumn_S.First(sec => sec.id == pDict["id_section"]).StbSecSteelFigureColumn_S; + foreach (object item in sFigure.Items) + { + sectionInfo.AddRange(GetColumnSSection(item).ToList()); + } + break; + } + break; + case "StbGirder": + case "StbBeam": + switch (pDict["kind_structure"]) + { + case "RC": + StbSecBeam_RC beamRc = sections.StbSecBeam_RC.First(sec => sec.id == pDict["id_section"]); + foreach (object item in beamRc.StbSecFigureBeam_RC.Items) + { + sectionInfo.AddRange(GetBeamRcSection(item, beamRc.strength_concrete)); + } + break; + case "SRC": + StbSecBeam_SRC beamSrc = sections.StbSecBeam_SRC.First(sec => sec.id == pDict["id_section"]); + foreach (object item in beamSrc.StbSecFigureBeam_SRC.Items) + { + sectionInfo.AddRange(GetBeamRcSection(item, beamSrc.strength_concrete)); + } + + foreach (object item in beamSrc.StbSecSteelFigureBeam_SRC.Items) + { + sectionInfo.AddRange(GetBeamSSection(item).ToList()); + } + break; + case "S": + StbSecSteelFigureBeam_S sFigure = sections.StbSecBeam_S.First(sec => sec.id == pDict["id_section"]).StbSecSteelFigureBeam_S; + foreach (object item in sFigure.Items) + { + sectionInfo.AddRange(GetBeamSSection(item).ToList()); + } + break; + } + break; + case "StbBrace": + switch (pDict["kind_structure"]) + { + case "S": + StbSecSteelFigureBrace_S sFigure = sections.StbSecBrace_S.First(sec => sec.id == pDict["id_section"]).StbSecSteelFigureBrace_S; + foreach (object item in sFigure.Items) + { + sectionInfo.AddRange(GetBraceSSection(item).ToList()); + } + break; + } + break; + case "StbSlab": + switch (pDict["kind_structure"]) + { + case "RC": + StbSecSlab_RC slabRc = sections.StbSecSlab_RC.First(sec => sec.id == pDict["id_section"]); + foreach (object item in slabRc.StbSecFigureSlab_RC.Items) + { + sectionInfo.AddRange(GetSlabRcSection(item, slabRc.strength_concrete).ToList()); + } + break; + case "DECK": + case "PRECAST": + break; + } + break; + case "StbWall": // RC しかない + StbSecWall_RC wallRc = sections.StbSecWall_RC.First(sec => sec.id == pDict["id_section"]); + sectionInfo = GetWallSection(wallRc.StbSecFigureWall_RC.StbSecWall_RC_Straight, wallRc.strength_concrete).ToList(); + break; + } + + foreach ((string str, int i) in sectionInfo.Select((str, i) => (str.ToString(), i))) + { + pDict.Add($"Figure{i}", str); + } + } + } } From d46f9bdd05a7d57e6bf05ebc9bf7ce5c2a430aff Mon Sep 17 00:00:00 2001 From: hiron Date: Sun, 1 Aug 2021 19:38:38 +0900 Subject: [PATCH 064/162] Add column src inner steel shape bake --- HoaryFox/Component/Utils/TagUtils.cs | 56 ++++++++++++++++++++++++++-- 1 file changed, 52 insertions(+), 4 deletions(-) diff --git a/HoaryFox/Component/Utils/TagUtils.cs b/HoaryFox/Component/Utils/TagUtils.cs index f7400e5c..ecbd85c9 100644 --- a/HoaryFox/Component/Utils/TagUtils.cs +++ b/HoaryFox/Component/Utils/TagUtils.cs @@ -141,16 +141,64 @@ internal static IEnumerable GetColumnSSection(object steelFigure) case StbSecSteelColumn_S_ThreeTypes figure: ghSecStrings.Append(new GH_String(figure.pos + ":" + figure.shape + "(" + figure.strength_main + ")")); break; - // TODO: SRC の鉄骨出力対応する - case StbSecSteelColumn_SRC_Same _: - case StbSecSteelColumn_SRC_NotSame _: - case StbSecSteelColumn_SRC_ThreeTypes _: + case StbSecSteelColumn_SRC_Same figure: + ghSecStrings.Append(GetColumnSrcInnerSteelShape(figure.Item, string.Empty)); + break; + case StbSecSteelColumn_SRC_NotSame figure: + ghSecStrings.Append(GetColumnSrcInnerSteelShape(figure.Item, figure.pos.ToString())); + break; + case StbSecSteelColumn_SRC_ThreeTypes figure: + ghSecStrings.Append(GetColumnSrcInnerSteelShape(figure.Item, figure.pos.ToString())); break; } return ghSecStrings; } + private static GH_String GetColumnSrcInnerSteelShape(object figure, string pos) + { + switch (figure) + { + // Shape H + case StbSecColumn_SRC_SameShapeH shape: + return new GH_String(shape.shape + "(" + shape.strength_main + ")"); + case StbSecColumn_SRC_NotSameShapeH shape: + return new GH_String(pos + ":" + shape.shape + "(" + shape.strength_main + ")"); + case StbSecColumn_SRC_ThreeTypesShapeH shape: + return new GH_String(pos + ":" + shape.shape + "(" + shape.strength_main + ")"); + // Shape Box + case StbSecColumn_SRC_SameShapeBox shape: + return new GH_String(shape.shape + "(" + shape.strength + ")"); + case StbSecColumn_SRC_NotSameShapeBox shape: + return new GH_String(pos + ":" + shape.shape + "(" + shape.strength + ")"); + case StbSecColumn_SRC_ThreeTypesShapeBox shape: + return new GH_String(pos + ":" + shape.shape + "(" + shape.strength + ")"); + // Shape Pipe + case StbSecColumn_SRC_SameShapePipe shape: + return new GH_String(shape.shape + "(" + shape.strength + ")"); + case StbSecColumn_SRC_NotSameShapePipe shape: + return new GH_String(pos + ":" + shape.shape + "(" + shape.strength + ")"); + case StbSecColumn_SRC_ThreeTypesShapePipe shape: + return new GH_String(pos + ":" + shape.shape + "(" + shape.strength + ")"); + // Shape Cross + case StbSecColumn_SRC_SameShapeCross shape: + return new GH_String("X:" + shape.shape_X + "(" + shape.strength_main_X + ")" + "Y:" + shape.shape_Y + "(" + shape.strength_main_Y + ")"); + case StbSecColumn_SRC_NotSameShapeCross shape: + return new GH_String(pos + ":" + "X:" + shape.shape_X + "(" + shape.strength_main_X + ")" + "Y:" + shape.shape_Y + "(" + shape.strength_main_Y + ")"); + case StbSecColumn_SRC_ThreeTypesShapeCross shape: + return new GH_String(pos + ":" + "X:" + shape.shape_X + "(" + shape.strength_main_X + ")" + "Y:" + shape.shape_Y + "(" + shape.strength_main_Y + ")"); + // Shape T + case StbSecColumn_SRC_SameShapeT shape: + return new GH_String("H:" + shape.shape_H + "(" + shape.strength_main_H + ")" + "T:" + shape.shape_T + "(" + shape.strength_main_T + ")"); + case StbSecColumn_SRC_NotSameShapeT shape: + return new GH_String(pos + ":" + "H:" + shape.shape_H + "(" + shape.strength_main_H + ")" + "T:" + shape.shape_T + "(" + shape.strength_main_T + ")"); + case StbSecColumn_SRC_ThreeTypesShapeT shape: + return new GH_String(pos + ":" + "H:" + shape.shape_H + "(" + shape.strength_main_H + ")" + "T:" + shape.shape_T + "(" + shape.strength_main_T + ")"); + default: + throw new ArgumentException("Unsupported SRC inner Steel type"); + } + } + internal static IEnumerable GetSlabRcSection(object slabFigure, string strength) { var ghSecString = new GH_Structure(); From 53e2c5ebd6a4b342eba1bad3aa03d31b00f036c7 Mon Sep 17 00:00:00 2001 From: hiron Date: Mon, 2 Aug 2021 22:39:52 +0900 Subject: [PATCH 065/162] Fix RC & SRC beam hanch brep error --- .../Utils/Geometry/CreateBrepFromStb.cs | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs b/HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs index 6915bc5f..cfa60e5b 100644 --- a/HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs +++ b/HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs @@ -343,7 +343,13 @@ private static List SecRcBeamCurves(IReadOnlyList figures, IReadO break; case 3: var haunch = new[] { figures[0] as StbSecBeam_RC_Haunch, figures[1] as StbSecBeam_RC_Haunch, figures[2] as StbSecBeam_RC_Haunch }; - curveList.AddRange(haunch.Select((fig, i) => new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[i], fig.depth, fig.width)))); + StbSecBeam_RC_Haunch start = haunch.First(fig => fig.pos == StbSecBeam_RC_HaunchPos.START); + StbSecBeam_RC_Haunch center = haunch.First(fig => fig.pos == StbSecBeam_RC_HaunchPos.CENTER); + StbSecBeam_RC_Haunch end = haunch.First(fig => fig.pos == StbSecBeam_RC_HaunchPos.END); + curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[0], start.depth, start.width))); + curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[1], center.depth, center.width))); + curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[2], center.depth, center.width))); + curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[3], end.depth, end.width))); break; default: throw new Exception(); @@ -374,7 +380,13 @@ private static List SecSrcBeamCurves(IReadOnlyList figures, IRead break; case 3: var haunch = new[] { figures[0] as StbSecBeam_SRC_Haunch, figures[1] as StbSecBeam_SRC_Haunch, figures[2] as StbSecBeam_SRC_Haunch }; - curveList.AddRange(haunch.Select((t, i) => new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[i], t.depth, t.width)))); + StbSecBeam_SRC_Haunch start = haunch.First(fig => fig.pos == StbSecBeam_RC_HaunchPos.START); + StbSecBeam_SRC_Haunch center = haunch.First(fig => fig.pos == StbSecBeam_RC_HaunchPos.CENTER); + StbSecBeam_SRC_Haunch end = haunch.First(fig => fig.pos == StbSecBeam_RC_HaunchPos.END); + curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[0], start.depth, start.width))); + curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[1], center.depth, center.width))); + curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[2], center.depth, center.width))); + curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[3], end.depth, end.width))); break; default: throw new Exception(); @@ -538,11 +550,11 @@ private List SecSteelBraceToCurves(IReadOnlyList figures, IReadOn return curveList; } - private static void RotateCurveList(Vector3d memberAxis, IReadOnlyList curveList, double rotate, IReadOnlyList sectionPoints, Vector3d secLocalAxis) + private static void RotateCurveList(Vector3d memberAxis, IReadOnlyList curveList, double stbRotateValue, IReadOnlyList sectionPoints, Vector3d secLocalAxis) { Vector3d rotateAxis = Vector3d.CrossProduct(secLocalAxis, memberAxis); double outPlaneAngle = Vector3d.VectorAngle(secLocalAxis, memberAxis); - double inPlaneAngle = rotate * Math.PI / 180; + double inPlaneAngle = stbRotateValue * Math.PI / 180; int len = curveList.Count; switch (len) { From da65721a4ca0e8f7639c561987b84239b6e7676c Mon Sep 17 00:00:00 2001 From: hiron Date: Thu, 5 Aug 2021 21:47:32 +0900 Subject: [PATCH 066/162] Update STBDotNet to 0.2.1 --- KarambaConnect/karambaConnect.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KarambaConnect/karambaConnect.csproj b/KarambaConnect/karambaConnect.csproj index 8e0574a0..8a17fec3 100644 --- a/KarambaConnect/karambaConnect.csproj +++ b/KarambaConnect/karambaConnect.csproj @@ -14,7 +14,7 @@ - + From c73b5acfb70c872ced5f37e8f3b46746b039b54d Mon Sep 17 00:00:00 2001 From: hiron Date: Thu, 5 Aug 2021 22:05:31 +0900 Subject: [PATCH 067/162] Update Export to v2 --- KarambaConnect/Component/IO/Export.cs | 74 ++++++++++++++++----------- 1 file changed, 45 insertions(+), 29 deletions(-) diff --git a/KarambaConnect/Component/IO/Export.cs b/KarambaConnect/Component/IO/Export.cs index 9191aeaa..2c0466fe 100644 --- a/KarambaConnect/Component/IO/Export.cs +++ b/KarambaConnect/Component/IO/Export.cs @@ -2,13 +2,9 @@ using System.Collections.Generic; using System.Drawing; using Grasshopper.Kernel; -using KarambaConnect.K2S; using KarambaConnect.Properties; -using STBDotNet.Elements; -using STBDotNet.Elements.StbModel; -using STBDotNet.Elements.StbModel.StbMember; -using STBDotNet.Elements.StbModel.StbSection; using STBDotNet.Serialization; +using STBDotNet.v202; namespace KarambaConnect.Component.IO { @@ -26,7 +22,7 @@ public Export() protected override void RegisterInputParams(GH_InputParamManager pManager) { pManager.AddGenericParameter("Node", "Node", "StbNode data", GH_ParamAccess.list); - pManager.AddGenericParameter("Axis", "Axis", "StbAxes data", GH_ParamAccess.list); + pManager.AddGenericParameter("Axis", "Axis", "StbAxes data", GH_ParamAccess.item); pManager.AddGenericParameter("Story", "Story", "StbStory data", GH_ParamAccess.list); pManager.AddGenericParameter("Member", "Mem", "StbMember data", GH_ParamAccess.item); pManager.AddGenericParameter("Section", "Sec", "StbSection data", GH_ParamAccess.list); @@ -44,42 +40,62 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) { var path = string.Empty; var isOutput = false; - var node = new List(); - var axis = new List(); - var story = new List(); - var members = new Members(); - var sections = new List
(); + var nodes = new List(); + var axes = new StbAxes(); + var stories = new List(); + var members = new StbMembers(); + var sections = new StbSections(); - if (!dataAccess.GetDataList(0, node)) { return; } - if (!dataAccess.GetDataList(1, axis)) { return; } - if (!dataAccess.GetDataList(2, story)) { return; } + if (!dataAccess.GetDataList(0, nodes)) { return; } + if (!dataAccess.GetData(1, ref axes)) { return; } + if (!dataAccess.GetDataList(2, stories)) { return; } if (!dataAccess.GetData(3, ref members)) { return; } - if (!dataAccess.GetDataList(4, sections)) { return; } + if (!dataAccess.GetData(4, ref sections)) { return; } if (!dataAccess.GetData(5, ref path)) { return; } if (!dataAccess.GetData(6, ref isOutput)) { return; } - - var elements = new StbElements + var stbData = new ST_BRIDGE { - Version = "1.4.00", - Common = StbCommon.Set(), - Model = new Model + version = "2.0.2", + StbCommon = new StbCommon { - Axes = axis, - Members = members, - Nodes = node, - Sections = sections, - Stories = story - } + project_name = ActiveCanvasFileName(), + app_name = "HoaryFox", + }, + StbModel = new StbModel + { + StbAxes = axes, + StbStories = stories.ToArray(), + StbNodes = nodes.ToArray(), + StbMembers = members, + StbSections = sections, + StbJoints = new StbJoints(), + }, + StbAnaModels = Array.Empty(), + StbCalData = new StbCalData(), }; if (isOutput) { - var sr = new Serializer(); - sr.Serialize(elements, path); + bool result = Serializer.Serialize(stbData, path, STBDotNet.Enums.Version.Stb202); + if (!result) + { + throw new Exception("Failed to serialize."); + } + } + + dataAccess.SetData(0, stbData); + } + + private static string ActiveCanvasFileName() + { + var fileName = Grasshopper.Instances.ActiveCanvas.Document.ToString(); + if (fileName.EndsWith("*")) + { + fileName = fileName.Substring(0, fileName.Length - 1) + ".gh"; } - dataAccess.SetData(0, elements); + return fileName; } protected override Bitmap Icon => Resource.ExportStb; From 2115d2b865ca4443d3cf0b230a7e9e597ca043f1 Mon Sep 17 00:00:00 2001 From: hiron Date: Fri, 6 Aug 2021 22:01:42 +0900 Subject: [PATCH 068/162] Update convert.cs to v2 --- KarambaConnect/Convert.cs | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/KarambaConnect/Convert.cs b/KarambaConnect/Convert.cs index 06349224..079a400f 100644 --- a/KarambaConnect/Convert.cs +++ b/KarambaConnect/Convert.cs @@ -15,20 +15,25 @@ public static Karamba.Geometry.Point3 ToKaramba(this STBDotNet.Geometry.Point3 s return new Karamba.Geometry.Point3(spt.X, spt.Y, spt.Z) * 1000; } - public static Point3d ToRhino(this STBDotNet.Elements.StbModel.Node node) + public static Karamba.Geometry.Point3 ToKaramba(this STBDotNet.v202.StbNode sNode) + { + return new Karamba.Geometry.Point3(sNode.X, sNode.Y, sNode.Z) * 1000; + } + + public static Point3d ToRhino(this STBDotNet.v202.StbNode node) { return new Point3d(node.X, node.Y, node.Z) / 1000; } - public static List ToStb(this List kNodes) + public static List ToStb(this List kNodes) { - var sNodes = new List(); + var sNodes = new List(); foreach (Karamba.Nodes.Node kNode in kNodes) { - var sNode = new STBDotNet.Elements.StbModel.Node + var sNode = new STBDotNet.v202.StbNode { - Id = kNode.ind + 1, + id = (kNode.ind + 1).ToString(), X = kNode.pos.X * 1000, Y = kNode.pos.Y * 1000, Z = kNode.pos.Z * 1000 @@ -39,17 +44,17 @@ public static Point3d ToRhino(this STBDotNet.Elements.StbModel.Node node) return sNodes; } - public static List ToKaramba(this List sNodes) + public static List ToKaramba(this List sNodes) { var kNodes = new List(); - foreach (STBDotNet.Elements.StbModel.Node sNode in sNodes) + foreach (STBDotNet.v202.StbNode sNode in sNodes) { var kNode = new Karamba.Nodes.Node { - ind = sNode.Id, + ind = int.Parse(sNode.id), is_visible = true, - pos = sNode.Position.ToKaramba() + pos = sNode.ToKaramba() }; kNodes.Add(kNode); From 01b2e9e3d54d36716c507631aba5abbc71776108 Mon Sep 17 00:00:00 2001 From: hiron Date: Sat, 7 Aug 2021 11:55:29 +0900 Subject: [PATCH 069/162] Update AxisBuilder to v2 --- .../Component/StbBuilder/AxisBuilder.cs | 60 ++++++++++--------- 1 file changed, 33 insertions(+), 27 deletions(-) diff --git a/KarambaConnect/Component/StbBuilder/AxisBuilder.cs b/KarambaConnect/Component/StbBuilder/AxisBuilder.cs index 72733b14..15f4847b 100644 --- a/KarambaConnect/Component/StbBuilder/AxisBuilder.cs +++ b/KarambaConnect/Component/StbBuilder/AxisBuilder.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Drawing; using Grasshopper.Kernel; -using STBDotNet.Elements.StbModel; +using STBDotNet.v202; namespace KarambaConnect.Component.StbBuilder { @@ -26,13 +26,13 @@ protected override void RegisterInputParams(GH_InputParamManager pManager) protected override void RegisterOutputParams(GH_OutputParamManager pManager) { - pManager.AddGenericParameter("Axis", "Axis", "StbAxis Data", GH_ParamAccess.list); + pManager.AddGenericParameter("Axis", "Axis", "StbAxis Data", GH_ParamAccess.item); } protected override void SolveInstance(IGH_DataAccess dataAccess) { var count = 0; - var nodes = new List(); + var nodes = new List(); var distance = new List(); var range = new List(); var names = new List(); @@ -44,30 +44,26 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) if (!dataAccess.GetDataList(3, names)) { return; } if (!dataAccess.GetDataList(4, dir)) { return; } - var axes = new List(); - if (distance.Count != names.Count || distance.Count != range.Count || distance.Count != dir.Count || range.Count != names.Count || range.Count != dir.Count || names.Count != dir.Count) { throw new ArgumentException("The number of items does not match."); } + var xAxisList = new List(); + var yAxisList = new List(); + foreach (double dist in distance) { - var nodeIds = new List(); + var nodeIds = new List(); if (dir[count] == 0) { - var xAxis = new XAxis - { - Id = count + 1, - Name = names[count], - Distance = dist - }; - foreach (Node node in nodes) + StbParallelAxis xAxis = CreateAxisBase(count, names, dist); + foreach (StbNode node in nodes) { if (node.X > dist - range[count] && node.X < dist + range[count]) { - nodeIds.Add(new NodeId(node.Id)); + nodeIds.Add(new StbNodeId { id = node.id }); } } @@ -76,22 +72,17 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) throw new ArgumentException("There are no nodes in the target distance range."); } - xAxis.NodeIdList = nodeIds; - axes.Add(xAxis); + xAxis.StbNodeIdList = nodeIds.ToArray(); + xAxisList.Add(xAxis); } else if (dir[count] == 1) { - var yAxis = new YAxis - { - Id = count + 1, - Name = names[count], - Distance = dist - }; - foreach (Node node in nodes) + StbParallelAxis yAxis = CreateAxisBase(count, names, dist); + foreach (StbNode node in nodes) { if (node.Y > dist - range[count] && node.Y < dist + range[count]) { - nodeIds.Add(new NodeId(node.Id)); + nodeIds.Add(new StbNodeId { id = node.id }); } } @@ -100,14 +91,29 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) throw new ArgumentException("There are no nodes in the target distance range."); } - yAxis.NodeIdList = nodeIds; - axes.Add(yAxis); + yAxis.StbNodeIdList = nodeIds.ToArray(); + yAxisList.Add(yAxis); } count++; } - dataAccess.SetDataList(0, axes); + var axes = new StbAxes(); + var xAxes = new StbParallelAxes() { X = 0, Y = 0, angle = 270, group_name = "X" }; + var yAxes = new StbParallelAxes() { X = 0, Y = 0, angle = 0, group_name = "Y" }; + axes.StbParallelAxes = new[] { xAxes, yAxes }; + + dataAccess.SetData(0, axes); + } + + private static StbParallelAxis CreateAxisBase(int count, List names, double dist) + { + return new StbParallelAxis() + { + id = (count + 1).ToString(), + name = names[count], + distance = dist + }; } protected override Bitmap Icon => Properties.Resource.AxisBuilder; From d2a1a308bd24794e90171da0ec9db124b5e06843 Mon Sep 17 00:00:00 2001 From: hiron Date: Sat, 7 Aug 2021 12:22:01 +0900 Subject: [PATCH 070/162] Clean AxisBuidler --- .../Component/StbBuilder/AxisBuilder.cs | 56 ++++++++----------- 1 file changed, 22 insertions(+), 34 deletions(-) diff --git a/KarambaConnect/Component/StbBuilder/AxisBuilder.cs b/KarambaConnect/Component/StbBuilder/AxisBuilder.cs index 15f4847b..628c5c38 100644 --- a/KarambaConnect/Component/StbBuilder/AxisBuilder.cs +++ b/KarambaConnect/Component/StbBuilder/AxisBuilder.cs @@ -3,6 +3,7 @@ using System.Drawing; using Grasshopper.Kernel; using STBDotNet.v202; +using System.Linq; namespace KarambaConnect.Component.StbBuilder { @@ -58,41 +59,19 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) var nodeIds = new List(); if (dir[count] == 0) { - StbParallelAxis xAxis = CreateAxisBase(count, names, dist); - foreach (StbNode node in nodes) - { - if (node.X > dist - range[count] && node.X < dist + range[count]) - { - nodeIds.Add(new StbNodeId { id = node.id }); - } - } - - if (nodeIds.Count == 0) - { - throw new ArgumentException("There are no nodes in the target distance range."); - } - - xAxis.StbNodeIdList = nodeIds.ToArray(); - xAxisList.Add(xAxis); + nodeIds.AddRange(from StbNode node in nodes + where node.X > dist - range[count] && node.X < dist + range[count] + select new StbNodeId { id = node.id }); + CheckNodeIdsNull(nodeIds); + xAxisList.Add(CreateParallelAxis(count, names, dist, nodeIds)); } else if (dir[count] == 1) { - StbParallelAxis yAxis = CreateAxisBase(count, names, dist); - foreach (StbNode node in nodes) - { - if (node.Y > dist - range[count] && node.Y < dist + range[count]) - { - nodeIds.Add(new StbNodeId { id = node.id }); - } - } - - if (nodeIds.Count == 0) - { - throw new ArgumentException("There are no nodes in the target distance range."); - } - - yAxis.StbNodeIdList = nodeIds.ToArray(); - yAxisList.Add(yAxis); + nodeIds.AddRange(from StbNode node in nodes + where node.Y > dist - range[count] && node.Y < dist + range[count] + select new StbNodeId { id = node.id }); + CheckNodeIdsNull(nodeIds); + yAxisList.Add(CreateParallelAxis(count, names, dist, nodeIds)); } count++; @@ -106,13 +85,22 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) dataAccess.SetData(0, axes); } - private static StbParallelAxis CreateAxisBase(int count, List names, double dist) + private static void CheckNodeIdsNull(List nodeIds) + { + if (nodeIds.Count == 0) + { + throw new ArgumentException("There are no nodes in the target distance range."); + } + } + + private static StbParallelAxis CreateParallelAxis(int count, List names, double dist, List nodeIds) { return new StbParallelAxis() { id = (count + 1).ToString(), name = names[count], - distance = dist + distance = dist, + StbNodeIdList = nodeIds.ToArray() }; } From 8581cd912958591dda12d63e3af2f4eb5501336b Mon Sep 17 00:00:00 2001 From: hiron Date: Sat, 7 Aug 2021 13:08:37 +0900 Subject: [PATCH 071/162] Update StoryBuilder to v2 --- .../Component/StbBuilder/AxisBuilder.cs | 2 +- .../Component/StbBuilder/StoryBuilder.cs | 55 ++++++++++--------- 2 files changed, 30 insertions(+), 27 deletions(-) diff --git a/KarambaConnect/Component/StbBuilder/AxisBuilder.cs b/KarambaConnect/Component/StbBuilder/AxisBuilder.cs index 628c5c38..e786a4c7 100644 --- a/KarambaConnect/Component/StbBuilder/AxisBuilder.cs +++ b/KarambaConnect/Component/StbBuilder/AxisBuilder.cs @@ -1,9 +1,9 @@ using System; using System.Collections.Generic; using System.Drawing; +using System.Linq; using Grasshopper.Kernel; using STBDotNet.v202; -using System.Linq; namespace KarambaConnect.Component.StbBuilder { diff --git a/KarambaConnect/Component/StbBuilder/StoryBuilder.cs b/KarambaConnect/Component/StbBuilder/StoryBuilder.cs index 1961008d..f059d881 100644 --- a/KarambaConnect/Component/StbBuilder/StoryBuilder.cs +++ b/KarambaConnect/Component/StbBuilder/StoryBuilder.cs @@ -1,8 +1,9 @@ using System; using System.Collections.Generic; using System.Drawing; +using System.Linq; using Grasshopper.Kernel; -using STBDotNet.Elements.StbModel; +using STBDotNet.v202; namespace KarambaConnect.Component.StbBuilder { @@ -31,7 +32,7 @@ protected override void RegisterOutputParams(GH_OutputParamManager pManager) protected override void SolveInstance(IGH_DataAccess dataAccess) { var count = 0; - var nodes = new List(); + var nodes = new List(); var height = new List(); var range = new List(); var names = new List(); @@ -41,7 +42,7 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) if (!dataAccess.GetDataList(2, range)) { return; } if (!dataAccess.GetDataList(3, names)) { return; } - var stories = new List(); + var stories = new List(); if (height.Count != range.Count || height.Count != names.Count || range.Count != names.Count) { @@ -50,35 +51,37 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) foreach (double h in height) { - var story = new Story - { - Id = count + 1, - Name = names[count], - Height = h, - Kind = "GENERAL" - }; - var nodeIds = new List(); - foreach (Node node in nodes) - { - if (node.Z > h - range[count] && node.Z < h + range[count]) - { - nodeIds.Add(new NodeId(node.Id)); - } - } - - if (nodeIds.Count == 0) - { - throw new ArgumentException("There are no nodes in the target height range."); - } - - story.NodeIdList = nodeIds; - stories.Add(story); + StbNodeId[] nodeIds = (from StbNode node in nodes + where node.Z > h - range[count] && node.Z < h + range[count] + select new StbNodeId { id = node.id }).ToArray(); + CheckNodeIdsNull(nodeIds); + stories.Add(CreateStory(count, names, h, nodeIds)); count++; } dataAccess.SetDataList(0, stories); } + private static StbStory CreateStory(int count, List names, double h, StbNodeId[] nodeIds) + { + return new StbStory + { + id = (count + 1).ToString(), + name = names[count], + height = h, + kind = StbStoryKind.GENERAL, + StbNodeIdList = nodeIds + }; + } + + private static void CheckNodeIdsNull(StbNodeId[] nodeIds) + { + if (nodeIds.Length == 0) + { + throw new ArgumentException("There are no nodes in the target height range."); + } + } + protected override Bitmap Icon => Properties.Resource.StoryBuilder; public override Guid ComponentGuid => new Guid("438FB2A2-5EA8-474C-8897-5244AD00A188"); } From e63547bcfec91cea62fdd286a2176f4fcec23fd7 Mon Sep 17 00:00:00 2001 From: hiron Date: Sat, 7 Aug 2021 14:11:23 +0900 Subject: [PATCH 072/162] Update FrameBuilderByAngle to v2 --- .../StbBuilder/FrameBuilderByAngle.cs | 38 ++++++++++--------- KarambaConnect/Convert.cs | 9 +++-- 2 files changed, 25 insertions(+), 22 deletions(-) diff --git a/KarambaConnect/Component/StbBuilder/FrameBuilderByAngle.cs b/KarambaConnect/Component/StbBuilder/FrameBuilderByAngle.cs index b181093e..dda856eb 100644 --- a/KarambaConnect/Component/StbBuilder/FrameBuilderByAngle.cs +++ b/KarambaConnect/Component/StbBuilder/FrameBuilderByAngle.cs @@ -1,17 +1,17 @@ using System; using System.Drawing; +using System.Linq; using Grasshopper.Kernel; using Karamba.GHopper.Models; -using KarambaConnect.K2S; using Rhino.Geometry; -using STBDotNet.Elements.StbModel.StbMember; +using STBDotNet.v202; using Model = Karamba.Models.Model; namespace KarambaConnect.Component.StbBuilder { public class FrameBuilderByAngle : GH_Component { - private STBDotNet.Elements.StbModel.Model _sModel; + private StbModel _sModel; public override GH_Exposure Exposure => GH_Exposure.primary; @@ -29,7 +29,7 @@ protected override void RegisterInputParams(GH_InputParamManager pManager) protected override void RegisterOutputParams(GH_OutputParamManager pManager) { pManager.AddGenericParameter("Member", "Mem", "StbMember data", GH_ParamAccess.item); - pManager.AddGenericParameter("Section", "Sec", "StbSection data", GH_ParamAccess.list); + pManager.AddGenericParameter("Section", "Sec", "StbSection data", GH_ParamAccess.item); } protected override void SolveInstance(IGH_DataAccess dataAccess) @@ -44,12 +44,14 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) throw new ArgumentException("The input is not Karamba3D model!"); } Model kModel = ghKModel.Value; - var stbModel = new StbModel(kModel); + var stbModel = new K2S.StbModel(kModel); + // TODO: 実装する + var sSections = new StbSections(); _sModel = stbModel.SetByAngle(colMaxAngle); - _sModel.Nodes = kModel.nodes.ToStb(); + _sModel.StbNodes = kModel.nodes.ToStb(); - dataAccess.SetData(0, _sModel.Members); - dataAccess.SetDataList(1, _sModel.Sections); + dataAccess.SetData(0, _sModel.StbMembers); + dataAccess.SetData(1, sSections); } protected override Bitmap Icon => Properties.Resource.FrameBuilder; @@ -57,29 +59,29 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) public override void DrawViewportWires(IGH_PreviewArgs args) { - if (_sModel == null || _sModel.Nodes.Count < 1) + if (_sModel == null || _sModel.StbNodes.Length < 1) { return; } - foreach (Column column in _sModel.Members.Columns) + foreach (StbColumn column in _sModel.StbMembers.StbColumns) { - Point3d ptFrom = _sModel.Nodes[column.IdNodeStart - 1].ToRhino(); - Point3d ptTo = _sModel.Nodes[column.IdNodeEnd - 1].ToRhino(); + Point3d ptFrom = _sModel.StbNodes.First(node => node.id == column.id_node_bottom).ToRhino(); + Point3d ptTo = _sModel.StbNodes.First(node => node.id == column.id_node_top).ToRhino(); args.Display.Draw2dText("Column", Color.Brown, (ptFrom + ptTo) / 2, true, 12); } - foreach (Girder girder in _sModel.Members.Girders) + foreach (StbGirder girder in _sModel.StbMembers.StbGirders) { - Point3d ptFrom = _sModel.Nodes[girder.IdNodeStart - 1].ToRhino(); - Point3d ptTo = _sModel.Nodes[girder.IdNodeEnd - 1].ToRhino(); + Point3d ptFrom = _sModel.StbNodes.First(node => node.id == girder.id_node_start).ToRhino(); + Point3d ptTo = _sModel.StbNodes.First(node => node.id == girder.id_node_end).ToRhino(); args.Display.Draw2dText("Girder", Color.DarkGreen, (ptFrom + ptTo) / 2, true, 12); } - foreach (Brace brace in _sModel.Members.Braces) + foreach (StbBrace brace in _sModel.StbMembers.StbBraces) { - Point3d ptFrom = _sModel.Nodes[brace.IdNodeStart - 1].ToRhino(); - Point3d ptTo = _sModel.Nodes[brace.IdNodeEnd - 1].ToRhino(); + Point3d ptFrom = _sModel.StbNodes.First(node => node.id == brace.id_node_start).ToRhino(); + Point3d ptTo = _sModel.StbNodes.First(node => node.id == brace.id_node_end).ToRhino(); args.Display.Draw2dText("Brace", Color.Purple, (ptFrom + ptTo) / 2, true, 12); } } diff --git a/KarambaConnect/Convert.cs b/KarambaConnect/Convert.cs index 079a400f..31e9cde6 100644 --- a/KarambaConnect/Convert.cs +++ b/KarambaConnect/Convert.cs @@ -25,12 +25,13 @@ public static Point3d ToRhino(this STBDotNet.v202.StbNode node) return new Point3d(node.X, node.Y, node.Z) / 1000; } - public static List ToStb(this List kNodes) + public static STBDotNet.v202.StbNode[] ToStb(this List kNodes) { - var sNodes = new List(); + var sNodes = new STBDotNet.v202.StbNode[kNodes.Count]; - foreach (Karamba.Nodes.Node kNode in kNodes) + for (int i = 0; i < kNodes.Count; i++) { + Karamba.Nodes.Node kNode = kNodes[i]; var sNode = new STBDotNet.v202.StbNode { id = (kNode.ind + 1).ToString(), @@ -38,7 +39,7 @@ public static Point3d ToRhino(this STBDotNet.v202.StbNode node) Y = kNode.pos.Y * 1000, Z = kNode.pos.Z * 1000 }; - sNodes.Add(sNode); + sNodes[i] = sNode; } return sNodes; From c245700b055112a2040fc3c5626c53a3f4fa6b41 Mon Sep 17 00:00:00 2001 From: hiron Date: Sat, 7 Aug 2021 14:23:21 +0900 Subject: [PATCH 073/162] Update k2s stbMembers to v2 --- KarambaConnect/K2S/StbMember.cs | 56 ++++++++++++++++----------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/KarambaConnect/K2S/StbMember.cs b/KarambaConnect/K2S/StbMember.cs index 7d0b3591..c8f5bea9 100644 --- a/KarambaConnect/K2S/StbMember.cs +++ b/KarambaConnect/K2S/StbMember.cs @@ -1,49 +1,49 @@ using Karamba.Elements; -using STBDotNet.Elements.StbModel.StbMember; +using STBDotNet.v202; namespace KarambaConnect.K2S { public static class StbMember { - internal static Column CreateColumn(ModelBeam elem, int croSecId, string kind) + internal static StbColumn CreateColumn(ModelBeam elem, int croSecId, StbColumnKind_structure kind) { - return new Column + return new StbColumn { - Id = elem.ind + 1, - Name = elem.id, - IdNodeStart = elem.node_inds[0] + 1, - IdNodeEnd = elem.node_inds[1] + 1, - Rotate = 0d, - IdSection = croSecId + 1, - Kind = kind + id = (elem.ind + 1).ToString(), + name = elem.id, + id_node_bottom = (elem.node_inds[0] + 1).ToString(), + id_node_top = (elem.node_inds[1] + 1).ToString(), + rotate = 0d, + id_section = (croSecId + 1).ToString(), + kind_structure = kind }; } - internal static Girder CreateGirder(ModelBeam elem, int croSecId, string kind) + internal static StbGirder CreateGirder(ModelBeam elem, int croSecId, StbGirderKind_structure kind) { - return new Girder + return new StbGirder { - Id = elem.ind + 1, - Name = elem.id, - IdNodeStart = elem.node_inds[0] + 1, - IdNodeEnd = elem.node_inds[1] + 1, - Rotate = 0d, - IdSection = croSecId + 1, - Kind = kind + id = (elem.ind + 1).ToString(), + name = elem.id, + id_node_start = (elem.node_inds[0] + 1).ToString(), + id_node_end = (elem.node_inds[1] + 1).ToString(), + rotate = 0d, + id_section = (croSecId + 1).ToString(), + kind_structure = kind }; } - internal static Brace CreateBrace(ModelTruss elem, int croSecId) + internal static StbBrace CreateBrace(ModelTruss elem, int croSecId) { - return new Brace + return new StbBrace { - Id = elem.ind + 1, - Name = elem.id, - IdNodeStart = elem.node_inds[0] + 1, - IdNodeEnd = elem.node_inds[1] + 1, - Rotate = 0d, - IdSection = croSecId + 1, - Kind = "S" + id = (elem.ind + 1).ToString(), + name = elem.id, + id_node_start = (elem.node_inds[0] + 1).ToString(), + id_node_end = (elem.node_inds[1] + 1).ToString(), + rotate = 0d, + id_section = (croSecId + 1).ToString(), + kind_structure = StbBraceKind_structure.S }; } } From 63bf45e1f17ae152a17451c362d5f9988f92e82d Mon Sep 17 00:00:00 2001 From: hiron Date: Sat, 7 Aug 2021 14:39:46 +0900 Subject: [PATCH 074/162] Delete k2s StbCommon --- KarambaConnect/K2S/StbCommon.cs | 20 -------------------- 1 file changed, 20 deletions(-) delete mode 100644 KarambaConnect/K2S/StbCommon.cs diff --git a/KarambaConnect/K2S/StbCommon.cs b/KarambaConnect/K2S/StbCommon.cs deleted file mode 100644 index 6678023f..00000000 --- a/KarambaConnect/K2S/StbCommon.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System; -using STBDotNet.Elements.StbCommon; - -namespace KarambaConnect.K2S -{ - public static class StbCommon - { - public static Common Set() - { - var common = new Common - { - AppName = "HoaryFox Stb Converter", - ProjectName = "Grasshopper Karamba model", - Guid = Guid.NewGuid().ToString("D") - }; - - return common; - } - } -} From dea3578028498bfb82b75731ea750ae749c72194 Mon Sep 17 00:00:00 2001 From: hiron Date: Sat, 7 Aug 2021 16:48:29 +0900 Subject: [PATCH 075/162] Rename K2S dir files to add K2S prefix --- .../StbBuilder/FrameBuilderByAngle.cs | 2 +- .../K2S/{StbMember.cs => K2StbMember.cs} | 2 +- .../K2S/{StbModel.cs => K2StbModel.cs} | 46 ++++++++----------- .../K2S/{StbSecSteel.cs => K2StbSecSteel.cs} | 2 +- .../K2S/{StbSection.cs => K2StbSection.cs} | 2 +- 5 files changed, 23 insertions(+), 31 deletions(-) rename KarambaConnect/K2S/{StbMember.cs => K2StbMember.cs} (97%) rename KarambaConnect/K2S/{StbModel.cs => K2StbModel.cs} (76%) rename KarambaConnect/K2S/{StbSecSteel.cs => K2StbSecSteel.cs} (99%) rename KarambaConnect/K2S/{StbSection.cs => K2StbSection.cs} (99%) diff --git a/KarambaConnect/Component/StbBuilder/FrameBuilderByAngle.cs b/KarambaConnect/Component/StbBuilder/FrameBuilderByAngle.cs index dda856eb..2b3a2231 100644 --- a/KarambaConnect/Component/StbBuilder/FrameBuilderByAngle.cs +++ b/KarambaConnect/Component/StbBuilder/FrameBuilderByAngle.cs @@ -44,7 +44,7 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) throw new ArgumentException("The input is not Karamba3D model!"); } Model kModel = ghKModel.Value; - var stbModel = new K2S.StbModel(kModel); + var stbModel = new K2S.K2StbModel(kModel); // TODO: 実装する var sSections = new StbSections(); _sModel = stbModel.SetByAngle(colMaxAngle); diff --git a/KarambaConnect/K2S/StbMember.cs b/KarambaConnect/K2S/K2StbMember.cs similarity index 97% rename from KarambaConnect/K2S/StbMember.cs rename to KarambaConnect/K2S/K2StbMember.cs index c8f5bea9..d7ac76df 100644 --- a/KarambaConnect/K2S/StbMember.cs +++ b/KarambaConnect/K2S/K2StbMember.cs @@ -3,7 +3,7 @@ namespace KarambaConnect.K2S { - public static class StbMember + public static class K2StbMember { internal static StbColumn CreateColumn(ModelBeam elem, int croSecId, StbColumnKind_structure kind) { diff --git a/KarambaConnect/K2S/StbModel.cs b/KarambaConnect/K2S/K2StbModel.cs similarity index 76% rename from KarambaConnect/K2S/StbModel.cs rename to KarambaConnect/K2S/K2StbModel.cs index 90542f5c..46302355 100644 --- a/KarambaConnect/K2S/StbModel.cs +++ b/KarambaConnect/K2S/K2StbModel.cs @@ -4,13 +4,11 @@ using Karamba.Elements; using Karamba.GHopper.Geometry; using Rhino.Geometry; -using STBDotNet.Elements.StbModel.StbMember; -using STBDotNet.Elements.StbModel.StbSection; -using Model = STBDotNet.Elements.StbModel.Model; +using STBDotNet.v202; namespace KarambaConnect.K2S { - public class StbModel + public class K2StbModel { // 0:column, 1:girder, 2:brace private readonly List> _registeredCroSecId = new List> @@ -21,26 +19,21 @@ public class StbModel { new List(), new List(), new List() }; - private readonly Members _members = new Members - { - Columns = new List(), - Girders = new List(), - Braces = new List() - }; - private readonly List
_sections = new List
(); - private Steel _secSteel = new Steel(); + private readonly StbMembers _members = new StbMembers(); + private readonly StbSections _sections = new StbSections(); + private readonly STBDotNet.v202.StbSecSteel _secSteel = new STBDotNet.v202.StbSecSteel(); private readonly int[] _tagNum = { 1, 1, 1 }; private readonly List _croSecNames = new List(); private readonly Karamba.Models.Model _kModel; - public StbModel(Karamba.Models.Model kModel) + public K2StbModel(Karamba.Models.Model kModel) { _kModel = kModel; _croSecNames = _kModel.crosecs.Select(sec => sec.name).ToList(); } - public Model SetByAngle(double colMaxAngle) + public STBDotNet.v202.StbModel SetByAngle(double colMaxAngle) { foreach (ModelElement elem in _kModel.elems) { @@ -65,8 +58,7 @@ public Model SetByAngle(double colMaxAngle) } } - _sections.Add(_secSteel); - return new Model { Members = _members, Sections = _sections }; + return _members; } private void AddModelBeam(ModelBeam modelBeam, double pAngle, double nAngle, double colMaxAngle) @@ -78,7 +70,7 @@ private void AddModelBeam(ModelBeam modelBeam, double pAngle, double nAngle, dou if (positive || negative) { - _members.Columns.Add(StbMember.CreateColumn(modelBeam, croSecId, kind)); + _members.Columns.Add(K2StbMember.CreateColumn(modelBeam, croSecId, kind)); if (_registeredCroSecId[0].IndexOf(croSecId) < 0) { AddColumnSection(kind, croSecId, _tagNum[0]++); @@ -86,7 +78,7 @@ private void AddModelBeam(ModelBeam modelBeam, double pAngle, double nAngle, dou } else { - _members.Girders.Add(StbMember.CreateGirder(modelBeam, croSecId, kind)); + _members.Girders.Add(K2StbMember.CreateGirder(modelBeam, croSecId, kind)); if (_registeredCroSecId[1].IndexOf(croSecId) < 0) { AddBeamSection(kind, croSecId, _tagNum[1]++); @@ -97,7 +89,7 @@ private void AddModelBeam(ModelBeam modelBeam, double pAngle, double nAngle, dou private void AddModelTruss(ModelTruss modelTruss) { int croSecId = _croSecNames.IndexOf(modelTruss.crosec.name); - _members.Braces.Add(StbMember.CreateBrace(modelTruss, croSecId)); + _members.Braces.Add(K2StbMember.CreateBrace(modelTruss, croSecId)); if (_registeredCroSecId[2].IndexOf(croSecId) < 0) { AddBraceSection(croSecId, _tagNum[2]++); @@ -106,12 +98,12 @@ private void AddModelTruss(ModelTruss modelTruss) private void AddBraceSection(int croSecId, int vNum) { - _sections.Add(StbSection.GetBraceSt(croSecId, vNum, _kModel)); + _sections.Add(K2StbSection.GetBraceSt(croSecId, vNum, _kModel)); _registeredCroSecId[2].Add(croSecId); if (_registeredCroSecName[2].IndexOf(_kModel.crosecs[croSecId].name) < 0) { - StbSecSteel.GetSection(ref _secSteel, _kModel, croSecId); + K2StbSecSteel.GetSection(ref _secSteel, _kModel, croSecId); _registeredCroSecName[2].Add(_kModel.crosecs[croSecId].name); } } @@ -121,16 +113,16 @@ private void AddBeamSection(string kind, int croSecId, int gNum) switch (kind) { case "S": - _sections.Add(StbSection.GetBeamSt(croSecId, gNum, _kModel)); + _sections.Add(K2StbSection.GetBeamSt(croSecId, gNum, _kModel)); if (_registeredCroSecName[1].IndexOf(_kModel.crosecs[croSecId].name) < 0) { - StbSecSteel.GetSection(ref _secSteel, _kModel, croSecId); + K2StbSecSteel.GetSection(ref _secSteel, _kModel, croSecId); _registeredCroSecName[1].Add(_kModel.crosecs[croSecId].name); } break; case "RC": - _sections.Add(StbSection.GetBeamRc(croSecId, gNum, _kModel)); + _sections.Add(K2StbSection.GetBeamRc(croSecId, gNum, _kModel)); break; default: throw new ArgumentException("Make sure that the family name of the material is \"Concrete\" or \"Steel\"."); @@ -143,16 +135,16 @@ private void AddColumnSection(string kind, int croSecId, int cNum) switch (kind) { case "S": - _sections.Add(StbSection.GetColumnSt(croSecId, cNum, _kModel)); + _sections.Add(K2StbSection.GetColumnSt(croSecId, cNum, _kModel)); if (_registeredCroSecName[0].IndexOf(_kModel.crosecs[croSecId].name) < 0) { - StbSecSteel.GetSection(ref _secSteel, _kModel, croSecId); + K2StbSecSteel.GetSection(ref _secSteel, _kModel, croSecId); _registeredCroSecName[0].Add(_kModel.crosecs[croSecId].name); } break; case "RC": - _sections.Add(StbSection.GetColumnRc(croSecId, cNum, _kModel)); + _sections.Add(K2StbSection.GetColumnRc(croSecId, cNum, _kModel)); break; default: throw new ArgumentException("Make sure that the family name of the material is \"Concrete\" or \"Steel\"."); diff --git a/KarambaConnect/K2S/StbSecSteel.cs b/KarambaConnect/K2S/K2StbSecSteel.cs similarity index 99% rename from KarambaConnect/K2S/StbSecSteel.cs rename to KarambaConnect/K2S/K2StbSecSteel.cs index 1972a278..026ecad7 100644 --- a/KarambaConnect/K2S/StbSecSteel.cs +++ b/KarambaConnect/K2S/K2StbSecSteel.cs @@ -6,7 +6,7 @@ namespace KarambaConnect.K2S { - public static class StbSecSteel + public static class K2StbSecSteel { internal static void GetSection(ref Steel secSteel, Model kModel, int croSecId) { diff --git a/KarambaConnect/K2S/StbSection.cs b/KarambaConnect/K2S/K2StbSection.cs similarity index 99% rename from KarambaConnect/K2S/StbSection.cs rename to KarambaConnect/K2S/K2StbSection.cs index 3e5b305c..76b3d7a7 100644 --- a/KarambaConnect/K2S/StbSection.cs +++ b/KarambaConnect/K2S/K2StbSection.cs @@ -4,7 +4,7 @@ namespace KarambaConnect.K2S { - public static class StbSection + public static class K2StbSection { internal static Section GetBeamRc(int croSecId, int gNum, Model kModel) { From ec152254dbff83ba8b9907e440468aa34d42632f Mon Sep 17 00:00:00 2001 From: hiron Date: Sat, 7 Aug 2021 19:04:18 +0900 Subject: [PATCH 076/162] Update K2StbSections to v2 --- KarambaConnect/K2S/K2StbSection.cs | 225 ---------------------------- KarambaConnect/K2S/K2StbSections.cs | 159 ++++++++++++++++++++ 2 files changed, 159 insertions(+), 225 deletions(-) delete mode 100644 KarambaConnect/K2S/K2StbSection.cs create mode 100644 KarambaConnect/K2S/K2StbSections.cs diff --git a/KarambaConnect/K2S/K2StbSection.cs b/KarambaConnect/K2S/K2StbSection.cs deleted file mode 100644 index 76b3d7a7..00000000 --- a/KarambaConnect/K2S/K2StbSection.cs +++ /dev/null @@ -1,225 +0,0 @@ -using Karamba.CrossSections; -using Karamba.Models; -using STBDotNet.Elements.StbModel.StbSection; - -namespace KarambaConnect.K2S -{ - public static class K2StbSection - { - internal static Section GetBeamRc(int croSecId, int gNum, Model kModel) - { - if (kModel.crosecs[croSecId] is CroSec_Trapezoid trapezoid) - { - return CreateTrapezoidBeam(croSecId, gNum, trapezoid); - } - - return CreateUnsupportedTypeBeam(croSecId, gNum); - } - - private static Section CreateUnsupportedTypeBeam(int croSecId, int gNum) - { - return new BeamRc - { - Id = croSecId + 1, - Name = "G" + gNum, - DBarMain = "D22", - DStirrup = "D10", - Figure = new RcBeamSecFigure - { - SecStraight = new RcBeamSecFigure.Straight - { - Depth = 10, - Width = 10 - } - }, - BarArrangement = UndefinedBeamArrangement() - }; - } - - private static Section CreateTrapezoidBeam(int croSecId, int gNum, CroSec_Trapezoid trapezoid) - { - return new BeamRc - { - Id = croSecId + 1, - Name = "G" + gNum, - DBarMain = "D22", - DStirrup = "D10", - Figure = new RcBeamSecFigure - { - SecStraight = new RcBeamSecFigure.Straight - { - Depth = trapezoid._height * 1000, - Width = trapezoid.maxWidth() * 1000 - } - }, - BarArrangement = UndefinedBeamArrangement() - }; - } - - private static RcBeamSecBarArrangement UndefinedBeamArrangement() - { - return new RcBeamSecBarArrangement - { - SameSection = new RcBeamSecBarArrangement.Same - { - CountMainTop1st = 3, - CountMainBottom1st = 3, - CountStirrup = 2, - PitchStirrup = 100 - } - }; - } - - internal static Section GetColumnRc(int croSecId, int cNum, Model kModel) - { - switch (kModel.crosecs[croSecId]) - { - case CroSec_Trapezoid trapezoid: - return CreateTrapezoidColumn(croSecId, cNum, trapezoid); - case CroSec_Circle circle: - return CreateCircleColumn(croSecId, cNum, circle); - default: - return CreateUnsupportedTypeColumn(croSecId, cNum); - } - } - - private static Section CreateUnsupportedTypeColumn(int croSecId, int cNum) - { - return new ColumnRc - { - Id = croSecId + 1, - Name = "C" + cNum, - DBarMain = "D22", - DBarBand = "D10", - Figure = new RcColumnSecFigure - { - SecRect = new RcColumnSecFigure.Rectangle - { - DX = 10, - DY = 10 - } - }, - BarArrangement = UndefinedColumnArrangement() - }; - } - - private static RcColumnSecBarArrangement UndefinedColumnArrangement() - { - return new RcColumnSecBarArrangement - { - RectSameSection = new RcColumnSecBarArrangement.RectSame - { - CountMainX1st = 2, - CountMainY1st = 2, - CountMainTotal = 4, - PitchBand = 100, - CountBandDirX = 2, - CountBandDirY = 2, - } - }; - } - - private static Section CreateCircleColumn(int croSecId, int cNum, CroSec_Circle circle) - { - return new ColumnRc - { - Id = croSecId, - Name = "C" + cNum, - DBarMain = "D22", - DBarBand = "D10", - Figure = new RcColumnSecFigure - { - SecCircle = new RcColumnSecFigure.Circle - { - D = circle.getHeight() * 1000 - } - }, - BarArrangement = new RcColumnSecBarArrangement - { - CircleSameSection = new RcColumnSecBarArrangement.CircleSame - { - CountMain = 6, - PitchBand = 100 - } - } - }; - } - - private static Section CreateTrapezoidColumn(int croSecId, int cNum, CroSec_Trapezoid trapezoid) - { - return new ColumnRc - { - Id = croSecId + 1, - Name = "C" + cNum, - DBarMain = "D22", - DBarBand = "D10", - Figure = new RcColumnSecFigure - { - SecRect = new RcColumnSecFigure.Rectangle - { - DX = trapezoid.maxWidth() * 1000, - DY = trapezoid._height * 1000 - } - }, - BarArrangement = UndefinedColumnArrangement() - }; - } - - internal static Section GetBraceSt(int croSecId, int vNum, Model kModel) - { - return new BraceS - { - Id = croSecId + 1, - Name = "V" + vNum, - SteelBrace = new[] - { - new SecSteel - { - Position = "ALL", - Shape = kModel.crosecs[croSecId].name, - StrengthMain = "SN400", - StrengthWeb = "SN400" - } - } - }; - } - - internal static Section GetBeamSt(int croSecId, int gNum, Model kModel) - { - return new BeamS - { - Id = croSecId + 1, - Name = "G" + gNum, - SteelBeams = new[] - { - new SecSteel - { - Position = "ALL", - Shape = kModel.crosecs[croSecId].name, - StrengthMain = "SN400", - StrengthWeb = "SN400" - } - } - }; - } - - internal static Section GetColumnSt(int croSecId, int cNum, Model kModel) - { - return new ColumnS - { - Id = croSecId + 1, - Name = "C" + cNum, - SteelColumn = new[] - { - new SecSteel - { - Position = "ALL", - Shape = kModel.crosecs[croSecId].name, - StrengthMain = "SN400", - StrengthWeb = "SN400" - } - } - }; - } - } -} diff --git a/KarambaConnect/K2S/K2StbSections.cs b/KarambaConnect/K2S/K2StbSections.cs new file mode 100644 index 00000000..9e2cc790 --- /dev/null +++ b/KarambaConnect/K2S/K2StbSections.cs @@ -0,0 +1,159 @@ +using Karamba.CrossSections; +using Karamba.Models; +using STBDotNet.v202; + +namespace KarambaConnect.K2S +{ + public static class K2StbSections + { + internal static StbSecBeam_RC BeamRc(int croSecId, int gNum, Model kModel) + { + if (kModel.crosecs[croSecId] is CroSec_Trapezoid trapezoid) + { + return CreateTrapezoidBeam(croSecId, gNum, trapezoid); + } + + return CreateUnsupportedTypeBeam(croSecId, gNum); + } + + private static StbSecBeam_RC CreateUnsupportedTypeBeam(int croSecId, int gNum) + { + return new StbSecBeam_RC + { + id = (croSecId + 1).ToString(), + name = "G" + gNum, + kind_beam = StbSecBeam_RCKind_beam.GIRDER, + StbSecFigureBeam_RC = new StbSecFigureBeam_RC + { + Items = new object[] { new StbSecBeam_RC_Straight { depth = 10, width = 10 } } + }, + }; + } + + private static StbSecBeam_RC CreateTrapezoidBeam(int croSecId, int gNum, CroSec_Trapezoid trapezoid) + { + return new StbSecBeam_RC + { + id = (croSecId + 1).ToString(), + name = "G" + gNum, + kind_beam = StbSecBeam_RCKind_beam.GIRDER, + StbSecFigureBeam_RC = new StbSecFigureBeam_RC + { + Items = new object[] { new StbSecBeam_RC_Straight + { + depth = trapezoid._height * 1000, + width = trapezoid.maxWidth() * 1000 + } } + }, + }; + } + + internal static StbSecColumn_RC ColumnRc(int croSecId, int cNum, Model kModel) + { + switch (kModel.crosecs[croSecId]) + { + case CroSec_Trapezoid trapezoid: + return CreateTrapezoidColumn(croSecId, cNum, trapezoid); + case CroSec_Circle circle: + return CreateCircleColumn(croSecId, cNum, circle); + default: + return CreateUnsupportedTypeColumn(croSecId, cNum); + } + } + + private static StbSecColumn_RC CreateUnsupportedTypeColumn(int croSecId, int cNum) + { + return new StbSecColumn_RC + { + id = (croSecId + 1).ToString(), + name = "C" + cNum, + kind_column = StbSecColumn_RCKind_column.COLUMN, + StbSecFigureColumn_RC = new StbSecFigureColumn_RC + { + Item = new StbSecColumn_RC_Rect { width_X = 10, width_Y = 10 } + }, + }; + } + + private static StbSecColumn_RC CreateCircleColumn(int croSecId, int cNum, CroSec_Circle circle) + { + return new StbSecColumn_RC + { + id = (croSecId + 1).ToString(), + name = "C" + cNum, + kind_column = StbSecColumn_RCKind_column.COLUMN, + StbSecFigureColumn_RC = new StbSecFigureColumn_RC + { + Item = new StbSecColumn_RC_Circle { D = circle.getHeight() * 1000 } + }, + }; + } + + private static StbSecColumn_RC CreateTrapezoidColumn(int croSecId, int cNum, CroSec_Trapezoid trapezoid) + { + return new StbSecColumn_RC + { + id = (croSecId + 1).ToString(), + name = "C" + cNum, + kind_column = StbSecColumn_RCKind_column.COLUMN, + StbSecFigureColumn_RC = new StbSecFigureColumn_RC + { + Item = new StbSecColumn_RC_Rect { width_X = trapezoid.maxWidth() * 1000, width_Y = trapezoid._height * 1000 } + }, + }; + } + + internal static StbSecBrace_S BraceSteel(int croSecId, int vNum, Model kModel) + { + return new StbSecBrace_S + { + id = (croSecId + 1).ToString(), + name = "V" + vNum, + StbSecSteelFigureBrace_S = new StbSecSteelFigureBrace_S + { + Items = new object[] { new StbSecSteelBrace_S_Same + { + shape = kModel.crosecs[croSecId].name, + strength_main = "SN400" + } } + } + }; + } + + internal static StbSecBeam_S BeamSteel(int croSecId, int gNum, Model kModel) + { + return new StbSecBeam_S + { + id = (croSecId + 1).ToString(), + name = "G" + gNum, + kind_beam = StbSecBeam_SKind_beam.GIRDER, + StbSecSteelFigureBeam_S = new StbSecSteelFigureBeam_S + { + Items = new object[] { new StbSecSteelBeam_S_Straight + { + shape = kModel.crosecs[croSecId].name, + strength_main = "SN400", + } } + }, + }; + } + + internal static StbSecColumn_S ColumnSteel(int croSecId, int cNum, Model kModel) + { + return new StbSecColumn_S + { + id = (croSecId + 1).ToString(), + name = "C" + cNum, + kind_column = StbSecColumn_SKind_column.COLUMN, + StbSecSteelFigureColumn_S = new StbSecSteelFigureColumn_S + { + Items = new object[] { new StbSecSteelColumn_S_Same + { + shape = kModel.crosecs[croSecId].name, + strength_main = "SN400", + } } + }, + }; + } + } +} From c22535cfcb953a8ffa8cc916a8641661e8133831 Mon Sep 17 00:00:00 2001 From: hiron Date: Sat, 7 Aug 2021 21:43:32 +0900 Subject: [PATCH 077/162] Update K2StbModel to v2 --- .../StbBuilder/FrameBuilderByAngle.cs | 9 +- .../{K2StbMember.cs => K2StbMemberItems.cs} | 2 +- KarambaConnect/K2S/K2StbModel.cs | 128 ++++++++++++------ 3 files changed, 93 insertions(+), 46 deletions(-) rename KarambaConnect/K2S/{K2StbMember.cs => K2StbMemberItems.cs} (97%) diff --git a/KarambaConnect/Component/StbBuilder/FrameBuilderByAngle.cs b/KarambaConnect/Component/StbBuilder/FrameBuilderByAngle.cs index 2b3a2231..275474f8 100644 --- a/KarambaConnect/Component/StbBuilder/FrameBuilderByAngle.cs +++ b/KarambaConnect/Component/StbBuilder/FrameBuilderByAngle.cs @@ -44,14 +44,11 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) throw new ArgumentException("The input is not Karamba3D model!"); } Model kModel = ghKModel.Value; - var stbModel = new K2S.K2StbModel(kModel); - // TODO: 実装する - var sSections = new StbSections(); - _sModel = stbModel.SetByAngle(colMaxAngle); - _sModel.StbNodes = kModel.nodes.ToStb(); + var k2S = new K2S.K2StbModel(kModel); + _sModel = k2S.SetByAngle(colMaxAngle); dataAccess.SetData(0, _sModel.StbMembers); - dataAccess.SetData(1, sSections); + dataAccess.SetData(1, _sModel.StbSections); } protected override Bitmap Icon => Properties.Resource.FrameBuilder; diff --git a/KarambaConnect/K2S/K2StbMember.cs b/KarambaConnect/K2S/K2StbMemberItems.cs similarity index 97% rename from KarambaConnect/K2S/K2StbMember.cs rename to KarambaConnect/K2S/K2StbMemberItems.cs index d7ac76df..ed38b7cc 100644 --- a/KarambaConnect/K2S/K2StbMember.cs +++ b/KarambaConnect/K2S/K2StbMemberItems.cs @@ -3,7 +3,7 @@ namespace KarambaConnect.K2S { - public static class K2StbMember + public static class K2StbMemberItems { internal static StbColumn CreateColumn(ModelBeam elem, int croSecId, StbColumnKind_structure kind) { diff --git a/KarambaConnect/K2S/K2StbModel.cs b/KarambaConnect/K2S/K2StbModel.cs index 46302355..4e13f16b 100644 --- a/KarambaConnect/K2S/K2StbModel.cs +++ b/KarambaConnect/K2S/K2StbModel.cs @@ -19,9 +19,7 @@ public class K2StbModel { new List(), new List(), new List() }; - private readonly StbMembers _members = new StbMembers(); - private readonly StbSections _sections = new StbSections(); - private readonly STBDotNet.v202.StbSecSteel _secSteel = new STBDotNet.v202.StbSecSteel(); + private StbSecSteel _secSteel = new StbSecSteel(); private readonly int[] _tagNum = { 1, 1, 1 }; private readonly List _croSecNames = new List(); @@ -33,8 +31,18 @@ public K2StbModel(Karamba.Models.Model kModel) _croSecNames = _kModel.crosecs.Select(sec => sec.name).ToList(); } - public STBDotNet.v202.StbModel SetByAngle(double colMaxAngle) + public StbModel SetByAngle(double colMaxAngle) { + // TODO: リストが大量にあるの直す + var columns = new List(); + var girders = new List(); + var braces = new List(); + var secBeams_S = new List(); + var secBeams_Rc = new List(); + var secColumn_S = new List(); + var secColumn_Rc = new List(); + var secBrace_S = new List(); + foreach (ModelElement elem in _kModel.elems) { if (!(elem is ModelElementStraightLine)) @@ -48,57 +56,86 @@ public STBDotNet.v202.StbModel SetByAngle(double colMaxAngle) switch (elem) { case ModelBeam modelBeam: - AddModelBeam(modelBeam, pAngle, nAngle, colMaxAngle); + ModelBeamToStbColumnAndGirder(secBeams_Rc, secBeams_S, secColumn_Rc, secColumn_S, colMaxAngle, columns, girders, pAngle, nAngle, modelBeam); break; case ModelTruss modelTruss: - AddModelTruss(modelTruss); + ModelTrussToStbBrace(secBrace_S, braces, modelTruss); break; default: throw new ArgumentException("Karamba3D model parse error."); } } - return _members; + StbMembers members = BindMemberProps(columns, girders, braces); + StbSections sections = BindSectionProps(secBeams_S, secBeams_Rc, secColumn_S, secColumn_Rc, secBrace_S); + + return new StbModel() { StbNodes = _kModel.nodes.ToStb(), StbMembers = members, StbSections = sections }; + } + + private static StbMembers BindMemberProps(IReadOnlyCollection columns, IReadOnlyCollection girders, IReadOnlyCollection braces) + { + return new StbMembers() + { + StbColumns = columns.ToArray(), + StbGirders = girders.ToArray(), + StbBraces = braces.ToArray() + }; + } + + private static StbSections BindSectionProps( + IReadOnlyCollection secBeams_S, IReadOnlyCollection secBeams_Rc, + IReadOnlyCollection secColumn_S, IReadOnlyCollection secColumn_Rc, + IReadOnlyCollection secBrace_S) + { + return new StbSections + { + StbSecColumn_S = secColumn_S.ToArray(), + StbSecColumn_RC = secColumn_Rc.ToArray(), + StbSecBeam_S = secBeams_S.ToArray(), + StbSecBeam_RC = secBeams_Rc.ToArray(), + StbSecBrace_S = secBrace_S.ToArray(), + }; + } + + private void ModelTrussToStbBrace(List secBrace_S, List braces, ModelTruss modelTruss) + { + int trussCroSecId = _croSecNames.IndexOf(modelTruss.crosec.name); + braces.Add(K2StbMemberItems.CreateBrace(modelTruss, trussCroSecId)); + if (_registeredCroSecId[2].IndexOf(trussCroSecId) < 0) + { + AddBraceSection(secBrace_S, trussCroSecId, _tagNum[2]++); + } } - private void AddModelBeam(ModelBeam modelBeam, double pAngle, double nAngle, double colMaxAngle) + private void ModelBeamToStbColumnAndGirder(List secBeams_RC, List secBeams_S, List secColumn_RC, List secColumn_S, double colMaxAngle, List columns, List girders, double pAngle, double nAngle, ModelBeam modelBeam) { int croSecId = _croSecNames.IndexOf(modelBeam.crosec.name); - string kind = GetElementKind(modelBeam.crosec.material.family); bool positive = pAngle <= colMaxAngle && pAngle >= -1d * colMaxAngle; bool negative = nAngle <= colMaxAngle && nAngle >= -1d * colMaxAngle; if (positive || negative) { - _members.Columns.Add(K2StbMember.CreateColumn(modelBeam, croSecId, kind)); + var kind = GetColumnStructureKind(modelBeam.crosec.material.family); + columns.Add(K2StbMemberItems.CreateColumn(modelBeam, croSecId, kind)); if (_registeredCroSecId[0].IndexOf(croSecId) < 0) { - AddColumnSection(kind, croSecId, _tagNum[0]++); + AddColumnSection(secColumn_S, secColumn_RC, kind, croSecId, _tagNum[0]++); } } else { - _members.Girders.Add(K2StbMember.CreateGirder(modelBeam, croSecId, kind)); + var kind = GetGirderStructureKind(modelBeam.crosec.material.family); + girders.Add(K2StbMemberItems.CreateGirder(modelBeam, croSecId, kind)); if (_registeredCroSecId[1].IndexOf(croSecId) < 0) { - AddBeamSection(kind, croSecId, _tagNum[1]++); + AddBeamSection(secBeams_S, secBeams_RC, kind, croSecId, _tagNum[1]++); } } } - private void AddModelTruss(ModelTruss modelTruss) + private void AddBraceSection(List secBrace_S, int croSecId, int vNum) { - int croSecId = _croSecNames.IndexOf(modelTruss.crosec.name); - _members.Braces.Add(K2StbMember.CreateBrace(modelTruss, croSecId)); - if (_registeredCroSecId[2].IndexOf(croSecId) < 0) - { - AddBraceSection(croSecId, _tagNum[2]++); - } - } - - private void AddBraceSection(int croSecId, int vNum) - { - _sections.Add(K2StbSection.GetBraceSt(croSecId, vNum, _kModel)); + secBrace_S.Add(K2StbSections.BraceSteel(croSecId, vNum, _kModel)); _registeredCroSecId[2].Add(croSecId); if (_registeredCroSecName[2].IndexOf(_kModel.crosecs[croSecId].name) < 0) @@ -108,12 +145,12 @@ private void AddBraceSection(int croSecId, int vNum) } } - private void AddBeamSection(string kind, int croSecId, int gNum) + private void AddBeamSection(List secBeams_S, List secBeams_RC, StbGirderKind_structure kind, int croSecId, int gNum) { switch (kind) { - case "S": - _sections.Add(K2StbSection.GetBeamSt(croSecId, gNum, _kModel)); + case StbGirderKind_structure.S: + secBeams_S.Add(K2StbSections.BeamSteel(croSecId, gNum, _kModel)); if (_registeredCroSecName[1].IndexOf(_kModel.crosecs[croSecId].name) < 0) { @@ -121,8 +158,8 @@ private void AddBeamSection(string kind, int croSecId, int gNum) _registeredCroSecName[1].Add(_kModel.crosecs[croSecId].name); } break; - case "RC": - _sections.Add(K2StbSection.GetBeamRc(croSecId, gNum, _kModel)); + case StbGirderKind_structure.RC: + secBeams_RC.Add(K2StbSections.BeamRc(croSecId, gNum, _kModel)); break; default: throw new ArgumentException("Make sure that the family name of the material is \"Concrete\" or \"Steel\"."); @@ -130,12 +167,12 @@ private void AddBeamSection(string kind, int croSecId, int gNum) _registeredCroSecId[1].Add(croSecId); } - private void AddColumnSection(string kind, int croSecId, int cNum) + private void AddColumnSection(List secColumns_S, List secColumns_RC, StbColumnKind_structure kind, int croSecId, int cNum) { switch (kind) { - case "S": - _sections.Add(K2StbSection.GetColumnSt(croSecId, cNum, _kModel)); + case StbColumnKind_structure.S: + secColumns_S.Add(K2StbSections.ColumnSteel(croSecId, cNum, _kModel)); if (_registeredCroSecName[0].IndexOf(_kModel.crosecs[croSecId].name) < 0) { @@ -143,8 +180,8 @@ private void AddColumnSection(string kind, int croSecId, int cNum) _registeredCroSecName[0].Add(_kModel.crosecs[croSecId].name); } break; - case "RC": - _sections.Add(K2StbSection.GetColumnRc(croSecId, cNum, _kModel)); + case StbColumnKind_structure.RC: + secColumns_RC.Add(K2StbSections.ColumnRc(croSecId, cNum, _kModel)); break; default: throw new ArgumentException("Make sure that the family name of the material is \"Concrete\" or \"Steel\"."); @@ -152,16 +189,29 @@ private void AddColumnSection(string kind, int croSecId, int cNum) _registeredCroSecId[0].Add(croSecId); } - private static string GetElementKind(string materialFamily) + private static StbColumnKind_structure GetColumnStructureKind(string materialFamily) { switch (materialFamily) { case "Steel": - return "S"; + return StbColumnKind_structure.S; case "Concrete": - return "RC"; + return StbColumnKind_structure.RC; default: - return string.Empty; + throw new ArgumentException("Make sure that the family name of the material is \"Concrete\" or \"Steel\"."); + } + } + + private static StbGirderKind_structure GetGirderStructureKind(string materialFamily) + { + switch (materialFamily) + { + case "Steel": + return StbGirderKind_structure.S; + case "Concrete": + return StbGirderKind_structure.RC; + default: + throw new ArgumentException("Make sure that the family name of the material is \"Concrete\" or \"Steel\"."); } } } From ebebaf637210af3c0ee692ed19f9fb4ca7e2b646 Mon Sep 17 00:00:00 2001 From: hiron Date: Sat, 7 Aug 2021 22:41:46 +0900 Subject: [PATCH 078/162] Update K2SSecSteel to v2 --- KarambaConnect/K2S/K2SSecSteelItems.cs | 30 +++++++ KarambaConnect/K2S/K2StbModel.cs | 37 +++++---- KarambaConnect/K2S/K2StbSecSteel.cs | 105 +++++++++++++------------ 3 files changed, 103 insertions(+), 69 deletions(-) create mode 100644 KarambaConnect/K2S/K2SSecSteelItems.cs diff --git a/KarambaConnect/K2S/K2SSecSteelItems.cs b/KarambaConnect/K2S/K2SSecSteelItems.cs new file mode 100644 index 00000000..bfc0ba31 --- /dev/null +++ b/KarambaConnect/K2S/K2SSecSteelItems.cs @@ -0,0 +1,30 @@ +using System.Collections.Generic; +using STBDotNet.v202; + +namespace KarambaConnect.K2S +{ + internal class K2SSecSteelItems + { + public List SecFlatBars { get; set; } + public List SecRollBOXes { get; set; } + public List SecRollHs { get; set; } + public List SecRollTs { get; set; } + public List SecPipes { get; set; } + + public K2SSecSteelItems() + { + } + + public StbSecSteel ToStb() + { + return new StbSecSteel + { + StbSecFlatBar = SecFlatBars.ToArray(), + StbSecRollBOX = SecRollBOXes.ToArray(), + StbSecRollH = SecRollHs.ToArray(), + StbSecRollT = SecRollTs.ToArray(), + StbSecPipe = SecPipes.ToArray() + }; + } + } +} diff --git a/KarambaConnect/K2S/K2StbModel.cs b/KarambaConnect/K2S/K2StbModel.cs index 4e13f16b..707320c4 100644 --- a/KarambaConnect/K2S/K2StbModel.cs +++ b/KarambaConnect/K2S/K2StbModel.cs @@ -19,8 +19,6 @@ public class K2StbModel { new List(), new List(), new List() }; - private StbSecSteel _secSteel = new StbSecSteel(); - private readonly int[] _tagNum = { 1, 1, 1 }; private readonly List _croSecNames = new List(); private readonly Karamba.Models.Model _kModel; @@ -42,6 +40,7 @@ public StbModel SetByAngle(double colMaxAngle) var secColumn_S = new List(); var secColumn_Rc = new List(); var secBrace_S = new List(); + var secSteel = new K2SSecSteelItems(); foreach (ModelElement elem in _kModel.elems) { @@ -56,10 +55,10 @@ public StbModel SetByAngle(double colMaxAngle) switch (elem) { case ModelBeam modelBeam: - ModelBeamToStbColumnAndGirder(secBeams_Rc, secBeams_S, secColumn_Rc, secColumn_S, colMaxAngle, columns, girders, pAngle, nAngle, modelBeam); + ModelBeamToStbColumnAndGirder(secBeams_Rc, secBeams_S, secColumn_Rc, secColumn_S, secSteel, colMaxAngle, columns, girders, pAngle, nAngle, modelBeam); break; case ModelTruss modelTruss: - ModelTrussToStbBrace(secBrace_S, braces, modelTruss); + ModelTrussToStbBrace(secBrace_S, secSteel, braces, modelTruss); break; default: throw new ArgumentException("Karamba3D model parse error."); @@ -67,7 +66,7 @@ public StbModel SetByAngle(double colMaxAngle) } StbMembers members = BindMemberProps(columns, girders, braces); - StbSections sections = BindSectionProps(secBeams_S, secBeams_Rc, secColumn_S, secColumn_Rc, secBrace_S); + StbSections sections = BindSectionProps(secBeams_S, secBeams_Rc, secColumn_S, secColumn_Rc, secBrace_S, secSteel); return new StbModel() { StbNodes = _kModel.nodes.ToStb(), StbMembers = members, StbSections = sections }; } @@ -85,7 +84,8 @@ private static StbMembers BindMemberProps(IReadOnlyCollection columns private static StbSections BindSectionProps( IReadOnlyCollection secBeams_S, IReadOnlyCollection secBeams_Rc, IReadOnlyCollection secColumn_S, IReadOnlyCollection secColumn_Rc, - IReadOnlyCollection secBrace_S) + IReadOnlyCollection secBrace_S, + K2SSecSteelItems secSteelItems) { return new StbSections { @@ -94,20 +94,23 @@ private static StbSections BindSectionProps( StbSecBeam_S = secBeams_S.ToArray(), StbSecBeam_RC = secBeams_Rc.ToArray(), StbSecBrace_S = secBrace_S.ToArray(), + StbSecSteel = secSteelItems.ToStb(), }; } - private void ModelTrussToStbBrace(List secBrace_S, List braces, ModelTruss modelTruss) + private void ModelTrussToStbBrace(List secBrace_S, K2SSecSteelItems secSteel, List braces, ModelTruss modelTruss) { int trussCroSecId = _croSecNames.IndexOf(modelTruss.crosec.name); braces.Add(K2StbMemberItems.CreateBrace(modelTruss, trussCroSecId)); if (_registeredCroSecId[2].IndexOf(trussCroSecId) < 0) { - AddBraceSection(secBrace_S, trussCroSecId, _tagNum[2]++); + AddBraceSection(secBrace_S, secSteel, trussCroSecId, _tagNum[2]++); } } - private void ModelBeamToStbColumnAndGirder(List secBeams_RC, List secBeams_S, List secColumn_RC, List secColumn_S, double colMaxAngle, List columns, List girders, double pAngle, double nAngle, ModelBeam modelBeam) + private void ModelBeamToStbColumnAndGirder( + List secBeams_RC, List secBeams_S, List secColumn_RC, List secColumn_S, K2SSecSteelItems secSteel, + double colMaxAngle, List columns, List girders, double pAngle, double nAngle, ModelBeam modelBeam) { int croSecId = _croSecNames.IndexOf(modelBeam.crosec.name); bool positive = pAngle <= colMaxAngle && pAngle >= -1d * colMaxAngle; @@ -119,7 +122,7 @@ private void ModelBeamToStbColumnAndGirder(List secBeams_RC, List columns.Add(K2StbMemberItems.CreateColumn(modelBeam, croSecId, kind)); if (_registeredCroSecId[0].IndexOf(croSecId) < 0) { - AddColumnSection(secColumn_S, secColumn_RC, kind, croSecId, _tagNum[0]++); + AddColumnSection(secColumn_S, secColumn_RC, secSteel, kind, croSecId, _tagNum[0]++); } } else @@ -128,24 +131,24 @@ private void ModelBeamToStbColumnAndGirder(List secBeams_RC, List girders.Add(K2StbMemberItems.CreateGirder(modelBeam, croSecId, kind)); if (_registeredCroSecId[1].IndexOf(croSecId) < 0) { - AddBeamSection(secBeams_S, secBeams_RC, kind, croSecId, _tagNum[1]++); + AddBeamSection(secBeams_S, secBeams_RC, secSteel, kind, croSecId, _tagNum[1]++); } } } - private void AddBraceSection(List secBrace_S, int croSecId, int vNum) + private void AddBraceSection(List secBrace_S, K2SSecSteelItems secSteel, int croSecId, int vNum) { secBrace_S.Add(K2StbSections.BraceSteel(croSecId, vNum, _kModel)); _registeredCroSecId[2].Add(croSecId); if (_registeredCroSecName[2].IndexOf(_kModel.crosecs[croSecId].name) < 0) { - K2StbSecSteel.GetSection(ref _secSteel, _kModel, croSecId); + K2StbSecSteel.GetSection(ref secSteel, _kModel, croSecId); _registeredCroSecName[2].Add(_kModel.crosecs[croSecId].name); } } - private void AddBeamSection(List secBeams_S, List secBeams_RC, StbGirderKind_structure kind, int croSecId, int gNum) + private void AddBeamSection(List secBeams_S, List secBeams_RC, K2SSecSteelItems secSteel, StbGirderKind_structure kind, int croSecId, int gNum) { switch (kind) { @@ -154,7 +157,7 @@ private void AddBeamSection(List secBeams_S, List s if (_registeredCroSecName[1].IndexOf(_kModel.crosecs[croSecId].name) < 0) { - K2StbSecSteel.GetSection(ref _secSteel, _kModel, croSecId); + K2StbSecSteel.GetSection(ref secSteel, _kModel, croSecId); _registeredCroSecName[1].Add(_kModel.crosecs[croSecId].name); } break; @@ -167,7 +170,7 @@ private void AddBeamSection(List secBeams_S, List s _registeredCroSecId[1].Add(croSecId); } - private void AddColumnSection(List secColumns_S, List secColumns_RC, StbColumnKind_structure kind, int croSecId, int cNum) + private void AddColumnSection(List secColumns_S, List secColumns_RC, K2SSecSteelItems secSteel, StbColumnKind_structure kind, int croSecId, int cNum) { switch (kind) { @@ -176,7 +179,7 @@ private void AddColumnSection(List secColumns_S, List(); + secSteel.SecPipes = new List(); } - secSteel.Pipe.Add(unsupported); + + secSteel.SecPipes.Add(unsupported); } - private static void AddCircleSection(ref Steel secSteel, KCroSec.CroSec_Circle secCircle) + private static void AddCircleSection(ref K2SSecSteelItems secSteel, KCroSec.CroSec_Circle secCircle) { - var pipe = new Pipe + var pipe = new StbSecPipe { - Name = secCircle.name, + name = secCircle.name, D = secCircle.getHeight() * 1000, - T = secCircle.thick * 1000 + t = secCircle.thick * 1000 }; - if (secSteel.Pipe == null) + if (secSteel.SecPipes == null) { - secSteel.Pipe = new List(); + secSteel.SecPipes = new List(); } - secSteel.Pipe.Add(pipe); + secSteel.SecPipes.Add(pipe); } - private static void AddHShapeSection(ref Steel secSteel, KCroSec.CroSec_I secH) + private static void AddHShapeSection(ref K2SSecSteelItems secSteel, KCroSec.CroSec_I secH) { - var hShape = new RollH + var hShape = new StbSecRollH { - Name = secH.name, + name = secH.name, A = secH._height * 1000, B = secH.maxWidth() * 1000, - R = secH.fillet_r * 1000, - T1 = secH.w_thick * 1000, - T2 = secH.uf_thick * 1000, - Type = "H" + r = secH.fillet_r * 1000, + t1 = secH.w_thick * 1000, + t2 = secH.uf_thick * 1000, + type = StbSecRollHType.H }; - if (secSteel.RollH == null) + if (secSteel.SecRollHs == null) { - secSteel.RollH = new List(); + secSteel.SecRollHs = new List(); } - secSteel.RollH.Add(hShape); + secSteel.SecRollHs.Add(hShape); } - private static void AddTShapeSection(ref Steel secSteel, KCroSec.CroSec_T secT) + private static void AddTShapeSection(ref K2SSecSteelItems secSteel, KCroSec.CroSec_T secT) { - var tShape = new RollT + var tShape = new StbSecRollT { - Name = secT.name, + name = secT.name, A = secT._height * 1000, B = secT.maxWidth() * 1000, - R = secT.fillet_r * 1000, - T1 = secT.w_thick * 1000, - T2 = secT.uf_thick * 1000, - Type = "T" + r = secT.fillet_r * 1000, + t1 = secT.w_thick * 1000, + t2 = secT.uf_thick * 1000, + type = StbSecRollTType.T, }; - if (secSteel.RollT == null) + if (secSteel.SecRollTs == null) { - secSteel.RollT = new List(); + secSteel.SecRollTs = new List(); } - secSteel.RollT.Add(tShape); + secSteel.SecRollTs.Add(tShape); } - private static void AddBoxSection(ref Steel secSteel, KCroSec.CroSec_Box secBox) + private static void AddBoxSection(ref K2SSecSteelItems secSteel, KCroSec.CroSec_Box secBox) { double[] thickness = { secBox.w_thick, secBox.uf_thick, secBox.lf_thick }; - var box = new RollBox + var box = new StbSecRollBOX { - Name = secBox.name, + name = secBox.name, A = secBox._height * 1000, B = secBox.maxWidth() * 1000, - R = secBox.fillet_r * 1000, - T = thickness.Max() * 1000, - Type = "ELSE" + r = secBox.fillet_r * 1000, + t = thickness.Max() * 1000, + type = StbSecRollBOXType.ELSE, }; - if (secSteel.RollBox == null) + if (secSteel.SecRollBOXes == null) { - secSteel.RollBox = new List(); + secSteel.SecRollBOXes = new List(); } - secSteel.RollBox.Add(box); + secSteel.SecRollBOXes.Add(box); } - private static void AddTrapezoidSection(ref Steel secSteel, KCroSec.CroSec_Trapezoid secTrapezoid) + private static void AddTrapezoidSection(ref K2SSecSteelItems secSteel, KCroSec.CroSec_Trapezoid secTrapezoid) { - var trapezoid = new FlatBar + var trapezoid = new StbSecFlatBar { - Name = secTrapezoid.name, + name = secTrapezoid.name, B = secTrapezoid._height * 1000, - T = secTrapezoid.uf_width * 1000 + t = secTrapezoid.uf_width * 1000 }; - if (secSteel.FlatBar == null) + if (secSteel.SecFlatBars == null) { - secSteel.FlatBar = new List(); + secSteel.SecFlatBars = new List(); } - secSteel.FlatBar.Add(trapezoid); + secSteel.SecFlatBars.Add(trapezoid); } } } From fd97153e2bad4cc89c728806041da75c7a37da19 Mon Sep 17 00:00:00 2001 From: hiron Date: Sat, 7 Aug 2021 22:47:23 +0900 Subject: [PATCH 079/162] Clean code --- KarambaConnect/K2S/K2SSecSteelItems.cs | 4 ---- KarambaConnect/K2S/K2StbModel.cs | 18 +++++++++--------- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/KarambaConnect/K2S/K2SSecSteelItems.cs b/KarambaConnect/K2S/K2SSecSteelItems.cs index bfc0ba31..3e9825ca 100644 --- a/KarambaConnect/K2S/K2SSecSteelItems.cs +++ b/KarambaConnect/K2S/K2SSecSteelItems.cs @@ -11,10 +11,6 @@ internal class K2SSecSteelItems public List SecRollTs { get; set; } public List SecPipes { get; set; } - public K2SSecSteelItems() - { - } - public StbSecSteel ToStb() { return new StbSecSteel diff --git a/KarambaConnect/K2S/K2StbModel.cs b/KarambaConnect/K2S/K2StbModel.cs index 707320c4..0cada688 100644 --- a/KarambaConnect/K2S/K2StbModel.cs +++ b/KarambaConnect/K2S/K2StbModel.cs @@ -71,7 +71,7 @@ public StbModel SetByAngle(double colMaxAngle) return new StbModel() { StbNodes = _kModel.nodes.ToStb(), StbMembers = members, StbSections = sections }; } - private static StbMembers BindMemberProps(IReadOnlyCollection columns, IReadOnlyCollection girders, IReadOnlyCollection braces) + private static StbMembers BindMemberProps(IEnumerable columns, IEnumerable girders, IEnumerable braces) { return new StbMembers() { @@ -82,9 +82,9 @@ private static StbMembers BindMemberProps(IReadOnlyCollection columns } private static StbSections BindSectionProps( - IReadOnlyCollection secBeams_S, IReadOnlyCollection secBeams_Rc, - IReadOnlyCollection secColumn_S, IReadOnlyCollection secColumn_Rc, - IReadOnlyCollection secBrace_S, + IEnumerable secBeams_S, IEnumerable secBeams_Rc, + IEnumerable secColumn_S, IEnumerable secColumn_Rc, + IEnumerable secBrace_S, K2SSecSteelItems secSteelItems) { return new StbSections @@ -98,7 +98,7 @@ private static StbSections BindSectionProps( }; } - private void ModelTrussToStbBrace(List secBrace_S, K2SSecSteelItems secSteel, List braces, ModelTruss modelTruss) + private void ModelTrussToStbBrace(List secBrace_S, K2SSecSteelItems secSteel, ICollection braces, ModelTruss modelTruss) { int trussCroSecId = _croSecNames.IndexOf(modelTruss.crosec.name); braces.Add(K2StbMemberItems.CreateBrace(modelTruss, trussCroSecId)); @@ -110,7 +110,7 @@ private void ModelTrussToStbBrace(List secBrace_S, K2SSecSteelIte private void ModelBeamToStbColumnAndGirder( List secBeams_RC, List secBeams_S, List secColumn_RC, List secColumn_S, K2SSecSteelItems secSteel, - double colMaxAngle, List columns, List girders, double pAngle, double nAngle, ModelBeam modelBeam) + double colMaxAngle, ICollection columns, ICollection girders, double pAngle, double nAngle, ModelBeam modelBeam) { int croSecId = _croSecNames.IndexOf(modelBeam.crosec.name); bool positive = pAngle <= colMaxAngle && pAngle >= -1d * colMaxAngle; @@ -136,7 +136,7 @@ private void ModelBeamToStbColumnAndGirder( } } - private void AddBraceSection(List secBrace_S, K2SSecSteelItems secSteel, int croSecId, int vNum) + private void AddBraceSection(ICollection secBrace_S, K2SSecSteelItems secSteel, int croSecId, int vNum) { secBrace_S.Add(K2StbSections.BraceSteel(croSecId, vNum, _kModel)); _registeredCroSecId[2].Add(croSecId); @@ -148,7 +148,7 @@ private void AddBraceSection(List secBrace_S, K2SSecSteelItems se } } - private void AddBeamSection(List secBeams_S, List secBeams_RC, K2SSecSteelItems secSteel, StbGirderKind_structure kind, int croSecId, int gNum) + private void AddBeamSection(ICollection secBeams_S, ICollection secBeams_RC, K2SSecSteelItems secSteel, StbGirderKind_structure kind, int croSecId, int gNum) { switch (kind) { @@ -170,7 +170,7 @@ private void AddBeamSection(List secBeams_S, List s _registeredCroSecId[1].Add(croSecId); } - private void AddColumnSection(List secColumns_S, List secColumns_RC, K2SSecSteelItems secSteel, StbColumnKind_structure kind, int croSecId, int cNum) + private void AddColumnSection(ICollection secColumns_S, ICollection secColumns_RC, K2SSecSteelItems secSteel, StbColumnKind_structure kind, int croSecId, int cNum) { switch (kind) { From 697fb70efc39b4e2ef9f39c463cada1c42a5fa1e Mon Sep 17 00:00:00 2001 From: hiron Date: Sat, 7 Aug 2021 22:49:57 +0900 Subject: [PATCH 080/162] Delete STBReader.dll --- KarambaConnect/Library/STBReader.dll | Bin 48128 -> 0 bytes KarambaConnect/karambaConnect.csproj | 3 --- 2 files changed, 3 deletions(-) delete mode 100644 KarambaConnect/Library/STBReader.dll diff --git a/KarambaConnect/Library/STBReader.dll b/KarambaConnect/Library/STBReader.dll deleted file mode 100644 index c2851d80ef7bc8f9c73c77e33cca90f90427d8c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48128 zcmeHw3w&Hvwf8z_CNq=C`_*@8N?VvVY5Jxq&!kBofs}?OeL*3eCetP~&4e@Q69NfP z9)dgzXrY=S3MdL(sz9yU3L^3l5cJ{&Ar%k>QA893gzvxB-sjAm%uK0%a(~|YeQEPQ zd#%0p+H0--KIhD2(dpNahlsrR{p1s(2XN(|D#1fTFS2vT?9HV;nNN;=z^H$6Y*Sl% zthCFDuCu}$N?XF6ozd>nHIY(lV`pi5XKC%?#?lSZ)<{K8PH?$mS!1KiS~fwQ{0_D!?hH@1NbG%m$a$uW`-7nj6noG|9EKib{6IT@vA18g`b7c zyO1ld+19fQ3>I8a42*CBM`JdP`V*fx_g=#C9U zZO{V^|J2VB=D8^9orEj54qp*f@1&7ay|e@xky+r077zs|8=W%<775G1lpzc(X_M)vulLqSje?Mp#lIf!8(UYrEIXk(MgXw(7*kYYzqs`E07K95>C9Y)XD-7{YI^Fd2 zaE9saVZNEsBW$9gsV2>b4NzBLhR_Rq!9vP2Bo#UWD$6IEp-hL(Da9UQhG4vw=9I7} z4S|2G6AtiLE%0nawPtyq=c{}Tn!XTP-6vuqH)n9&p)shm^z-oabf;qBg>9y;Rxwc> zjhvc6Z{dm>-~-12Zu*s*@W|^4m4X-aNmFL|=X@QqehYz32zGh7X&nvDV7@ehRmQSo zp`-@^@Rntn=O1Ykert+LkrWvE`SEDx2}8zI?23+qGOEkJ&30))4jA#@iX0*8+1dnqe=6qqW9edoSJR7_7Eq%6eT;Mm{H zEc}?UeJIj{o`at95+@ORB!A7x97(>;$y`bPo|Ac!e4CR{4A~DkiJFnbc<}Y0<0E-I zbJ6{gY~>^d0g{-Td_5QnNN(gL1_P4kaT4PI$*VYtQQ)0~HuKVNVIz8DK@5QpPB719 zL!%*;<|^$p*J-EO13S$w*lG5`PO}qsn!T{oY_OeXGwn26Z>QO2JIzMhX|`I@(TOlH zST?+nLWqCRW1h=RXP(O)BZ^+@Lk7A_aPmtpXEO;{e5)QFA3%nVX&gf zWUykW%N3o{JE;h0J{E2n&{8G>Ud;pQjI zDoQ}QvNO$G4JAEnl^Lsm)*d!YPcv+r8S+CXPcxW=#9|CLxni!6D~2zc7h~H?m%;;> zULZao;687;&pWhYS=n4Ogm}WV+g&EdO*2C<0r}6Q$uBFEQRlr9UCu0yO@XD`Vhd0t z=tI1s^N})H8z$X(!01#6O!}#5p*MH+u;tn%HeM&$els?WeP$QT5PE_*S_+CC#_;z} z+GJWo4d`H|F39}2H0A~Gq?1i+4ofi+&%#9DopdB7Vo5+F<^si#1Q;0aiXjOwjR{nQw!rcr0AwU6hkvta}OnAUQR8vCXvSa#2h&EQ6156#$2PO_6a$$si2yQ-7y ztxmGTI>|oA`|lZ`ID)J6^-O&|OJAG$s`~LQu+4AxV~hfHOpNrz#bde|nw^3#9oo8- zWo6#?3@tN;L}$T=vTRjCQL$PSR$aFSDKk_F^hHkqMvsBC8JZ&utRObySYcE%12qRH zePCKQaPZhIGlufP9`;PT&d%v1`)9_WFWAE_nxRq9!GTx}O1h^czzEw6Nr17&W=Mi# z;~~qGy<>s5Jli|;xRK}&m5adgSl@Oc1XHp2mY?slo^tWZJIukX36s4?6_@2%ui1h; z4+KNU0Xjk_!qBuO-b_`Zic1U)&1DaLf9{bfGktDZ;}BRyy_<; z+J`9ZW}Gc%#>qq}PllDpisQRS6`MJiL8ULlIxac0yeom7W%~STf5_!*TO(<0O(nfC zm9!Y?1gagTY)@gzX$kDqrhGPGOPK4`zDVYKbjTL&kZO$H;32{itoz~TKvhNo9_v2a zUukme{yM?-TQ9rV9I{Yi|BwD4Lx{k(+-Q zidLpkO~V7$inFs(d#F^VJl zx>jG;=_|G-lHbl(J}-O$JvDf^dlj`Sscb+Q`&ceJXn)!rv^s_R)1JcpgLcy8h!XFx z2lM0G*s}b=TWo)dokN}IaPKG%y>s9aYUkj$?sK=?=D{4%l#^-wnB`;_GAh&hxkHT3 zv|e|JBg)XMr-*XwJ%VM&C~7G0M1o}@MGaTf2t|!h6t*+*a(?SiZle&Wlf_9lpI7vt zY+rag#1cb=@>>}ht|5!^^-|u=4`Iuv4nJI;B}(KdmQdwmE0N3& z@Lil0NSS{M-e7R{|@L3ohkeimrZu#VsPk!}B7#k=@-yen=UxY`WPvOyH;*pc{k9s6d{C9cu zQfb_sG>a9^!!nL9GOjK(gYXSwdZ~HkL6ycCd@OfCjH6B-N4Q4ywM$>m(N{}fWBS_7 zSH3UuICN&a&y$aHTycXZ7?nK=&XYK@;hgE_t5xA;y9-QK=gDdm;|Y*U42d%3vEFj) z!vuPk=yUVk6EI5*kqJ14$wZ$=G237Q3hy-DD3=_E%ien8y_N~StVAn==Ph9uNHHp@$t`%+3TPbH0M z+&9Ut`W#0>SIvynRbTCh9!}Lar;>J6eY+!}t7b;(s(;{!9!}NIrjnMb6HdqyGw0k8 zl59-luX9=VY>DIAI!xn!oSOqlndR*X?9|5p%i@+{osew6oFAaGC*%a}UQ@*bS?2P} z3n6ld={&+(W%657=+@ zpVHgXPW^iBztp_x2#=oo!=4>~QE5y$n|aFNIh>zyW;*lC22hnt04eS_oCdbvx`~4< z6TFPLEMeHU6kZ;j$qf6J!tl&NC7EI0QottfUw2D^+;XkL<{yTl18Eew`G=wCtu%_<{KHUG z6tsJZJJ@diVJJE&jUqSyFch8PR)j5xYJN9AK@rZL$*uosw-k6l#&0QX;o*s4x>aAd z>Fc@rdY-=a@Kv5c)?j(b#W?;4p7U3Jh#BYjpomspP7BQ{*PFX84NdiTgB)b7!5 zZBA-B?AoBu&3Eq}Swig|{nn*v%DegL%iok#9{WSo@8-LY?<`>-|G%A79-B&(ck|ul zSwbKG(WmtB9~(>O_>WcEb^QNe@bRA#&;L2-SC#mcMFf)>Kj(^{|DS?^J=|IK{+Ro# z-U)M;)k*HP`q0lES0}me>hnMJ^4WbKHn>^NT68P8l{d^7R6~^0R^(^pL!NbX`Ya|E<>bIo$ekXpl`E)^)57SjXIawXQE_S*%gP z$(|u)#?WXDl6+T)OAHYzh9K#64QojHb?xIpx3%5t8sb`sUwd7{3o#MY+`|oE#%ht# z!)@R!Q2dU-<2(yF>yzAD=84H;^*R3O_31XS|K;n`;8iH?y=7UL^u1+!k@^aon6yZJ zga}~P`FV0CFH#QsGhL*tj2ydnaP;Qvl4(JhY_BsdaHhTFIXCU&OP+NctKp6_=O}pf z*{w^wtk!T{?r6@rN9=ZT4%_bdqI1q?Xmpx81(<4j^_0`6uNUg;Mf!TNzHZmoOZ4?p zeZ5RyFW1-4@m01_bm|Q#^5ok~(CWA-r?t^G6xw?tmGZ zA`C{&m?{iL&6p+(M$MQm3`WhEAq+;%m@Ev&=*g%ShMj`Tv1ef4qu#tMh`)KM-jg-y zYP#z<1IInJA4dzyj~TlbT6#cY3fsX+Zc{UM6DPS@&Dc&(a?6@Aj5A*kH?A4$=OnkU z8T$$+xrxo#*Eq?oY{u^7Bsa7fyNi?D)@JN(PI7abp;<`sx`nW-`$|tKlkhywdGC`0 z>9H--F%ybXV_XSJ}C^tDje{;vDFu0LC}}d zkJwcbF^<$n;nh2jb+51&t6Q|j{gqx zcnwUCpDSElg(o+URhM31G6aS@L0HT|V7KEzxXx+&|J5-V>cpU(W58a=V{p9_gS6|~ zMd?F4McUvH9YwF_={2Y+{t#2fKQhwet$hW1%D!n&(Z>%tXB}coqI^7rg`dToHA1x+ z-ygUgwihJcA1DqU>JxrhYW*BpHXRR4zrleoagQZ&k}XG9k+&21Gel!xXb+dy z_w-ps{G%y%YsL5IEA&Z4|Dmt<>FXYS{Wf3qSmbvO(KXd)u22Ax4 zX&fQ$wF#R9ye>2=1v|@Q%}K$|E?eobPDqgfHPtEDP%|$DJ3G}!xXch-!HY)6z(6zf z9i;s_eLvCxoqm92{DD{&uF+E=iuKA>1HYKN7ny_k?gu_Bp&t0)B}Z3zxuKSm8Op*3 z9*evM-qL{&dM}ZUbYaQD#9_~zTtNgxj&UH8~m3Il} z3Wsx6C61&h^<{^%vJwYPaPD?EO=Vj%tsgk#lCrZit!Esvq3jGZ^dN#TB)S;2;^`|B zLlcQ%iNx?kVniY_GLaaSNQ_nl?BeHNO}O%pX&r1Rpi(cH*b&@-~PI7-YV+}B_ zhr7HPJB^dv>-DhVj&FvLCueB%7rytKL2sfC^l^L^guDKx%11$atUs~m()Evp8vBk| zUcTmrs=&qbC)AH_RRSWb>}bEdh>5$X-vcv{_RVp>`kePOFKzahqsz+6k{*6vIOu#3 zxKw=*IE3L@7DXU}Ib|aYJ)xyY6~PDAU*HWb11XaPvX&z~`NfyU7kWM(QtaHyu*Sh) z^|{A{&%$7R7=^e}70rmL^}(bsQRor%Ia9oTUjb!393baexf3=FEty>~tmKMbAXkhJ zxqg?gvd(Wo4~Hf3xy1}&dxK#%#|~n`tRjOo<;V*9tOZ;^`g)DeTJ8|FKC9g!=J~9c zL(KPCmpa4(pLMfCEG%m>LpUL#8?S(qWlIz_R8h5x8m1_`&(4y=6@~ZNnHr%eywA?m zNJXK^nHnY3;1A~W{KB`p2J>a!kT=Bn#ebHFf40_R-ODCR|Kl4t{PEm}MTeUo*MR}a z0&x}m8NZ)HNe{P}9wOXmCcm#9?BRCPA4%n=Gh?SSms>ABMD~H=+fC?ha>YC&SG>rk z+xQpg{!SbFP`?>^T+B?joSC5~B>#1nd-18(WBuKoGXiFz3ydtVyTC-BH8zo$kVs69 z6J;~a(37ZZNc0S-KzNuKnn(;wB!(vvqZEOU0MCNL9*%<^6dVej>VE859E_hHb>k8B5iDv_yU7o3KlTw;cP2L3oLsNT7PH_XI}8LFL8VxVjnqg^4{q zJ_p#%Fg8to*$P|3>@*U#hQ>7cWodT#9&5d;1W(;?3VqJaPaJ4UV$k@!&a^f|Qx8YT z9M;1D(xZ=K6p!FKW85KXS-jTc?4taW_FkzGDq~VKXEUyOBFAFudi?E>mT&> zkNWzyzWzyH-_h4U^HutlYt8v(ik9JCk7A$F>sew@i>ZD4+4k7CzRBLO;kw<}b~APs zub6DU=CTJm$xfKDW)@&SG?!h`@3^ryW^6SJutR3(zhDJ7{=1;~`WJouD__+(!cK>V z*z1<^_j@obVU5i-LmxxW@Msu{%Qku}cfM@0viu20u2Fs~e%c!CPdFyYXChhI5Ty*e zMy7@;3cE(8hA9fW#(1?c90=87nu&xN`a9%&(KRrLzs~9B97*=kjJ2@y?52E~POyhP zjmP0V_8W1)FWpj`k}slq_3z(4-xI)tZ}NHFYjE9#-%yMQ&1DBM&8{U{rx?b*y3EqZQ%2BZZIV34L2)fD8CFRKwU zC!iMg++sjv4C=@AhXoH5D9XT_Dzma5D42&FlQQx3KFjEVf-~`5YyoicsnFy+KiiD8P`PukxxI&>8f*OX14;3mRR4I)XYMD?+QmIf+7w*ZQhe#YL)PthsXtW!*Y-j$S z{0%gfjuGniJf>!7YHyIKV>I;!v}~X`n)+N8QzvQa4x#31>Ptc`&{VHbCu?elP>VG6 zvgmAJ3jS>}_vDYFGeB{#{WB!z(Q3qysc<dPCsZA3C`Y*qg*qNO z%jpWdal_tD5b8?0PN;1qocDRUL8xY-uA(mpwGlBZN2!~Ix?Rd$gL_%5*zM2JVITM=Q=ETX#q>_psx$np{Z{QRh2h2FB^IHNPjshdurYWx)EP#$$e>O z2~%Iv)ayZ}zQz=Eeyeb5-qUoqrhJf`hcCDMp5(nNdH2(Pq3+kz0ig~SvE)8_RHz>! zkEx#s^_8NX1=*k;6KZkR&Vu)$<7uH*Wi$07`cJX!7;|UA2Kq6*Ak+yZOg*NlUr63l znmQ+!^M0nO2cUBU{emg@a1`qMh+fvzn?fA~E&d7h3cVs!wot#pcl2@IvO+HRJABI` zQ^$fL<4yXLP##E<@h*L&sQjH6@9(jdi08TJd-LcM%)VIEXigJNl%_3ljITU!cF%o!@F$TEF7!Rz^o9MCadCgma^bwhCm9p@U zeok)_3n@6uk$gcoEMri8CgTekjL-NPAN8`eO2Z@K={R2%%KAMEfg=T{2-XNL7hDhY z`GV$R&$8ZF{u1ECk|hr3R|U(!`A*(4hm(_cIye)6cBy&UXMyvI$@qK0DFvLqvE(dA zX1=iooS{Iw)LLULIA;rX3KjzG+($^Mn`rItWeZsj9XvZxxunp;teH^i^nT+Ag3q1xnub2injN#17!KWbS zs%WcHX9X?<=S1I?!0Q9trknf~D0}FZTIJsX$q7=n+|L>w5L7ml_!m00m-x9)Cf2LU zCYHK3lk2U?U{tn!J>wRnANAY@yvK7VaB=Wkz*)ijfbV2H0Q{@xd%z1kKLoz)`7!WD z&lA9(1fBuj9ry)M^{9Uol?~j(?KZm5d;yXFg28yNq{kO?I*`Zss-#~nc)^h$oi_mf z&Bcr}a~YRpGk!gv@#!GrjU@w){0jxIfzzMI7|CZmx`gpPlkx3b#wn716_R$8a=hG{ zO@cQIZVkKv&W?$T*Vd*+bd8i+;mdRQ0pBpB zH%srjTeLMNv=nQwqckLMw0BwW$GM{&&I<)cg43VJIK^aq6&zdsvXZ00xf*D5{xi26 zoRbO|-^?p___6$9;7lxG{8a(tck&n?3o;&OGByk6M#$J6Da)1b$?19MrEbY&jw-A8 z-||j_=8png>INxWoN+8Tf0M|ovG8kOjZ^!q%zC7U2bTg>Y}M?oB0NV*^$L~>t`p=q z+tH|`-Xb_hR?BLa0juADeAnFRj+p{4A#0l%&Ds zy!5 z@)pw5<5}{N0Q*-&&kJ=);M?XdZxIb>D!;G|)Nh4)nAoEt3Qw?W;64B6gi>0D&~+*= zFgd@?JA`&>YI~5WTQxPZW`YL zGWX(~@Sdg`%zQql9Ub>!GzElGK8&V(MP*ha)}v{dk_`MX>t63@D%F%hdqIUXRU_0? zO)VCxQd4INRi&v`p%!Xty-*E8Jwn_gN7HjEPx@dfog892m1U*0M5s#wwfR5vmeT2( zx;1w%s5P1j6*G0Vramls98|YZs{Kl76d!Hr5~*PvouR0}t-0I0DpQc_E>S3W&e}T@~aa-olM~agEGKajC zoTvKB9Lf>ulE91TOUF`)&if7e(y>&k^2FQYT;85Yy~j%p(kD)&%M>M&CsKBmd0pl_$Pe(-cjyx79RTQ|xUuousLUig$rppsBVXQw>6?K2c5k<`RC?=%}UQ z8ll9NTFPG-&s*T~VF3-3JZ0GeDpit!n}ct77s#hxFp8n&EKob@;#y9oJ&KYVPIlF> z$W_CksVn%F6xw0B@n`QMx?WQwjK6`pSyP=QpMd&`rk0dsWGtd@XsRPC3)Fp@+GP}g z`mUx1Xeg+MG}T~?2KBh6{z~IOJ*%m63nqekK~v2IQ$W2cl=6KM)t?&oy@8$=>X87? zv<);Ml7gZY$yM|Vp_Jq*8W2iJuA&`{ami-7T_`2lO!o+-B%A4qrnux9`jSve zat+-fl#*OS*DQ@oM(8U-Dai=kC6tnk(2iws$u_!OC?(lO_XwpV+vxn|amn?xLnxKE zo))g)Jk>^>l)W-8c@7l|r6kXxM}<<7-7d+^bmi%yMfND0X@^j1kFuF=5lU&)lRQY3ez|Y&+eksm+*8w^P4Rs)p_KvC5N{zKrIyaDA$V%cxo?6^YBJUMN-W zGU`)#Qtk@+azeQ)=ypx9WmnKW3FWS!_SU#ZSJ8Pwsrs&>i#5gNuA(c2QuSR$^CIzb z*HW`ks@%1-PE%a&TH=Qn+SeIk`m^88|b0?fd;)%z=*>k za91wpJ^}Pl1@s%#Z!#w9N#<0bltIZj0vb%(o?z$Ulsy*mZts#gN^@cal51BSD=7|# zw&C0)`D9LV?e`{?N|yOiaIjy=GRe06`*RM*i^Gvg=PCD}!|R9XG$i(ue-{~p-YN3n zNu(D~XftVMp@Gl*@SUOIz#yIv&n)B<9^)LrYQZ|e(*#!vhJhv2F6naww+dbh#M1}C zKH6Jcj%OtA7EQyGkrRt&)8FWcq7(2o?NNn`alhhQ#m#ssQdiQ7r=%xj`{+&@k=sTE z#>vH9G@f2Iv2zhUmkSQZy{AiQxWRXs`Y>bd63t%$-dpl@;IiUx0>4_ahb9_q|4-;o z!M%7|&-RpywsO?_Q<^FD&Lpmv>w1Zfm)zq;avI9MO|`jU zY!zH3{8qug(e=eA7_7P0XrjLd8;uT;VUC3~+w(Vi9&zXvez$PWlk|C#zE~qi;9{}) zO0jvoXsZ{zQtYpHH2>1rA?aHLcZh~t1n;ErIEhpn#U&HW@uKZE(N<^FXP;!=CVK9Y zQg?~`9>IOW*{3;d$-|O3m5S8!S1@V98S9j~9Nq zq^C-{Qqspux>nK)C0#FN8>DQL!L_U~9s;g19tEy8o&>fUKLfTI|H*ulZCGux4Xq~E z+h%gT9VVCUGP!KG$z{(I$zGAXSR^kK$ty+j8j;)~lDCLtzewIDl6Q#YT_SmpNbV8I z2TZo7)WbH6_plA+lAbE*nI5*M(!=&t3BOkO^^$Iobd$)e63%Mjv{yxfMxhf&kDR{z<8Wsjqp#w zTR;_rBO?$87GMh<0mS(X7^9{BD$!gmxLPnQ*elp4coAKM+ILI(fFK!cPpM#)LX$bG z1$zYt1j!?kf@1}%1gizZf_;Mhg1ZIx3my=o=2>=)cE zxL@#q;DF#kLCO%#f~A6E1*-*D3x)-I1^Wd11$PVX7d#+1Ab3!aeB!%cmEdZ@{elC6 z&D=dxo3s|2eBR||#(djnamf~y6?g1v%$g1ZF|2o4Ay6f_FOPQfa{YQeBzpJ2b>Zb2$y`PG8^1xt&W(=o=2>=)cExL@#q;DF#kK^iJL1xp3T3RVeL3x);z1p5Vd z3my7(1$zbi1p5Vd3my=x8qRuF3-${33(^SDFIXkGTCi7e zK#)dCS;1bx0l|ZUG>UT#!LfqXf~y6?g1v%$g8hQK1rG=w6r|CjN3c|ItYDR3wP0AV zPq1Hbx8Q!k1A+$yjU&V_!Lfo>g4Ken1;c{9f_;Mhg1ZIx3my<05IiVIW5iCuQo*r; z)q-KcUco-We!<;>`vngOmX@-fD#6u)y@LIM`vnICX)H^Q#d>!o-Ujk>R8 zJpykOj-z386!!T?(+HZ3XMoedt)wx8rxiG}g$ytoQHuf^dWDE!@nFr19gHv3{GKw=TpVOBI8OM}7 z;_%ms9wl=_5$j)@#aNop*km%Q+<8*_BUwKKCj)ON5v*lw6buWt2}T7~sfGEkK<1uY zmYiM87%cw1aM8~H5xT-N)*$^!Q2r+JKrw)4_F!-w~8rR+z! ztl`5vRU_+vLoB%`m+O5)FtJ`$HnG%?i@C;*AfvMF%lO10{-Csh7htK(7!K?$83T-z zOaPvnRR;W~F%9@O%?7SEP5@>aHNejo)B&x6#XuF$e-xDss(n@Z*9QA#nv4O#_w$!R z|Bb=3fOkvWa!TU%t5&!%*oNHhZ0--4B^J_&njgz&`C-}TJNyT-E1xb12L4R?DM-)5d}CrBS`4hi zOlD#(Y6PBwSdnyvzUpQj^89c4QOJvI}_I+7nzROUp$Um|P--pEgdG39=r*7UxsAY1+6;{1Eo1!Y zMa+{X-YqsE*9Y8+mB6HJv>kXM{(i6t`f}jKc#|0SIPuP~iJA3k;H7vE*rdzo zdf??)J52f<-2}XXz6iXMZU$bBH~LMybNprC4YV8h1^No`X8J1dOL$k<1ouwhZS)P` z?fA5+iT8r<2HuN*Cf@bE5BP2TGwC~YKk$Bf5cmLn7x*CF{xxYY{Q&qqIsiO??xOn`EL)5zsVBfF5Hg&}$3_W*8%ZK4Ub{Z;Sy3jIqWD^v@OO1wV#QuR;GX&A}AiFAB})xIg*9jV*U z)e+ec>Ff@7w?{i`Bi-Tlj@XGbe=aq4uW5|5%#DOMG%l&pRAWbYjYBLCcXT+!{OHEc zR?z`gZFD1CsgX*TL_0d{;wsHfbE>|*D=|aJdG(F+sBxi`oV&5TqjjNeha&8U>9||Cfc!aLno*vM_E&XvL+Iv<}O}A ztedZFk;3{&=eq7Tm2QZ}+Bu+#S}9U0U#0DQMV(HY!W|nU&COg@E!v)9`pVi*Y42?1 zz|-PRxiB4*6zAgOOH%Lh$Qp_bqBq1^qE<)yngmCew75KFa%-$RvY`T=cSKs)=2*po zNN2=qZ=o%ES z7k4hO@UWGwU$7C0;~S=(xW2i0Zn$MVK8ZEIJ<`Fv=_zM|H_$zI4OX?E2K~reyYtWR~ty$r*P4Nl|8Hvb64b$r-kq6lG3NmbN=$a!x`g zOwO!pP3Ad0Cpk-ZqvQ8R_)xdH8-595PO+i4Rh!6 ztdX2`YIs8mZev@xD+RluJr#Gp1szRWQ)P*s)LC=Gu{4FGrMj(+E!`Wf6h#U2#7uOWItyrab+D^{GNJ^Jw5B%gpIyg8BZ?}$cI6kOaD>5L_t0GE=Pb+IJ~K{9_~q4JcKND2KR^h@Yd+Y6bjWAB)TQJD%q2y$l#SWK2PcuTu+Tc z*|VV#T(^^uIZtmH8oMKr4#i-Zm`Y-+(%7w%7`c(o)<|bdgcd})7lvbPHE^Cpn5z@5 zi!idncrOaOgC*fkB;uQ2s;g~}bwy*m_tl#^YKnG5WVN7fCxt5Kw?kwFPrag464*S+ zL@FGaH`R`aXJX;;2(UXzn&Ps+56w{*gG zc376wj&Y75JHLG$=4Q4=w%87X^>e^5lc?!ig)dHW2~7N?LWS^cLBt}|5VjbxlW&V| zL<(XJ7?jF!HQ_63^?uQw<7q{8H$DNsW+Oyvq8qvpS4;MPDBBv(;>9;k)kfBAT(^#! zDb7RTW$m$c7q2=N!|3nW+SJ~iDC)4SaBE~k*jgXg(iFB30SWNtXkvz4h8rHIofu}k zcquy*POas*%0VPKyEYPQvD&+Mwv1;gr`6FV(h=SwsaQPU*4<#?=+x4koKX|)+G_E1 z63^mkC)~QYvtw(VXY1km!kq~jOEzLz+Yk|ccl(<5j`r?^T<#CjmDCvlJr!Sfz)UQ+ za*eOP_Eugitk7Y?o*KP@zvO_pJH{4vDJ!{@RH? z7`58BMR7pwz^QC5$2DSA;20YL-Mz+1U`WaQB+6w=fY(<$63euLit%KH0mum+cOuQh zO$g|-)d;<~Q!Z+wtrlaofqdU zx58agKE6k>t6Q<5qoTgO^BkL&G#h4bSvb%z*daMjZ(4MgP1Ur8tpqRC_C-ZR?`7h- zR0p+u){R)C$DyWh#%;Hly|}v#h!Fu?f%yqHSa7%&eF@z|c0j_EO^orE1SU+WC)5oGNJ$qTPcIb^SjB2&EuCHW>-hmbr>CBXwLCP9!b z9yM>-(9tP5s@I~>mTv6*&^v^yJD{YOv?NlvPvIhY;}T~i-SCh)(J5un@s)cA_XAO_ zdVnNVo2trLCl+1oKoHd!=CD``Ha|F`z)W=@5;^Isl7eF7@wyxCmKxONR4UcU#cR&S zpwb;uIbE|>39B8e2ki-((Z z5d=FqV}&+d8cal2;2w~SQ5BSp7Un2r5mq9V(8E#o#mX@`cPqL9XOM7AJ1pB^5sB}L z*_Z^XDat!ykvw zg8O#3yGvPH@NA+3&mCfT-TGYo_CRJ6ax8G#@g$-XylMEIPBg0t&nhB#=F^DhAaikb z%auYt25u)xb>qtVyYWc19pB(WS!+>C6#p!IoshDj5&12UP_>}`iM4oYVu9NZ9cx9l z1=I%oc0#Thsj%dIy5t&2c5=NVRb5L^Q&N3nZ9BSALj?9ENsP87tW@P)ez2s{LPOV! zm94P21zvRE$<78?Lpe3Lr(TbzM~m=8oyOR@ISMria?N<+R6{g8F@HWZu7e(q4wWS4 zECGk3NEx+wZor6-F1gCqpe)G^jtH_Y1dX+n(k@F>ORSE?TqA_mkG!iR6Rf2U)S0m#PIu0#?85}l*(VwWK z3vJ$wzQt|sj5(KPo7;@O!TnJB#-~W2w-j+Xo)3_{T_@%h4P0IaiccbtTR(H2iGX%`*$PEB92^9ED~YlbplPYP%&LA9-$lnEhnBlTwh*Vg4Gm=}4GMoZ3Iv{DoPEk+yhyf+UsUK0=>DLvtE zb@FP%@rj_M>H&ygQG9M)gB%{yl(PU&^Os03fd1jU3e88nc?7jW!d_wQwLs1Cb9L!d zv+Y8Z;?mr&X?Wti#_JLHAYLD7cq^`5y6s#!t{%hw@~p)(cpK7`71u~vaUJe;u?Z!( z*Q1`IxO}tJk97?_JYF~31m4k!kxlFogM4+(#O^$9%|X_>v<{X|u+qXmLjck6eJv^4X$y97spck~IfZAs#6%Rcff zMA3Q|&a1`X+0~Zj7|~dc5gzT!xJ`_sEtSqEcgxt)qBCvO5~Wx&)xIy4 z4XQN>)!?2?`?$bO_rBkk1o@(s7=VEW(jr|+rbkMwhBA)C?et@y?9*@Lr;2Rl*^zLcRz?Hlt*AR_9E6j8GAehGx8h zn6Mkc_s%kp_o>yq7t%7Wlc1JSJKHAAleQinV^~oO6kP)iJlg6UiAIdOYUs94_1t&a z13MZvt*qu4#}F|pQvN39QVHj*!8?tvlYb7M_nm!9-U8Xj@h(nAe8F5?c`v?5_^>>4 z33}gR?7pa|LGyU7SSnIfREH~{fUCs|_KHe)@2+Gybt={i?Cr<#s>1s(-v99|-Yk|U z?v_cn8vDX`70_BG%Fh_&F& zt}dmmtwAa0enXyW=LYb&b$Mr;Xbbc7T06)Rz0Qj5&1eVPl7tdTcIYx$e3yY&5sV^j z(*pD$-gC%k(KgvDj~&Cg5<^*Cv_zxC5GS65yD2>4ag$4S5O$yE_iuULwCTk%lVNv( zvnl({=TmiuNluzc&K>Q639tczxdFdXQqXP`22kB1T)2ABT)kqG5wL3u zKz-qAU#Z8)9hIBO^8A}qkZ-_2ww>_^D%|P~f)IrTO=2e-R=7%WrV7W*@SCs?_K5Ff z8^_|T&GIew2*zV~7m zb&V3Ql%L~he!xy1ZO*X0-!Y0_>*?J3?`u!O>IXStRN=v?EnerxfIFUKsX$8Q6En{>&ks-$W9OwBo7 zUuWuTC0BhL!yOEFG2Fwjhv5N+eGK~<9%guy;R!h1`y9jb3@>VJ`D(0yVJDuCyA!Z^ zT&}N}!OIX}$Y!vM_j$EwU$&jlS!g|*6UfA9E38KBbNxIqV8{z+DRVG>b9gkOA7UOb z3-Wmm7$xIVI4GzK1+r9O3AoHK=&VgTGsk93)eIAQ42OHXojub|RAyir>%C3z4#B$w z?-AT1_<-O(!To{{3qC6Ngsmz+QyIp=EHyD;;FrUCKEY}PLfl7#Km#Ic(|ukimF=W# zwTPs{3t*&W=6XVu>kp|&BAuhtfh@&S0a9rMNF{OtnlV)~Oq4Wj=J9r7rk$wF2uXYx z?~wFeg7*mS5qv;!pWuGMhXo%Me8N_hpQ)?vebGrhpI~di;Xa3g92PB)u-K_=CuM8n zu-Lf){6UTYhC0y^{6*wV<`8~reQLDRd5qoEW<@v049M}UL6mDyrt@M0jxs!<&`^U4 zo%c#ge|TqU>GY}7r{YGCLF4C6tDH4s-kjRWGiKD(OrCknyxEiI*4ECRJZILl+8J|Z z95ZX)>|+Su;6VOq`12R|N3_VGQ5C1oYjWPJDc6tuPr#qZm|Za)hUOMKnfzu^M|dm0 zQ&r5RN}Zfik!AyF<+tva?;m3)M#1LtXYhL;(UQj6#`E&-p8eFpYZhMk>fc%`pW62X zyHs=Rs--bJC|%XoZbieZ?5B#cRZAjW(NznhVQcIB=$3fG3CXH>3h#h6JcRlK z31tVJzfooyJ{vjJ`6YZaQ7+^;I_j=CKiS87XpTk6byT1(IU%84`ESb9qyBYLiaqXv zKO8arY(k>o=9S{pf2H_09d__9;nUz8leiw$GJL}0Cs-Cf%V!~N||a{&-W1c)Zc;Vln%ZtlGG;L Yw*NLiPh&lWF}L7G-T(jje=h?62V{6hWdHyG diff --git a/KarambaConnect/karambaConnect.csproj b/KarambaConnect/karambaConnect.csproj index 8a17fec3..62af11fe 100644 --- a/KarambaConnect/karambaConnect.csproj +++ b/KarambaConnect/karambaConnect.csproj @@ -27,9 +27,6 @@ Library\karamba132\karamba.gha false - - ..\HoaryFox\Library\STBReader.dll - From d7cd681b23d0a518bea5e902d04324dc2d00b9a7 Mon Sep 17 00:00:00 2001 From: hiron Date: Sun, 8 Aug 2021 11:34:01 +0900 Subject: [PATCH 081/162] Update S2K ElemetBuilder to v2 --- KarambaConnect/S2K/Element.cs | 41 ----------------- KarambaConnect/S2K/ElementBuilder.cs | 66 ++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+), 41 deletions(-) delete mode 100644 KarambaConnect/S2K/Element.cs create mode 100644 KarambaConnect/S2K/ElementBuilder.cs diff --git a/KarambaConnect/S2K/Element.cs b/KarambaConnect/S2K/Element.cs deleted file mode 100644 index 7724c809..00000000 --- a/KarambaConnect/S2K/Element.cs +++ /dev/null @@ -1,41 +0,0 @@ -using System.Collections.Generic; -using Karamba.CrossSections; -using Karamba.Elements; -using Karamba.Geometry; -using Karamba.Utilities; -using STBReader; -using STBReader.Member; -using STBReader.Model; - -namespace KarambaConnect.S2K -{ - public static class Element - { - public static List BuilderBeams(StbData stbData, List[] k3Ids) - { - var k3d = new KarambaCommon.Toolkit(); - var elems = new List(); - StbNodes nodes = stbData.Nodes; - - var k3Elems = new[] { new List(), new List() }; - - foreach (StbFrame frame in new List { stbData.Columns, stbData.Girders, stbData.Braces }) - { - int elemIndex = frame is StbBraces ? 1 : 0; - bool bending = !(frame is StbBraces); - - for (var i = 0; i < frame.Id.Count; i++) - { - int idNodeStart = nodes.Id.IndexOf(frame.IdNodeStart[i]); - int idNodeEnd = nodes.Id.IndexOf(frame.IdNodeEnd[i]); - var p0 = new Karamba.Geometry.Point3(nodes.Position[idNodeStart].X / 1000d, nodes.Position[idNodeStart].Y / 1000d, nodes.Position[idNodeStart].Z / 1000d); - var p1 = new Karamba.Geometry.Point3(nodes.Position[idNodeEnd].X / 1000d, nodes.Position[idNodeEnd].Y / 1000d, nodes.Position[idNodeEnd].Z / 1000d); - k3Elems[elemIndex].Add(new Line3(p0, p1)); - } - elems.AddRange(k3d.Part.LineToBeam(k3Elems[elemIndex], k3Ids[elemIndex], new List(), new MessageLogger(), out _, bending)); - } - - return elems; - } - } -} diff --git a/KarambaConnect/S2K/ElementBuilder.cs b/KarambaConnect/S2K/ElementBuilder.cs new file mode 100644 index 00000000..db341e0e --- /dev/null +++ b/KarambaConnect/S2K/ElementBuilder.cs @@ -0,0 +1,66 @@ +using System.Collections.Generic; +using System.Linq; +using Karamba.CrossSections; +using Karamba.Elements; +using Karamba.Geometry; +using Karamba.Utilities; +using STBDotNet.v202; + +namespace KarambaConnect.S2K +{ + public static class ElementBuilder + { + public static List BuilderBeams(ST_BRIDGE stBridge, List[] k3Ids) + { + var k3d = new KarambaCommon.Toolkit(); + var elems = new List(); + var k3Elems = new[] { new List(), new List() }; + StbNode[] nodes = stBridge.StbModel.StbNodes; + StbMembers members = stBridge.StbModel.StbMembers; + + StbColumnToKarambaLine3(members.StbColumns, nodes, k3Elems); + StbGirderToKarambaLine3(members.StbGirders, nodes, k3Elems); + StbBraceToKarambaLine3(members.StbBraces, nodes, k3Elems); + elems.AddRange(k3d.Part.LineToBeam(k3Elems[0], k3Ids[0], new List(), new MessageLogger(), out _, true)); + elems.AddRange(k3d.Part.LineToBeam(k3Elems[1], k3Ids[1], new List(), new MessageLogger(), out _, true)); + + return elems; + } + + private static void StbColumnToKarambaLine3(StbColumn[] columns, StbNode[] nodes, List[] k3Elems) + { + foreach (StbColumn column in columns) + { + StbNode nodeStart = nodes.First(node => node.id == column.id_node_bottom); + StbNode nodeEnd = nodes.First(node => node.id == column.id_node_top); + var ptFrom = new Point3(nodeStart.X / 1000d, nodeStart.Y / 1000d, nodeStart.Z / 1000d); + var ptTo = new Point3(nodeEnd.X / 1000d, nodeEnd.Y / 1000d, nodeEnd.Z / 1000d); + k3Elems[0].Add(new Line3(ptFrom, ptTo)); + } + } + + private static void StbGirderToKarambaLine3(StbGirder[] girders, StbNode[] nodes, List[] k3Elems) + { + foreach (StbGirder girder in girders) + { + StbNode nodeStart = nodes.First(node => node.id == girder.id_node_start); + StbNode nodeEnd = nodes.First(node => node.id == girder.id_node_end); + var ptFrom = new Point3(nodeStart.X / 1000d, nodeStart.Y / 1000d, nodeStart.Z / 1000d); + var ptTo = new Point3(nodeEnd.X / 1000d, nodeEnd.Y / 1000d, nodeEnd.Z / 1000d); + k3Elems[0].Add(new Line3(ptFrom, ptTo)); + } + } + + private static void StbBraceToKarambaLine3(StbBrace[] braces, StbNode[] nodes, List[] k3Elems) + { + foreach (StbBrace brace in braces) + { + StbNode nodeStart = nodes.First(node => node.id == brace.id_node_start); + StbNode nodeEnd = nodes.First(node => node.id == brace.id_node_end); + var ptFrom = new Point3(nodeStart.X / 1000d, nodeStart.Y / 1000d, nodeStart.Z / 1000d); + var ptTo = new Point3(nodeEnd.X / 1000d, nodeEnd.Y / 1000d, nodeEnd.Z / 1000d); + k3Elems[1].Add(new Line3(ptFrom, ptTo)); + } + } + } +} From 4e414c933992460e83466357054a96161f30ebe2 Mon Sep 17 00:00:00 2001 From: hiron Date: Sun, 8 Aug 2021 11:38:48 +0900 Subject: [PATCH 082/162] Clean code --- .../Component/IO/Convert2Karamba.cs | 28 +++++------- KarambaConnect/S2K/ElementBuilder.cs | 44 +++++++++++-------- 2 files changed, 37 insertions(+), 35 deletions(-) diff --git a/KarambaConnect/Component/IO/Convert2Karamba.cs b/KarambaConnect/Component/IO/Convert2Karamba.cs index e1bd852c..d35a8f8d 100644 --- a/KarambaConnect/Component/IO/Convert2Karamba.cs +++ b/KarambaConnect/Component/IO/Convert2Karamba.cs @@ -9,15 +9,12 @@ using Karamba.GHopper.Elements; using KarambaConnect.Properties; using KarambaConnect.S2K; -using STBReader; +using STBDotNet.v202; namespace KarambaConnect.Component.IO { public class Convert2Karamba : GH_Component { - private StbData _stbData; - private List _k3ElemBe = new List(); - private readonly List _k3ElemSh = new List(); public override GH_Exposure Exposure => GH_Exposure.secondary; @@ -26,13 +23,6 @@ public Convert2Karamba() { } - public override void ClearData() - { - base.ClearData(); - _k3ElemBe.Clear(); - _k3ElemSh.Clear(); - } - protected override void RegisterInputParams(GH_InputParamManager pManager) { pManager.AddGenericParameter("Data", "D", "Input ST-Bridge Data", GH_ParamAccess.item); @@ -49,20 +39,24 @@ protected override void RegisterOutputParams(GH_OutputParamManager pManager) protected override void SolveInstance(IGH_DataAccess dataAccess) { var familyName = new CroSecFamilyName(); - if (!dataAccess.GetData(0, ref _stbData)) { return; } + ST_BRIDGE stBridge = new ST_BRIDGE(); + List k3ElemBe = new List(); + List k3ElemSh = new List(); + + if (!dataAccess.GetData(0, ref stBridge)) { return; } if (!dataAccess.GetData(1, ref familyName)) { familyName = CroSecFamilyName.Default(); } - List[] k3Ids = CrossSection.GetIndex(_stbData); - List k3CroSec = CrossSection.GetCroSec(_stbData, familyName); - List elems = Element.BuilderBeams(_stbData, k3Ids); + List[] k3Ids = CrossSection.GetIndex(stBridge); + List k3CroSec = CrossSection.GetCroSec(stBridge, familyName); + List elems = ElementBuilder.BuilderBeams(stBridge, k3Ids); List ghElements = elems.Select(e => new GH_Element(e)).ToList(); - _k3ElemBe = ghElements; + k3ElemBe = ghElements; - dataAccess.SetDataList(0, _k3ElemBe); + dataAccess.SetDataList(0, k3ElemBe); dataAccess.SetDataList(1, k3CroSec); } diff --git a/KarambaConnect/S2K/ElementBuilder.cs b/KarambaConnect/S2K/ElementBuilder.cs index db341e0e..89d6cf32 100644 --- a/KarambaConnect/S2K/ElementBuilder.cs +++ b/KarambaConnect/S2K/ElementBuilder.cs @@ -10,57 +10,65 @@ namespace KarambaConnect.S2K { public static class ElementBuilder { - public static List BuilderBeams(ST_BRIDGE stBridge, List[] k3Ids) + public static List BuilderBeams(StbModel model, List[] k3dIds) { - var k3d = new KarambaCommon.Toolkit(); - var elems = new List(); - var k3Elems = new[] { new List(), new List() }; - StbNode[] nodes = stBridge.StbModel.StbNodes; - StbMembers members = stBridge.StbModel.StbMembers; + var k3dBeams = new List(); + StbNode[] nodes = model.StbNodes; + StbMembers members = model.StbMembers; - StbColumnToKarambaLine3(members.StbColumns, nodes, k3Elems); - StbGirderToKarambaLine3(members.StbGirders, nodes, k3Elems); - StbBraceToKarambaLine3(members.StbBraces, nodes, k3Elems); - elems.AddRange(k3d.Part.LineToBeam(k3Elems[0], k3Ids[0], new List(), new MessageLogger(), out _, true)); - elems.AddRange(k3d.Part.LineToBeam(k3Elems[1], k3Ids[1], new List(), new MessageLogger(), out _, true)); + k3dBeams.AddRange(StbColumnToK3dBeam(k3dIds[0], nodes, members.StbColumns)); + k3dBeams.AddRange(StbGirderToK3dBeam(k3dIds[1], nodes, members.StbGirders)); + k3dBeams.AddRange(StbBraceToK3dBeam(k3dIds[2], nodes, members.StbBraces)); - return elems; + return k3dBeams; } - private static void StbColumnToKarambaLine3(StbColumn[] columns, StbNode[] nodes, List[] k3Elems) + private static List StbColumnToK3dBeam(List k3Ids, StbNode[] nodes, IEnumerable columns) { + var k3dLine3s = new List(); + var k3dKit = new KarambaCommon.Toolkit(); foreach (StbColumn column in columns) { StbNode nodeStart = nodes.First(node => node.id == column.id_node_bottom); StbNode nodeEnd = nodes.First(node => node.id == column.id_node_top); var ptFrom = new Point3(nodeStart.X / 1000d, nodeStart.Y / 1000d, nodeStart.Z / 1000d); var ptTo = new Point3(nodeEnd.X / 1000d, nodeEnd.Y / 1000d, nodeEnd.Z / 1000d); - k3Elems[0].Add(new Line3(ptFrom, ptTo)); + k3dLine3s.Add(new Line3(ptFrom, ptTo)); } + + return k3dKit.Part.LineToBeam(k3dLine3s, k3Ids, new List(), new MessageLogger(), out _, true); } - private static void StbGirderToKarambaLine3(StbGirder[] girders, StbNode[] nodes, List[] k3Elems) + private static List StbGirderToK3dBeam(List k3Ids, StbNode[] nodes, IEnumerable girders) { + var k3dLine3s = new List(); + var k3dKit = new KarambaCommon.Toolkit(); foreach (StbGirder girder in girders) { StbNode nodeStart = nodes.First(node => node.id == girder.id_node_start); StbNode nodeEnd = nodes.First(node => node.id == girder.id_node_end); var ptFrom = new Point3(nodeStart.X / 1000d, nodeStart.Y / 1000d, nodeStart.Z / 1000d); var ptTo = new Point3(nodeEnd.X / 1000d, nodeEnd.Y / 1000d, nodeEnd.Z / 1000d); - k3Elems[0].Add(new Line3(ptFrom, ptTo)); + k3dLine3s.Add(new Line3(ptFrom, ptTo)); } + + return k3dKit.Part.LineToBeam(k3dLine3s, k3Ids, new List(), new MessageLogger(), out _, true); } - private static void StbBraceToKarambaLine3(StbBrace[] braces, StbNode[] nodes, List[] k3Elems) + private static List StbBraceToK3dBeam(List k3Ids, StbNode[] nodes, IEnumerable braces) { + var k3dLine3s = new List(); + var k3dKit = new KarambaCommon.Toolkit(); foreach (StbBrace brace in braces) { StbNode nodeStart = nodes.First(node => node.id == brace.id_node_start); StbNode nodeEnd = nodes.First(node => node.id == brace.id_node_end); var ptFrom = new Point3(nodeStart.X / 1000d, nodeStart.Y / 1000d, nodeStart.Z / 1000d); var ptTo = new Point3(nodeEnd.X / 1000d, nodeEnd.Y / 1000d, nodeEnd.Z / 1000d); - k3Elems[1].Add(new Line3(ptFrom, ptTo)); + k3dLine3s.Add(new Line3(ptFrom, ptTo)); } + + return k3dKit.Part.LineToBeam(k3dLine3s, k3Ids, new List(), new MessageLogger(), out _, true); } } } From 8ee5ec289e7c79b586331f948424e01d4eef970b Mon Sep 17 00:00:00 2001 From: hiron Date: Sun, 8 Aug 2021 20:52:47 +0900 Subject: [PATCH 083/162] Update S2K CrossSection to v2 --- KarambaConnect/S2K/CrossSection.cs | 389 +++++++++++++++++++---------- 1 file changed, 254 insertions(+), 135 deletions(-) diff --git a/KarambaConnect/S2K/CrossSection.cs b/KarambaConnect/S2K/CrossSection.cs index 78b1d950..900f6ef5 100644 --- a/KarambaConnect/S2K/CrossSection.cs +++ b/KarambaConnect/S2K/CrossSection.cs @@ -1,192 +1,311 @@ using System; using System.Collections.Generic; using System.Drawing; +using System.Linq; using Karamba.CrossSections; using Karamba.Materials; -using STBReader; -using STBReader.Member; -using STBReader.Section; +using STBDotNet.v202; namespace KarambaConnect.S2K { public static class CrossSection { - public static List[] GetIndex(StbData stbData) + public static List[] GetIndex(ST_BRIDGE stBridge) { - var k3Ids = new List[2]; - k3Ids[0] = new List(); - k3Ids[1] = new List(); + var k3Ids = new[] { new List(), new List(), new List() }; + StbMembers members = stBridge.StbModel.StbMembers; - var frameList = new List { stbData.Columns, stbData.Girders, stbData.Braces }; - foreach (StbFrame frame in frameList) - { - int index = frame is StbBraces ? 1 : 0; - for (var eNum = 0; eNum < frame.Id.Count; eNum++) - { - k3Ids[index].Add("Id" + frame.IdSection[eNum]); - } - } + k3Ids[0].AddRange(members.StbColumns.Select(column => "Id" + column.id)); + k3Ids[1].AddRange(members.StbGirders.Select(girder => "Id" + girder.id)); + k3Ids[2].AddRange(members.StbBraces.Select(brace => "Id" + brace.id)); return k3Ids; } - public static List GetCroSec(StbData stbData, CroSecFamilyName familyName) + public static List GetCroSec(StbSections sections, CroSecFamilyName familyName) { - // TODO: 材軸の回転は未設定(どこで設定するかも謎) + // TODO: 材軸の回転は未設定 var k3CroSec = new List(); var fc21 = new FemMaterial_Isotrop("Concrete", "Fc21", 2186_0000, 911_0000, 911_0000, 24, 14_0000, 1.00E-05, Color.Gray); var sn400 = new FemMaterial_Isotrop("Steel", "SN400", 20500_0000, 8076_0000, 8076_0000, 78.5, 235_0000, 1.20E-05, Color.Brown); - k3CroSec.AddRange(ColumnRc(stbData, fc21, familyName)); - k3CroSec.AddRange(BeamRc(stbData, fc21, familyName)); - k3CroSec.AddRange(Steel(stbData, sn400, familyName)); + k3CroSec.AddRange(StbSecColumnRcToK3dCroSec(sections.StbSecColumn_RC, fc21, familyName)); + k3CroSec.AddRange(StbSecBeamRcToK3dCroSec(sections.StbSecBeam_RC, fc21, familyName)); + k3CroSec.AddRange(StbSecSteelToK3dCroSec(sections, sn400, familyName)); return k3CroSec; } - private static IEnumerable ColumnRc(StbData stbData, FemMaterial material, CroSecFamilyName familyName) + private static List StbSecColumnRcToK3dCroSec(StbSecColumn_RC[] columns, FemMaterial material, CroSecFamilyName familyName) { - var k3CroSec = new List(); + var k3dCroSecList = new List(); - for (var i = 0; i < stbData.SecColumnRc.Id.Count; i++) + foreach (var column in columns) { - double p1 = stbData.SecColumnRc.Height[i] / 10d; - double p2 = stbData.SecColumnRc.Width[i] / 10d; - var name = $"CD-{p2 * 10}x{p1 * 10}"; - - ShapeTypes shapeType = stbData.SecColumnRc.Height[i] <= 0 ? ShapeTypes.Pipe : ShapeTypes.BOX; - CroSec_Beam croSec; - if (shapeType == ShapeTypes.BOX) + string name = string.Empty; + CroSec_Beam k3dCroSec; + object figure = column.StbSecFigureColumn_RC.Item; + switch (figure) { - // TODO:材料の設定は直す - croSec = new CroSec_Trapezoid(familyName.Box, name, null, null, material, - p1, p2, p2); - } - else - { - // TODO: Karambaは中実円断面ないため、PIPEに置換してる。任意断面設定できるはずなので、そっちの方がいい気がする。 - croSec = new CroSec_Circle(familyName.Circle, name, null, null, material, - p2, p2 / 2); + case StbSecColumn_RC_Rect rect: + double widthX = rect.width_X / 10d; + double widthY = rect.width_Y / 10d; + name = $"CD-{widthX * 10}x{widthY * 10}"; + // TODO:材料の設定は直す + k3dCroSec = new CroSec_Trapezoid(familyName.Box, name, null, null, material, widthX, widthY, widthY); + break; + case StbSecColumn_RC_Circle circle: + double d = circle.D / 10d; + name = $"P-{d * 10}"; + k3dCroSec = new CroSec_Circle(familyName.Circle, name, null, null, material, d, d / 2); + break; + default: + throw new ArgumentException("Unknown figure type."); } - croSec.AddElemId("Id" + stbData.SecColumnRc.Id[i]); - k3CroSec.Add(croSec); + k3dCroSec.AddElemId("Id" + column.id); + k3dCroSecList.Add(k3dCroSec); } - return k3CroSec; + return k3dCroSecList; } - private static IEnumerable BeamRc(StbData stbData, FemMaterial material, CroSecFamilyName familyName) + private static List StbSecBeamRcToK3dCroSec(StbSecBeam_RC[] girders, FemMaterial material, CroSecFamilyName familyName) { - var k3CroSec = new List(); + var k3dCroSecList = new List(); - for (var i = 0; i < stbData.SecBeamRc.Id.Count; i++) + foreach (var girder in girders) { - double p1 = stbData.SecBeamRc.Depth[i] / 10d; - double p2 = stbData.SecBeamRc.Width[i] / 10d; - var name = $"BD-{p2 * 10}x{p1 * 10}"; + string name = string.Empty; + double width = 0, depth = 0; + object[] figures = girder.StbSecFigureBeam_RC.Items; - var croSec = new CroSec_Trapezoid(familyName.Box, name, null, null, material, - p1, p2, p2); - croSec.AddElemId("Id" + stbData.SecBeamRc.Id[i]); - k3CroSec.Add(croSec); + switch (figures) + { + case StbSecBeam_RC_Straight[] straights: + width = straights[0].width / 10d; + depth = straights[0].depth / 10d; + break; + case StbSecBeam_RC_Taper[] tapers: + width = tapers.First(figure => figure.pos == StbSecBeam_RC_TaperPos.START).width / 10d; + depth = tapers.First(figure => figure.pos == StbSecBeam_RC_TaperPos.START).depth / 10d; + break; + case StbSecBeam_RC_Haunch[] haunches: + width = haunches.First(figure => figure.pos == StbSecBeam_RC_HaunchPos.CENTER).width / 10d; + depth = haunches.First(figure => figure.pos == StbSecBeam_RC_HaunchPos.CENTER).depth / 10d; + break; + } + name = $"BD-{width * 10}x{depth * 10}"; + var k3dCroSec = new CroSec_Trapezoid(familyName.Box, name, null, null, material, depth, width, width); + k3dCroSec.AddElemId("Id" + girder.id); + k3dCroSecList.Add(k3dCroSec); } - return k3CroSec; + return k3dCroSecList; } - private static IEnumerable Steel(StbData stbData, FemMaterial material, CroSecFamilyName familyName) + private static List StbSecSteelToK3dCroSec(StbSections sections, FemMaterial material, CroSecFamilyName familyName) { - var k3CroSec = new List(); + var k3dCroSecList = new List(); + var secSteel = sections.StbSecSteel; + CroSec k3dCroSec; - for (var i = 0; i < stbData.SecSteel.Name.Count; i++) - { - string name = stbData.SecSteel.Name[i]; - double p1 = stbData.SecSteel.P1[i] / 10d; - double p2 = stbData.SecSteel.P2[i] / 10d; - double p3 = stbData.SecSteel.P3.Count < i + 1 ? 0 : stbData.SecSteel.P3[i] / 10d; - double p4 = stbData.SecSteel.P4.Count < i + 1 ? 0 : stbData.SecSteel.P4[i] / 10d; - ShapeTypes shapeType = stbData.SecSteel.ShapeType[i]; - - CroSec croSec; - double eLength; - switch (shapeType) - { - case ShapeTypes.H: - croSec = new CroSec_I(familyName.H, name, null, null, material, - p1, p2, p2, p4, p4, p3); - break; - case ShapeTypes.L: - // TODO:Karambaに対応断面形状がないため等価軸断面積置換 - eLength = Math.Sqrt(p1 * p3 + p2 * p4 - p3 * p4); - croSec = new CroSec_Trapezoid(familyName.L, name, null, null, material, - eLength, eLength, eLength); - break; - case ShapeTypes.T: - croSec = new CroSec_T(familyName.T, name, null, null, material, - p1, p2, p3, p4); - break; - case ShapeTypes.C: - // TODO:Karambaに対応断面形状がないため等価軸断面積置換 - eLength = Math.Sqrt(p1 * p3 + p2 * p4 - 2 * p3 * p4); - croSec = new CroSec_Trapezoid(familyName.Other, name, null, null, material, - eLength, eLength, eLength); - break; - case ShapeTypes.FB: - croSec = new CroSec_Trapezoid(familyName.FB, name, null, null, material, - p1, p2, p2); - break; - case ShapeTypes.BOX: - throw new ArgumentOutOfRangeException(); - case ShapeTypes.Bar: - // TODO: Karambaは中実円断面ないため、PIPEに置換してる。任意断面設定できるはずなので、そっちの方がいい気がする。 - croSec = new CroSec_Circle(familyName.Other, name, null, null, material, - p2, p2 / 2); - break; - case ShapeTypes.Pipe: - croSec = new CroSec_Circle(familyName.Pipe, name, null, null, material, - p2, p1); - break; - case ShapeTypes.RollBOX: - croSec = new CroSec_Box(familyName.Box, name, null, null, material, - p1, p2, p2, p3, p3, p3, p4); - break; - case ShapeTypes.BuildBOX: - croSec = new CroSec_Box(familyName.Box, name, null, null, material, - p1, p2, p2, p3, p3, p4, 0); - break; - default: - throw new ArgumentOutOfRangeException(); + if (secSteel.StbSecRollH != null) + { + foreach (var rollH in secSteel.StbSecRollH) + { + k3dCroSec = new CroSec_I(familyName.H, rollH.name, null, null, material, + rollH.A / 10d, rollH.B / 10d, rollH.B / 10d, + rollH.t2 / 10d, rollH.t2 / 10d, rollH.t1 / 10d, rollH.r / 10d, rollH.r / 10d); + SetK3dCroSecElemId(sections, k3dCroSec, rollH.name); + k3dCroSecList.Add(k3dCroSec); } - - for (var j = 0; j < stbData.SecColumnS.Id.Count; j++) + } + if (secSteel.StbSecBuildH != null) + { + foreach (var buildH in secSteel.StbSecBuildH) + { + k3dCroSec = new CroSec_I(familyName.H, buildH.name, null, null, material, + buildH.A / 10d, buildH.B / 10d, buildH.B / 10d, + buildH.t2 / 10d, buildH.t2 / 10d, buildH.t1 / 10d); + SetK3dCroSecElemId(sections, k3dCroSec, buildH.name); + k3dCroSecList.Add(k3dCroSec); + } + } + if (secSteel.StbSecRollBOX != null) + { + foreach (var rollBOX in secSteel.StbSecRollBOX) + { + k3dCroSec = new CroSec_Box(familyName.Box, rollBOX.name, null, null, material, + rollBOX.A / 10d, rollBOX.B / 10d, rollBOX.B / 10d, + rollBOX.t / 10d, rollBOX.t / 10d, rollBOX.t / 10d, rollBOX.r / 10d, rollBOX.r / 10d); + SetK3dCroSecElemId(sections, k3dCroSec, rollBOX.name); + k3dCroSecList.Add(k3dCroSec); + } + } + if (secSteel.StbSecBuildBOX != null) + { + foreach (var buildBOX in secSteel.StbSecBuildBOX) + { + k3dCroSec = new CroSec_Box(familyName.Box, buildBOX.name, null, null, material, + buildBOX.A / 10d, buildBOX.B / 10d, buildBOX.B / 10d, + buildBOX.t2 / 10d, buildBOX.t2 / 10d, buildBOX.t1 / 10d, 0, -1); + SetK3dCroSecElemId(sections, k3dCroSec, buildBOX.name); + k3dCroSecList.Add(k3dCroSec); + } + } + if (secSteel.StbSecRollT != null) + { + foreach (var rollT in secSteel.StbSecRollT) + { + k3dCroSec = new CroSec_T(familyName.T, rollT.name, null, null, material, + rollT.A / 10d, rollT.B / 10d, + rollT.t2 / 10d, rollT.t1 / 10d, rollT.r / 10d, rollT.r / 10d); + SetK3dCroSecElemId(sections, k3dCroSec, rollT.name); + k3dCroSecList.Add(k3dCroSec); + } + } + if (secSteel.StbSecPipe != null) + { + foreach (var pipe in secSteel.StbSecPipe) + { + k3dCroSec = new CroSec_Circle(familyName.Circle, pipe.name, null, null, material, + pipe.D / 10d, pipe.t / 10d); + SetK3dCroSecElemId(sections, k3dCroSec, pipe.name); + k3dCroSecList.Add(k3dCroSec); + } + } + if (secSteel.StbSecRollC != null) + { + foreach (var rollC in secSteel.StbSecRollC) + { + // TODO: 正確な形状に合わせて等価断面計算する。フランジとウェブの角度が95°なのとフィレットは非考慮 + int typeFactor = rollC.type == StbSecRollCType.SINGLE ? 1 : 2; + var eqLength = Math.Sqrt((rollC.A * rollC.t1 + 2 * rollC.B * rollC.t2 - 2 * rollC.t1 * rollC.t2) * typeFactor) / 10d; + k3dCroSec = new CroSec_Trapezoid(familyName.Circle, rollC.name, null, null, material, eqLength, eqLength, eqLength); + SetK3dCroSecElemId(sections, k3dCroSec, rollC.name); + k3dCroSecList.Add(k3dCroSec); + } + } + if (secSteel.StbSecRollL != null) + { + foreach (var rollL in secSteel.StbSecRollL) { - if (stbData.SecColumnS.Shape[j] != name) - { - continue; - } - croSec?.AddElemId("Id" + stbData.SecColumnS.Id[j]); + // TODO: 正確な形状に合わせて等価断面計算する。フィレットは非考慮 + int typeFactor = rollL.type == StbSecRollLType.SINGLE ? 1 : 2; + var eqLength = Math.Sqrt((rollL.A * rollL.t1 + rollL.B * rollL.t2 - rollL.t1 * rollL.t2) * typeFactor) / 10d; + k3dCroSec = new CroSec_Trapezoid(familyName.Circle, rollL.name, null, null, material, eqLength, eqLength, eqLength); + SetK3dCroSecElemId(sections, k3dCroSec, rollL.name); + k3dCroSecList.Add(k3dCroSec); } - for (var j = 0; j < stbData.SecBeamS.Id.Count; j++) + } + if (secSteel.StbSecLipC != null) + { + foreach (var lipC in secSteel.StbSecLipC) { - if (stbData.SecBeamS.Shape[j] != name) - { - continue; - } - croSec?.AddElemId("Id" + stbData.SecBeamS.Id[j]); + // TODO: 正確な形状に合わせて等価断面計算する。フィレットは非考慮 + int typeFactor = lipC.type == StbSecLipCType.SINGLE ? 1 : 2; + var eqLength = Math.Sqrt((2 * lipC.A * lipC.t + lipC.H * lipC.t + 2 * lipC.C * lipC.t - 4 * lipC.t * lipC.t) * typeFactor) / 10d; + k3dCroSec = new CroSec_Trapezoid(familyName.Circle, lipC.name, null, null, material, eqLength, eqLength, eqLength); + SetK3dCroSecElemId(sections, k3dCroSec, lipC.name); + k3dCroSecList.Add(k3dCroSec); } - for (var j = 0; j < stbData.SecBraceS.Id.Count; j++) + } + if (secSteel.StbSecFlatBar != null) + { + foreach (var flatBar in secSteel.StbSecFlatBar) { - if (stbData.SecBraceS.Shape[j] != name) - { - continue; - } - croSec?.AddElemId("Id" + stbData.SecBraceS.Id[j]); + k3dCroSec = new CroSec_Trapezoid(familyName.FB, flatBar.name, null, null, material, flatBar.B, flatBar.t, flatBar.t); + SetK3dCroSecElemId(sections, k3dCroSec, flatBar.name); + k3dCroSecList.Add(k3dCroSec); + } + } + if (secSteel.StbSecRoundBar != null) + { + foreach (var roundBar in secSteel.StbSecRoundBar) + { + // TODO: Karambaは中実円断面ないため、矩形の等価断面。 + var eqLength = Math.Sqrt(roundBar.R * roundBar.R * Math.PI) / 10d; + k3dCroSec = new CroSec_Trapezoid(familyName.Circle, roundBar.name, null, null, material, eqLength, eqLength, eqLength); + SetK3dCroSecElemId(sections, k3dCroSec, roundBar.name); + k3dCroSecList.Add(k3dCroSec); } - k3CroSec.Add(croSec); } - return k3CroSec; + return k3dCroSecList; + } + + private static void SetK3dCroSecElemId(StbSections sections, CroSec k3dCroSec, string steelShapeName) + { + foreach (StbSecColumn_S columnS in sections.StbSecColumn_S) + { + var memberFigureName = string.Empty; + object[] figures = columnS.StbSecSteelFigureColumn_S.Items; + switch (figures) + { + case StbSecSteelColumn_S_Same[] same: + memberFigureName = same[0].shape; + break; + case StbSecSteelColumn_S_NotSame[] notSame: + memberFigureName = notSame.First(figure => figure.pos == StbSecSteelColumn_S_NotSamePos.BOTTOM).shape; + break; + case StbSecSteelColumn_S_ThreeTypes[] three: + memberFigureName = three.First(figure => figure.pos == StbSecSteelColumn_S_ThreeTypesPos.CENTER).shape; + break; + } + if (memberFigureName == steelShapeName) + { + k3dCroSec.AddElemId("Id" + columnS.id); + } + } + foreach (StbSecBeam_S beamS in sections.StbSecBeam_S) + { + var memberFigureName = string.Empty; + object[] figures = beamS.StbSecSteelFigureBeam_S.Items; + switch (figures) + { + case StbSecSteelBeam_S_Straight[] straight: + memberFigureName = straight[0].shape; + break; + case StbSecSteelBeam_S_Taper[] taper: + memberFigureName = taper.First(figure => figure.pos == StbSecSteelBeam_S_TaperPos.START).shape; + break; + case StbSecSteelBeam_S_Joint[] joint: + memberFigureName = joint.First(figure => figure.pos == StbSecSteelBeam_S_JointPos.CENTER).shape; + break; + case StbSecSteelBeam_S_Haunch[] haunch: + memberFigureName = haunch.First(figure => figure.pos == StbSecSteelBeam_S_HaunchPos.CENTER).shape; + break; + case StbSecSteelBeam_S_FiveTypes[] fiveTypes: + memberFigureName = fiveTypes.First(figure => figure.pos == StbSecSteelBeam_S_FiveTypesPos.CENTER).shape; + break; + } + if (memberFigureName == steelShapeName) + { + k3dCroSec.AddElemId("Id" + beamS.id); + } + } + foreach (StbSecBrace_S braceS in sections.StbSecBrace_S) + { + var memberFigureName = string.Empty; + object[] figures = braceS.StbSecSteelFigureBrace_S.Items; + switch (figures) + { + case StbSecSteelBrace_S_Same[] same: + memberFigureName = same[0].shape; + break; + case StbSecSteelBrace_S_NotSame[] notSame: + memberFigureName = notSame.First(figure => figure.pos == StbSecSteelBrace_S_NotSamePos.BOTTOM).shape; + break; + case StbSecSteelBrace_S_ThreeTypes[] three: + memberFigureName = three.First(figure => figure.pos == StbSecSteelBrace_S_ThreeTypesPos.CENTER).shape; + break; + } + if (memberFigureName == steelShapeName) + { + k3dCroSec.AddElemId("Id" + braceS.id); + } + } } } } From bbb493ee2a6399c1e92821a42fe6ed93cfdd13ec Mon Sep 17 00:00:00 2001 From: hiron Date: Sun, 8 Aug 2021 21:17:54 +0900 Subject: [PATCH 084/162] Clean code --- .../Component/IO/Convert2Karamba.cs | 4 +- KarambaConnect/S2K/CrossSection.cs | 160 +++++++++++++----- 2 files changed, 116 insertions(+), 48 deletions(-) diff --git a/KarambaConnect/Component/IO/Convert2Karamba.cs b/KarambaConnect/Component/IO/Convert2Karamba.cs index d35a8f8d..e684520e 100644 --- a/KarambaConnect/Component/IO/Convert2Karamba.cs +++ b/KarambaConnect/Component/IO/Convert2Karamba.cs @@ -51,8 +51,8 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) List[] k3Ids = CrossSection.GetIndex(stBridge); - List k3CroSec = CrossSection.GetCroSec(stBridge, familyName); - List elems = ElementBuilder.BuilderBeams(stBridge, k3Ids); + List k3CroSec = CrossSection.GetCroSec(stBridge.StbModel.StbSections, familyName); + List elems = ElementBuilder.BuilderBeams(stBridge.StbModel, k3Ids); List ghElements = elems.Select(e => new GH_Element(e)).ToList(); k3ElemBe = ghElements; diff --git a/KarambaConnect/S2K/CrossSection.cs b/KarambaConnect/S2K/CrossSection.cs index 900f6ef5..991e4261 100644 --- a/KarambaConnect/S2K/CrossSection.cs +++ b/KarambaConnect/S2K/CrossSection.cs @@ -107,140 +107,200 @@ private static List StbSecBeamRcToK3dCroSec(StbSecBeam_RC[] girders, Fem private static List StbSecSteelToK3dCroSec(StbSections sections, FemMaterial material, CroSecFamilyName familyName) { var k3dCroSecList = new List(); - var secSteel = sections.StbSecSteel; - CroSec k3dCroSec; - if (secSteel.StbSecRollH != null) + SetRollHSection(sections, material, familyName, k3dCroSecList); + SetBuildHSection(sections, material, familyName, k3dCroSecList); + SetRollBoxSection(sections, material, familyName, k3dCroSecList); + SetBuildBoxSection(sections, material, familyName, k3dCroSecList); + SetRollTSection(sections, material, familyName, k3dCroSecList); + SetPipeSection(sections, material, familyName, k3dCroSecList); + SetRollCSection(sections, material, familyName, k3dCroSecList); + SetRollLSection(sections, material, familyName, k3dCroSecList); + SetLipCSection(sections, material, familyName, k3dCroSecList); + SetFlatBarSection(sections, material, familyName, k3dCroSecList); + SetRoundBarSection(sections, material, familyName, k3dCroSecList); + + return k3dCroSecList; + } + + private static void SetRollHSection(StbSections sections, FemMaterial material, CroSecFamilyName familyName, List k3dCroSecList) + { + if (sections.StbSecSteel.StbSecRollH != null) { - foreach (var rollH in secSteel.StbSecRollH) + foreach (StbSecRollH rollH in sections.StbSecSteel.StbSecRollH) { - k3dCroSec = new CroSec_I(familyName.H, rollH.name, null, null, material, + var k3dCroSec = new CroSec_I(familyName.H, rollH.name, null, null, material, rollH.A / 10d, rollH.B / 10d, rollH.B / 10d, rollH.t2 / 10d, rollH.t2 / 10d, rollH.t1 / 10d, rollH.r / 10d, rollH.r / 10d); SetK3dCroSecElemId(sections, k3dCroSec, rollH.name); k3dCroSecList.Add(k3dCroSec); } } - if (secSteel.StbSecBuildH != null) + } + + private static void SetBuildHSection(StbSections sections, FemMaterial material, CroSecFamilyName familyName, List k3dCroSecList) + { + if (sections.StbSecSteel.StbSecBuildH != null) { - foreach (var buildH in secSteel.StbSecBuildH) + foreach (StbSecBuildH buildH in sections.StbSecSteel.StbSecBuildH) { - k3dCroSec = new CroSec_I(familyName.H, buildH.name, null, null, material, + var k3dCroSec = new CroSec_I(familyName.H, buildH.name, null, null, material, buildH.A / 10d, buildH.B / 10d, buildH.B / 10d, buildH.t2 / 10d, buildH.t2 / 10d, buildH.t1 / 10d); SetK3dCroSecElemId(sections, k3dCroSec, buildH.name); k3dCroSecList.Add(k3dCroSec); } } - if (secSteel.StbSecRollBOX != null) + } + + private static void SetRollBoxSection(StbSections sections, FemMaterial material, CroSecFamilyName familyName, List k3dCroSecList) + { + if (sections.StbSecSteel.StbSecRollBOX != null) { - foreach (var rollBOX in secSteel.StbSecRollBOX) + foreach (StbSecRollBOX rollBOX in sections.StbSecSteel.StbSecRollBOX) { - k3dCroSec = new CroSec_Box(familyName.Box, rollBOX.name, null, null, material, + var k3dCroSec = new CroSec_Box(familyName.Box, rollBOX.name, null, null, material, rollBOX.A / 10d, rollBOX.B / 10d, rollBOX.B / 10d, rollBOX.t / 10d, rollBOX.t / 10d, rollBOX.t / 10d, rollBOX.r / 10d, rollBOX.r / 10d); SetK3dCroSecElemId(sections, k3dCroSec, rollBOX.name); k3dCroSecList.Add(k3dCroSec); } } - if (secSteel.StbSecBuildBOX != null) + } + + private static void SetBuildBoxSection(StbSections sections, FemMaterial material, CroSecFamilyName familyName, List k3dCroSecList) + { + if (sections.StbSecSteel.StbSecBuildBOX != null) { - foreach (var buildBOX in secSteel.StbSecBuildBOX) + foreach (StbSecBuildBOX buildBOX in sections.StbSecSteel.StbSecBuildBOX) { - k3dCroSec = new CroSec_Box(familyName.Box, buildBOX.name, null, null, material, + var k3dCroSec = new CroSec_Box(familyName.Box, buildBOX.name, null, null, material, buildBOX.A / 10d, buildBOX.B / 10d, buildBOX.B / 10d, buildBOX.t2 / 10d, buildBOX.t2 / 10d, buildBOX.t1 / 10d, 0, -1); SetK3dCroSecElemId(sections, k3dCroSec, buildBOX.name); k3dCroSecList.Add(k3dCroSec); } } - if (secSteel.StbSecRollT != null) + } + + private static void SetRollTSection(StbSections sections, FemMaterial material, CroSecFamilyName familyName, List k3dCroSecList) + { + if (sections.StbSecSteel.StbSecRollT != null) { - foreach (var rollT in secSteel.StbSecRollT) + foreach (StbSecRollT rollT in sections.StbSecSteel.StbSecRollT) { - k3dCroSec = new CroSec_T(familyName.T, rollT.name, null, null, material, + var k3dCroSec = new CroSec_T(familyName.T, rollT.name, null, null, material, rollT.A / 10d, rollT.B / 10d, rollT.t2 / 10d, rollT.t1 / 10d, rollT.r / 10d, rollT.r / 10d); SetK3dCroSecElemId(sections, k3dCroSec, rollT.name); k3dCroSecList.Add(k3dCroSec); } } - if (secSteel.StbSecPipe != null) + } + + private static void SetPipeSection(StbSections sections, FemMaterial material, CroSecFamilyName familyName, List k3dCroSecList) + { + if (sections.StbSecSteel.StbSecPipe != null) { - foreach (var pipe in secSteel.StbSecPipe) + foreach (StbSecPipe pipe in sections.StbSecSteel.StbSecPipe) { - k3dCroSec = new CroSec_Circle(familyName.Circle, pipe.name, null, null, material, + var k3dCroSec = new CroSec_Circle(familyName.Circle, pipe.name, null, null, material, pipe.D / 10d, pipe.t / 10d); SetK3dCroSecElemId(sections, k3dCroSec, pipe.name); k3dCroSecList.Add(k3dCroSec); } } - if (secSteel.StbSecRollC != null) + } + + private static void SetRollCSection(StbSections sections, FemMaterial material, CroSecFamilyName familyName, List k3dCroSecList) + { + if (sections.StbSecSteel.StbSecRollC != null) { - foreach (var rollC in secSteel.StbSecRollC) + foreach (StbSecRollC rollC in sections.StbSecSteel.StbSecRollC) { // TODO: 正確な形状に合わせて等価断面計算する。フランジとウェブの角度が95°なのとフィレットは非考慮 int typeFactor = rollC.type == StbSecRollCType.SINGLE ? 1 : 2; var eqLength = Math.Sqrt((rollC.A * rollC.t1 + 2 * rollC.B * rollC.t2 - 2 * rollC.t1 * rollC.t2) * typeFactor) / 10d; - k3dCroSec = new CroSec_Trapezoid(familyName.Circle, rollC.name, null, null, material, eqLength, eqLength, eqLength); + var k3dCroSec = new CroSec_Trapezoid(familyName.Circle, rollC.name, null, null, material, eqLength, eqLength, eqLength); SetK3dCroSecElemId(sections, k3dCroSec, rollC.name); k3dCroSecList.Add(k3dCroSec); } } - if (secSteel.StbSecRollL != null) + } + + private static void SetRollLSection(StbSections sections, FemMaterial material, CroSecFamilyName familyName, List k3dCroSecList) + { + if (sections.StbSecSteel.StbSecRollL != null) { - foreach (var rollL in secSteel.StbSecRollL) + foreach (StbSecRollL rollL in sections.StbSecSteel.StbSecRollL) { // TODO: 正確な形状に合わせて等価断面計算する。フィレットは非考慮 int typeFactor = rollL.type == StbSecRollLType.SINGLE ? 1 : 2; var eqLength = Math.Sqrt((rollL.A * rollL.t1 + rollL.B * rollL.t2 - rollL.t1 * rollL.t2) * typeFactor) / 10d; - k3dCroSec = new CroSec_Trapezoid(familyName.Circle, rollL.name, null, null, material, eqLength, eqLength, eqLength); + var k3dCroSec = new CroSec_Trapezoid(familyName.Circle, rollL.name, null, null, material, eqLength, eqLength, eqLength); SetK3dCroSecElemId(sections, k3dCroSec, rollL.name); k3dCroSecList.Add(k3dCroSec); } } - if (secSteel.StbSecLipC != null) + } + + private static void SetLipCSection(StbSections sections, FemMaterial material, CroSecFamilyName familyName, List k3dCroSecList) + { + if (sections.StbSecSteel.StbSecLipC != null) { - foreach (var lipC in secSteel.StbSecLipC) + foreach (StbSecLipC lipC in sections.StbSecSteel.StbSecLipC) { // TODO: 正確な形状に合わせて等価断面計算する。フィレットは非考慮 int typeFactor = lipC.type == StbSecLipCType.SINGLE ? 1 : 2; var eqLength = Math.Sqrt((2 * lipC.A * lipC.t + lipC.H * lipC.t + 2 * lipC.C * lipC.t - 4 * lipC.t * lipC.t) * typeFactor) / 10d; - k3dCroSec = new CroSec_Trapezoid(familyName.Circle, lipC.name, null, null, material, eqLength, eqLength, eqLength); + var k3dCroSec = new CroSec_Trapezoid(familyName.Circle, lipC.name, null, null, material, eqLength, eqLength, eqLength); SetK3dCroSecElemId(sections, k3dCroSec, lipC.name); k3dCroSecList.Add(k3dCroSec); } } - if (secSteel.StbSecFlatBar != null) + } + + private static void SetFlatBarSection(StbSections sections, FemMaterial material, CroSecFamilyName familyName, List k3dCroSecList) + { + if (sections.StbSecSteel.StbSecFlatBar != null) { - foreach (var flatBar in secSteel.StbSecFlatBar) + foreach (StbSecFlatBar flatBar in sections.StbSecSteel.StbSecFlatBar) { - k3dCroSec = new CroSec_Trapezoid(familyName.FB, flatBar.name, null, null, material, flatBar.B, flatBar.t, flatBar.t); + var k3dCroSec = new CroSec_Trapezoid(familyName.FB, flatBar.name, null, null, material, flatBar.B, flatBar.t, flatBar.t); SetK3dCroSecElemId(sections, k3dCroSec, flatBar.name); k3dCroSecList.Add(k3dCroSec); } } - if (secSteel.StbSecRoundBar != null) + } + + private static void SetRoundBarSection(StbSections sections, FemMaterial material, CroSecFamilyName familyName, List k3dCroSecList) + { + if (sections.StbSecSteel.StbSecRoundBar != null) { - foreach (var roundBar in secSteel.StbSecRoundBar) + foreach (StbSecRoundBar roundBar in sections.StbSecSteel.StbSecRoundBar) { // TODO: Karambaは中実円断面ないため、矩形の等価断面。 var eqLength = Math.Sqrt(roundBar.R * roundBar.R * Math.PI) / 10d; - k3dCroSec = new CroSec_Trapezoid(familyName.Circle, roundBar.name, null, null, material, eqLength, eqLength, eqLength); + var k3dCroSec = new CroSec_Trapezoid(familyName.Circle, roundBar.name, null, null, material, eqLength, eqLength, eqLength); SetK3dCroSecElemId(sections, k3dCroSec, roundBar.name); k3dCroSecList.Add(k3dCroSec); } } - - return k3dCroSecList; } private static void SetK3dCroSecElemId(StbSections sections, CroSec k3dCroSec, string steelShapeName) { - foreach (StbSecColumn_S columnS in sections.StbSecColumn_S) + CheckSecColumnIdMatching(sections.StbSecColumn_S, k3dCroSec, steelShapeName); + CheckSecBeamIdMatching(sections.StbSecBeam_S, k3dCroSec, steelShapeName); + CheckSecBraceIdMatching(sections.StbSecBrace_S, k3dCroSec, steelShapeName); + } + + private static void CheckSecColumnIdMatching(StbSecColumn_S[] columns, CroSec k3dCroSec, string steelShapeName) + { + foreach (StbSecColumn_S column in columns) { var memberFigureName = string.Empty; - object[] figures = columnS.StbSecSteelFigureColumn_S.Items; + object[] figures = column.StbSecSteelFigureColumn_S.Items; switch (figures) { case StbSecSteelColumn_S_Same[] same: @@ -255,13 +315,17 @@ private static void SetK3dCroSecElemId(StbSections sections, CroSec k3dCroSec, s } if (memberFigureName == steelShapeName) { - k3dCroSec.AddElemId("Id" + columnS.id); + k3dCroSec.AddElemId("Id" + column.id); } } - foreach (StbSecBeam_S beamS in sections.StbSecBeam_S) + } + + private static void CheckSecBeamIdMatching(StbSecBeam_S[] beams, CroSec k3dCroSec, string steelShapeName) + { + foreach (StbSecBeam_S beam in beams) { var memberFigureName = string.Empty; - object[] figures = beamS.StbSecSteelFigureBeam_S.Items; + object[] figures = beam.StbSecSteelFigureBeam_S.Items; switch (figures) { case StbSecSteelBeam_S_Straight[] straight: @@ -282,13 +346,17 @@ private static void SetK3dCroSecElemId(StbSections sections, CroSec k3dCroSec, s } if (memberFigureName == steelShapeName) { - k3dCroSec.AddElemId("Id" + beamS.id); + k3dCroSec.AddElemId("Id" + beam.id); } } - foreach (StbSecBrace_S braceS in sections.StbSecBrace_S) + } + + private static void CheckSecBraceIdMatching(StbSecBrace_S[] braces, CroSec k3dCroSec, string steelShapeName) + { + foreach (StbSecBrace_S brace in braces) { var memberFigureName = string.Empty; - object[] figures = braceS.StbSecSteelFigureBrace_S.Items; + object[] figures = brace.StbSecSteelFigureBrace_S.Items; switch (figures) { case StbSecSteelBrace_S_Same[] same: @@ -303,7 +371,7 @@ private static void SetK3dCroSecElemId(StbSections sections, CroSec k3dCroSec, s } if (memberFigureName == steelShapeName) { - k3dCroSec.AddElemId("Id" + braceS.id); + k3dCroSec.AddElemId("Id" + brace.id); } } } From c14c243a71abe21b1274a86911d2d895ca655e89 Mon Sep 17 00:00:00 2001 From: hiron Date: Wed, 11 Aug 2021 21:21:04 +0900 Subject: [PATCH 085/162] Update debug settings --- HoaryFox/HoaryFox.csproj | 2 +- HoaryFox/Properties/launchSettings.json | 8 ++++++++ KarambaConnect/Properties/launchSettings.json | 8 ++++++++ KarambaConnect/karambaConnect.csproj | 2 +- 4 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 HoaryFox/Properties/launchSettings.json create mode 100644 KarambaConnect/Properties/launchSettings.json diff --git a/HoaryFox/HoaryFox.csproj b/HoaryFox/HoaryFox.csproj index 0792da34..b3520438 100644 --- a/HoaryFox/HoaryFox.csproj +++ b/HoaryFox/HoaryFox.csproj @@ -18,7 +18,7 @@ - C:\Program Files\Rhino 7\System\Rhino.exe + C:\Program Files\Rhino 6\System\Rhino.exe Program diff --git a/HoaryFox/Properties/launchSettings.json b/HoaryFox/Properties/launchSettings.json new file mode 100644 index 00000000..2e8a371a --- /dev/null +++ b/HoaryFox/Properties/launchSettings.json @@ -0,0 +1,8 @@ +{ + "profiles": { + "HoaryFox": { + "commandName": "Executable", + "executablePath": "C:\\Program Files\\Rhino 6\\System\\Rhino.exe" + } + } +} \ No newline at end of file diff --git a/KarambaConnect/Properties/launchSettings.json b/KarambaConnect/Properties/launchSettings.json new file mode 100644 index 00000000..a9156baf --- /dev/null +++ b/KarambaConnect/Properties/launchSettings.json @@ -0,0 +1,8 @@ +{ + "profiles": { + "karambaConnect": { + "commandName": "Executable", + "executablePath": "C:\\Program Files\\Rhino 6\\System\\Rhino.exe" + } + } +} \ No newline at end of file diff --git a/KarambaConnect/karambaConnect.csproj b/KarambaConnect/karambaConnect.csproj index 62af11fe..9d4a19a4 100644 --- a/KarambaConnect/karambaConnect.csproj +++ b/KarambaConnect/karambaConnect.csproj @@ -30,7 +30,7 @@ - C:\Program Files\Rhino 7\System\Rhino.exe + C:\Program Files\Rhino 6\System\Rhino.exe Program From 34ddbbbb8013101a9bc12e20048f4a8179293cec Mon Sep 17 00:00:00 2001 From: hiron Date: Wed, 11 Aug 2021 22:17:42 +0900 Subject: [PATCH 086/162] Fix RC model S2K error --- .../Component/IO/Convert2Karamba.cs | 21 ++-- KarambaConnect/S2K/CrossSection.cs | 114 +++++++++++------- KarambaConnect/S2K/ElementBuilder.cs | 15 +++ KarambaConnect/S2K/Material.cs | 34 ++++++ 4 files changed, 129 insertions(+), 55 deletions(-) create mode 100644 KarambaConnect/S2K/Material.cs diff --git a/KarambaConnect/Component/IO/Convert2Karamba.cs b/KarambaConnect/Component/IO/Convert2Karamba.cs index e684520e..81d8b1a6 100644 --- a/KarambaConnect/Component/IO/Convert2Karamba.cs +++ b/KarambaConnect/Component/IO/Convert2Karamba.cs @@ -15,7 +15,7 @@ namespace KarambaConnect.Component.IO { public class Convert2Karamba : GH_Component { - + private ST_BRIDGE _stBridge; public override GH_Exposure Exposure => GH_Exposure.secondary; public Convert2Karamba() @@ -39,25 +39,22 @@ protected override void RegisterOutputParams(GH_OutputParamManager pManager) protected override void SolveInstance(IGH_DataAccess dataAccess) { var familyName = new CroSecFamilyName(); - ST_BRIDGE stBridge = new ST_BRIDGE(); - List k3ElemBe = new List(); - List k3ElemSh = new List(); + var k3dElemSh = new List(); - if (!dataAccess.GetData(0, ref stBridge)) { return; } + if (!dataAccess.GetData(0, ref _stBridge)) { return; } if (!dataAccess.GetData(1, ref familyName)) { familyName = CroSecFamilyName.Default(); } - List[] k3Ids = CrossSection.GetIndex(stBridge); - List k3CroSec = CrossSection.GetCroSec(stBridge.StbModel.StbSections, familyName); - List elems = ElementBuilder.BuilderBeams(stBridge.StbModel, k3Ids); - List ghElements = elems.Select(e => new GH_Element(e)).ToList(); - k3ElemBe = ghElements; + List[] k3dIds = CrossSection.GetIndex(_stBridge); + List k3dCroSec = CrossSection.GetCroSec(_stBridge.StbModel.StbSections, familyName); + List k3dBeamElems = ElementBuilder.BuilderBeams(_stBridge.StbModel, k3dIds); + List ghK3dElements = k3dBeamElems.Select(e => new GH_Element(e)).ToList(); - dataAccess.SetDataList(0, k3ElemBe); - dataAccess.SetDataList(1, k3CroSec); + dataAccess.SetDataList(0, ghK3dElements); + dataAccess.SetDataList(1, k3dCroSec); } protected override Bitmap Icon => Resource.ToKaramba; diff --git a/KarambaConnect/S2K/CrossSection.cs b/KarambaConnect/S2K/CrossSection.cs index 991e4261..31af30bd 100644 --- a/KarambaConnect/S2K/CrossSection.cs +++ b/KarambaConnect/S2K/CrossSection.cs @@ -12,38 +12,48 @@ public static class CrossSection { public static List[] GetIndex(ST_BRIDGE stBridge) { - var k3Ids = new[] { new List(), new List(), new List() }; + var k3dIds = new[] { new List(), new List(), new List() }; StbMembers members = stBridge.StbModel.StbMembers; - k3Ids[0].AddRange(members.StbColumns.Select(column => "Id" + column.id)); - k3Ids[1].AddRange(members.StbGirders.Select(girder => "Id" + girder.id)); - k3Ids[2].AddRange(members.StbBraces.Select(brace => "Id" + brace.id)); + if (members.StbColumns != null) + { + k3dIds[0].AddRange(members.StbColumns.Select(column => "Id" + column.id_section)); + } + if (members.StbGirders != null) + { + k3dIds[1].AddRange(members.StbGirders.Select(girder => "Id" + girder.id_section)); + } + if (members.StbBraces != null) + { + k3dIds[2].AddRange(members.StbBraces.Select(brace => "Id" + brace.id_section)); + } - return k3Ids; + return k3dIds; } public static List GetCroSec(StbSections sections, CroSecFamilyName familyName) { // TODO: 材軸の回転は未設定 - var k3CroSec = new List(); + var k3dCroSec = new List(); var fc21 = new FemMaterial_Isotrop("Concrete", "Fc21", 2186_0000, 911_0000, 911_0000, 24, 14_0000, 1.00E-05, Color.Gray); + FemMaterial_Isotrop[] rcMaterials = Material.DefaultRcMaterials(); var sn400 = new FemMaterial_Isotrop("Steel", "SN400", 20500_0000, 8076_0000, 8076_0000, 78.5, 235_0000, 1.20E-05, Color.Brown); - k3CroSec.AddRange(StbSecColumnRcToK3dCroSec(sections.StbSecColumn_RC, fc21, familyName)); - k3CroSec.AddRange(StbSecBeamRcToK3dCroSec(sections.StbSecBeam_RC, fc21, familyName)); - k3CroSec.AddRange(StbSecSteelToK3dCroSec(sections, sn400, familyName)); + k3dCroSec.AddRange(StbSecColumnRcToK3dCroSec(sections.StbSecColumn_RC, fc21)); + k3dCroSec.AddRange(StbSecBeamRcToK3dCroSec(sections.StbSecBeam_RC, fc21)); + k3dCroSec.AddRange(StbSecSteelToK3dCroSec(sections, sn400, familyName)); - return k3CroSec; + return k3dCroSec; } - private static List StbSecColumnRcToK3dCroSec(StbSecColumn_RC[] columns, FemMaterial material, CroSecFamilyName familyName) + private static List StbSecColumnRcToK3dCroSec(IEnumerable columns, FemMaterial material) { var k3dCroSecList = new List(); - foreach (var column in columns) + foreach (StbSecColumn_RC column in columns) { - string name = string.Empty; + string name; CroSec_Beam k3dCroSec; object figure = column.StbSecFigureColumn_RC.Item; switch (figure) @@ -53,15 +63,15 @@ private static List StbSecColumnRcToK3dCroSec(StbSecColumn_RC[] columns, double widthY = rect.width_Y / 10d; name = $"CD-{widthX * 10}x{widthY * 10}"; // TODO:材料の設定は直す - k3dCroSec = new CroSec_Trapezoid(familyName.Box, name, null, null, material, widthX, widthY, widthY); + k3dCroSec = new CroSec_Trapezoid("RcColRect", name, null, null, material, widthX, widthY, widthY); break; case StbSecColumn_RC_Circle circle: double d = circle.D / 10d; name = $"P-{d * 10}"; - k3dCroSec = new CroSec_Circle(familyName.Circle, name, null, null, material, d, d / 2); + k3dCroSec = new CroSec_Circle("RcColCircle", name, null, null, material, d, d / 2); break; default: - throw new ArgumentException("Unknown figure type."); + throw new ArgumentException("Convert StbSecColumn_RC to karamba3d error"); } k3dCroSec.AddElemId("Id" + column.id); k3dCroSecList.Add(k3dCroSec); @@ -70,33 +80,39 @@ private static List StbSecColumnRcToK3dCroSec(StbSecColumn_RC[] columns, return k3dCroSecList; } - private static List StbSecBeamRcToK3dCroSec(StbSecBeam_RC[] girders, FemMaterial material, CroSecFamilyName familyName) + private static List StbSecBeamRcToK3dCroSec(IEnumerable girders, FemMaterial material) { var k3dCroSecList = new List(); - foreach (var girder in girders) + foreach (StbSecBeam_RC girder in girders) { - string name = string.Empty; - double width = 0, depth = 0; + double width, depth; object[] figures = girder.StbSecFigureBeam_RC.Items; - switch (figures) + switch (figures[0]) { - case StbSecBeam_RC_Straight[] straights: - width = straights[0].width / 10d; - depth = straights[0].depth / 10d; + case StbSecBeam_RC_Straight straight: + width = straight.width / 10d; + depth = straight.depth / 10d; break; - case StbSecBeam_RC_Taper[] tapers: + case StbSecBeam_RC_Taper _: + StbSecBeam_RC_Taper[] tapers = { figures[0] as StbSecBeam_RC_Taper, figures[1] as StbSecBeam_RC_Taper }; width = tapers.First(figure => figure.pos == StbSecBeam_RC_TaperPos.START).width / 10d; depth = tapers.First(figure => figure.pos == StbSecBeam_RC_TaperPos.START).depth / 10d; break; - case StbSecBeam_RC_Haunch[] haunches: + case StbSecBeam_RC_Haunch _: + StbSecBeam_RC_Haunch[] haunches; + haunches = figures.Length == 2 + ? new[] { figures[0] as StbSecBeam_RC_Haunch, figures[1] as StbSecBeam_RC_Haunch } + : new[] { figures[0] as StbSecBeam_RC_Haunch, figures[1] as StbSecBeam_RC_Haunch, figures[2] as StbSecBeam_RC_Haunch}; width = haunches.First(figure => figure.pos == StbSecBeam_RC_HaunchPos.CENTER).width / 10d; depth = haunches.First(figure => figure.pos == StbSecBeam_RC_HaunchPos.CENTER).depth / 10d; break; + default: + throw new ArgumentException("Convert StbSecBeam_RC to karamba3d error"); } - name = $"BD-{width * 10}x{depth * 10}"; - var k3dCroSec = new CroSec_Trapezoid(familyName.Box, name, null, null, material, depth, width, width); + var name = $"BD-{width * 10}x{depth * 10}"; + var k3dCroSec = new CroSec_Trapezoid("RcBeam", name, null, null, material, depth, width, width); k3dCroSec.AddElemId("Id" + girder.id); k3dCroSecList.Add(k3dCroSec); } @@ -123,7 +139,7 @@ private static List StbSecSteelToK3dCroSec(StbSections sections, FemMate return k3dCroSecList; } - private static void SetRollHSection(StbSections sections, FemMaterial material, CroSecFamilyName familyName, List k3dCroSecList) + private static void SetRollHSection(StbSections sections, FemMaterial material, CroSecFamilyName familyName, ICollection k3dCroSecList) { if (sections.StbSecSteel.StbSecRollH != null) { @@ -138,7 +154,7 @@ private static void SetRollHSection(StbSections sections, FemMaterial material, } } - private static void SetBuildHSection(StbSections sections, FemMaterial material, CroSecFamilyName familyName, List k3dCroSecList) + private static void SetBuildHSection(StbSections sections, FemMaterial material, CroSecFamilyName familyName, ICollection k3dCroSecList) { if (sections.StbSecSteel.StbSecBuildH != null) { @@ -153,7 +169,7 @@ private static void SetBuildHSection(StbSections sections, FemMaterial material, } } - private static void SetRollBoxSection(StbSections sections, FemMaterial material, CroSecFamilyName familyName, List k3dCroSecList) + private static void SetRollBoxSection(StbSections sections, FemMaterial material, CroSecFamilyName familyName, ICollection k3dCroSecList) { if (sections.StbSecSteel.StbSecRollBOX != null) { @@ -168,7 +184,7 @@ private static void SetRollBoxSection(StbSections sections, FemMaterial material } } - private static void SetBuildBoxSection(StbSections sections, FemMaterial material, CroSecFamilyName familyName, List k3dCroSecList) + private static void SetBuildBoxSection(StbSections sections, FemMaterial material, CroSecFamilyName familyName, ICollection k3dCroSecList) { if (sections.StbSecSteel.StbSecBuildBOX != null) { @@ -183,7 +199,7 @@ private static void SetBuildBoxSection(StbSections sections, FemMaterial materia } } - private static void SetRollTSection(StbSections sections, FemMaterial material, CroSecFamilyName familyName, List k3dCroSecList) + private static void SetRollTSection(StbSections sections, FemMaterial material, CroSecFamilyName familyName, ICollection k3dCroSecList) { if (sections.StbSecSteel.StbSecRollT != null) { @@ -198,7 +214,7 @@ private static void SetRollTSection(StbSections sections, FemMaterial material, } } - private static void SetPipeSection(StbSections sections, FemMaterial material, CroSecFamilyName familyName, List k3dCroSecList) + private static void SetPipeSection(StbSections sections, FemMaterial material, CroSecFamilyName familyName, ICollection k3dCroSecList) { if (sections.StbSecSteel.StbSecPipe != null) { @@ -212,7 +228,7 @@ private static void SetPipeSection(StbSections sections, FemMaterial material, C } } - private static void SetRollCSection(StbSections sections, FemMaterial material, CroSecFamilyName familyName, List k3dCroSecList) + private static void SetRollCSection(StbSections sections, FemMaterial material, CroSecFamilyName familyName, ICollection k3dCroSecList) { if (sections.StbSecSteel.StbSecRollC != null) { @@ -228,7 +244,7 @@ private static void SetRollCSection(StbSections sections, FemMaterial material, } } - private static void SetRollLSection(StbSections sections, FemMaterial material, CroSecFamilyName familyName, List k3dCroSecList) + private static void SetRollLSection(StbSections sections, FemMaterial material, CroSecFamilyName familyName, ICollection k3dCroSecList) { if (sections.StbSecSteel.StbSecRollL != null) { @@ -244,7 +260,7 @@ private static void SetRollLSection(StbSections sections, FemMaterial material, } } - private static void SetLipCSection(StbSections sections, FemMaterial material, CroSecFamilyName familyName, List k3dCroSecList) + private static void SetLipCSection(StbSections sections, FemMaterial material, CroSecFamilyName familyName, ICollection k3dCroSecList) { if (sections.StbSecSteel.StbSecLipC != null) { @@ -260,7 +276,7 @@ private static void SetLipCSection(StbSections sections, FemMaterial material, C } } - private static void SetFlatBarSection(StbSections sections, FemMaterial material, CroSecFamilyName familyName, List k3dCroSecList) + private static void SetFlatBarSection(StbSections sections, FemMaterial material, CroSecFamilyName familyName, ICollection k3dCroSecList) { if (sections.StbSecSteel.StbSecFlatBar != null) { @@ -273,14 +289,14 @@ private static void SetFlatBarSection(StbSections sections, FemMaterial material } } - private static void SetRoundBarSection(StbSections sections, FemMaterial material, CroSecFamilyName familyName, List k3dCroSecList) + private static void SetRoundBarSection(StbSections sections, FemMaterial material, CroSecFamilyName familyName, ICollection k3dCroSecList) { if (sections.StbSecSteel.StbSecRoundBar != null) { foreach (StbSecRoundBar roundBar in sections.StbSecSteel.StbSecRoundBar) { // TODO: Karambaは中実円断面ないため、矩形の等価断面。 - var eqLength = Math.Sqrt(roundBar.R * roundBar.R * Math.PI) / 10d; + double eqLength = Math.Sqrt(roundBar.R * roundBar.R * Math.PI) / 10d; var k3dCroSec = new CroSec_Trapezoid(familyName.Circle, roundBar.name, null, null, material, eqLength, eqLength, eqLength); SetK3dCroSecElemId(sections, k3dCroSec, roundBar.name); k3dCroSecList.Add(k3dCroSec); @@ -295,8 +311,12 @@ private static void SetK3dCroSecElemId(StbSections sections, CroSec k3dCroSec, s CheckSecBraceIdMatching(sections.StbSecBrace_S, k3dCroSec, steelShapeName); } - private static void CheckSecColumnIdMatching(StbSecColumn_S[] columns, CroSec k3dCroSec, string steelShapeName) + private static void CheckSecColumnIdMatching(IEnumerable columns, CroSec k3dCroSec, string steelShapeName) { + if (columns == null) + { + return; + } foreach (StbSecColumn_S column in columns) { var memberFigureName = string.Empty; @@ -320,8 +340,12 @@ private static void CheckSecColumnIdMatching(StbSecColumn_S[] columns, CroSec k3 } } - private static void CheckSecBeamIdMatching(StbSecBeam_S[] beams, CroSec k3dCroSec, string steelShapeName) + private static void CheckSecBeamIdMatching(IEnumerable beams, CroSec k3dCroSec, string steelShapeName) { + if (beams == null) + { + return; + } foreach (StbSecBeam_S beam in beams) { var memberFigureName = string.Empty; @@ -351,8 +375,12 @@ private static void CheckSecBeamIdMatching(StbSecBeam_S[] beams, CroSec k3dCroSe } } - private static void CheckSecBraceIdMatching(StbSecBrace_S[] braces, CroSec k3dCroSec, string steelShapeName) + private static void CheckSecBraceIdMatching(IEnumerable braces, CroSec k3dCroSec, string steelShapeName) { + if (braces == null) + { + return; + } foreach (StbSecBrace_S brace in braces) { var memberFigureName = string.Empty; diff --git a/KarambaConnect/S2K/ElementBuilder.cs b/KarambaConnect/S2K/ElementBuilder.cs index 89d6cf32..87d56911 100644 --- a/KarambaConnect/S2K/ElementBuilder.cs +++ b/KarambaConnect/S2K/ElementBuilder.cs @@ -25,6 +25,11 @@ public static List BuilderBeams(StbModel model, List[] k3dI private static List StbColumnToK3dBeam(List k3Ids, StbNode[] nodes, IEnumerable columns) { + if (columns == null) + { + return new List(); + } + var k3dLine3s = new List(); var k3dKit = new KarambaCommon.Toolkit(); foreach (StbColumn column in columns) @@ -41,6 +46,11 @@ private static List StbColumnToK3dBeam(List k3Ids, StbNode[ private static List StbGirderToK3dBeam(List k3Ids, StbNode[] nodes, IEnumerable girders) { + if (girders == null) + { + return new List(); + } + var k3dLine3s = new List(); var k3dKit = new KarambaCommon.Toolkit(); foreach (StbGirder girder in girders) @@ -57,6 +67,11 @@ private static List StbGirderToK3dBeam(List k3Ids, StbNode[ private static List StbBraceToK3dBeam(List k3Ids, StbNode[] nodes, IEnumerable braces) { + if (braces == null) + { + return new List(); + } + var k3dLine3s = new List(); var k3dKit = new KarambaCommon.Toolkit(); foreach (StbBrace brace in braces) diff --git a/KarambaConnect/S2K/Material.cs b/KarambaConnect/S2K/Material.cs new file mode 100644 index 00000000..2eee97c9 --- /dev/null +++ b/KarambaConnect/S2K/Material.cs @@ -0,0 +1,34 @@ +using System.Drawing; +using Karamba.Materials; + +namespace KarambaConnect.S2K +{ + public static class Material + { + public static FemMaterial_Isotrop[] DefaultRcMaterials() + { + // TODO: 強度ごとに値を計算して設定する + return new FemMaterial_Isotrop[] + { + new FemMaterial_Isotrop("Concrete", "Fc18", 2186_0000, 911_0000, 911_0000, 24, 14_0000, 1.00E-05, Color.Gray), + new FemMaterial_Isotrop("Concrete", "Fc21", 2186_0000, 911_0000, 911_0000, 24, 14_0000, 1.00E-05, Color.Gray), + new FemMaterial_Isotrop("Concrete", "Fc24", 2186_0000, 911_0000, 911_0000, 24, 14_0000, 1.00E-05, Color.Gray), + new FemMaterial_Isotrop("Concrete", "Fc27", 2186_0000, 911_0000, 911_0000, 24, 14_0000, 1.00E-05, Color.Gray), + new FemMaterial_Isotrop("Concrete", "Fc30", 2186_0000, 911_0000, 911_0000, 24, 14_0000, 1.00E-05, Color.Gray), + new FemMaterial_Isotrop("Concrete", "Fc33", 2186_0000, 911_0000, 911_0000, 24, 14_0000, 1.00E-05, Color.Gray), + new FemMaterial_Isotrop("Concrete", "Fc36", 2186_0000, 911_0000, 911_0000, 24, 14_0000, 1.00E-05, Color.Gray), + new FemMaterial_Isotrop("Concrete", "Fc40", 2186_0000, 911_0000, 911_0000, 24, 14_0000, 1.00E-05, Color.Gray), + new FemMaterial_Isotrop("Concrete", "Fc42", 2186_0000, 911_0000, 911_0000, 24, 14_0000, 1.00E-05, Color.Gray), + new FemMaterial_Isotrop("Concrete", "Fc45", 2186_0000, 911_0000, 911_0000, 24, 14_0000, 1.00E-05, Color.Gray), + new FemMaterial_Isotrop("Concrete", "Fc50", 2186_0000, 911_0000, 911_0000, 24, 14_0000, 1.00E-05, Color.Gray), + new FemMaterial_Isotrop("Concrete", "Fc55", 2186_0000, 911_0000, 911_0000, 24, 14_0000, 1.00E-05, Color.Gray), + new FemMaterial_Isotrop("Concrete", "Fc60", 2186_0000, 911_0000, 911_0000, 24, 14_0000, 1.00E-05, Color.Gray), + }; + } + + public static FemMaterial_Isotrop[] DefaultSteelMaterials() + { + throw new System.NotImplementedException(); + } + } +} From 3901834c072a76d7f51b954c9a61f533b5a08bff Mon Sep 17 00:00:00 2001 From: hiron Date: Thu, 12 Aug 2021 11:01:49 +0900 Subject: [PATCH 087/162] Add concrete property calc --- KarambaConnect/S2K/Material.cs | 42 ++++++++++++++++++++++------------ 1 file changed, 27 insertions(+), 15 deletions(-) diff --git a/KarambaConnect/S2K/Material.cs b/KarambaConnect/S2K/Material.cs index 2eee97c9..b545ec26 100644 --- a/KarambaConnect/S2K/Material.cs +++ b/KarambaConnect/S2K/Material.cs @@ -1,3 +1,4 @@ +using System; using System.Drawing; using Karamba.Materials; @@ -7,28 +8,39 @@ public static class Material { public static FemMaterial_Isotrop[] DefaultRcMaterials() { - // TODO: 強度ごとに値を計算して設定する + // TODO: せん断弾性係数あってる? return new FemMaterial_Isotrop[] { - new FemMaterial_Isotrop("Concrete", "Fc18", 2186_0000, 911_0000, 911_0000, 24, 14_0000, 1.00E-05, Color.Gray), - new FemMaterial_Isotrop("Concrete", "Fc21", 2186_0000, 911_0000, 911_0000, 24, 14_0000, 1.00E-05, Color.Gray), - new FemMaterial_Isotrop("Concrete", "Fc24", 2186_0000, 911_0000, 911_0000, 24, 14_0000, 1.00E-05, Color.Gray), - new FemMaterial_Isotrop("Concrete", "Fc27", 2186_0000, 911_0000, 911_0000, 24, 14_0000, 1.00E-05, Color.Gray), - new FemMaterial_Isotrop("Concrete", "Fc30", 2186_0000, 911_0000, 911_0000, 24, 14_0000, 1.00E-05, Color.Gray), - new FemMaterial_Isotrop("Concrete", "Fc33", 2186_0000, 911_0000, 911_0000, 24, 14_0000, 1.00E-05, Color.Gray), - new FemMaterial_Isotrop("Concrete", "Fc36", 2186_0000, 911_0000, 911_0000, 24, 14_0000, 1.00E-05, Color.Gray), - new FemMaterial_Isotrop("Concrete", "Fc40", 2186_0000, 911_0000, 911_0000, 24, 14_0000, 1.00E-05, Color.Gray), - new FemMaterial_Isotrop("Concrete", "Fc42", 2186_0000, 911_0000, 911_0000, 24, 14_0000, 1.00E-05, Color.Gray), - new FemMaterial_Isotrop("Concrete", "Fc45", 2186_0000, 911_0000, 911_0000, 24, 14_0000, 1.00E-05, Color.Gray), - new FemMaterial_Isotrop("Concrete", "Fc50", 2186_0000, 911_0000, 911_0000, 24, 14_0000, 1.00E-05, Color.Gray), - new FemMaterial_Isotrop("Concrete", "Fc55", 2186_0000, 911_0000, 911_0000, 24, 14_0000, 1.00E-05, Color.Gray), - new FemMaterial_Isotrop("Concrete", "Fc60", 2186_0000, 911_0000, 911_0000, 24, 14_0000, 1.00E-05, Color.Gray), + new FemMaterial_Isotrop("Concrete", "Fc18", RcYoungsModulus(18, 23.0), RcShareModulus(18, 23.0, 0.2), RcShareModulus(18, 23.0, 0.2), 24.0, 18_0000, 1.00E-05, Color.Gray), + new FemMaterial_Isotrop("Concrete", "Fc21", RcYoungsModulus(21, 23.0), RcShareModulus(21, 23.0, 0.2), RcShareModulus(21, 23.0, 0.2), 24.0, 21_0000, 1.00E-05, Color.Gray), + new FemMaterial_Isotrop("Concrete", "Fc24", RcYoungsModulus(23, 23.0), RcShareModulus(23, 23.0, 0.2), RcShareModulus(24, 23.0, 0.2), 24.0, 24_0000, 1.00E-05, Color.Gray), + new FemMaterial_Isotrop("Concrete", "Fc27", RcYoungsModulus(27, 23.0), RcShareModulus(27, 23.0, 0.2), RcShareModulus(27, 23.0, 0.2), 24.0, 27_0000, 1.00E-05, Color.Gray), + new FemMaterial_Isotrop("Concrete", "Fc30", RcYoungsModulus(30, 23.0), RcShareModulus(30, 23.0, 0.2), RcShareModulus(30, 23.0, 0.2), 24.0, 30_0000, 1.00E-05, Color.Gray), + new FemMaterial_Isotrop("Concrete", "Fc33", RcYoungsModulus(33, 23.0), RcShareModulus(33, 23.0, 0.2), RcShareModulus(33, 23.0, 0.2), 24.0, 33_0000, 1.00E-05, Color.Gray), + new FemMaterial_Isotrop("Concrete", "Fc36", RcYoungsModulus(36, 23.0), RcShareModulus(36, 23.0, 0.2), RcShareModulus(36, 23.0, 0.2), 24.0, 36_0000, 1.00E-05, Color.Gray), + new FemMaterial_Isotrop("Concrete", "Fc40", RcYoungsModulus(40, 23.5), RcShareModulus(40, 23.5, 0.2), RcShareModulus(40, 23.5, 0.2), 24.5, 40_0000, 1.00E-05, Color.Gray), + new FemMaterial_Isotrop("Concrete", "Fc42", RcYoungsModulus(42, 23.5), RcShareModulus(42, 23.5, 0.2), RcShareModulus(42, 23.5, 0.2), 24.5, 42_0000, 1.00E-05, Color.Gray), + new FemMaterial_Isotrop("Concrete", "Fc45", RcYoungsModulus(45, 23.5), RcShareModulus(45, 23.5, 0.2), RcShareModulus(45, 23.5, 0.2), 24.5, 45_0000, 1.00E-05, Color.Gray), + new FemMaterial_Isotrop("Concrete", "Fc50", RcYoungsModulus(50, 24.0), RcShareModulus(50, 24.0, 0.2), RcShareModulus(50, 24.0, 0.2), 25.0, 50_0000, 1.00E-05, Color.Gray), + new FemMaterial_Isotrop("Concrete", "Fc55", RcYoungsModulus(55, 24.0), RcShareModulus(55, 24.0, 0.2), RcShareModulus(55, 24.0, 0.2), 25.0, 55_0000, 1.00E-05, Color.Gray), + new FemMaterial_Isotrop("Concrete", "Fc60", RcYoungsModulus(60, 24.0), RcShareModulus(60, 24.0, 0.2), RcShareModulus(60, 24.0, 0.2), 25.0, 60_0000, 1.00E-05, Color.Gray), }; } + private static double RcYoungsModulus(double fc, double gamma) + { + // Karamba3D の単位に合わせて kN/cm2 + return 3.34 * Math.Pow(10, 4) * Math.Pow(gamma / 24, 2) * Math.Pow(fc / 60, 1 / 3) / 10; + } + + private static double RcShareModulus(double fc, double gamma, double poisson) + { + return RcYoungsModulus(fc, gamma) / (2 * (1 + poisson)); + } + public static FemMaterial_Isotrop[] DefaultSteelMaterials() { - throw new System.NotImplementedException(); + throw new NotImplementedException(); } } } From 5de085e78b21f31e5ca6810d6655b27956876229 Mon Sep 17 00:00:00 2001 From: hiron Date: Thu, 12 Aug 2021 11:02:34 +0900 Subject: [PATCH 088/162] Apply formatter --- KarambaConnect/S2K/CrossSection.cs | 2 +- KarambaConnect/S2K/Material.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/KarambaConnect/S2K/CrossSection.cs b/KarambaConnect/S2K/CrossSection.cs index 31af30bd..68ac8c66 100644 --- a/KarambaConnect/S2K/CrossSection.cs +++ b/KarambaConnect/S2K/CrossSection.cs @@ -104,7 +104,7 @@ private static List StbSecBeamRcToK3dCroSec(IEnumerable g StbSecBeam_RC_Haunch[] haunches; haunches = figures.Length == 2 ? new[] { figures[0] as StbSecBeam_RC_Haunch, figures[1] as StbSecBeam_RC_Haunch } - : new[] { figures[0] as StbSecBeam_RC_Haunch, figures[1] as StbSecBeam_RC_Haunch, figures[2] as StbSecBeam_RC_Haunch}; + : new[] { figures[0] as StbSecBeam_RC_Haunch, figures[1] as StbSecBeam_RC_Haunch, figures[2] as StbSecBeam_RC_Haunch }; width = haunches.First(figure => figure.pos == StbSecBeam_RC_HaunchPos.CENTER).width / 10d; depth = haunches.First(figure => figure.pos == StbSecBeam_RC_HaunchPos.CENTER).depth / 10d; break; diff --git a/KarambaConnect/S2K/Material.cs b/KarambaConnect/S2K/Material.cs index b545ec26..927399a3 100644 --- a/KarambaConnect/S2K/Material.cs +++ b/KarambaConnect/S2K/Material.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Drawing; using Karamba.Materials; From 7ac521c5d929c8516307995103f5db5a64838a61 Mon Sep 17 00:00:00 2001 From: hiron Date: Thu, 12 Aug 2021 20:42:17 +0900 Subject: [PATCH 089/162] Update RC material setting --- KarambaConnect/S2K/CrossSection.cs | 13 +++-- KarambaConnect/S2K/Material.cs | 76 ++++++++++++++++++++++++++++-- 2 files changed, 78 insertions(+), 11 deletions(-) diff --git a/KarambaConnect/S2K/CrossSection.cs b/KarambaConnect/S2K/CrossSection.cs index 68ac8c66..77e1e45b 100644 --- a/KarambaConnect/S2K/CrossSection.cs +++ b/KarambaConnect/S2K/CrossSection.cs @@ -36,18 +36,16 @@ public static List GetCroSec(StbSections sections, CroSecFamilyName fami // TODO: 材軸の回転は未設定 var k3dCroSec = new List(); - var fc21 = new FemMaterial_Isotrop("Concrete", "Fc21", 2186_0000, 911_0000, 911_0000, 24, 14_0000, 1.00E-05, Color.Gray); - FemMaterial_Isotrop[] rcMaterials = Material.DefaultRcMaterials(); var sn400 = new FemMaterial_Isotrop("Steel", "SN400", 20500_0000, 8076_0000, 8076_0000, 78.5, 235_0000, 1.20E-05, Color.Brown); - k3dCroSec.AddRange(StbSecColumnRcToK3dCroSec(sections.StbSecColumn_RC, fc21)); - k3dCroSec.AddRange(StbSecBeamRcToK3dCroSec(sections.StbSecBeam_RC, fc21)); + k3dCroSec.AddRange(StbSecColumnRcToK3dCroSec(sections.StbSecColumn_RC)); + k3dCroSec.AddRange(StbSecBeamRcToK3dCroSec(sections.StbSecBeam_RC)); k3dCroSec.AddRange(StbSecSteelToK3dCroSec(sections, sn400, familyName)); return k3dCroSec; } - private static List StbSecColumnRcToK3dCroSec(IEnumerable columns, FemMaterial material) + private static List StbSecColumnRcToK3dCroSec(IEnumerable columns) { var k3dCroSecList = new List(); @@ -56,13 +54,13 @@ private static List StbSecColumnRcToK3dCroSec(IEnumerable StbSecColumnRcToK3dCroSec(IEnumerable StbSecBeamRcToK3dCroSec(IEnumerable girders, FemMaterial material) + private static List StbSecBeamRcToK3dCroSec(IEnumerable girders) { var k3dCroSecList = new List(); foreach (StbSecBeam_RC girder in girders) { double width, depth; + var material = Material.StbToRcFemMaterial(girder.strength_concrete); object[] figures = girder.StbSecFigureBeam_RC.Items; switch (figures[0]) diff --git a/KarambaConnect/S2K/Material.cs b/KarambaConnect/S2K/Material.cs index 927399a3..de4158c2 100644 --- a/KarambaConnect/S2K/Material.cs +++ b/KarambaConnect/S2K/Material.cs @@ -6,14 +6,14 @@ namespace KarambaConnect.S2K { public static class Material { - public static FemMaterial_Isotrop[] DefaultRcMaterials() + public static FemMaterial_Isotrop[] DefaultRcMaterialArray() { // TODO: せん断弾性係数あってる? return new FemMaterial_Isotrop[] { new FemMaterial_Isotrop("Concrete", "Fc18", RcYoungsModulus(18, 23.0), RcShareModulus(18, 23.0, 0.2), RcShareModulus(18, 23.0, 0.2), 24.0, 18_0000, 1.00E-05, Color.Gray), new FemMaterial_Isotrop("Concrete", "Fc21", RcYoungsModulus(21, 23.0), RcShareModulus(21, 23.0, 0.2), RcShareModulus(21, 23.0, 0.2), 24.0, 21_0000, 1.00E-05, Color.Gray), - new FemMaterial_Isotrop("Concrete", "Fc24", RcYoungsModulus(23, 23.0), RcShareModulus(23, 23.0, 0.2), RcShareModulus(24, 23.0, 0.2), 24.0, 24_0000, 1.00E-05, Color.Gray), + new FemMaterial_Isotrop("Concrete", "Fc24", RcYoungsModulus(24, 23.0), RcShareModulus(24, 23.0, 0.2), RcShareModulus(24, 23.0, 0.2), 24.0, 24_0000, 1.00E-05, Color.Gray), new FemMaterial_Isotrop("Concrete", "Fc27", RcYoungsModulus(27, 23.0), RcShareModulus(27, 23.0, 0.2), RcShareModulus(27, 23.0, 0.2), 24.0, 27_0000, 1.00E-05, Color.Gray), new FemMaterial_Isotrop("Concrete", "Fc30", RcYoungsModulus(30, 23.0), RcShareModulus(30, 23.0, 0.2), RcShareModulus(30, 23.0, 0.2), 24.0, 30_0000, 1.00E-05, Color.Gray), new FemMaterial_Isotrop("Concrete", "Fc33", RcYoungsModulus(33, 23.0), RcShareModulus(33, 23.0, 0.2), RcShareModulus(33, 23.0, 0.2), 24.0, 33_0000, 1.00E-05, Color.Gray), @@ -27,10 +27,78 @@ public static FemMaterial_Isotrop[] DefaultRcMaterials() }; } + public static FemMaterial_Isotrop StbToRcFemMaterial(string stbStrengthFc) + { + double fc, gamma; + var nu = 0.2d; + // マッチしなかった場合は Fc21 相当で返す + switch (stbStrengthFc.ToLower()) + { + case "fc18": + fc = 18; + gamma = 23; + break; + case "fc21": + fc = 21; + gamma = 23; + break; + case "fc24": + fc = 24; + gamma = 23; + break; + case "fc27": + fc = 27; + gamma = 23; + break; + case "fc30": + fc = 30; + gamma = 23; + break; + case "fc33": + fc = 33; + gamma = 23; + break; + case "fc36": + fc = 36; + gamma = 23; + break; + case "fc40": + fc = 40; + gamma = 23.5; + break; + case "fc42": + fc = 42; + gamma = 23.5; + break; + case "fc45": + fc = 45; + gamma = 23.5; + break; + case "fc50": + fc = 50; + gamma = 24; + break; + case "fc55": + fc = 55; + gamma = 24; + break; + case "fc60": + fc = 60; + gamma = 24; + break; + default: + fc = 21; + gamma = 23; + break; + } + + return new FemMaterial_Isotrop("Concrete", stbStrengthFc, RcYoungsModulus(fc, gamma), RcShareModulus(fc, gamma, nu), RcShareModulus(fc, gamma, nu), gamma + 1, fc * 1000, 1.00E-05, Color.Gray); + } + private static double RcYoungsModulus(double fc, double gamma) { // Karamba3D の単位に合わせて kN/cm2 - return 3.34 * Math.Pow(10, 4) * Math.Pow(gamma / 24, 2) * Math.Pow(fc / 60, 1 / 3) / 10; + return 3.34 * Math.Pow(10, 4) * Math.Pow(gamma / 24, 2) * Math.Pow(fc / 60, 1 / 3d) * 1000; } private static double RcShareModulus(double fc, double gamma, double poisson) @@ -38,7 +106,7 @@ private static double RcShareModulus(double fc, double gamma, double poisson) return RcYoungsModulus(fc, gamma) / (2 * (1 + poisson)); } - public static FemMaterial_Isotrop[] DefaultSteelMaterials() + public static FemMaterial_Isotrop[] DefaultSteelMaterialArray() { throw new NotImplementedException(); } From c5554eca367841d16a8a32d13d4fcf62a521ff01 Mon Sep 17 00:00:00 2001 From: hiron Date: Thu, 12 Aug 2021 21:18:19 +0900 Subject: [PATCH 090/162] Fix S model S2K error --- KarambaConnect/S2K/CrossSection.cs | 75 ++++++++++++++++++++---------- KarambaConnect/S2K/Material.cs | 6 ++- 2 files changed, 54 insertions(+), 27 deletions(-) diff --git a/KarambaConnect/S2K/CrossSection.cs b/KarambaConnect/S2K/CrossSection.cs index 77e1e45b..e65575dd 100644 --- a/KarambaConnect/S2K/CrossSection.cs +++ b/KarambaConnect/S2K/CrossSection.cs @@ -35,8 +35,7 @@ public static List GetCroSec(StbSections sections, CroSecFamilyName fami { // TODO: 材軸の回転は未設定 var k3dCroSec = new List(); - - var sn400 = new FemMaterial_Isotrop("Steel", "SN400", 20500_0000, 8076_0000, 8076_0000, 78.5, 235_0000, 1.20E-05, Color.Brown); + var sn400 = new FemMaterial_Isotrop("Steel", "SN400", 20500_0000, 8076_0000, 8076_0000, 78.5, 23_5000, 1.20E-05, Color.Brown); k3dCroSec.AddRange(StbSecColumnRcToK3dCroSec(sections.StbSecColumn_RC)); k3dCroSec.AddRange(StbSecBeamRcToK3dCroSec(sections.StbSecBeam_RC)); @@ -320,16 +319,18 @@ private static void CheckSecColumnIdMatching(IEnumerable columns { var memberFigureName = string.Empty; object[] figures = column.StbSecSteelFigureColumn_S.Items; - switch (figures) + switch (figures[0]) { - case StbSecSteelColumn_S_Same[] same: - memberFigureName = same[0].shape; + case StbSecSteelColumn_S_Same same: + memberFigureName = same.shape; break; - case StbSecSteelColumn_S_NotSame[] notSame: - memberFigureName = notSame.First(figure => figure.pos == StbSecSteelColumn_S_NotSamePos.BOTTOM).shape; + case StbSecSteelColumn_S_NotSame _: + memberFigureName = new[] { figures[0] as StbSecSteelColumn_S_NotSame, figures[1] as StbSecSteelColumn_S_NotSame } + .First(figure => figure.pos == StbSecSteelColumn_S_NotSamePos.BOTTOM).shape; break; - case StbSecSteelColumn_S_ThreeTypes[] three: - memberFigureName = three.First(figure => figure.pos == StbSecSteelColumn_S_ThreeTypesPos.CENTER).shape; + case StbSecSteelColumn_S_ThreeTypes _: + memberFigureName = new[] { figures[0] as StbSecSteelColumn_S_ThreeTypes, figures[1] as StbSecSteelColumn_S_ThreeTypes, figures[2] as StbSecSteelColumn_S_ThreeTypes } + .First(figure => figure.pos == StbSecSteelColumn_S_ThreeTypesPos.CENTER).shape; break; } if (memberFigureName == steelShapeName) @@ -349,21 +350,43 @@ private static void CheckSecBeamIdMatching(IEnumerable beams, CroS { var memberFigureName = string.Empty; object[] figures = beam.StbSecSteelFigureBeam_S.Items; - switch (figures) + switch (figures[0]) { - case StbSecSteelBeam_S_Straight[] straight: - memberFigureName = straight[0].shape; + case StbSecSteelBeam_S_Straight straight: + memberFigureName = straight.shape; break; - case StbSecSteelBeam_S_Taper[] taper: - memberFigureName = taper.First(figure => figure.pos == StbSecSteelBeam_S_TaperPos.START).shape; + case StbSecSteelBeam_S_Taper _: + memberFigureName = new[] { figures[0] as StbSecSteelBeam_S_Taper, figures[1] as StbSecSteelBeam_S_Taper } + .First(figure => figure.pos == StbSecSteelBeam_S_TaperPos.START).shape; break; - case StbSecSteelBeam_S_Joint[] joint: - memberFigureName = joint.First(figure => figure.pos == StbSecSteelBeam_S_JointPos.CENTER).shape; + case StbSecSteelBeam_S_Joint _: + var joints = figures.Length == 2 + ? new[] { figures[0] as StbSecSteelBeam_S_Joint, figures[1] as StbSecSteelBeam_S_Joint } + : new[] { figures[0] as StbSecSteelBeam_S_Joint, figures[1] as StbSecSteelBeam_S_Joint, figures[2] as StbSecSteelBeam_S_Joint }; + memberFigureName = joints.First(figure => figure.pos == StbSecSteelBeam_S_JointPos.CENTER).shape; break; - case StbSecSteelBeam_S_Haunch[] haunch: + case StbSecSteelBeam_S_Haunch _: + var haunch = figures.Length == 2 + ? new[] { figures[0] as StbSecSteelBeam_S_Haunch, figures[1] as StbSecSteelBeam_S_Haunch } + : new[] { figures[0] as StbSecSteelBeam_S_Haunch, figures[1] as StbSecSteelBeam_S_Haunch, figures[2] as StbSecSteelBeam_S_Haunch }; memberFigureName = haunch.First(figure => figure.pos == StbSecSteelBeam_S_HaunchPos.CENTER).shape; break; - case StbSecSteelBeam_S_FiveTypes[] fiveTypes: + case StbSecSteelBeam_S_FiveTypes _: + StbSecSteelBeam_S_FiveTypes[] fiveTypes; + switch (figures.Length) + { + case 3: + fiveTypes = new[] { figures[0] as StbSecSteelBeam_S_FiveTypes, figures[1] as StbSecSteelBeam_S_FiveTypes, figures[2] as StbSecSteelBeam_S_FiveTypes }; + break; + case 4: + fiveTypes = new[] { figures[0] as StbSecSteelBeam_S_FiveTypes, figures[1] as StbSecSteelBeam_S_FiveTypes, figures[2] as StbSecSteelBeam_S_FiveTypes, figures[3] as StbSecSteelBeam_S_FiveTypes }; + break; + case 5: + fiveTypes = new[] { figures[0] as StbSecSteelBeam_S_FiveTypes, figures[1] as StbSecSteelBeam_S_FiveTypes, figures[2] as StbSecSteelBeam_S_FiveTypes, figures[3] as StbSecSteelBeam_S_FiveTypes, figures[4] as StbSecSteelBeam_S_FiveTypes }; + break; + default: + throw new ArgumentException("StbSecSteelBeam_S_FiveTypes parse error"); + } memberFigureName = fiveTypes.First(figure => figure.pos == StbSecSteelBeam_S_FiveTypesPos.CENTER).shape; break; } @@ -384,16 +407,18 @@ private static void CheckSecBraceIdMatching(IEnumerable braces, C { var memberFigureName = string.Empty; object[] figures = brace.StbSecSteelFigureBrace_S.Items; - switch (figures) + switch (figures[0]) { - case StbSecSteelBrace_S_Same[] same: - memberFigureName = same[0].shape; + case StbSecSteelBrace_S_Same same: + memberFigureName = same.shape; break; - case StbSecSteelBrace_S_NotSame[] notSame: - memberFigureName = notSame.First(figure => figure.pos == StbSecSteelBrace_S_NotSamePos.BOTTOM).shape; + case StbSecSteelBrace_S_NotSame _: + memberFigureName = new[] { figures[0] as StbSecSteelBrace_S_NotSame, figures[1] as StbSecSteelBrace_S_NotSame } + .First(figure => figure.pos == StbSecSteelBrace_S_NotSamePos.BOTTOM).shape; break; - case StbSecSteelBrace_S_ThreeTypes[] three: - memberFigureName = three.First(figure => figure.pos == StbSecSteelBrace_S_ThreeTypesPos.CENTER).shape; + case StbSecSteelBrace_S_ThreeTypes _: + memberFigureName = new[] { figures[0] as StbSecSteelBrace_S_ThreeTypes, figures[1] as StbSecSteelBrace_S_ThreeTypes, figures[2] as StbSecSteelBrace_S_ThreeTypes } + .First(figure => figure.pos == StbSecSteelBrace_S_ThreeTypesPos.CENTER).shape; break; } if (memberFigureName == steelShapeName) diff --git a/KarambaConnect/S2K/Material.cs b/KarambaConnect/S2K/Material.cs index de4158c2..bbf30582 100644 --- a/KarambaConnect/S2K/Material.cs +++ b/KarambaConnect/S2K/Material.cs @@ -30,7 +30,7 @@ public static FemMaterial_Isotrop[] DefaultRcMaterialArray() public static FemMaterial_Isotrop StbToRcFemMaterial(string stbStrengthFc) { double fc, gamma; - var nu = 0.2d; + const double Nu = 0.2d; // マッチしなかった場合は Fc21 相当で返す switch (stbStrengthFc.ToLower()) { @@ -92,7 +92,9 @@ public static FemMaterial_Isotrop StbToRcFemMaterial(string stbStrengthFc) break; } - return new FemMaterial_Isotrop("Concrete", stbStrengthFc, RcYoungsModulus(fc, gamma), RcShareModulus(fc, gamma, nu), RcShareModulus(fc, gamma, nu), gamma + 1, fc * 1000, 1.00E-05, Color.Gray); + return new FemMaterial_Isotrop("Concrete", stbStrengthFc, + RcYoungsModulus(fc, gamma), RcShareModulus(fc, gamma, Nu), RcShareModulus(fc, gamma, Nu), + gamma + 1, fc * 1000, 1.00E-05, Color.Gray); } private static double RcYoungsModulus(double fc, double gamma) From e143f72c89115f02f5ed0ee6adc2cc91cb06531d Mon Sep 17 00:00:00 2001 From: hiron Date: Thu, 12 Aug 2021 21:19:57 +0900 Subject: [PATCH 091/162] Update S2K gh sample file --- Samples/Convert_to_Karamba.gh | Bin 23601 -> 25049 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Samples/Convert_to_Karamba.gh b/Samples/Convert_to_Karamba.gh index e733fe52e6bf6886e7ead20c2e4cc3e41ee83688..f591f28865350764c6bfff6a07e7c3f6157e9350 100644 GIT binary patch literal 25049 zcmV)LK)Ju{T?rtR-Pa%co|2GKLxi$av`Uy6`BwrX7S2fau^62~M>vx5^#|ie=!UlkZpuo{Rs5OFfTSUrIioC*?+m zLWxiqsFwvF^$3Pr2~gw|J41|M&j=a>s>L`TR^ZgRQ0Zhm3DjsKUrTFy%L5`o1SS;F zR+okfP;MWf8=Xpn=u9HS;5G|>#c_Bh@*QdT51)C4T5DYIO3UFO27ykbad81%M2WlL z$q@IiL0BpUMu$0+R~{kn!v-7RxD;P6(OiNm)=+^nTDrCv{5UVPGK_064uUmB8gk5M4(cbcmmUs zU1>z1l6es0yd*UP@@Ej4ZN*B#OeT#n#n`z0HF;Y*D<`5q9Z%=bN`ylz37*b^Un%x; z5hxDhf}j3Y3w>NTiNEu&|@TkJ?bf4bYq^VLsMq4ER3-G?qnTvgnXG1!6Jj zc#;9yjpa`w5*(ojPihE6F{i+7DRLX`Frh%ZQk+&gAlG5QqV@sYSzuRVE)&9(bBt@S z_oEg}cjduHn%g@mzUJEoDbkZcT7|H=(blfxD94Wf^29l)uKM#)47iw zHp#@iMXqWU&j@AOy2d}mwx+p5746ATtvT(%Q;`BsqCZ7dRr%dN+$_go(jJHmyIf*v z$TMa&E>-n-JF721-)hiOQmL#p{pdd((so z%3)UMAkZ$F8i=-~;~9)#Dh(FAXexVDqV_mMCc(c?;*Bf~ST)$Byok)Lab|bmDiKcA z7vCwHPUs$S**$-xsopxQAzUTOsft}OdF$(D6_*%oKb)#v0kUNg+juE-WN^P7U&q>IJf)k;NC)i}LM~|+ zA|a$>F-q2o$)pqgSxmOHL~#WD!Bz^}80?BB>5F>cdG^$qF_L?`%8zScS-M3rUlpu058@V@H0P2?e?$GaoCVj zvN?9){^P#^c+r0)@I+>z9C?=>cHg`!=I$!9s2za!pHZwrth{5ndPLLm`5Py1=m7lM z1~&{kY=-kj%*FNS7?p^g10SPZQI%HbW>aLcB>T^FU+^z`FB(e4Cg!wziyT(laJS`nvHAxIsL_Jb!L(m-k0im6#0T2nT$LWy?PM?>G zK-}~LqFe}lm{>Xl+o23J9*rmg2o15vgC--52GXfybP#OIQ_yfB5g4&(JsOn=57+?h z58=u1e;6zpjY20l2KNTIP1B`C$67ghuU#AvhhMLNN~Qp_H_iKf84 zXMoAU42C$6GlTIk`uGSKUNnKNw4ngBe*~8@3?sBNTuWe+7#+Z(!IlM#Fq%ykBeZ8Q zpdyh>q~O6PLF?@gu|G&4Q5opJ0x45ltRfC^Vos7y4TMk7T47Ki&pHbUD| z&;&dK;%$b@0^B~K@pK4{XTo-PFx*+ryJ$QKCOqf`C1?uFUvvhujlJMU*aduT8UVhb zQUW?Y$SDzck{L{-2Xxyan#dUd+$GRS_?Jon0}P{bh5??SQo!R3#0+9X$beZ0O@;_C zMnnb~K?QI>lk=7#!t7`~+%fJ1FcQkhKJNJHFMg}-3pVW5op@?*DzBh%18oVgtf(7P z+7)3K_KFjkCUPFIz$HL}i@Bb$HOd=iX?ggUhC!jWS@E&;li4s^_v2w}@KNdBvGs5^ zS0jSKm=O$-NW9D~6rh}eRx7NN-#aHfkh}BxmH!GJfW(1(6~KpGDu9qA8zHVru@v*Z zaYkDiyNyvHud!eCgD?O^dI{iwE&&|K1E6T{0qlpo*v3&p@p{R!W#sfbWSg^gM6_*k zRu&IlQXcGA1t4py=nl0tH{6XZf)6=GwJzCX+>jLiJ5W>U5;Zj*)Wmv^nj9N7WJU^w zEH&yTg-kED+;RK-Ry{N3dtMfEg5MKlF{HFRuv9Ex%#TYqwBDsi@(HK79seC*4e1gr z4IZ$>dk>Z-dyeud>F#GKwJ6ANI8(u^(}#Y?QdFdOo6dg~Btu>^N0r>@nBFBG?4gBBC^} zwsa7xEjh(~0?eo`fid6#MymI~3}getfSAY>L=>k`TxP#`OUWEP!>(xJjL9qqTqZBu zVBq&aBLdKfc|d&xjB%I1jO76aNGQNHqMe}N=LB1;Of;}V!MM@B~|L!UYzL|$-8%^ z#O_W&hwcdS9AY*14Ya0RLOTK1&kbzhF_I_H7jZPBnY&PKO5(j6$_<3J5+V z?uKUuxADxvF^k3RnGhL;YInUzQdnev_IeUfa-nj*ZFMBmLY_@!DvQZk2T69p?1R{A zHGkL`4}cABG{PIg+5J_?@YjWfiPnV;nwMBdEa<#q0BJ{%B#lR?@7?+U^Js`>;D*sSOR4zwOG9Ae$TF&qm|bg*X@ zhz_FTLy1gY?hr2E7L8jwPd(bxB~5Iy+2wz#g?+llLUcS_$=)%76%~zyj}XoX%EcL){m+#; z?Av>M`=eqT{~kdizz#CVbKo%{q!tlE>Qn1ssQ{$r2rMeCIuouPjFZJuNu+i+ zG^mk4CMHB-ag`6U3t=5j!&3s-9(JTq!VOP>NE|jp$%ALG!4M(DpBm2X5yF60aO0s+ z+iQ{@B-oswBmQ^pyI3~$yzwL!#8qz#%w_NFY_zw8t?qE13igi=TtTD=seswWg+<0e z1R@zvYBT;sJ9bZ^^X{QI-IMIDd+eV^i%zZQcZa$~)^G==aZd zPpVi>PTR`Jnf6__3NIvihq!}1G+~~>F@6zGTpgTUFdX2@lJQ~b~HtQe|Op3 zn`6;gcR61c@7b4qexnTOop?a@41Uv>`@7=fiZ8 zB5e;Tb6AFk3V~ma@6bzf{@XfZcFJ8t#@iPYJ@3wZ4Zi@G^oATf#9GyzT zQN!AshJO^<9RjOed$^78jy>zl#V5=%RASpvu$kr$p+QU_6d=?Z`#$2594G7`8H2Ab!MLzALM7VKD}V`?nBHGzq)yv3ft4FHm5pjL;qs zlgZuO;d>A6gf558bP+$YJJz24akyqo8~eiy2wrCUwmWu%D{PQ42xqy*S@lP4-={c7 zNuTp1zblmGVL3St%VFWh1l@&jB~sBR+@{hcw+;T&+y-6(|K)c}_HuLoxG2JWTqYq< zNkGKGB`mN33d9I(y1@n=;18q{E+s>ZU|6W3Wj)(yj#Tly77A=P226btHLT+f1Sz7O zrSX&?h|>%S-&HGke`+YyO)FL;5}FF)C%A(EQ53K+25}T%o19Je04}cz>jardA(B~S z?o@2YgU!ZZ8y}I+M4$v%^iFoQCO2-8XC1Up{ZY62VRh3E-av0G(x4FUBfGp$IC)5y zoIFgxS=&n%S|!TWkcbW67dMdxSlz7co31ofIr8H|G`9n_wcZ!K!b1aMEtaUtvyVrV?TjV zV}Bn!%y!VQV{d|is^n>k%QNhr2C_(jL@**MaOcp8i0@N4PxxYwZPgeTZnsO#LHS32 zxf~vz7|aRJ>)0)0q)UPt);@r-h+WkuoPzF>Q%2x=$2m|(2J*Vy~9v0I!*x1WB#EA@xLOgeGoxl}TjCPSH6tF^FJzCWXC6{=)Y#;rU zjdr{?emlPjorThX;reVMMh))@vTa&i#|zk?7V3C$z9V&R#>PaOB8`IW2KHY~dhB>n zLAQA}y7s$BbwZ!r?S2;q#J0ydWI)r}4%fBCPatXsW`71)9ijytFm1$1;e9- zSng;Bl^ux-K1#q-KzKA{$YfEV4xzf-P9Xe3WD3_$cPE|D&yLJ+D#2fCvcc&s>j^Z1 ztN|YDh5O~nA(-H@oEYXhe)kLN7+k9=%>B}~AB#fu-2KwitvHb$ZN>F;mlN^P(602w zHvX^f?}_wee^2DM?eC#_zQ5PyHaj0#g>L*xbZCHgl_k#mO)l-a+xX?%-{bx**7i4> z9i+Nr2hLAt+wIdj+w^V}y3voYNgwS0d1H+Z7hQC~Y|^*XRJyM7ud_LwF%5mG&mN8gv^7TPN2vDH-$hD4N*AkO$2ZXi+wr)F-n4| zB)EXHXTaV&Wyjou1(mJ~3vSC9snZp%nua|6%Qwt?nnO;-K9P4Z$FA|7AZ5SG({Dt- z3JIj?3o98RME@=cq0~Do*~AIf;q1U7w$_8~I~X*09p1i)0nCC97PD}(IR3@mI}Pz? zF;y>z7i>0gh?FYx0H`?lr0Dlje)!Pq_ivli3x&2P*eVQ6>Ed)%&+D^2|YMoTDFH(C~eaGzLd_q zwc2T8<-97#mT|mkMSJm?K73z_e%-pv4g^YTmNmS>FRaVOlWSO)*(WH#;-U)_&~aRK&7Guz>RRgljNI3= ztuo^GPq-sB9p|>R zJ^^h5C+3U~=i>V{=iLowe>V#;XCj4ne#5-xLBR{A$CBXLyWqahVFKySm>^yz zHviGZSuSY@W+>F8w9WW>x=~=^wqaC3%NugShnB%?OGTt8R7Q9x+0brkR<| zb}`3U1C#5&{;KX9fJ1Fd;OIVSeuU5iai~)(JB{)ZhL8#`LTG#t%u}5pHK$DX#vq$% zRvV7HkUZ>?_V9`Y4|djv&Y;3{3soT`vU+luvsJPDW|KFU^_zbKR4}`A0TpV^KgUdf zS*s9UL4 z<8Z=MKXFC|G4odiU^Bc6yxBm|7JW3MB#$ko9_2M>ZSoFmAa*e{lA)-4RKE9G!u=V0oT=5(1 z`PqpZdAH!?e7eHHr%!M|t>_8|etzg~gPw~+WOq35TS2@y%<2k-|BAf1+=3>NPM&Z)?2dUS|P4TbdE!|lKZ zE8C&O0&6$;4?0AHkThLre5`=G?hA89- zk#3(5?cxa$~oTktx|?DoyuhY zt1Zf$$|3>3HaZfbQ+uW& z?gT<~2!2=4^^H99+mAW`grlN42n%RZfbh$h-YpUbxFU~n(bHoHkICUrTiLU$n22oo z?Rw>u2Zzo4F+%i;w0SPS71?=i#aC$7=d7m$A}}aH==C-5^@C$dJ=xCaM^COZ4hI9 z4R3N)38al4g%j|}F@6v0uWrR$$D&Sgt$efqgWVEzlXg4H*zmxB(7W2H;$N-s1=)bN z1>y1d{kxvEobd}?a$CN_qR>&j+k#PKkH2kJ2pzrXHpdc8^9;)^`48{d+{vpE=Vxxg zv0L}a*yk}q=!+ytn|I(`X5-qbH8?DM{D|jpskxlUpl~s6BJ-esF@u3+JJpE;6DxnXo#I`>>oL3eKFXo_WeX0Him*ntBtj6kU zUV~zAr+pH%=0GS$-@rVeOPG~=x6eI|op}L~ZXo`=V`@j=5SQ-279L}>b%e3{P93Lw z(-nH2bJN%IU^u*+5B?pYT?mXSUBWoHcd_Z_NR$nT;)g(r10n%tL5LoN3`rQr_8`kS zE^F||nTHMS5(fAlm^WHZlvh1i3;B$ov(XxBIn}Q#x>|16-Bh=3=WLtBwRQ*xTXU;s2_EUun>xCt>EFLBE2moMB_> zV6xm-JaYLK&CZ7bcU1}eirjd(ZGzM%7|Z-#qjFN0jKLi_2d(r;CN&ymemZmEz^e zQkQqt=5%MM;mr|-)zFJgZnt}2}uw-_7Rkb zg9cC>U=hcLu+}6IQZTsG0nbSwrY(0|q5_R`p5aTuCPL#9va@(IRUG%22#-z^o+h<#jh^nG&w{ZBkVx_laV;o0fRpiOcsiu z0G{dms6b<>2#sq>c19Q_m$pPdK+psIE0iYpP6lDhB_dt3vWuT9*d;9DU5_{kO-{ur z?hB%@WeiM|3SmU)Z}O)j{J2AsWXrjZ!{MD!D4`Qd3S^On!kOHui7dy2%Tr{kbB87{ z)!9)=-A;4~fqqE{?N|Fm?@VH=vRxBw^Oen{i0LXk4TpI6gR;U$&W9yFR3EJg;9alD z+aPUpGTkMR+MnjFHj?r47WYR52|90|Kb?(tFy~?!Dze;ZA23BF!6!)92m3Pc+!U_Biu$l-d-vb~wWLXb7nk2yajG|6-Huet|+H%D?0{QjyIi_+OU%~NZS z?J|qSi&j{q&-)v+*gu%H{+zzz_F6z+$=j1@5IvCnTDNLTT%dd6Lc7{yls+k>N|n2h7I%!+>$5AOTP6@Bq|_e7iX*PIkuW7~71k zk5s-VTea{mP-qO|7{LV!Qu_aq0efP_0`hfd#d-^p4>(HkAa{pQ;-LZcjLEany(b{k zuU=!M^>XWIjp5O1IVdAu1r>s)(eQ#KhL{5bqAiX5BT}Klm9>>a)rDc zg+(IG1<6$?L2X@?Z2w!9O+v2a@vD0HrOks-^)hAq1K(Qv7fd?%;6FY5XY??)j{Me`funuL3a34?yhLcg z6Dw;4OK<{Q9uh``(dGun3TS$u;dwYlD3Hm%kuN_EvvO}iaGE~C~v|X#x=nyOd83=Cd8`XuPGye^<_{9f#Tw3a#b*B%jLA+7J+@#K3 zDpl~%e@eB>6g%we2D;O!2ATSmyT%b6PN-MxS-vl#d0Pc6bQfsX-(|>`MSRhj!tHg$qhC zoa@dP%jQ~TnN1Q~qw$RQaI6Nm51jA9Eq3UQU|54-YPG*z4`qsgG=z9M4}X>@7;ivXe9ln=W73`e`35@v0*B`Xw8g|V}mrlfr; zu{o?&^(-EnIFyG9LpdYr84<*;uKydz@DmzrLc2csWd)YE~#>cx%;8_&!?Ofl2> zPl0jY0YATMRmh{j3_I0e`_0|_sn7E4x9ye;Hh=0a{htQ=Ga8J0CP{F2mMg}AAn8_x zi3xO1OlbGIS7Bq?xA)rfPjX8{olSO2MEW+41ebaHJs5NhczcTMXV}UrocGnO}G&jHV-wvRNM1+vYTkeHPtB z{BI|%w=%OkA8QYd{>o*4nWe5D>wMgtJ~!QSo78_I^KTWINVk5=dDM0{1aihAsmW-t;3p7iByQ*hV+y+ME?b^=VGWIBl%#>%WAQ+$ z!ZQ^7g93r^!qeL}9sfh&Igs+T`*`Ds7*&PX!4=y2k!nNw=o!#n?3e!aH*6fM7=J^tphOYF@_ zXPS2pTJxXf$9)H3i~lUY?)b-Mg#vBXX>4(PC2i3KlehmrEx$Wsw=MdQ#QcF5;-rinV&$o`l5-?B2pN_DBguI%{edRM&>{Z( zj$AxBXb$*SqIszP?3z{DFELwV%#@WA=0EB=npIOpAYAYVY-UdEg(&T2^PZq7;SRw( z-!+a(|4JO)4J$(>(4DJkGqRy7ZExZ$u67=7X@^D5fll% zjKB)LfCWR1rcjxXxDAz!B2we*f%dXT+ftdqM1oLKzIdv1_NLhe%YFJ+PY0)$8c5nR z@gyRljW)tZEqEC*w?^E97>SfhAf&lqCGN>tOoGQ2f=yYl;|&;;Gn2s1FWCUCAnVVG zH|5qdn1=pzVgNX{4=IVi$PSHyEV3QfmIIixf77$o zh21MfjDwjCZk}{G7WMrmU&0(N`8d3z_P6rR^M-Gjl}TT*9e5|Wco&vkMCe#_ZiQ?| z-T^OyqTkIsYrolyM%~H7u5!}*y3tV2wr_by^J)A#516VEu&{t>?BQvMp%a4wpmssm zGYUU%_<&j2uLb)k(i5g=RTk3Fe3ea`$-&oCWRqp8a8 z{^4dh4wLpkWZ2~rOGCaS_7D?Gr+PpH8$6jviU4)Ii~u%7WIGY}8UO(ToyuTvZ>2{E zBF&(I+ej#tp2Qnj8n9}xNqG^OTjR{`blV#N0?A-K;95}9)1*_Ev8bpu@akL)3v%o8 zC!Kl?*A`=iB{A)6+hPQU8jfZJ<7rSY2cP^tlOBD0fPMPW;kPo6J?FjfSqyGfFz^Nx zc9*;Ki|>?8Cv=av?4Cc;RBs*D@K-MsxdJ1y77K2x5t6JAbsw%x!~Rn@+a>L63}MWA zbM50#lhd}!Gn4ST%x;@>%;Dc(zUMC=4laM*QA%Gec?x4v#xaf#9P(^;Zix9WG0 za!Z$_-1d(pr8rDVyWZUEJrYZ#6JY84Q&aQVJdp>B{46(qUl8s#^^QK@UF=B1f^G^< zd3RLJuXuD_j#P%*K6Ario5;;0eg{=|bxGB||5&QZz*J?!){(Sa2U%yN)pjG&evYvF zs-w=tR#;djy_ywapJV@p*98ok6|yh@rQH#A=e5fsThgSgb{)i4)x3EY@H>dQze}PP z{9}nK1rrs3){&&*-H=qv2J=${O(S~AQpQkh^8VUhBDIsmn7o@r)_%ln#x6UAFS9LCIG_`hW3;jv9?8{9DHuo=!9F&EdPV^ku# z>yhB{-ea6&PvISoL!rRFGT6lsxKs*d48z;It5}rTF_rB@2J=YhFzNQoKbXHG+aGdR z=%sD?gZKQrICxD^#^bt`@tEhBoWq1CuBpp3WN%xgz57)e591RB@DVCCPU*lk$^zHp zb%oDQ%*i2-b|&^uT;!5sK6iO!zrW`H@|+am!;F8@{|?Mly2Na-;4L-13}jU1?yQ6J z(P&P{tE3dowoYO>jz9$h{SCB}T}a?N=|u8^>WPq4!px zCL>HGa7)e40@RV$gaUNd$?|FL_8hCy)F{f-GwA(%_Y!w_UC34ivai}V2z7ch3WCsJ zu7hF-suKsr=A%!1mOuY&f9z=Cv4bJiPQ1nk5)CKlgY3-w(X&F+z#B+38G*%MQpt!r zfpdZz3TJi|T*kkbDx@nt3o3)nFA~Weq%Q%59V4S|Vs~OtFi*J*yWEpX>sZQ5OAG&Gtm&DxSVaT_H#(ID z>oy|0S8WW>>r|iB^5cgbj*btrrvwlQ?NO^DGN2HcTOEp=!5u%~WPV$byax>;5b-1| z2s`eeMVNG01hoAvK7)>@wY}5kGiu{kwq)f(+Rp)EV%S;coT(HlpN|J+#o^SU{{l|s z-zxr-oGRg9?_p@y8(syQ(lh&tS2GC7*xQ%3{BQ88#=n49`8UA-B(HKd?R&$lyZVw@ zx4_Ig?!m7A4Q3toFJM;wjr~8#tcWY3H>|q9FIjcMpk(aEgZuwCSatZnfK~b37Jrge zMQt#>VbtQjWK=7^WUS1!;{OdsMgI#JmESM($Bk8|-tg*~zT{O)m{;qUo%!G3Rn30^ zukt&e{v@x8c=nJ_qmno-u0G?_vp8bWFtCb_1_jYj_MFL-c*!~y{R>_W7xRK4@(@oh|sZUzE?E1L)bWY z5fuIIu<;$cU&`Jp-|Lcpv^4&@>d|R^8#W#-f)F||f_(u-yHlQ>ZyAut1k`g5bNRG&VzIo)=L@qEEeyo8Jxnlg{m5jd|I}8T$$=A!9#v02w=Hvgvd-*~}tpuKP8= zb=aI){80M#tFRtVHtu0|;GyN6Y7!h$3ym}4q$=pZi0q^=;079y3)_wu5CFB^(J3Mn z{!f|LoLwwZamS1Y89Qp?TRZKSu-FOyMO>%oUVzcn!hvhqQK-)X*N#`iGjMG0Vkh`# zV5jVr9u*n<*O4{0(c|^6U#lN${LhS?D2EZy;>GY{Ihtq^AUw)5;dMAOv&?BjlXTsO(kbtGR~twZ zf|1uW!Hb!HIn1n%!>j#;1{}P{g4M>ahGYzG2M0FuS!4=>D~5z(GcDiz#_SP>cE`NO z4U5}wUWGTe9;XFC0R~s}4LrJC!ZV5&9?@Td$Ce0A)^`n0|Lk$-J?jl{Ij^l_X9mmg zU8KxuL2!bDioU_epi6v=dGQhJJwB@K__$FS%&yV-I%+`*>mAKLr7CFq<9AJK`IhnE zeL>c7WAxF?8rvl_ro7OI{}MD9B!6L7(9941F{4Js54&QcZ>hfJDc<}963F{P^a2PF z>l17ybcxMmUTh?KkBwRfZ0JZ@&#u53aoS|IN$df~-BAx4BIM7h^PX5^Hz4FZDgF1y zfFad-ns^dKu|*l<3WEcX?Un5;BA9|mmyp8>xj=c(BND3tzgdz_VL z_?$NxQsG`+C!30|l{{8%$hf}g)uhBJX$Q9_g`Gs=o#@Ru0>7=*arm!bEn@mUpA!wK;=h`8@DyapBImtICZ4niR!UimG^p%%Ja^hxGd3S&&^;{ z(mg2GJ2yv7Ub6nFk?%o?73TMn=HLrrDi%5|U2vz;+T#7`i4)JQ#*8$bIC0|0k-Lu` zJ(``ZXKZXdb?S-Y;>l)aW|Jou@7S>;D@$8nKj*-KF(xJ^hK6~CgR#w98NM9;1mywp+IPDcH7-nthW^N%~mQFp`DptR4`97ho&5DJ6Xkb@RtiR z8^>H#E?a}ss;jRr`*?b&jnXTJ5jXx?vt#=6jj5?|YqP`>_vPoG)Am=m z>+YVMoP^L7noZj+##x`Ag6h>~eq3G{J2hRWXu4_gMu!54iBYos6%39))m*oI zkfoXG&@YuTt90Y$dmVA`8D&_0=~7-!PFne~afip2WrBgA#3W*Njk~Z?ntqW?sd7Psxnk%V)>=88)~tNXyX+m`&eAN_W`swPt$#XSeLz zqmmpe2XEh7xu$0QnwotV-lk-&JDU)5HUYbvj!}A?seV0O#KqZjxl}=M)>7-+uioefX-gJ>0iVwx;(aCB|wMVTu`@y z86snG8<)T&f0(q<%ft8K{re7=qvtOAaAjicwJphJ>sjT}bBCzEx`Bb>rq{~ua7nVA zoH1ltrQd#d-pOvel}lIh8Z0y9SSpq1X)-!Xu57B3(xO89?-#X~T02CIys#^)c-QpY zTNhruPp=xftW4s=g4MXuvAP-=d3Dtpao2-ncet+DHKxWBf4MH#FzCG&Jc%(YMqOSp zcaOWvjPe?VelD&F50w^q4y%1Q;MJ{R4TjCrQn1q4MthQdS!2tq{ns+gRHxJP-E)G8 zWQQSGJpOX|zKYY8QClldJsLfVxU8h^v}em9jMOZ3xMih{p4qDuTMKfZHISVT4|;!O z-OeVPqk9K_doFYGkhXBakUiZu;Mv1Mg1 z*WJU{(o@JoLefmV^LChe?Vq2m9z)CyxhX7 z`Rnyz-5U8%3xZWNVr@Jon@`$8@w}Sx-Ej`a&4cwrJZ=U`o)~yys#!#di#hi8v^}Lu z1L+0U2X-3Vb~Mcz*Kp=utVwF>Ann%b>gwZR4d0){C}yjws&3e@!OLrg&6lCBilzba z>huvU1oPGB9gE~YT^kcz(=?=(c>J;X_ydhq<<>TD{ARU${P2B2FHN@|g88k=64IhdLqg)KkXwrac{dO)0bSQwbawn9#u6?=3 z?%f^nDXOWdjxrXbN00vY?VH7y=L6+)K8qV!Sd^Y{ulHAd)fBPp%vN#LT$19J`smlm zE}0wiUM*4G8y{I4qRepVC+(@AR;&2Q@bme)vq7!~>aRB~oo|`FG$M4Yc&5dX@Xsro zW9dsmncEhVcUkQ$(Ld=h)K)fiQ^J-TpQi`3n@sn$YRo6+-D^EtylD+{ z2le#5fpV^jMp@%3On!W!rcbQhU(Afyb<;(Zrl}htYFmm3{nzMuYEY|ph*2|Ce`@(%fFX}qHc#wG2=i%Oo zglNUTBGrsyP41&=wd|+kOJqKmZJ4`cQ)PeIdwIFJIyVOIa#LcAGR!uvytz~R!Qn|~ zUX5~?e(vDMiuY-e4*?TpSgliepjAFAsKW3%%Xs2T6>Ev1@{H-|(`!#O(p;?Y!_p4t z=l2`*{ay0XMbB1Gg!R?@`LViBbabrCHOX3W;=2ZG9&02Vie6EjUXg21JRoTEE8SrS zX3JF0vWAu!nP(f1&o(o(%TT|YF?_sd3N3%qTc-t8KIwi(ZLPgs9GplvPp5FV6+d<+ zfBPP%nyJ6mVg9S68F#$budmUSII==n0!&?4o=MxrWuQGLh;(pXXR&#%0VXA35+0|9ia7so};`LxtHF^Kc1tN|( zt+f{d4kd&Y7!TiIt?3B`1dJ&zDk^euaapinL8bZBsnOBVqN1Y8vS(*rKh=C|z$u@7 zDX^_0BQs}!k+Y_W+_o{WAq1O1rltjOamB}*E7q@9rXSzEdv|`mQAwTDXuE+nBDkdV zrT3zW>+9#s*TGB@>*#SI_G$Xip+iN*#NbKX-0*nm=SIA-@qWVjr0KRv6bi*G^tBz_ z2RkP^eZk~;pNh8}UoKmkbL;ev3tmQIi`3jD3oh*y|#EfZX7!Drx zuw~iWTt8W-T%5c1$*C7~FG7jCBWKV4mT>IY>0>S1Yj$f|w^}Z|G!J`b&CL2&QujBf zKHTYu+vTn(p0+xhKDVsm)ZB zk-;y!u?~M@g`&Uns!^Y2(R`HmdfmUBG{qhY$47WB@S3^Uajgy6EobH>%xUeM)iH)= z%WJFNP8;52dGG}`FeH>Rej)4bGu4a)@5JxM;s*~r{Y&dac5ch8VwB`Lw9k|1wKw#9 zHy02oyLKgcyQ{V;1s$I`+V?~9n-f>w9MT{iQoI*+VP z?*96vEjPD6psXzZaJ9LJ>}$cAf9u-PIiaue4$b|#qvc5H6$g9b{18~pMJKAJ|qn@mu0MwNs*M2(v)0lHR|DC6DtM`mS3=b!JGSqAuleb{MK^Xfl&cA*}mK#Ps za=h?*ed&;WOYY%Y-4a9msa^xV#pQZAm==!LIjK^+c(_{9=a~Cn4!Z1F?tVFQQBz@< zL0ZXY>qbJ**UZm*nj7Zt==XfXZM%>Vo&6_gy*r#azADtWady}y^1VZKsWaYFigjMi zD6K#7rYObi?HU!8ei_rQq-f1QlQ8C)IK}SD)vJ`c8@pm(RE}K*LC{8pqPy+3U@U4w{?I=4{yF)8a#kgVLD$v$Syc^1MeunCa5ic_tHT zY%=tIJfv>(6}h=Xr@dd7mR+*>*c7t$_H7f2o%CcQCJv*MPSfY;sl8}9 zHf5hTtg7(~f^K{_zxeG)K||@`<_pwAq0T-tugc&?6Al^EBE$zq0J$a>Hp$CRX>?oxrC$d+d#Z%md zc+7QkL#-9R99}q?QPaPodPKtI0a~Us<>VD7aNn#Jd3t(!d#el(6MYDqfjg{Mx@qn+ zF*U-BTRkBD{qQ7A;Edd{FAMiD)jh5^$&m@$CVV`itkeAV+u3q#sgYmU`47e=2Ltb) z(KY;$H@=3!I^yE1IlbPfxi;XksPB&0vZqaYE5FS)`+gkXx_EZxL)DV{wHD^z&J~qf zJSuDsTW$6>0&#`%|vtRnra`OhpV%)RO2Tp(6UYX&s z+xTzpv$>hfaitowAtrso6<$Qen zqvTzh@8%`%*H!sa4Gr~P4jCFdefngHmeu2!Or*gyqXG_gRXLOc3jX3G;rxLdz)?t@7lT~EL(0AT7InHPBdAY+| zc1_OEAm49!w)s9i_26UWo6YqLBNs*{d|H?zr+HGn?Bt8{inB6oZf`eSApwD;=}~AfRvrgMjDItDYfbG#UB%^71DP$0 z55FnVHybv$D6;kHF5^(Mst3@IQx>xu4BkH)bw}~ys&ilUJ@$@tj<(*vwDm}B;FZnh z5%j7o`|aySo^{&1ege^bfs4!Iiv9x?;>Mh=#A?!~(w>}(mXPZ=Y^rq7Yc1ScmFRX_AIYM=_(~E6d9KtIOiD0%Z4SFzb%)jXsFIw#Z)VUzDXjX( zQ?yfOYG+d#>=w9vO82b)Br#;d^KWmcIyZM)J7t~>c=vSihZ_6c&X*!y+oS=E=!jAZLcU#b)UQPrY+@; zS=AkKv)PO73sWXcJMi+1;qeXAEMB)B$7f1iGy8UIM4j7_YH^c2^{+hS<=rZ^A8Fey zUVQPi)r(Uo>+zH9`dtee`wUg|B*k7gs|sfAZ_STg-Nfu)``b+)Vv4=22V2+$;R_co zkBh7RFzw6pb){cl7{5Mu{`~o~XYteF)s+2owYa-K)E8vvdxm_xk)CwlChkX7^#Q4C zpUsa&p3YtR{n9GYOZwRF$qKFC^0g}6bL!$o?`qVmed@Wv9v?l%Y~O;E#?6~&RVl60 z`Mf918)6j~?RL8JAQ{(R)+GP+WFPetrGc-OroB0l3q5}LCi8LXp}Ny&bBjo`8=dmb zQfDdHGiI$#!`SRu9=l$moQ&(4NojW3bV%+>Z zjCW?n?6A+DswD;-sL%)1$o^fc1`sU|#gXU~pw{-8E`xTX|#t)oPaAS<8ivRdU&u<&2 zH>7H8+-DIUbn%?j#av^(nHp{xI-_F57eZO%; zzDb+`vv9Y^&HXlUC!6J4EeayPXU_fhYE=Qbw1FOeiq@EP@xV9PGcq@1Sd5ZSX%ZrG z>ykc=$hWt*-|ixR>>I1i;}YqOH+#KhF!VdN}DxEGfnmz`k`|C zoY-s%8FTb$g8ZPvbu}t4U%sq;s&q7L|2HYvzzj&(R8sQbbj(`{1%Gmh)oRxG_!NWc z@RGQ9c{Cm5qJtRzOHf zI+>L8y{YM~ipm74+{Ws!+O7lZiJCeth7~weJz1 zk8ECCI`;1Ou&4Fq%~Pkbt~^i-dt2g6{j{YTYq8;I{<_6ssPQUVae4`|ANobOVal$i z&9)nK11OTlm~jLiWSMu=EL;rU#m9KfPLdzxbK% z*uWpGR`cY2UmlyqD}H;OdHYEEz41AQEm3=GD=!2sGT!LFBP%;w&wpUFJu`-?qOq}Y zb+-LXH_^c#2e=M6{q#&?3Vp@W$hfW28xC&Vdb)g4oZ9N0`&O+Tn6Gdr1G6!hlsd!b zn-4xB_j=95K1AK3JLhqdFq?{BC#w=R0GKYaLHe~Z(N7onCi&!KxAayN{>Gd@W2$cy-} zL9t=5UJi=egIlhuyZlH^{E_Fea24zJj1>Q*MdzADWv6Q%R2n;`eE3L_GyO!KGYD3# z*73@+_M_}3AFzC`os*Lj?on`wwt34I-&wO}%1%^@i`Mk|RG&U)a8ah|>&72}78YNw zwhmuCzSaK7mr})sE!yv@cI4;Z7-oEOg$1hl)2B}&BHK4+*VGisApFk)09d{qo>9TfyE@#Nfi$l&dS$-wNv4h)fo358c*Ee z#k`MC*>Fz-y)|xdN9lC>y(`yLU*EW!fIa_w!{%cbsj@Bg=tRZh{#*K2qOJT!m^K!V z(G-oppcfqzb3SQSR(~mbaokdsr+Rl^Xu(GCNcWOC%4H%GSAPktp7+uxvT90N#*281 zZDq{FKoPfUqq_3!0}Y?aX=)FshbE~w9o)OqdG4Bh6yk~h3#blP@#HrcWQQyogMn3b zQTfK7MC3!&8hv4!5ZZkAvbcOeA%+xZ#&9r+%n8z=!h|qP5saFi;xlXUEC4r94u#_5 zZ~Bjd8Dko4Y;3M0g)95_He8x$1e=;%l)%01cI+H$XMZf+#AuCA`^Iy*bt z+1XiHS<&v}3*7(J0ZEGm4UJk~B15$s|`nI&i*UAT-L6^4a{iOU_DM*-_B0#rx@#3~f~Un9Oo zAvb}BaNyh-^1_VpNqn#vN|DWQXINUoXlx6&0`SaG&MqusBJdER*`YHR5!W53*Rb|# zYP%Fl{qbU5Nw%n%ky{v72oa4*;#9x+(DjNS8dAt(yd-&ylmS9&ZEfv{StP7#C9pc? z=jX@jyof@0Wlh5wXN`i%WYR=mc)cj3>Bx~Ih>1I35gk5!7|lTmP8;R1<>u_|?TMt> zk{R$BH@yek|wfVArd+PEaG}Fq+=;$SrY+?&)>yvBG_edBhc$;NVyMD>_`Uz zK^Uu#F|Z!RI{+L-RPaijv2jm$b*wJrvC23^2X;AyL$s(2Mpavrz96Nuu1axvIoUOW zxKvYHu9N0oOK2mi5GG)brOBj2CzHcGFhD2-%mDL)s_1_ag)}lnV&_q?i+KwP3E^tj zMTP8h-{IlmI5}33C_5r9Oe^MsT{I_FyuH0qD*9spFo&Orh={;_;wf>Qj2Ul=({^%p z4vmf(Xsb6AWvCT$)n&haaqSS&jEX`{RmoMS86t(z(b0Gl>DUSL!_+tx&kb$b; zZ!Co@eNM!X;z~ra0i9U^T$4*NW7kWCxH?!tNvM$Z!cE`>*=6}4DYgJJf*asgFsCdx zc4-s`Ai4xV6eB!aV;Y1nlJZUO?Ou~-x(Z-X$@kTbHCLxa(U4*!nF=UDh>RB{(I|om zVaw#e$JjU=c`=99*48X&e}8{pUtbn9TLi$;cX4sqvu6)18jVJ=|25)b3gLhc!#@)f zZ{EBaITD_5E5x7MwrykUiCxhij)E3chy@xQH|X#0hoOfadgzTe-uURFk3RkM)5VJy zFI%?k!~0w>UkJoofyGg7Xc2d*h)2a1aaV-c69}1KO&I~9 z@F;T3HxK_;z?^CtYpx=+5e+H!23LY1MTl%+&SXS|H%I{$TJV%(4Jk_;(?w^tI2!1r z&P4_W2FRGPpQMsM)@P)QL8}v9td`~p0sXb5W#b4U8f{s=rvCU9u_&q#2POttR-q0y?F>a=Bf zmoG$Efr+P|e)^ebo_X%M=l=ZXKf~6%dGnSmSpun$N6WL%KKsNIPpn+IvZtr#A_@^G z`a`%7h81l!0sg4d{-dK%N%l~Z{p01&1R=*L$x?N+U8aSHLhRx5&p-d-i!V-{I+g7U zFTAi|!GaANHXu#N6Wjmz$3GHwev?AdYYZ&G3tW=RXJuuHAt8#y_Fl)l@G8L6Xpa{Q zU)%nO`4fN;8*79YZ7xrUqZGm%RKXcrGcz;n=k)2*VUAt!KmYSTnAUGni2KA@0yGDU z$d0IoI{vkwpx}q|g(d?jB<0^(v}#RPn?ahT((5ihBo@tA-iJYsVx;LZAO^!CsE@Q> z9po}XQ{kR215ijjiJknzAO67hl~-ONx5JQvMT-{AoH_H!C!c)ksi(;Q;PoO3IT7-R zdH{wL*})<$Y{i)NhoVr`t&l6*+vFYJUD~@e@)Akc@v8PNt=J;#P%FCh8fBkKZj^Uu zyV_L>xq?eE`=lWxLx2kTq_BShrlTVmq00pFEkXb?RJ=$>M>|EhFVpwW7lDZbBRj&k z)8CS?aw-AWNcB=+ifd|WP}m11tXZ>$5XQp7V*B>(RCesxK_f@u)!yEoL5-YdqL4ro z!cbmmX{q=$j!TJKDCFo5(0IpvA9!q2bSitTh5%O8M3nDg=R2@4A& z_aLHSI|_EmPl#9PHgdwX;gS?8a>Itc@qc-It>nj?EeTRoxR+OXRuwpx9<+Afx?}e{ z@4P*C-h4+FZ)dxhlKlFH#u`u0z+Jm+SFBhuXU^P%2fdx0y&@wch}xwW00H7tM=@(= zwZdjnQnG`C_ott3nm>Q;`t>`HxrS6^r{yOny1Iw>_(WP+9ksJ_v9@;Fzu)2g_g5@k zYUb`Pd=235ALH#E84;17W}39ZZ%9?LF5$ZiNxJYe)hjXMCL3`HjC36X=pS8<--@wc zPF*7|O<`WdkRXfgdKAYUtzm{SFDUr>soPhdU-{eXxZ?K^B|=j!bp6%mo?>f+O0 zm|-|xq$|x864q+rC)Ahe2(J;)BRYcb!g%oqE$i2=o>i+peD6IoCud(Dr`)cV-oc^X4@ zw|8`8WL9{1x}&3?y}g^Ir33n&IditFYe-N~VrXb;ctmDkK$NVhPSe#PWb_&hku!5U za`k^9T!O;32EF&u-0eFo&3D=C*>lj<)xW%~qP(oKOv<*RNKz6T8}H-o7a18H78(}d zR2c5kY_;#$x(!?B&YLyut+#CK9Bn@HZLU>mbX)qaB$Y@bwoS_XXPR4{~vcN>7lcCzPed zODU;wrSTC3F`+rpA=&;O@!_uZ$v*m{)^WSG9{KAlbC=9pXKxkgeW;fEh=*syWUnze7eHSOuA|HL6W5GxXHjHAi=apL8d1#Dv7?bKwFWgt}ZgNTb83L&sDd#e(kTjGN(|O zlauZ4?!SHeerA8k5;G|D_YZ|3qEn&(^hY>ANJ(f)nmksWgnvav#XEN%FgO3)%Ie6T zJvN_xX1{goUKF``Gts^^EtE~0b~`(J3Y_1}6at1n`bSzXU9=Ph6`am!VfUMJ2qkT8 zEv~M9=H@nQ*RGj2Z=s!?2NZU7b&@vV^JdPRv2o+}prC}<*i?i_$^jYTxlkyP6dgI@ zGPHt%!cCj@eEjjoJ$vjw z{&>AOV5Gdf($&?62*t-II3OU*+dI(R-Iwe>B}MqZ?8W3A zhu7HHAU?b=EhWbn{xAqC{N$5OD_6e1Y}qPD#{f6C0GX_7EQQd|Zf|c71$@u;qK78` zs< literal 23601 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 Date: Fri, 13 Aug 2021 12:01:48 +0900 Subject: [PATCH 092/162] Fix K2S error --- KarambaConnect/Component/IO/Export.cs | 2 +- .../Component/StbBuilder/AxisBuilder.cs | 8 ++++---- KarambaConnect/K2S/K2SSecSteelItems.cs | 12 ++++++------ KarambaConnect/K2S/K2StbSecSteel.cs | 6 +++--- Samples/ExportSTB.gh | Bin 58667 -> 57636 bytes 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/KarambaConnect/Component/IO/Export.cs b/KarambaConnect/Component/IO/Export.cs index 2c0466fe..2c96ed4c 100644 --- a/KarambaConnect/Component/IO/Export.cs +++ b/KarambaConnect/Component/IO/Export.cs @@ -25,7 +25,7 @@ protected override void RegisterInputParams(GH_InputParamManager pManager) pManager.AddGenericParameter("Axis", "Axis", "StbAxes data", GH_ParamAccess.item); pManager.AddGenericParameter("Story", "Story", "StbStory data", GH_ParamAccess.list); pManager.AddGenericParameter("Member", "Mem", "StbMember data", GH_ParamAccess.item); - pManager.AddGenericParameter("Section", "Sec", "StbSection data", GH_ParamAccess.list); + pManager.AddGenericParameter("Section", "Sec", "StbSection data", GH_ParamAccess.item); pManager.AddTextParameter("Path", "Path", "Output path", GH_ParamAccess.item, _defaultOutPath); pManager.AddBooleanParameter("Out?", "Out?", "If it is true, output stb file.", GH_ParamAccess.item, false); diff --git a/KarambaConnect/Component/StbBuilder/AxisBuilder.cs b/KarambaConnect/Component/StbBuilder/AxisBuilder.cs index e786a4c7..17619046 100644 --- a/KarambaConnect/Component/StbBuilder/AxisBuilder.cs +++ b/KarambaConnect/Component/StbBuilder/AxisBuilder.cs @@ -78,14 +78,14 @@ where node.Y > dist - range[count] && node.Y < dist + range[count] } var axes = new StbAxes(); - var xAxes = new StbParallelAxes() { X = 0, Y = 0, angle = 270, group_name = "X" }; - var yAxes = new StbParallelAxes() { X = 0, Y = 0, angle = 0, group_name = "Y" }; + var xAxes = new StbParallelAxes { X = 0, Y = 0, angle = 270, group_name = "X", StbParallelAxis = xAxisList.ToArray() }; + var yAxes = new StbParallelAxes { X = 0, Y = 0, angle = 0, group_name = "Y", StbParallelAxis = yAxisList.ToArray() }; axes.StbParallelAxes = new[] { xAxes, yAxes }; dataAccess.SetData(0, axes); } - private static void CheckNodeIdsNull(List nodeIds) + private static void CheckNodeIdsNull(IReadOnlyCollection nodeIds) { if (nodeIds.Count == 0) { @@ -93,7 +93,7 @@ private static void CheckNodeIdsNull(List nodeIds) } } - private static StbParallelAxis CreateParallelAxis(int count, List names, double dist, List nodeIds) + private static StbParallelAxis CreateParallelAxis(int count, IReadOnlyList names, double dist, List nodeIds) { return new StbParallelAxis() { diff --git a/KarambaConnect/K2S/K2SSecSteelItems.cs b/KarambaConnect/K2S/K2SSecSteelItems.cs index 3e9825ca..76228c41 100644 --- a/KarambaConnect/K2S/K2SSecSteelItems.cs +++ b/KarambaConnect/K2S/K2SSecSteelItems.cs @@ -6,7 +6,7 @@ namespace KarambaConnect.K2S internal class K2SSecSteelItems { public List SecFlatBars { get; set; } - public List SecRollBOXes { get; set; } + public List SecRollBoxes { get; set; } public List SecRollHs { get; set; } public List SecRollTs { get; set; } public List SecPipes { get; set; } @@ -15,11 +15,11 @@ public StbSecSteel ToStb() { return new StbSecSteel { - StbSecFlatBar = SecFlatBars.ToArray(), - StbSecRollBOX = SecRollBOXes.ToArray(), - StbSecRollH = SecRollHs.ToArray(), - StbSecRollT = SecRollTs.ToArray(), - StbSecPipe = SecPipes.ToArray() + StbSecFlatBar = SecFlatBars != null ? SecFlatBars.ToArray() : System.Array.Empty(), + StbSecRollBOX = SecRollBoxes != null ? SecRollBoxes.ToArray() : System.Array.Empty(), + StbSecRollH = SecRollHs != null ? SecRollHs.ToArray() : System.Array.Empty(), + StbSecRollT = SecRollTs != null ? SecRollTs.ToArray() : System.Array.Empty(), + StbSecPipe = SecPipes != null ? SecPipes.ToArray() : System.Array.Empty(), }; } } diff --git a/KarambaConnect/K2S/K2StbSecSteel.cs b/KarambaConnect/K2S/K2StbSecSteel.cs index b580a756..8ff26704 100644 --- a/KarambaConnect/K2S/K2StbSecSteel.cs +++ b/KarambaConnect/K2S/K2StbSecSteel.cs @@ -114,11 +114,11 @@ private static void AddBoxSection(ref K2SSecSteelItems secSteel, KCroSec.CroSec_ t = thickness.Max() * 1000, type = StbSecRollBOXType.ELSE, }; - if (secSteel.SecRollBOXes == null) + if (secSteel.SecRollBoxes == null) { - secSteel.SecRollBOXes = new List(); + secSteel.SecRollBoxes = new List(); } - secSteel.SecRollBOXes.Add(box); + secSteel.SecRollBoxes.Add(box); } private static void AddTrapezoidSection(ref K2SSecSteelItems secSteel, KCroSec.CroSec_Trapezoid secTrapezoid) diff --git a/Samples/ExportSTB.gh b/Samples/ExportSTB.gh index e40adcf8ade20d7b604ca0c3e5e79d3319b1c092..21d3111b2183188a6bcb5ca0ad4f30d6b4e96f6a 100644 GIT binary patch literal 57636 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

C-G0<5gC?TtnG)xy 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 Date: Fri, 13 Aug 2021 03:13:31 +0000 Subject: [PATCH 093/162] Bump url-parse from 1.5.1 to 1.5.3 in /website Bumps [url-parse](https://github.com/unshiftio/url-parse) from 1.5.1 to 1.5.3. - [Release notes](https://github.com/unshiftio/url-parse/releases) - [Commits](https://github.com/unshiftio/url-parse/compare/1.5.1...1.5.3) --- updated-dependencies: - dependency-name: url-parse dependency-type: indirect ... Signed-off-by: dependabot[bot] --- website/package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/package-lock.json b/website/package-lock.json index 3c6cc010..b5d9b13a 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -9923,9 +9923,9 @@ } }, "url-parse": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.1.tgz", - "integrity": "sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.3.tgz", + "integrity": "sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ==", "requires": { "querystringify": "^2.1.1", "requires-port": "^1.0.0" From fb38db202bcadcbad7bd7f546f563705e04f9c5c Mon Sep 17 00:00:00 2001 From: hiron Date: Fri, 13 Aug 2021 12:23:44 +0900 Subject: [PATCH 094/162] Delete old stb sample file --- Samples/RC_sample.stb | 1495 ----------------------------------------- 1 file changed, 1495 deletions(-) delete mode 100644 Samples/RC_sample.stb diff --git a/Samples/RC_sample.stb b/Samples/RC_sample.stb deleted file mode 100644 index 69ad9327..00000000 --- a/Samples/RC_sample.stb +++ /dev/null @@ -1,1495 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file From 1aef508ababac381ab617e6f0c1114bb76b14ae5 Mon Sep 17 00:00:00 2001 From: hiron Date: Fri, 13 Aug 2021 12:24:04 +0900 Subject: [PATCH 095/162] Update CI build --- .github/workflows/dotnet-grasshopper.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/dotnet-grasshopper.yml b/.github/workflows/dotnet-grasshopper.yml index 9a8748e9..bb8be4bd 100644 --- a/.github/workflows/dotnet-grasshopper.yml +++ b/.github/workflows/dotnet-grasshopper.yml @@ -44,11 +44,12 @@ jobs: env: Configuration: ${{ matrix.configuration }} - - name: Copy karambaConnect to /HoaryFox/bin dir - if: ${{ matrix.configuration == 'Release' }} # Only upload gha from a release build - shell: powershell - run: | - cp ./KarambaConnect/bin/Release/net48/KarambaConnect.gha ./HoaryFox/bin/Release/net48/KarambaConnect.gha + # - name: Copy karambaConnect and samples to /HoaryFox/bin dir + # if: ${{ matrix.configuration == 'Release' }} # Only upload gha from a release build + # shell: powershell + # run: | + # cp ./KarambaConnect/bin/Release/net48/KarambaConnect.gha ./HoaryFox/bin/Release/net48/KarambaConnect.gha + # cp ./Samples ./HoaryFox/bin/Release/net48/Samples -recurse - name: Upload release build of plugin as artefact if: ${{ matrix.configuration == 'Release' }} # Only upload gha from a release build @@ -57,7 +58,6 @@ jobs: name: HoaryFox path: | ./HoaryFox/bin/Release/net48/HoaryFox.gha - ./HoaryFox/bin/Release/net48/KarambaConnect.gha + ./KarambaConnect/bin/Release/net48/KarambaConnect.gha ./HoaryFox/bin/Release/net48/STBDotNet.dll - - + ./Samples/ From e96d9cc507be1d185522c8274a751fb5c9ffb852 Mon Sep 17 00:00:00 2001 From: hiron Date: Fri, 13 Aug 2021 12:28:34 +0900 Subject: [PATCH 096/162] Update artifact item settings --- .github/workflows/dotnet-grasshopper.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/dotnet-grasshopper.yml b/.github/workflows/dotnet-grasshopper.yml index bb8be4bd..d45fa709 100644 --- a/.github/workflows/dotnet-grasshopper.yml +++ b/.github/workflows/dotnet-grasshopper.yml @@ -44,12 +44,12 @@ jobs: env: Configuration: ${{ matrix.configuration }} - # - name: Copy karambaConnect and samples to /HoaryFox/bin dir - # if: ${{ matrix.configuration == 'Release' }} # Only upload gha from a release build - # shell: powershell - # run: | - # cp ./KarambaConnect/bin/Release/net48/KarambaConnect.gha ./HoaryFox/bin/Release/net48/KarambaConnect.gha - # cp ./Samples ./HoaryFox/bin/Release/net48/Samples -recurse + - name: Copy karambaConnect and samples to /HoaryFox/bin dir + if: ${{ matrix.configuration == 'Release' }} # Only upload gha from a release build + shell: powershell + run: | + cp ./KarambaConnect/bin/Release/net48/KarambaConnect.gha ./HoaryFox/bin/Release/net48/KarambaConnect.gha + cp ./Samples ./HoaryFox/bin/Release/net48/Samples -recurse - name: Upload release build of plugin as artefact if: ${{ matrix.configuration == 'Release' }} # Only upload gha from a release build @@ -58,6 +58,6 @@ jobs: name: HoaryFox path: | ./HoaryFox/bin/Release/net48/HoaryFox.gha - ./KarambaConnect/bin/Release/net48/KarambaConnect.gha + ./HoaryFox/bin/Release/net48/KarambaConnect.gha ./HoaryFox/bin/Release/net48/STBDotNet.dll - ./Samples/ + ./HoaryFox/bin/Release/net48/Samples/ From 2a917ba7cf2aeaed1350facb255876e508f29465 Mon Sep 17 00:00:00 2001 From: hiron Date: Sat, 14 Aug 2021 22:36:53 +0900 Subject: [PATCH 097/162] Clean & Add s2brep more section support Add Pipe, FlatBar, RoundBar --- .../Utils/Geometry/CreateBrepFromStb.cs | 183 ++++++++++-------- .../Utils/Geometry/SectionCornerPoints.cs | 14 ++ 2 files changed, 116 insertions(+), 81 deletions(-) diff --git a/HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs b/HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs index cfa60e5b..c7c696a3 100644 --- a/HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs +++ b/HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs @@ -596,121 +596,142 @@ private Curve GetSteelSec(string shape, Point3d point, SectionType type) { StbSecSteel secSteel = _sections.StbSecSteel; + // TODO: foreach なのに最初にマッチしたもので return しているのでが変なので直す。 if (secSteel.StbSecBuildBOX != null) { - foreach (StbSecBuildBOX box in _sections.StbSecSteel.StbSecBuildBOX) + foreach (var box in secSteel.StbSecBuildBOX.Where(box => box.name == shape)) { - if (box.name == shape) - { - switch (type) - { - case SectionType.Column: - case SectionType.Brace: - return new PolylineCurve( - SectionCornerPoints.ColumnRect(point, box.B, box.A)); - case SectionType.Beam: - return new PolylineCurve( - SectionCornerPoints.BeamRect(point, box.B, box.A)); - default: - throw new ArgumentOutOfRangeException(nameof(type), type, null); - } - } + return CurveFromStbSecBox(point, type, box.A, box.B); } } if (secSteel.StbSecRollBOX != null) { - foreach (StbSecRollBOX box in _sections.StbSecSteel.StbSecRollBOX) + foreach (StbSecRollBOX box in secSteel.StbSecRollBOX.Where(box => box.name == shape)) { - if (box.name == shape) - { - switch (type) - { - case SectionType.Column: - case SectionType.Brace: - return new PolylineCurve( - SectionCornerPoints.ColumnRect(point, box.B, box.A)); - case SectionType.Beam: - return new PolylineCurve( - SectionCornerPoints.BeamRect(point, box.B, box.A)); - default: - throw new ArgumentOutOfRangeException(nameof(type), type, null); - } - } + return CurveFromStbSecBox(point, type, box.A, box.B); + } + } + + if (secSteel.StbSecFlatBar != null) + { + foreach (StbSecFlatBar flatBar in secSteel.StbSecFlatBar.Where(bar => bar.name == shape)) + { + return CurveFromStbSecBox(point, type, flatBar.B, flatBar.t); } } if (secSteel.StbSecBuildH != null) { - foreach (StbSecBuildH buildH in _sections.StbSecSteel.StbSecBuildH) + foreach (StbSecBuildH buildH in secSteel.StbSecBuildH.Where(buildH => buildH.name == shape)) { - if (buildH.name == shape) - { - switch (type) - { - case SectionType.Column: - case SectionType.Brace: - return new PolylineCurve( - SectionCornerPoints.ColumnH(point, buildH.A, buildH.B, buildH.t1, buildH.t2)); - case SectionType.Beam: - return new PolylineCurve( - SectionCornerPoints.BeamH(point, buildH.A, buildH.B, buildH.t1, buildH.t2)); - default: - throw new ArgumentOutOfRangeException(nameof(type), type, null); - } - } + return CurveFromStbSecH(point, type, buildH.A, buildH.B, buildH.t1, buildH.t2); } } if (secSteel.StbSecRollH != null) { - foreach (StbSecRollH rollH in _sections.StbSecSteel.StbSecRollH) + foreach (StbSecRollH rollH in secSteel.StbSecRollH.Where(rollH => rollH.name == shape)) { - if (rollH.name == shape) - { - switch (type) - { - case SectionType.Column: - case SectionType.Brace: - return new PolylineCurve( - SectionCornerPoints.ColumnH(point, rollH.A, rollH.B, rollH.t1, rollH.t2)); - case SectionType.Beam: - return new PolylineCurve( - SectionCornerPoints.BeamH(point, rollH.A, rollH.B, rollH.t1, rollH.t2)); - default: - throw new ArgumentOutOfRangeException(nameof(type), type, null); - } - } + return CurveFromStbSecH(point, type, rollH.A, rollH.B, rollH.t1, rollH.t2); } } if (secSteel.StbSecRollL != null) { - foreach (StbSecRollL rollL in _sections.StbSecSteel.StbSecRollL) + foreach (StbSecRollL rollL in secSteel.StbSecRollL.Where(rollL => rollL.name == shape)) { - if (rollL.name == shape) - { - switch (type) - { - case SectionType.Column: - case SectionType.Brace: - return new PolylineCurve( - SectionCornerPoints.ColumnL(point, rollL.A, rollL.B, rollL.t1, rollL.t2, rollL.type)); - case SectionType.Beam: - return new PolylineCurve( - SectionCornerPoints.BeamL(point, rollL.A, rollL.B, rollL.t1, rollL.t2, rollL.type)); - default: - throw new ArgumentOutOfRangeException(nameof(type), type, null); - } - } + return CurveFromStbSecL(point, type, rollL); } } - // TODO: Box と H と L 以外の断面を実装する + if (secSteel.StbSecPipe != null) + { + foreach (StbSecPipe pipe in secSteel.StbSecPipe.Where(pipe => pipe.name == shape)) + { + return CurveFromStbSecPipe(point, type, pipe.D); + } + } + + if (secSteel.StbSecRoundBar != null) + { + foreach (StbSecRoundBar bar in secSteel.StbSecRoundBar.Where(pipe => pipe.name == shape)) + { + return CurveFromStbSecPipe(point, type, bar.R); + } + } + + // TODO: C 断面を実装する + if (secSteel.StbSecRollC != null || secSteel.StbSecLipC != null) + { + throw new ArgumentException("StbSecRollC & StbSecLipC is not supported"); + } throw new ArgumentException("There are no matching steel section"); } + private static Curve CurveFromStbSecPipe(Point3d point, SectionType type, double diameter) + { + switch (type) + { + case SectionType.Column: + case SectionType.Brace: + return SectionCornerPoints.ColumnPipe(point, diameter); + case SectionType.Beam: + return SectionCornerPoints.BeamPipe(point, diameter); + default: + throw new ArgumentOutOfRangeException(nameof(type), type, null); + } + } + + private static Curve CurveFromStbSecL(Point3d point, SectionType type, StbSecRollL rollL) + { + switch (type) + { + case SectionType.Column: + case SectionType.Brace: + return new PolylineCurve( + SectionCornerPoints.ColumnL(point, rollL.A, rollL.B, rollL.t1, rollL.t2, rollL.type)); + case SectionType.Beam: + return new PolylineCurve( + SectionCornerPoints.BeamL(point, rollL.A, rollL.B, rollL.t1, rollL.t2, rollL.type)); + default: + throw new ArgumentOutOfRangeException(nameof(type), type, null); + } + } + + private static Curve CurveFromStbSecBox(Point3d point, SectionType type, double A, double B) + { + switch (type) + { + case SectionType.Column: + case SectionType.Brace: + return new PolylineCurve( + SectionCornerPoints.ColumnRect(point, B, A)); + case SectionType.Beam: + return new PolylineCurve( + SectionCornerPoints.BeamRect(point, B, A)); + default: + throw new ArgumentOutOfRangeException(nameof(type), type, null); + } + } + + private static Curve CurveFromStbSecH(Point3d point, SectionType type, double A, double B, double t1, double t2) + { + switch (type) + { + case SectionType.Column: + case SectionType.Brace: + return new PolylineCurve( + SectionCornerPoints.ColumnH(point, A, B, t1, t2)); + case SectionType.Beam: + return new PolylineCurve( + SectionCornerPoints.BeamH(point, A, B, t1, t2)); + default: + throw new ArgumentOutOfRangeException(nameof(type), type, null); + } + } + public List Slab(IEnumerable slabs) { var brepList = new List(); diff --git a/HoaryFox/Component/Utils/Geometry/SectionCornerPoints.cs b/HoaryFox/Component/Utils/Geometry/SectionCornerPoints.cs index cd933022..6c1fbf6f 100644 --- a/HoaryFox/Component/Utils/Geometry/SectionCornerPoints.cs +++ b/HoaryFox/Component/Utils/Geometry/SectionCornerPoints.cs @@ -96,6 +96,12 @@ private static Point3d[] ColumnLFaceToFace(Point3d pt, double height, double wid throw new NotImplementedException(); } + internal static Curve ColumnPipe(Point3d pt, double d) + { + Plane plane = new Plane(pt, Vector3d.ZAxis); + return new ArcCurve(new Circle(plane, d / 2)); + } + // Z 3 o 2 // ^ | | // o > Y 0 - 1 @@ -187,5 +193,13 @@ private static Point3d[] BeamLFaceToFace(Point3d pt, double height, double width { throw new NotImplementedException(); } + + + internal static Curve BeamPipe(Point3d pt, double d) + { + Point3d centerPt = new Point3d(pt.X, pt.Y, pt.Z - d / 2); + Plane plane = new Plane(centerPt, Vector3d.XAxis); + return new ArcCurve(new Circle(plane, d / 2)); + } } } From 24c45cef5dc27db9a22af577c4f1f7f2fef28b4c Mon Sep 17 00:00:00 2001 From: hiron Date: Sun, 15 Aug 2021 20:47:17 +0900 Subject: [PATCH 098/162] Update namespace --- HoaryFox/Component/Geometry/Stb2Brep.cs | 4 ++-- HoaryFox/Component/Geometry/Stb2Line.cs | 4 ++-- HoaryFox/Component/IO/StbLoader.cs | 2 +- HoaryFox/Component/Tag/Name/BeamNameTag.cs | 4 ++-- HoaryFox/Component/Tag/Name/BraceNameTag.cs | 4 ++-- HoaryFox/Component/Tag/Name/ColumnNameTag.cs | 4 ++-- HoaryFox/Component/Tag/Name/GirderNameTag.cs | 4 ++-- HoaryFox/Component/Tag/Name/PostNameTag.cs | 4 ++-- HoaryFox/Component/Tag/Section/BeamSecTag.cs | 6 +++--- HoaryFox/Component/Tag/Section/BraceSecTag.cs | 6 +++--- HoaryFox/Component/Tag/Section/ColumnSecTag.cs | 6 +++--- HoaryFox/Component/Tag/Section/GirderSecTag.cs | 6 +++--- HoaryFox/Component/Tag/Section/PostSecTag.cs | 6 +++--- HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs | 2 +- HoaryFox/Component/Utils/Geometry/CreateLineFromStb.cs | 2 +- HoaryFox/Component/Utils/Geometry/GeometryBaker.cs | 2 +- HoaryFox/Component/Utils/Geometry/SectionCornerPoints.cs | 2 +- HoaryFox/Component/Utils/TagUtils.cs | 2 +- 18 files changed, 35 insertions(+), 35 deletions(-) diff --git a/HoaryFox/Component/Geometry/Stb2Brep.cs b/HoaryFox/Component/Geometry/Stb2Brep.cs index 5bc66fa5..b2092abb 100644 --- a/HoaryFox/Component/Geometry/Stb2Brep.cs +++ b/HoaryFox/Component/Geometry/Stb2Brep.cs @@ -3,14 +3,14 @@ using System.Drawing; using System.Linq; using Grasshopper.Kernel; -using HoaryFox.Component_v2.Utils.Geometry; +using HoaryFox.Component.Utils.Geometry; using HoaryFox.Properties; using Rhino; using Rhino.DocObjects; using Rhino.Geometry; using STBDotNet.v202; -namespace HoaryFox.Component_v2.Geometry +namespace HoaryFox.Component.Geometry { public class Stb2Brep : GH_Component { diff --git a/HoaryFox/Component/Geometry/Stb2Line.cs b/HoaryFox/Component/Geometry/Stb2Line.cs index 362ffb03..44cc4c7a 100644 --- a/HoaryFox/Component/Geometry/Stb2Line.cs +++ b/HoaryFox/Component/Geometry/Stb2Line.cs @@ -3,14 +3,14 @@ using System.Drawing; using System.Linq; using Grasshopper.Kernel; -using HoaryFox.Component_v2.Utils.Geometry; +using HoaryFox.Component.Utils.Geometry; using HoaryFox.Properties; using Rhino; using Rhino.DocObjects; using Rhino.Geometry; using STBDotNet.v202; -namespace HoaryFox.Component_v2.Geometry +namespace HoaryFox.Component.Geometry { public class Stb2Line : GH_Component { diff --git a/HoaryFox/Component/IO/StbLoader.cs b/HoaryFox/Component/IO/StbLoader.cs index b7ea3b58..aeb0d718 100644 --- a/HoaryFox/Component/IO/StbLoader.cs +++ b/HoaryFox/Component/IO/StbLoader.cs @@ -2,7 +2,7 @@ using Grasshopper.Kernel; using STBDotNet.v202; -namespace HoaryFox.Component_v2.IO +namespace HoaryFox.Component.IO { public class StbLoader : GH_Component { diff --git a/HoaryFox/Component/Tag/Name/BeamNameTag.cs b/HoaryFox/Component/Tag/Name/BeamNameTag.cs index 763554b6..aa6ed27e 100644 --- a/HoaryFox/Component/Tag/Name/BeamNameTag.cs +++ b/HoaryFox/Component/Tag/Name/BeamNameTag.cs @@ -2,11 +2,11 @@ using System.Collections.Generic; using System.Drawing; using Grasshopper.Kernel; -using HoaryFox.Component_v2.Utils; +using HoaryFox.Component.Utils; using Rhino.Geometry; using STBDotNet.v202; -namespace HoaryFox.Component_v2.Tag.Name +namespace HoaryFox.Component.Tag.Name { public class BeamNameTag : GH_Component { diff --git a/HoaryFox/Component/Tag/Name/BraceNameTag.cs b/HoaryFox/Component/Tag/Name/BraceNameTag.cs index 0fb74205..9b27cc9f 100644 --- a/HoaryFox/Component/Tag/Name/BraceNameTag.cs +++ b/HoaryFox/Component/Tag/Name/BraceNameTag.cs @@ -2,11 +2,11 @@ using System.Collections.Generic; using System.Drawing; using Grasshopper.Kernel; -using HoaryFox.Component_v2.Utils; +using HoaryFox.Component.Utils; using Rhino.Geometry; using STBDotNet.v202; -namespace HoaryFox.Component_v2.Tag.Name +namespace HoaryFox.Component.Tag.Name { public class BraceNameTag : GH_Component { diff --git a/HoaryFox/Component/Tag/Name/ColumnNameTag.cs b/HoaryFox/Component/Tag/Name/ColumnNameTag.cs index 8903bf52..92df7a97 100644 --- a/HoaryFox/Component/Tag/Name/ColumnNameTag.cs +++ b/HoaryFox/Component/Tag/Name/ColumnNameTag.cs @@ -2,11 +2,11 @@ using System.Collections.Generic; using System.Drawing; using Grasshopper.Kernel; -using HoaryFox.Component_v2.Utils; +using HoaryFox.Component.Utils; using Rhino.Geometry; using STBDotNet.v202; -namespace HoaryFox.Component_v2.Tag.Name +namespace HoaryFox.Component.Tag.Name { public class ColumnNameTag : GH_Component { diff --git a/HoaryFox/Component/Tag/Name/GirderNameTag.cs b/HoaryFox/Component/Tag/Name/GirderNameTag.cs index 2e76df54..e193ebcf 100644 --- a/HoaryFox/Component/Tag/Name/GirderNameTag.cs +++ b/HoaryFox/Component/Tag/Name/GirderNameTag.cs @@ -2,11 +2,11 @@ using System.Collections.Generic; using System.Drawing; using Grasshopper.Kernel; -using HoaryFox.Component_v2.Utils; +using HoaryFox.Component.Utils; using Rhino.Geometry; using STBDotNet.v202; -namespace HoaryFox.Component_v2.Tag.Name +namespace HoaryFox.Component.Tag.Name { public class GirderNameTag : GH_Component { diff --git a/HoaryFox/Component/Tag/Name/PostNameTag.cs b/HoaryFox/Component/Tag/Name/PostNameTag.cs index 431c34cc..90403466 100644 --- a/HoaryFox/Component/Tag/Name/PostNameTag.cs +++ b/HoaryFox/Component/Tag/Name/PostNameTag.cs @@ -2,11 +2,11 @@ using System.Collections.Generic; using System.Drawing; using Grasshopper.Kernel; -using HoaryFox.Component_v2.Utils; +using HoaryFox.Component.Utils; using Rhino.Geometry; using STBDotNet.v202; -namespace HoaryFox.Component_v2.Tag.Name +namespace HoaryFox.Component.Tag.Name { public class PostNameTag : GH_Component { diff --git a/HoaryFox/Component/Tag/Section/BeamSecTag.cs b/HoaryFox/Component/Tag/Section/BeamSecTag.cs index a6ead9a2..8865b96b 100644 --- a/HoaryFox/Component/Tag/Section/BeamSecTag.cs +++ b/HoaryFox/Component/Tag/Section/BeamSecTag.cs @@ -5,12 +5,12 @@ using Grasshopper.Kernel; using Grasshopper.Kernel.Data; using Grasshopper.Kernel.Types; -using HoaryFox.Component_v2.Utils; +using HoaryFox.Component.Utils; using HoaryFox.Properties; using Rhino.Geometry; using STBDotNet.v202; -namespace HoaryFox.Component_v2.Tag.Section +namespace HoaryFox.Component.Tag.Section { public class BeamSecTag : GH_Component { @@ -22,7 +22,7 @@ public class BeamSecTag : GH_Component public BeamSecTag() : base("Beam Section Tag", "BeamSec", "Display Beam Section Tag", - "HoaryFox", "Section") + "HoaryFox", "SectionTag") { } diff --git a/HoaryFox/Component/Tag/Section/BraceSecTag.cs b/HoaryFox/Component/Tag/Section/BraceSecTag.cs index c642cab4..01ec62cf 100644 --- a/HoaryFox/Component/Tag/Section/BraceSecTag.cs +++ b/HoaryFox/Component/Tag/Section/BraceSecTag.cs @@ -5,12 +5,12 @@ using Grasshopper.Kernel; using Grasshopper.Kernel.Data; using Grasshopper.Kernel.Types; -using HoaryFox.Component_v2.Utils; +using HoaryFox.Component.Utils; using HoaryFox.Properties; using Rhino.Geometry; using STBDotNet.v202; -namespace HoaryFox.Component_v2.Tag.Section +namespace HoaryFox.Component.Tag.Section { public class BraceSecTag : GH_Component { @@ -22,7 +22,7 @@ public class BraceSecTag : GH_Component public BraceSecTag() : base("Brace Section Tag", "BraceSec", "Display Brace Section Tag", - "HoaryFox", "Section") + "HoaryFox", "SectionTag") { } diff --git a/HoaryFox/Component/Tag/Section/ColumnSecTag.cs b/HoaryFox/Component/Tag/Section/ColumnSecTag.cs index 4946e42b..0f5a7fad 100644 --- a/HoaryFox/Component/Tag/Section/ColumnSecTag.cs +++ b/HoaryFox/Component/Tag/Section/ColumnSecTag.cs @@ -5,12 +5,12 @@ using Grasshopper.Kernel; using Grasshopper.Kernel.Data; using Grasshopper.Kernel.Types; -using HoaryFox.Component_v2.Utils; +using HoaryFox.Component.Utils; using HoaryFox.Properties; using Rhino.Geometry; using STBDotNet.v202; -namespace HoaryFox.Component_v2.Tag.Section +namespace HoaryFox.Component.Tag.Section { public class ColumnSecTag : GH_Component { @@ -22,7 +22,7 @@ public class ColumnSecTag : GH_Component public ColumnSecTag() : base("Column Section Tag", "ColumnSec", "Display Column Section Tag", - "HoaryFox", "Section") + "HoaryFox", "SectionTag") { } diff --git a/HoaryFox/Component/Tag/Section/GirderSecTag.cs b/HoaryFox/Component/Tag/Section/GirderSecTag.cs index 954e68d9..1a3e75e3 100644 --- a/HoaryFox/Component/Tag/Section/GirderSecTag.cs +++ b/HoaryFox/Component/Tag/Section/GirderSecTag.cs @@ -5,12 +5,12 @@ using Grasshopper.Kernel; using Grasshopper.Kernel.Data; using Grasshopper.Kernel.Types; -using HoaryFox.Component_v2.Utils; +using HoaryFox.Component.Utils; using HoaryFox.Properties; using Rhino.Geometry; using STBDotNet.v202; -namespace HoaryFox.Component_v2.Tag.Section +namespace HoaryFox.Component.Tag.Section { public class GirderSecTag : GH_Component { @@ -22,7 +22,7 @@ public class GirderSecTag : GH_Component public GirderSecTag() : base("Girder Section Tag", "GirderSec", "Display Girder Section Tag", - "HoaryFox", "Section") + "HoaryFox", "SectionTag") { } diff --git a/HoaryFox/Component/Tag/Section/PostSecTag.cs b/HoaryFox/Component/Tag/Section/PostSecTag.cs index 65aece72..e449b485 100644 --- a/HoaryFox/Component/Tag/Section/PostSecTag.cs +++ b/HoaryFox/Component/Tag/Section/PostSecTag.cs @@ -5,12 +5,12 @@ using Grasshopper.Kernel; using Grasshopper.Kernel.Data; using Grasshopper.Kernel.Types; -using HoaryFox.Component_v2.Utils; +using HoaryFox.Component.Utils; using HoaryFox.Properties; using Rhino.Geometry; using STBDotNet.v202; -namespace HoaryFox.Component_v2.Tag.Section +namespace HoaryFox.Component.Tag.Section { public class PostSecTag : GH_Component { @@ -22,7 +22,7 @@ public class PostSecTag : GH_Component public PostSecTag() : base("Post Section Tag", "PostSec", "Display Post Section Tag", - "HoaryFox", "Section") + "HoaryFox", "SectionTag") { } diff --git a/HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs b/HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs index c7c696a3..b4fd20cc 100644 --- a/HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs +++ b/HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs @@ -4,7 +4,7 @@ using Rhino.Geometry; using STBDotNet.v202; -namespace HoaryFox.Component_v2.Utils.Geometry +namespace HoaryFox.Component.Utils.Geometry { public class CreateBrepFromStb { diff --git a/HoaryFox/Component/Utils/Geometry/CreateLineFromStb.cs b/HoaryFox/Component/Utils/Geometry/CreateLineFromStb.cs index 793b0d13..e6f7980b 100644 --- a/HoaryFox/Component/Utils/Geometry/CreateLineFromStb.cs +++ b/HoaryFox/Component/Utils/Geometry/CreateLineFromStb.cs @@ -3,7 +3,7 @@ using Rhino.Geometry; using STBDotNet.v202; -namespace HoaryFox.Component_v2.Utils.Geometry +namespace HoaryFox.Component.Utils.Geometry { public class CreateLineFromStb { diff --git a/HoaryFox/Component/Utils/Geometry/GeometryBaker.cs b/HoaryFox/Component/Utils/Geometry/GeometryBaker.cs index 59cce538..99c2c85c 100644 --- a/HoaryFox/Component/Utils/Geometry/GeometryBaker.cs +++ b/HoaryFox/Component/Utils/Geometry/GeometryBaker.cs @@ -4,7 +4,7 @@ using Rhino; using Rhino.DocObjects; -namespace HoaryFox.Component_v2.Utils.Geometry +namespace HoaryFox.Component.Utils.Geometry { public class GeometryBaker { diff --git a/HoaryFox/Component/Utils/Geometry/SectionCornerPoints.cs b/HoaryFox/Component/Utils/Geometry/SectionCornerPoints.cs index 6c1fbf6f..a58bfa66 100644 --- a/HoaryFox/Component/Utils/Geometry/SectionCornerPoints.cs +++ b/HoaryFox/Component/Utils/Geometry/SectionCornerPoints.cs @@ -2,7 +2,7 @@ using Rhino.Geometry; using STBDotNet.v202; -namespace HoaryFox.Component_v2.Utils.Geometry +namespace HoaryFox.Component.Utils.Geometry { public static class SectionCornerPoints { diff --git a/HoaryFox/Component/Utils/TagUtils.cs b/HoaryFox/Component/Utils/TagUtils.cs index ecbd85c9..f91eb1c2 100644 --- a/HoaryFox/Component/Utils/TagUtils.cs +++ b/HoaryFox/Component/Utils/TagUtils.cs @@ -8,7 +8,7 @@ using STBDotNet.v202; -namespace HoaryFox.Component_v2.Utils +namespace HoaryFox.Component.Utils { internal static class TagUtils { From d37b16d240553e5be808abf07652d33ab91039cb Mon Sep 17 00:00:00 2001 From: hiron Date: Sun, 15 Aug 2021 21:56:54 +0900 Subject: [PATCH 099/162] Fix Display pipeline error --- HoaryFox/Component/Geometry/Axes.cs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/HoaryFox/Component/Geometry/Axes.cs b/HoaryFox/Component/Geometry/Axes.cs index 88ed1f79..e4a6d60d 100644 --- a/HoaryFox/Component/Geometry/Axes.cs +++ b/HoaryFox/Component/Geometry/Axes.cs @@ -6,7 +6,7 @@ using Rhino.Geometry; using STBDotNet.v202; -namespace HoaryFox.Component_v2.Geometry +namespace HoaryFox.Component.Geometry { public class Axis : GH_Component { @@ -20,7 +20,7 @@ public class Axis : GH_Component public Axis() : base("Axis", "Axis", "Description", - "HoaryFox2", "Geometry") + "HoaryFox", "Geometry") { } @@ -28,6 +28,8 @@ public override void ClearData() { base.ClearData(); _axisLines.Clear(); + _axisPts.Clear(); + _axisStr.Clear(); } protected override void RegisterInputParams(GH_InputParamManager pManager) @@ -85,7 +87,7 @@ private static double GetMaxLength(StbNode[] stbNodes) public override void DrawViewportWires(IGH_PreviewArgs args) { - for (var i = 0; i < _axisPts.Count; i++) + for (var i = 0; i < _axisLines.Count; i++) { args.Display.Draw2dText(_axisStr[i], Color.Black, _axisPts[i], true, _size); args.Display.DrawLine(_axisLines[i], Color.Black); From 9f7f41ea4d70e9543c6f41288aeaee8ab978f862 Mon Sep 17 00:00:00 2001 From: hiron Date: Sun, 15 Aug 2021 22:43:35 +0900 Subject: [PATCH 100/162] Update axis line to use pattarned line --- HoaryFox/Component/Geometry/Axes.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/HoaryFox/Component/Geometry/Axes.cs b/HoaryFox/Component/Geometry/Axes.cs index e4a6d60d..111aff31 100644 --- a/HoaryFox/Component/Geometry/Axes.cs +++ b/HoaryFox/Component/Geometry/Axes.cs @@ -90,7 +90,7 @@ public override void DrawViewportWires(IGH_PreviewArgs args) for (var i = 0; i < _axisLines.Count; i++) { args.Display.Draw2dText(_axisStr[i], Color.Black, _axisPts[i], true, _size); - args.Display.DrawLine(_axisLines[i], Color.Black); + args.Display.DrawPatternedLine(_axisLines[i], Color.Black, 0x0000AFAF, 1); } } From 815c83e1f8550bceca7ef222763268fc67c30c6d Mon Sep 17 00:00:00 2001 From: hiron Date: Sun, 15 Aug 2021 22:49:42 +0900 Subject: [PATCH 101/162] Clean code --- HoaryFox/Component/Geometry/Axes.cs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/HoaryFox/Component/Geometry/Axes.cs b/HoaryFox/Component/Geometry/Axes.cs index 111aff31..79b04549 100644 --- a/HoaryFox/Component/Geometry/Axes.cs +++ b/HoaryFox/Component/Geometry/Axes.cs @@ -55,6 +55,13 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) StbParallelAxes[] parallels = axis.StbParallelAxes; double length = GetMaxLength(_stBridge.StbModel.StbNodes); + StbParallelAxesToLine(factor, parallels, length); + + dataAccess.SetDataList(0, _axisLines); + } + + private void StbParallelAxesToLine(double factor, StbParallelAxes[] parallels, double length) + { foreach (StbParallelAxes parallel in parallels) { var basePt = new Point3d(parallel.X, parallel.Y, 0); @@ -66,15 +73,13 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) foreach (StbParallelAxis pAxis in parallel.StbParallelAxis) { _axisLines.Add(new Line( - basePt - axisVec * (factor - 1) + distanceVec * pAxis.distance, - basePt + axisVec * factor + distanceVec * pAxis.distance + basePt - (axisVec * (factor - 1)) + (distanceVec * pAxis.distance), + basePt + (axisVec * factor) + (distanceVec * pAxis.distance) )); - _axisPts.Add(basePt - axisVec * (factor - 1) + distanceVec * pAxis.distance); + _axisPts.Add(basePt - (axisVec * (factor - 1)) + (distanceVec * pAxis.distance)); _axisStr.Add(pAxis.name); } } - - dataAccess.SetDataList(0, _axisLines); } private static double GetMaxLength(StbNode[] stbNodes) From 79f37e64caded92b3c5fcf95ee1ffca08ce40715 Mon Sep 17 00:00:00 2001 From: hiron Date: Mon, 16 Aug 2021 23:16:15 +0900 Subject: [PATCH 102/162] Update brep rotate algorithm to use vector --- .../Utils/Geometry/CreateBrepFromStb.cs | 50 ++++++++++++------- .../Utils/Geometry/SectionCornerPoints.cs | 12 ++--- 2 files changed, 37 insertions(+), 25 deletions(-) diff --git a/HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs b/HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs index b4fd20cc..882c059b 100644 --- a/HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs +++ b/HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs @@ -314,7 +314,8 @@ private Brep CreateGirderBrep(string idSection, double rotate, StbGirderKind_str throw new ArgumentOutOfRangeException(); } - RotateCurveList(memberAxis, curveList, rotate, sectionPoints, Vector3d.XAxis); + //TODO: ローカル軸での回転を実装する + // RotateCurveList(memberAxis, curveList, rotate, sectionPoints, Vector3d.XAxis); Brep brep = Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] .CapPlanarHoles(_tolerance[0]); return brep; @@ -324,32 +325,33 @@ private Brep CreateGirderBrep(string idSection, double rotate, StbGirderKind_str private static List SecRcBeamCurves(IReadOnlyList figures, IReadOnlyList sectionPoints) { var curveList = new List(); + CreateLocalAxis(sectionPoints, out Vector3d yAxis, out Vector3d zAxis); switch (figures.Count) { case 1: var straight = figures[0] as StbSecBeam_RC_Straight; curveList.Add(new PolylineCurve( - SectionCornerPoints.BeamRect(sectionPoints[0], straight.depth, straight.width))); + SectionCornerPoints.BeamRect(sectionPoints[0], straight.depth, straight.width, yAxis, zAxis))); curveList.Add(new PolylineCurve( - SectionCornerPoints.BeamRect(sectionPoints[3], straight.depth, straight.width))); + SectionCornerPoints.BeamRect(sectionPoints[3], straight.depth, straight.width, yAxis, zAxis))); break; case 2: var taper = new[] { figures[0] as StbSecBeam_RC_Taper, figures[1] as StbSecBeam_RC_Taper }; curveList.Add(new PolylineCurve( - SectionCornerPoints.BeamRect(sectionPoints[0], taper[0].depth, taper[0].width))); + SectionCornerPoints.BeamRect(sectionPoints[0], taper[0].depth, taper[0].width, yAxis, zAxis))); curveList.Add(new PolylineCurve( - SectionCornerPoints.BeamRect(sectionPoints[3], taper[1].depth, taper[1].width))); + SectionCornerPoints.BeamRect(sectionPoints[3], taper[1].depth, taper[1].width, yAxis, zAxis))); break; case 3: var haunch = new[] { figures[0] as StbSecBeam_RC_Haunch, figures[1] as StbSecBeam_RC_Haunch, figures[2] as StbSecBeam_RC_Haunch }; StbSecBeam_RC_Haunch start = haunch.First(fig => fig.pos == StbSecBeam_RC_HaunchPos.START); StbSecBeam_RC_Haunch center = haunch.First(fig => fig.pos == StbSecBeam_RC_HaunchPos.CENTER); StbSecBeam_RC_Haunch end = haunch.First(fig => fig.pos == StbSecBeam_RC_HaunchPos.END); - curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[0], start.depth, start.width))); - curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[1], center.depth, center.width))); - curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[2], center.depth, center.width))); - curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[3], end.depth, end.width))); + curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[0], start.depth, start.width, yAxis, zAxis))); + curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[1], center.depth, center.width, yAxis, zAxis))); + curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[2], center.depth, center.width, yAxis, zAxis))); + curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[3], end.depth, end.width, yAxis, zAxis))); break; default: throw new Exception(); @@ -358,35 +360,45 @@ private static List SecRcBeamCurves(IReadOnlyList figures, IReadO return curveList; } + private static void CreateLocalAxis(IReadOnlyList sectionPoints, out Vector3d yAxis, out Vector3d zAxis) + { + var xAxis = new Vector3d(sectionPoints[3] - sectionPoints[0]); + yAxis = Vector3d.CrossProduct(Vector3d.ZAxis, xAxis); + zAxis = Vector3d.CrossProduct(xAxis, yAxis); + yAxis.Unitize(); + zAxis.Unitize(); + } + private static List SecSrcBeamCurves(IReadOnlyList figures, IReadOnlyList sectionPoints) { var curveList = new List(); + CreateLocalAxis(sectionPoints, out Vector3d yAxis, out Vector3d zAxis); switch (figures.Count) { case 1: var straight = figures[0] as StbSecBeam_SRC_Straight; curveList.Add(new PolylineCurve( - SectionCornerPoints.BeamRect(sectionPoints[0], straight.depth, straight.width))); + SectionCornerPoints.BeamRect(sectionPoints[0], straight.depth, straight.width, yAxis, zAxis))); curveList.Add(new PolylineCurve( - SectionCornerPoints.BeamRect(sectionPoints[3], straight.depth, straight.width))); + SectionCornerPoints.BeamRect(sectionPoints[3], straight.depth, straight.width, yAxis, zAxis))); break; case 2: var taper = new[] { figures[0] as StbSecBeam_SRC_Taper, figures[1] as StbSecBeam_SRC_Taper }; curveList.Add(new PolylineCurve( - SectionCornerPoints.BeamRect(sectionPoints[0], taper[0].depth, taper[0].width))); + SectionCornerPoints.BeamRect(sectionPoints[0], taper[0].depth, taper[0].width, yAxis, zAxis))); curveList.Add(new PolylineCurve( - SectionCornerPoints.BeamRect(sectionPoints[3], taper[1].depth, taper[1].width))); + SectionCornerPoints.BeamRect(sectionPoints[3], taper[1].depth, taper[1].width, yAxis, zAxis))); break; case 3: var haunch = new[] { figures[0] as StbSecBeam_SRC_Haunch, figures[1] as StbSecBeam_SRC_Haunch, figures[2] as StbSecBeam_SRC_Haunch }; StbSecBeam_SRC_Haunch start = haunch.First(fig => fig.pos == StbSecBeam_RC_HaunchPos.START); StbSecBeam_SRC_Haunch center = haunch.First(fig => fig.pos == StbSecBeam_RC_HaunchPos.CENTER); StbSecBeam_SRC_Haunch end = haunch.First(fig => fig.pos == StbSecBeam_RC_HaunchPos.END); - curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[0], start.depth, start.width))); - curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[1], center.depth, center.width))); - curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[2], center.depth, center.width))); - curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[3], end.depth, end.width))); + curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[0], start.depth, start.width, yAxis, zAxis))); + curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[1], center.depth, center.width, yAxis, zAxis))); + curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[2], center.depth, center.width, yAxis, zAxis))); + curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[3], end.depth, end.width, yAxis, zAxis))); break; default: throw new Exception(); @@ -709,8 +721,8 @@ private static Curve CurveFromStbSecBox(Point3d point, SectionType type, double return new PolylineCurve( SectionCornerPoints.ColumnRect(point, B, A)); case SectionType.Beam: - return new PolylineCurve( - SectionCornerPoints.BeamRect(point, B, A)); + // return new PolylineCurve( + // SectionCornerPoints.BeamRect(point, B, A)); default: throw new ArgumentOutOfRangeException(nameof(type), type, null); } diff --git a/HoaryFox/Component/Utils/Geometry/SectionCornerPoints.cs b/HoaryFox/Component/Utils/Geometry/SectionCornerPoints.cs index a58bfa66..9dda481e 100644 --- a/HoaryFox/Component/Utils/Geometry/SectionCornerPoints.cs +++ b/HoaryFox/Component/Utils/Geometry/SectionCornerPoints.cs @@ -105,15 +105,15 @@ internal static Curve ColumnPipe(Point3d pt, double d) // Z 3 o 2 // ^ | | // o > Y 0 - 1 - public static Point3d[] BeamRect(Point3d pt, double depth, double width) + public static Point3d[] BeamRect(Point3d pt, double depth, double width, Vector3d yAxis, Vector3d zAxis) { return new[] { - new Point3d(pt.X, pt.Y - width / 2, pt.Z - depth), - new Point3d(pt.X, pt.Y + width / 2, pt.Z - depth), - new Point3d(pt.X, pt.Y + width / 2, pt.Z), - new Point3d(pt.X, pt.Y - width / 2, pt.Z), - new Point3d(pt.X, pt.Y - width / 2, pt.Z - depth), + pt - yAxis * width / 2 - zAxis * depth, + pt + yAxis * width / 2 - zAxis * depth, + pt + yAxis * width / 2, + pt - yAxis * width / 2, + pt - yAxis * width / 2 - zAxis * depth, }; } From 385b9817103c1ea784ab4226b16fa2e047969a29 Mon Sep 17 00:00:00 2001 From: hiron Date: Fri, 20 Aug 2021 21:42:26 +0900 Subject: [PATCH 103/162] Update localAxis method --- .../Utils/Geometry/CreateBrepFromStb.cs | 125 +++++++++--------- 1 file changed, 65 insertions(+), 60 deletions(-) diff --git a/HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs b/HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs index 882c059b..87319190 100644 --- a/HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs +++ b/HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs @@ -167,6 +167,7 @@ private static List SecRcColumnToCurves(object figure, IReadOnlyList SecSteelColumnToCurves(IReadOnlyList figures, IReadOnlyList sectionPoints) { var curveList = new List(); + Vector3d[] localAxis = CreateLocalAxis(sectionPoints); string bottom, center, top; switch (figures.Count) @@ -174,35 +175,35 @@ private List SecSteelColumnToCurves(IReadOnlyList figures, IReadO case 1: var same = figures[0] as StbSecSteelColumn_S_Same; center = same.shape; - curveList.Add(GetSteelSec(center, sectionPoints[0], SectionType.Column)); - curveList.Add(GetSteelSec(center, sectionPoints[3], SectionType.Column)); + curveList.Add(GetSteelSec(center, sectionPoints[0], SectionType.Column, localAxis)); + curveList.Add(GetSteelSec(center, sectionPoints[3], SectionType.Column, localAxis)); break; case 2: var notSames = new[] { figures[0] as StbSecSteelColumn_S_NotSame, figures[1] as StbSecSteelColumn_S_NotSame }; bottom = notSames.First(item => item.pos == StbSecSteelColumn_S_NotSamePos.BOTTOM).shape; top = notSames.First(item => item.pos == StbSecSteelColumn_S_NotSamePos.TOP).shape; - curveList.Add(GetSteelSec(bottom, sectionPoints[0], SectionType.Column)); + curveList.Add(GetSteelSec(bottom, sectionPoints[0], SectionType.Column, localAxis)); if (sectionPoints[1].Z > sectionPoints[0].Z) { - curveList.Add(GetSteelSec(bottom, sectionPoints[1], SectionType.Column)); - curveList.Add(GetSteelSec(top, sectionPoints[1], SectionType.Column)); + curveList.Add(GetSteelSec(bottom, sectionPoints[1], SectionType.Column, localAxis)); + curveList.Add(GetSteelSec(top, sectionPoints[1], SectionType.Column, localAxis)); } else { - curveList.Add(GetSteelSec(bottom, sectionPoints[2], SectionType.Column)); - curveList.Add(GetSteelSec(top, sectionPoints[2], SectionType.Column)); + curveList.Add(GetSteelSec(bottom, sectionPoints[2], SectionType.Column, localAxis)); + curveList.Add(GetSteelSec(top, sectionPoints[2], SectionType.Column, localAxis)); } - curveList.Add(GetSteelSec(top, sectionPoints[3], SectionType.Column)); + curveList.Add(GetSteelSec(top, sectionPoints[3], SectionType.Column, localAxis)); break; case 3: var three = new[] { figures[0] as StbSecSteelColumn_S_ThreeTypes, figures[1] as StbSecSteelColumn_S_ThreeTypes, figures[2] as StbSecSteelColumn_S_ThreeTypes }; bottom = three.First(item => item.pos == StbSecSteelColumn_S_ThreeTypesPos.BOTTOM).shape; center = three.First(item => item.pos == StbSecSteelColumn_S_ThreeTypesPos.CENTER).shape; top = three.First(item => item.pos == StbSecSteelColumn_S_ThreeTypesPos.TOP).shape; - curveList.Add(GetSteelSec(bottom, sectionPoints[0], SectionType.Column)); - curveList.Add(GetSteelSec(center, sectionPoints[1], SectionType.Column)); - curveList.Add(GetSteelSec(center, sectionPoints[2], SectionType.Column)); - curveList.Add(GetSteelSec(top, sectionPoints[3], SectionType.Column)); + curveList.Add(GetSteelSec(bottom, sectionPoints[0], SectionType.Column, localAxis)); + curveList.Add(GetSteelSec(center, sectionPoints[1], SectionType.Column, localAxis)); + curveList.Add(GetSteelSec(center, sectionPoints[2], SectionType.Column, localAxis)); + curveList.Add(GetSteelSec(top, sectionPoints[3], SectionType.Column, localAxis)); break; default: throw new ArgumentException("Unmatched StbSecSteelColumn_S"); @@ -325,33 +326,33 @@ private Brep CreateGirderBrep(string idSection, double rotate, StbGirderKind_str private static List SecRcBeamCurves(IReadOnlyList figures, IReadOnlyList sectionPoints) { var curveList = new List(); - CreateLocalAxis(sectionPoints, out Vector3d yAxis, out Vector3d zAxis); + Vector3d[] localAxis = CreateLocalAxis(sectionPoints); switch (figures.Count) { case 1: var straight = figures[0] as StbSecBeam_RC_Straight; curveList.Add(new PolylineCurve( - SectionCornerPoints.BeamRect(sectionPoints[0], straight.depth, straight.width, yAxis, zAxis))); + SectionCornerPoints.BeamRect(sectionPoints[0], straight.depth, straight.width, localAxis[1], localAxis[2]))); curveList.Add(new PolylineCurve( - SectionCornerPoints.BeamRect(sectionPoints[3], straight.depth, straight.width, yAxis, zAxis))); + SectionCornerPoints.BeamRect(sectionPoints[3], straight.depth, straight.width, localAxis[1], localAxis[2]))); break; case 2: var taper = new[] { figures[0] as StbSecBeam_RC_Taper, figures[1] as StbSecBeam_RC_Taper }; curveList.Add(new PolylineCurve( - SectionCornerPoints.BeamRect(sectionPoints[0], taper[0].depth, taper[0].width, yAxis, zAxis))); + SectionCornerPoints.BeamRect(sectionPoints[0], taper[0].depth, taper[0].width, localAxis[1], localAxis[2]))); curveList.Add(new PolylineCurve( - SectionCornerPoints.BeamRect(sectionPoints[3], taper[1].depth, taper[1].width, yAxis, zAxis))); + SectionCornerPoints.BeamRect(sectionPoints[3], taper[1].depth, taper[1].width, localAxis[1], localAxis[2]))); break; case 3: var haunch = new[] { figures[0] as StbSecBeam_RC_Haunch, figures[1] as StbSecBeam_RC_Haunch, figures[2] as StbSecBeam_RC_Haunch }; StbSecBeam_RC_Haunch start = haunch.First(fig => fig.pos == StbSecBeam_RC_HaunchPos.START); StbSecBeam_RC_Haunch center = haunch.First(fig => fig.pos == StbSecBeam_RC_HaunchPos.CENTER); StbSecBeam_RC_Haunch end = haunch.First(fig => fig.pos == StbSecBeam_RC_HaunchPos.END); - curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[0], start.depth, start.width, yAxis, zAxis))); - curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[1], center.depth, center.width, yAxis, zAxis))); - curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[2], center.depth, center.width, yAxis, zAxis))); - curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[3], end.depth, end.width, yAxis, zAxis))); + curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[0], start.depth, start.width, localAxis[1], localAxis[2]))); + curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[1], center.depth, center.width, localAxis[1], localAxis[2]))); + curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[2], center.depth, center.width, localAxis[1], localAxis[2]))); + curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[3], end.depth, end.width, localAxis[1], localAxis[2]))); break; default: throw new Exception(); @@ -360,45 +361,47 @@ private static List SecRcBeamCurves(IReadOnlyList figures, IReadO return curveList; } - private static void CreateLocalAxis(IReadOnlyList sectionPoints, out Vector3d yAxis, out Vector3d zAxis) + private static Vector3d[] CreateLocalAxis(IReadOnlyList sectionPoints) { var xAxis = new Vector3d(sectionPoints[3] - sectionPoints[0]); - yAxis = Vector3d.CrossProduct(Vector3d.ZAxis, xAxis); - zAxis = Vector3d.CrossProduct(xAxis, yAxis); + var yAxis = Vector3d.CrossProduct(Vector3d.ZAxis, xAxis); + var zAxis = Vector3d.CrossProduct(xAxis, yAxis); + xAxis.Unitize(); yAxis.Unitize(); zAxis.Unitize(); + return new Vector3d[] { xAxis, yAxis, zAxis }; } private static List SecSrcBeamCurves(IReadOnlyList figures, IReadOnlyList sectionPoints) { var curveList = new List(); - CreateLocalAxis(sectionPoints, out Vector3d yAxis, out Vector3d zAxis); + Vector3d[] localAxis = CreateLocalAxis(sectionPoints); switch (figures.Count) { case 1: var straight = figures[0] as StbSecBeam_SRC_Straight; curveList.Add(new PolylineCurve( - SectionCornerPoints.BeamRect(sectionPoints[0], straight.depth, straight.width, yAxis, zAxis))); + SectionCornerPoints.BeamRect(sectionPoints[0], straight.depth, straight.width, localAxis[1], localAxis[2]))); curveList.Add(new PolylineCurve( - SectionCornerPoints.BeamRect(sectionPoints[3], straight.depth, straight.width, yAxis, zAxis))); + SectionCornerPoints.BeamRect(sectionPoints[3], straight.depth, straight.width, localAxis[1], localAxis[2]))); break; case 2: var taper = new[] { figures[0] as StbSecBeam_SRC_Taper, figures[1] as StbSecBeam_SRC_Taper }; curveList.Add(new PolylineCurve( - SectionCornerPoints.BeamRect(sectionPoints[0], taper[0].depth, taper[0].width, yAxis, zAxis))); + SectionCornerPoints.BeamRect(sectionPoints[0], taper[0].depth, taper[0].width, localAxis[1], localAxis[2]))); curveList.Add(new PolylineCurve( - SectionCornerPoints.BeamRect(sectionPoints[3], taper[1].depth, taper[1].width, yAxis, zAxis))); + SectionCornerPoints.BeamRect(sectionPoints[3], taper[1].depth, taper[1].width, localAxis[1], localAxis[2]))); break; case 3: var haunch = new[] { figures[0] as StbSecBeam_SRC_Haunch, figures[1] as StbSecBeam_SRC_Haunch, figures[2] as StbSecBeam_SRC_Haunch }; StbSecBeam_SRC_Haunch start = haunch.First(fig => fig.pos == StbSecBeam_RC_HaunchPos.START); StbSecBeam_SRC_Haunch center = haunch.First(fig => fig.pos == StbSecBeam_RC_HaunchPos.CENTER); StbSecBeam_SRC_Haunch end = haunch.First(fig => fig.pos == StbSecBeam_RC_HaunchPos.END); - curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[0], start.depth, start.width, yAxis, zAxis))); - curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[1], center.depth, center.width, yAxis, zAxis))); - curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[2], center.depth, center.width, yAxis, zAxis))); - curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[3], end.depth, end.width, yAxis, zAxis))); + curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[0], start.depth, start.width, localAxis[1], localAxis[2]))); + curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[1], center.depth, center.width, localAxis[1], localAxis[2]))); + curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[2], center.depth, center.width, localAxis[1], localAxis[2]))); + curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[3], end.depth, end.width, localAxis[1], localAxis[2]))); break; default: throw new Exception(); @@ -411,21 +414,22 @@ private List SecSteelBeamToCurves(IReadOnlyList figures, IReadOnl { var curveList = new List(); string start, center, end; + Vector3d[] localAxis = CreateLocalAxis(sectionPoints); switch (figures.Count) { case 1: var straight = figures[0] as StbSecSteelBeam_S_Straight; center = straight.shape; - curveList.Add(GetSteelSec(center, sectionPoints[0], SectionType.Beam)); - curveList.Add(GetSteelSec(center, sectionPoints[3], SectionType.Beam)); + curveList.Add(GetSteelSec(center, sectionPoints[0], SectionType.Beam, localAxis)); + curveList.Add(GetSteelSec(center, sectionPoints[3], SectionType.Beam, localAxis)); break; case 2: var tapers = new[] { figures[0] as StbSecSteelBeam_S_Taper, figures[1] as StbSecSteelBeam_S_Taper }; start = tapers.First(sec => sec.pos == StbSecSteelBeam_S_TaperPos.START).shape; end = tapers.First(sec => sec.pos == StbSecSteelBeam_S_TaperPos.END).shape; - curveList.Add(GetSteelSec(start, sectionPoints[0], SectionType.Beam)); - curveList.Add(GetSteelSec(end, sectionPoints[3], SectionType.Beam)); + curveList.Add(GetSteelSec(start, sectionPoints[0], SectionType.Beam, localAxis)); + curveList.Add(GetSteelSec(end, sectionPoints[3], SectionType.Beam, localAxis)); break; case 3: if (figures[0] is StbSecSteelBeam_S_Haunch) @@ -442,10 +446,10 @@ private List SecSteelBeamToCurves(IReadOnlyList figures, IReadOnl center = joint.First(sec => sec.pos == StbSecSteelBeam_S_JointPos.CENTER).shape; end = joint.First(sec => sec.pos == StbSecSteelBeam_S_JointPos.END).shape; } - curveList.Add(GetSteelSec(start, sectionPoints[0], SectionType.Beam)); - curveList.Add(GetSteelSec(center, sectionPoints[1], SectionType.Beam)); - curveList.Add(GetSteelSec(center, sectionPoints[2], SectionType.Beam)); - curveList.Add(GetSteelSec(end, sectionPoints[3], SectionType.Beam)); + curveList.Add(GetSteelSec(start, sectionPoints[0], SectionType.Beam, localAxis)); + curveList.Add(GetSteelSec(center, sectionPoints[1], SectionType.Beam, localAxis)); + curveList.Add(GetSteelSec(center, sectionPoints[2], SectionType.Beam, localAxis)); + curveList.Add(GetSteelSec(end, sectionPoints[3], SectionType.Beam, localAxis)); break; case 5: throw new ArgumentException("5 section steel is not supported"); @@ -523,37 +527,38 @@ private List SecSteelBraceToCurves(IReadOnlyList figures, IReadOn { var curveList = new List(); string start, center, end; + Vector3d[] localAxis = CreateLocalAxis(sectionPoints); switch (figures.Count) { case 1: var same = figures[0] as StbSecSteelBrace_S_Same; center = same.shape; - curveList.Add(GetSteelSec(center, sectionPoints[0], SectionType.Brace)); - curveList.Add(GetSteelSec(center, sectionPoints[3], SectionType.Brace)); + curveList.Add(GetSteelSec(center, sectionPoints[0], SectionType.Brace, localAxis)); + curveList.Add(GetSteelSec(center, sectionPoints[3], SectionType.Brace, localAxis)); break; case 2: var notSames = new[] { figures[0] as StbSecSteelBrace_S_NotSame, figures[1] as StbSecSteelBrace_S_NotSame }; start = notSames.First(sec => sec.pos == StbSecSteelBrace_S_NotSamePos.BOTTOM).shape; end = notSames.First(sec => sec.pos == StbSecSteelBrace_S_NotSamePos.TOP).shape; - curveList.Add(GetSteelSec(start, sectionPoints[0], SectionType.Brace)); + curveList.Add(GetSteelSec(start, sectionPoints[0], SectionType.Brace, localAxis)); curveList.Add(sectionPoints[0] == sectionPoints[1] - ? GetSteelSec(start, sectionPoints[2], SectionType.Brace) - : GetSteelSec(start, sectionPoints[1], SectionType.Brace)); + ? GetSteelSec(start, sectionPoints[2], SectionType.Brace, localAxis) + : GetSteelSec(start, sectionPoints[1], SectionType.Brace, localAxis)); curveList.Add(sectionPoints[0] == sectionPoints[1] - ? GetSteelSec(end, sectionPoints[2], SectionType.Brace) - : GetSteelSec(end, sectionPoints[1], SectionType.Brace)); - curveList.Add(GetSteelSec(end, sectionPoints[3], SectionType.Brace)); + ? GetSteelSec(end, sectionPoints[2], SectionType.Brace, localAxis) + : GetSteelSec(end, sectionPoints[1], SectionType.Brace, localAxis)); + curveList.Add(GetSteelSec(end, sectionPoints[3], SectionType.Brace, localAxis)); break; case 3: var three = new[] { figures[0] as StbSecSteelBrace_S_ThreeTypes, figures[1] as StbSecSteelBrace_S_ThreeTypes, figures[2] as StbSecSteelBrace_S_ThreeTypes }; start = three.First(sec => sec.pos == StbSecSteelBrace_S_ThreeTypesPos.BOTTOM).shape; center = three.First(sec => sec.pos == StbSecSteelBrace_S_ThreeTypesPos.CENTER).shape; end = three.First(sec => sec.pos == StbSecSteelBrace_S_ThreeTypesPos.TOP).shape; - curveList.Add(GetSteelSec(start, sectionPoints[0], SectionType.Brace)); - curveList.Add(GetSteelSec(center, sectionPoints[1], SectionType.Brace)); - curveList.Add(GetSteelSec(center, sectionPoints[2], SectionType.Brace)); - curveList.Add(GetSteelSec(end, sectionPoints[3], SectionType.Brace)); + curveList.Add(GetSteelSec(start, sectionPoints[0], SectionType.Brace, localAxis)); + curveList.Add(GetSteelSec(center, sectionPoints[1], SectionType.Brace, localAxis)); + curveList.Add(GetSteelSec(center, sectionPoints[2], SectionType.Brace, localAxis)); + curveList.Add(GetSteelSec(end, sectionPoints[3], SectionType.Brace, localAxis)); break; default: throw new ArgumentException("Unmatched StbSecSteelBrace_S"); @@ -604,7 +609,7 @@ private static void RotateCurveList(Vector3d memberAxis, IReadOnlyList cu } } - private Curve GetSteelSec(string shape, Point3d point, SectionType type) + private Curve GetSteelSec(string shape, Point3d point, SectionType type, Vector3d[] localAxis) { StbSecSteel secSteel = _sections.StbSecSteel; @@ -613,7 +618,7 @@ private Curve GetSteelSec(string shape, Point3d point, SectionType type) { foreach (var box in secSteel.StbSecBuildBOX.Where(box => box.name == shape)) { - return CurveFromStbSecBox(point, type, box.A, box.B); + return CurveFromStbSecBox(localAxis, point, type, box.A, box.B); } } @@ -621,7 +626,7 @@ private Curve GetSteelSec(string shape, Point3d point, SectionType type) { foreach (StbSecRollBOX box in secSteel.StbSecRollBOX.Where(box => box.name == shape)) { - return CurveFromStbSecBox(point, type, box.A, box.B); + return CurveFromStbSecBox(localAxis, point, type, box.A, box.B); } } @@ -629,7 +634,7 @@ private Curve GetSteelSec(string shape, Point3d point, SectionType type) { foreach (StbSecFlatBar flatBar in secSteel.StbSecFlatBar.Where(bar => bar.name == shape)) { - return CurveFromStbSecBox(point, type, flatBar.B, flatBar.t); + return CurveFromStbSecBox(localAxis, point, type, flatBar.B, flatBar.t); } } @@ -712,7 +717,7 @@ private static Curve CurveFromStbSecL(Point3d point, SectionType type, StbSecRol } } - private static Curve CurveFromStbSecBox(Point3d point, SectionType type, double A, double B) + private static Curve CurveFromStbSecBox(Vector3d[] localAxis, Point3d point, SectionType type, double A, double B) { switch (type) { @@ -721,8 +726,8 @@ private static Curve CurveFromStbSecBox(Point3d point, SectionType type, double return new PolylineCurve( SectionCornerPoints.ColumnRect(point, B, A)); case SectionType.Beam: - // return new PolylineCurve( - // SectionCornerPoints.BeamRect(point, B, A)); + return new PolylineCurve( + SectionCornerPoints.BeamRect(point, B, A, localAxis[1], localAxis[2])); default: throw new ArgumentOutOfRangeException(nameof(type), type, null); } From 4df509048e640fec4802fdab46e4fc80c2d244c2 Mon Sep 17 00:00:00 2001 From: hiron Date: Sat, 21 Aug 2021 14:42:09 +0900 Subject: [PATCH 104/162] Update beam steel section to use local axis --- .../Utils/Geometry/CreateBrepFromStb.cs | 22 +++---- .../Utils/Geometry/SectionCornerPoints.cs | 62 +++++++++---------- 2 files changed, 42 insertions(+), 42 deletions(-) diff --git a/HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs b/HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs index 87319190..e6ae593c 100644 --- a/HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs +++ b/HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs @@ -642,7 +642,7 @@ private Curve GetSteelSec(string shape, Point3d point, SectionType type, Vector3 { foreach (StbSecBuildH buildH in secSteel.StbSecBuildH.Where(buildH => buildH.name == shape)) { - return CurveFromStbSecH(point, type, buildH.A, buildH.B, buildH.t1, buildH.t2); + return CurveFromStbSecH(localAxis, point, type, buildH.A, buildH.B, buildH.t1, buildH.t2); } } @@ -650,7 +650,7 @@ private Curve GetSteelSec(string shape, Point3d point, SectionType type, Vector3 { foreach (StbSecRollH rollH in secSteel.StbSecRollH.Where(rollH => rollH.name == shape)) { - return CurveFromStbSecH(point, type, rollH.A, rollH.B, rollH.t1, rollH.t2); + return CurveFromStbSecH(localAxis, point, type, rollH.A, rollH.B, rollH.t1, rollH.t2); } } @@ -658,7 +658,7 @@ private Curve GetSteelSec(string shape, Point3d point, SectionType type, Vector3 { foreach (StbSecRollL rollL in secSteel.StbSecRollL.Where(rollL => rollL.name == shape)) { - return CurveFromStbSecL(point, type, rollL); + return CurveFromStbSecL(localAxis, point, type, rollL); } } @@ -666,7 +666,7 @@ private Curve GetSteelSec(string shape, Point3d point, SectionType type, Vector3 { foreach (StbSecPipe pipe in secSteel.StbSecPipe.Where(pipe => pipe.name == shape)) { - return CurveFromStbSecPipe(point, type, pipe.D); + return CurveFromStbSecPipe(localAxis, point, type, pipe.D); } } @@ -674,7 +674,7 @@ private Curve GetSteelSec(string shape, Point3d point, SectionType type, Vector3 { foreach (StbSecRoundBar bar in secSteel.StbSecRoundBar.Where(pipe => pipe.name == shape)) { - return CurveFromStbSecPipe(point, type, bar.R); + return CurveFromStbSecPipe(localAxis, point, type, bar.R); } } @@ -687,7 +687,7 @@ private Curve GetSteelSec(string shape, Point3d point, SectionType type, Vector3 throw new ArgumentException("There are no matching steel section"); } - private static Curve CurveFromStbSecPipe(Point3d point, SectionType type, double diameter) + private static Curve CurveFromStbSecPipe(Vector3d[] localAxis, Point3d point, SectionType type, double diameter) { switch (type) { @@ -695,13 +695,13 @@ private static Curve CurveFromStbSecPipe(Point3d point, SectionType type, double case SectionType.Brace: return SectionCornerPoints.ColumnPipe(point, diameter); case SectionType.Beam: - return SectionCornerPoints.BeamPipe(point, diameter); + return SectionCornerPoints.BeamPipe(point, diameter, localAxis[0]); default: throw new ArgumentOutOfRangeException(nameof(type), type, null); } } - private static Curve CurveFromStbSecL(Point3d point, SectionType type, StbSecRollL rollL) + private static Curve CurveFromStbSecL(Vector3d[] localAxis, Point3d point, SectionType type, StbSecRollL rollL) { switch (type) { @@ -711,7 +711,7 @@ private static Curve CurveFromStbSecL(Point3d point, SectionType type, StbSecRol SectionCornerPoints.ColumnL(point, rollL.A, rollL.B, rollL.t1, rollL.t2, rollL.type)); case SectionType.Beam: return new PolylineCurve( - SectionCornerPoints.BeamL(point, rollL.A, rollL.B, rollL.t1, rollL.t2, rollL.type)); + SectionCornerPoints.BeamL(point, rollL.A, rollL.B, rollL.t1, rollL.t2, rollL.type, localAxis[1], localAxis[2])); default: throw new ArgumentOutOfRangeException(nameof(type), type, null); } @@ -733,7 +733,7 @@ private static Curve CurveFromStbSecBox(Vector3d[] localAxis, Point3d point, Sec } } - private static Curve CurveFromStbSecH(Point3d point, SectionType type, double A, double B, double t1, double t2) + private static Curve CurveFromStbSecH(Vector3d[] localAxis, Point3d point, SectionType type, double A, double B, double t1, double t2) { switch (type) { @@ -743,7 +743,7 @@ private static Curve CurveFromStbSecH(Point3d point, SectionType type, double A, SectionCornerPoints.ColumnH(point, A, B, t1, t2)); case SectionType.Beam: return new PolylineCurve( - SectionCornerPoints.BeamH(point, A, B, t1, t2)); + SectionCornerPoints.BeamH(point, A, B, t1, t2, localAxis[1], localAxis[2])); default: throw new ArgumentOutOfRangeException(nameof(type), type, null); } diff --git a/HoaryFox/Component/Utils/Geometry/SectionCornerPoints.cs b/HoaryFox/Component/Utils/Geometry/SectionCornerPoints.cs index 9dda481e..296f2450 100644 --- a/HoaryFox/Component/Utils/Geometry/SectionCornerPoints.cs +++ b/HoaryFox/Component/Utils/Geometry/SectionCornerPoints.cs @@ -122,36 +122,36 @@ public static Point3d[] BeamRect(Point3d pt, double depth, double width, Vector3 // Z | | // ^ 11-10 3 - 2 // o > Y 0 - - - - 1 - public static Point3d[] BeamH(Point3d pt, double height, double width, double tw, double tf) + public static Point3d[] BeamH(Point3d pt, double height, double width, double tw, double tf, Vector3d yAxis, Vector3d zAxis) { return new[] { - new Point3d(pt.X, pt.Y - width / 2, pt.Z - height), - new Point3d(pt.X, pt.Y + width / 2, pt.Z - height), - new Point3d(pt.X, pt.Y + width / 2, pt.Z - height + tf), - new Point3d(pt.X, pt.Y + tw / 2, pt.Z - height + tf), - new Point3d(pt.X, pt.Y + tw / 2, pt.Z - tf), - new Point3d(pt.X, pt.Y + width / 2, pt.Z - tf), - new Point3d(pt.X, pt.Y + width / 2, pt.Z), - new Point3d(pt.X, pt.Y - width / 2, pt.Z), - new Point3d(pt.X, pt.Y - width / 2, pt.Z - tf), - new Point3d(pt.X, pt.Y - tw / 2, pt.Z - tf), - new Point3d(pt.X, pt.Y - tw / 2, pt.Z - height + tf), - new Point3d(pt.X, pt.Y - width / 2, pt.Z - height + tf), - new Point3d(pt.X, pt.Y - width / 2, pt.Z - height) + pt - yAxis * width / 2 - zAxis * height, + pt + yAxis * width / 2 - zAxis * height, + pt + yAxis * width / 2 - zAxis * (height - tf), + pt + yAxis * tw / 2 - zAxis * (height - tf), + pt + yAxis * tw / 2 - zAxis * tf, + pt + yAxis * width / 2 - zAxis * tf, + pt + yAxis * width / 2, + pt - yAxis * width / 2, + pt - yAxis * width / 2 - zAxis * tf, + pt - yAxis * tw / 2 - zAxis * tf, + pt - yAxis * tw / 2 - zAxis * (height - tf), + pt - yAxis * width / 2 - zAxis * (height - tf), + pt - yAxis * width / 2 - zAxis * height, }; } - public static Point3d[] BeamL(Point3d pt, double height, double width, double tw, double tf, StbSecRollLType type) + public static Point3d[] BeamL(Point3d pt, double height, double width, double tw, double tf, StbSecRollLType type, Vector3d yAxis, Vector3d zAxis) { switch (type) { case StbSecRollLType.SINGLE: - return BeamLSingle(pt, height, width, tw, tf); + return BeamLSingle(pt, height, width, tw, tf, yAxis, zAxis); case StbSecRollLType.BACKTOBACK: - return BeamLBackToBack(pt, height, width, tw, tf); + return BeamLBackToBack(pt, height, width, tw, tf, yAxis, zAxis); case StbSecRollLType.FACETOFACE: - return BeamLFaceToFace(pt, height, width, tw, tf); + return BeamLFaceToFace(pt, height, width, tw, tf, yAxis, zAxis); default: throw new ArgumentOutOfRangeException(nameof(type), type, null); } @@ -162,17 +162,17 @@ public static Point3d[] BeamL(Point3d pt, double height, double width, double tw // Z | 2 - - 3 // ^ | | // o > Y 0 1 - private static Point3d[] BeamLSingle(Point3d pt, double height, double width, double tw, double tf) + private static Point3d[] BeamLSingle(Point3d pt, double height, double width, double tw, double tf, Vector3d yAxis, Vector3d zAxis) { return new[] { - new Point3d(pt.X, pt.Y - width/2, pt.Z - height), - new Point3d(pt.X, pt.Y - width/2 + tw, pt.Z - height), - new Point3d(pt.X, pt.Y - width/2 + tw, pt.Z - tf), - new Point3d(pt.X, pt.Y + width/2, pt.Z - tf), - new Point3d(pt.X, pt.Y + width/2, pt.Z), - new Point3d(pt.X, pt.Y - width/2, pt.Z), - new Point3d(pt.X, pt.Y - width/2, pt.Z - height), + pt - yAxis * width / 2 - zAxis * height, + pt - yAxis * (width / 2 - tw) - zAxis * height, + pt - yAxis * (width / 2 - tw) - zAxis * tf, + pt + yAxis * width / 2 - zAxis * tf, + pt + yAxis * width / 2, + pt - yAxis * width / 2, + pt - yAxis * width / 2 - zAxis * height }; } @@ -180,7 +180,7 @@ private static Point3d[] BeamLSingle(Point3d pt, double height, double width, do // Z 6 - 7 2 - 3 // ^ | | // o > Y 0 - 1 - private static Point3d[] BeamLBackToBack(Point3d pt, double height, double width, double tw, double tf) + private static Point3d[] BeamLBackToBack(Point3d pt, double height, double width, double tw, double tf, Vector3d yAxis, Vector3d zAxis) { throw new NotImplementedException(); } @@ -189,16 +189,16 @@ private static Point3d[] BeamLBackToBack(Point3d pt, double height, double width // Z | 2 - 3 | // ^ | | | | // o > Y 0 - 1 4 - 5 - private static Point3d[] BeamLFaceToFace(Point3d pt, double height, double width, double tw, double tf) + private static Point3d[] BeamLFaceToFace(Point3d pt, double height, double width, double tw, double tf, Vector3d yAxis, Vector3d zAxis) { throw new NotImplementedException(); } - internal static Curve BeamPipe(Point3d pt, double d) + internal static Curve BeamPipe(Point3d pt, double d, Vector3d xAxis) { - Point3d centerPt = new Point3d(pt.X, pt.Y, pt.Z - d / 2); - Plane plane = new Plane(centerPt, Vector3d.XAxis); + var centerPt = new Point3d(pt.X, pt.Y, pt.Z - d / 2); + var plane = new Plane(centerPt, xAxis); return new ArcCurve(new Circle(plane, d / 2)); } } From 54a463efe5250519e1a8f05bec108d69b7981ad9 Mon Sep 17 00:00:00 2001 From: hiron Date: Sat, 21 Aug 2021 16:15:14 +0900 Subject: [PATCH 105/162] Update column section to use local axis --- .../Utils/Geometry/CreateBrepFromStb.cs | 29 ++++--- .../Utils/Geometry/SectionCornerPoints.cs | 75 +++++++++---------- 2 files changed, 54 insertions(+), 50 deletions(-) diff --git a/HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs b/HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs index e6ae593c..0401acb1 100644 --- a/HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs +++ b/HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs @@ -134,28 +134,29 @@ private Brep CreateColumnBrep(string idSection, double rotate, StbColumnKind_str private static List SecRcColumnToCurves(object figure, IReadOnlyList sectionPoints) { var curveList = new List(); + Vector3d[] localAxis = CreateLocalAxis(sectionPoints); switch (figure) { case StbSecColumn_RC_Rect rect: curveList.Add(new PolylineCurve( - SectionCornerPoints.ColumnRect(sectionPoints[0], rect.width_X, rect.width_Y))); + SectionCornerPoints.ColumnRect(sectionPoints[0], rect.width_X, rect.width_Y, localAxis[1], localAxis[2]))); curveList.Add(new PolylineCurve( - SectionCornerPoints.ColumnRect(sectionPoints[3], rect.width_X, rect.width_Y))); + SectionCornerPoints.ColumnRect(sectionPoints[3], rect.width_X, rect.width_Y, localAxis[1], localAxis[2]))); break; case StbSecColumn_SRC_Rect rect: curveList.Add(new PolylineCurve( - SectionCornerPoints.ColumnRect(sectionPoints[0], rect.width_X, rect.width_Y))); + SectionCornerPoints.ColumnRect(sectionPoints[0], rect.width_X, rect.width_Y, localAxis[1], localAxis[2]))); curveList.Add(new PolylineCurve( - SectionCornerPoints.ColumnRect(sectionPoints[3], rect.width_X, rect.width_Y))); + SectionCornerPoints.ColumnRect(sectionPoints[3], rect.width_X, rect.width_Y, localAxis[1], localAxis[2]))); break; case StbSecColumn_RC_Circle circle: - curveList.Add(new ArcCurve(new Circle(sectionPoints[0], circle.D / 2d))); - curveList.Add(new ArcCurve(new Circle(sectionPoints[3], circle.D / 2d))); + curveList.Add(SectionCornerPoints.ColumnPipe(sectionPoints[0], circle.D, localAxis[0])); + curveList.Add(SectionCornerPoints.ColumnPipe(sectionPoints[3], circle.D, localAxis[0])); break; case StbSecColumn_SRC_Circle circle: - curveList.Add(new ArcCurve(new Circle(sectionPoints[0], circle.D / 2d))); - curveList.Add(new ArcCurve(new Circle(sectionPoints[3], circle.D / 2d))); + curveList.Add(SectionCornerPoints.ColumnPipe(sectionPoints[0], circle.D, localAxis[0])); + curveList.Add(SectionCornerPoints.ColumnPipe(sectionPoints[3], circle.D, localAxis[0])); break; default: throw new Exception(); @@ -365,6 +366,10 @@ private static Vector3d[] CreateLocalAxis(IReadOnlyList sectionPoints) { var xAxis = new Vector3d(sectionPoints[3] - sectionPoints[0]); var yAxis = Vector3d.CrossProduct(Vector3d.ZAxis, xAxis); + if (yAxis == Vector3d.Zero) + { + yAxis = -Vector3d.XAxis; + } var zAxis = Vector3d.CrossProduct(xAxis, yAxis); xAxis.Unitize(); yAxis.Unitize(); @@ -693,7 +698,7 @@ private static Curve CurveFromStbSecPipe(Vector3d[] localAxis, Point3d point, Se { case SectionType.Column: case SectionType.Brace: - return SectionCornerPoints.ColumnPipe(point, diameter); + return SectionCornerPoints.ColumnPipe(point, diameter, localAxis[0]); case SectionType.Beam: return SectionCornerPoints.BeamPipe(point, diameter, localAxis[0]); default: @@ -708,7 +713,7 @@ private static Curve CurveFromStbSecL(Vector3d[] localAxis, Point3d point, Secti case SectionType.Column: case SectionType.Brace: return new PolylineCurve( - SectionCornerPoints.ColumnL(point, rollL.A, rollL.B, rollL.t1, rollL.t2, rollL.type)); + SectionCornerPoints.ColumnL(point, rollL.A, rollL.B, rollL.t1, rollL.t2, rollL.type, localAxis[1], localAxis[2])); case SectionType.Beam: return new PolylineCurve( SectionCornerPoints.BeamL(point, rollL.A, rollL.B, rollL.t1, rollL.t2, rollL.type, localAxis[1], localAxis[2])); @@ -724,7 +729,7 @@ private static Curve CurveFromStbSecBox(Vector3d[] localAxis, Point3d point, Sec case SectionType.Column: case SectionType.Brace: return new PolylineCurve( - SectionCornerPoints.ColumnRect(point, B, A)); + SectionCornerPoints.ColumnRect(point, B, A, localAxis[1], localAxis[2])); case SectionType.Beam: return new PolylineCurve( SectionCornerPoints.BeamRect(point, B, A, localAxis[1], localAxis[2])); @@ -740,7 +745,7 @@ private static Curve CurveFromStbSecH(Vector3d[] localAxis, Point3d point, Secti case SectionType.Column: case SectionType.Brace: return new PolylineCurve( - SectionCornerPoints.ColumnH(point, A, B, t1, t2)); + SectionCornerPoints.ColumnH(point, A, B, t1, t2, localAxis[1], localAxis[2])); case SectionType.Beam: return new PolylineCurve( SectionCornerPoints.BeamH(point, A, B, t1, t2, localAxis[1], localAxis[2])); diff --git a/HoaryFox/Component/Utils/Geometry/SectionCornerPoints.cs b/HoaryFox/Component/Utils/Geometry/SectionCornerPoints.cs index 296f2450..88c6215b 100644 --- a/HoaryFox/Component/Utils/Geometry/SectionCornerPoints.cs +++ b/HoaryFox/Component/Utils/Geometry/SectionCornerPoints.cs @@ -9,15 +9,15 @@ public static class SectionCornerPoints // Y 3 - 2 // ^ | o | // o > X 0 - 1 - public static Point3d[] ColumnRect(Point3d pt, double width, double height) + public static Point3d[] ColumnRect(Point3d pt, double width, double height, Vector3d xAxis, Vector3d yAxis) { return new[] { - new Point3d(pt.X - width / 2, pt.Y - height / 2, pt.Z), - new Point3d(pt.X + width / 2, pt.Y - height / 2, pt.Z), - new Point3d(pt.X + width / 2, pt.Y + height / 2, pt.Z), - new Point3d(pt.X - width / 2, pt.Y + height / 2, pt.Z), - new Point3d(pt.X - width / 2, pt.Y - height / 2, pt.Z), + pt - xAxis * width / 2 - yAxis * height / 2, + pt + xAxis * width / 2 - yAxis * height / 2, + pt + xAxis * width / 2 + yAxis * height / 2, + pt - xAxis * width / 2 + yAxis * height / 2, + pt - xAxis * width / 2 - yAxis * height / 2, }; } @@ -26,59 +26,58 @@ public static Point3d[] ColumnRect(Point3d pt, double width, double height) // Y |o| // ^ 11-10 3 - 2 // o > X 0 - - - - 1 - public static Point3d[] ColumnH(Point3d pt, double height, double width, double tw, double tf) + public static Point3d[] ColumnH(Point3d pt, double height, double width, double tw, double tf, Vector3d xAxis, Vector3d yAxis) { return new[] { - new Point3d(pt.X - width / 2, pt.Y - height / 2, pt.Z), - new Point3d(pt.X + width / 2, pt.Y - height / 2, pt.Z), - new Point3d(pt.X + width / 2, pt.Y - height / 2 + tf, pt.Z), - new Point3d(pt.X + tw / 2, pt.Y - height / 2 + tf, pt.Z), - new Point3d(pt.X + tw / 2, pt.Y + height / 2 - tf, pt.Z), - new Point3d(pt.X + width / 2, pt.Y + height / 2 - tf, pt.Z), - new Point3d(pt.X + width / 2, pt.Y + height / 2, pt.Z), - new Point3d(pt.X - width / 2, pt.Y + height / 2, pt.Z), - new Point3d(pt.X - width / 2, pt.Y + height / 2 - tf, pt.Z), - new Point3d(pt.X - tw / 2, pt.Y + height / 2 - tf, pt.Z), - new Point3d(pt.X - tw / 2, pt.Y - height / 2 + tf, pt.Z), - new Point3d(pt.X - width / 2, pt.Y - height / 2 + tf, pt.Z), - new Point3d(pt.X - width / 2, pt.Y - height / 2, pt.Z) + pt - xAxis * width / 2 - yAxis * height / 2, + pt + xAxis * width / 2 - yAxis * height / 2, + pt + xAxis * width / 2 - yAxis * (height / 2 - tf), + pt + xAxis * tw / 2 - yAxis * (height / 2 - tf), + pt + xAxis * tw / 2 + yAxis * (height / 2 - tf), + pt + xAxis * width / 2 + yAxis * (height / 2 - tf), + pt + xAxis * width / 2 + yAxis * height / 2, + pt - xAxis * width / 2 + yAxis * height / 2, + pt - xAxis * width / 2 + yAxis * (height / 2 - tf), + pt - xAxis * tw / 2 + yAxis * (height / 2 - tf), + pt - xAxis * tw / 2 - yAxis * (height / 2 - tf), + pt - xAxis * width / 2 - yAxis * (height / 2 - tf), + pt - xAxis * width / 2 - yAxis * height / 2, }; } - public static Point3d[] ColumnL(Point3d pt, double height, double width, double tw, double tf, StbSecRollLType type) + public static Point3d[] ColumnL(Point3d pt, double height, double width, double tw, double tf, StbSecRollLType type, Vector3d xAxis, Vector3d yAxis) { switch (type) { case StbSecRollLType.SINGLE: - return ColumnLSingle(pt, height, width, tw, tf); + return ColumnLSingle(pt, height, width, tw, tf, xAxis, yAxis); case StbSecRollLType.BACKTOBACK: - return ColumnLBackToBack(pt, height, width, tw, tf); + return ColumnLBackToBack(pt, height, width, tw, tf, xAxis, yAxis); case StbSecRollLType.FACETOFACE: - return ColumnLFaceToFace(pt, height, width, tw, tf); + return ColumnLFaceToFace(pt, height, width, tw, tf, xAxis, yAxis); default: throw new ArgumentOutOfRangeException(nameof(type), type, null); } } // TODO: 重心位置をちゃんと計算する - // 今は 0-5 間長さと 4-5 間長さ から計算していて板厚を考慮していない。 + // 今は バウンディングボックスの図心 = STBの節点位置 になっている。 // 5 - - 4 // Y | 2 - 3 // ^ | | o // o > X 0 1 - private static Point3d[] ColumnLSingle(Point3d pt, double height, double width, double tw, double tf) + private static Point3d[] ColumnLSingle(Point3d pt, double height, double width, double tw, double tf, Vector3d xAxis, Vector3d yAxis) { - var cpt = new Point3d(width / 2 * height / (height + width), height / 2 * width / (height + width), 0); return new[] { - new Point3d(pt.X - cpt.X, pt.Y - (height - cpt.Y), pt.Z), - new Point3d(pt.X - (cpt.X + tw), pt.Y - (height - cpt.Y), pt.Z), - new Point3d(pt.X - (cpt.X + tw), pt.Y + (cpt.Y - tf), pt.Z), - new Point3d(pt.X + (width - cpt.X), pt.Y + (cpt.Y - tf), pt.Z), - new Point3d(pt.X + (width - cpt.X), pt.Y + cpt.Y, pt.Z), - new Point3d(pt.X - cpt.X, pt.Y + cpt.Y, pt.Z), - new Point3d(pt.X - cpt.X, pt.Y - (height - cpt.Y), pt.Z), + pt - xAxis * width / 2 - yAxis * height / 2, + pt - xAxis * (width / 2 - tw) - yAxis * height / 2, + pt - xAxis * (width / 2 - tw) + yAxis * (height / 2 - tf), + pt + xAxis * width / 2 + yAxis * (height / 2 - tf), + pt + xAxis * width / 2 + yAxis * height / 2, + pt - xAxis * width / 2 + yAxis * height / 2, + pt - xAxis * width / 2 - yAxis * height / 2, }; } @@ -86,19 +85,19 @@ private static Point3d[] ColumnLSingle(Point3d pt, double height, double width, // Y 6 - 7 2 - 3 // ^ | o | // o > X 0 - 1 - private static Point3d[] ColumnLBackToBack(Point3d pt, double height, double width, double tw, double tf) + private static Point3d[] ColumnLBackToBack(Point3d pt, double height, double width, double tw, double tf, Vector3d xAxis, Vector3d yAxis) { throw new NotImplementedException(); } - private static Point3d[] ColumnLFaceToFace(Point3d pt, double height, double width, double tw, double tf) + private static Point3d[] ColumnLFaceToFace(Point3d pt, double height, double width, double tw, double tf, Vector3d xAxis, Vector3d yAxis) { throw new NotImplementedException(); } - internal static Curve ColumnPipe(Point3d pt, double d) + internal static Curve ColumnPipe(Point3d pt, double d, Vector3d zAxis) { - Plane plane = new Plane(pt, Vector3d.ZAxis); + Plane plane = new Plane(pt, zAxis); return new ArcCurve(new Circle(plane, d / 2)); } From ab40c4d077bf6dad202d4dfa6e1cd2c9ec1bc9b5 Mon Sep 17 00:00:00 2001 From: hiron Date: Sat, 21 Aug 2021 16:27:49 +0900 Subject: [PATCH 106/162] Update localAxis.x rotate --- .../Utils/Geometry/CreateBrepFromStb.cs | 35 +++++++------------ 1 file changed, 12 insertions(+), 23 deletions(-) diff --git a/HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs b/HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs index 0401acb1..673b1dfd 100644 --- a/HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs +++ b/HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs @@ -125,7 +125,7 @@ private Brep CreateColumnBrep(string idSection, double rotate, StbColumnKind_str throw new ArgumentOutOfRangeException(); } - RotateCurveList(memberAxis, curveList, rotate, sectionPoints, Vector3d.ZAxis); + RotateCurveList(memberAxis, curveList, rotate, sectionPoints); Brep brep = Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] .CapPlanarHoles(_tolerance[0]); return brep; @@ -316,8 +316,7 @@ private Brep CreateGirderBrep(string idSection, double rotate, StbGirderKind_str throw new ArgumentOutOfRangeException(); } - //TODO: ローカル軸での回転を実装する - // RotateCurveList(memberAxis, curveList, rotate, sectionPoints, Vector3d.XAxis); + RotateCurveList(memberAxis, curveList, rotate, sectionPoints); Brep brep = Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] .CapPlanarHoles(_tolerance[0]); return brep; @@ -522,7 +521,7 @@ private Brep CreateBraceBrep(string idSection, double rotate, StbBraceKind_struc throw new ArgumentOutOfRangeException(); } - RotateCurveList(memberAxis, curveList, rotate, sectionPoints, Vector3d.ZAxis); + RotateCurveList(memberAxis, curveList, rotate, sectionPoints); Brep brep = Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] .CapPlanarHoles(_tolerance[0]); return brep; @@ -572,41 +571,31 @@ private List SecSteelBraceToCurves(IReadOnlyList figures, IReadOn return curveList; } - private static void RotateCurveList(Vector3d memberAxis, IReadOnlyList curveList, double stbRotateValue, IReadOnlyList sectionPoints, Vector3d secLocalAxis) + private static void RotateCurveList(Vector3d rotateAxis, IReadOnlyList curveList, double stbRotateValue, IReadOnlyList sectionPoints) { - Vector3d rotateAxis = Vector3d.CrossProduct(secLocalAxis, memberAxis); - double outPlaneAngle = Vector3d.VectorAngle(secLocalAxis, memberAxis); double inPlaneAngle = stbRotateValue * Math.PI / 180; - int len = curveList.Count; - switch (len) + switch (curveList.Count) { case 2: - curveList[0].Rotate(inPlaneAngle, secLocalAxis, sectionPoints[0]); // 断面内の回転 - curveList[0].Rotate(outPlaneAngle, rotateAxis, sectionPoints[0]); // 断面外の回転 - curveList[1].Rotate(inPlaneAngle, secLocalAxis, sectionPoints[3]); - curveList[1].Rotate(outPlaneAngle, rotateAxis, sectionPoints[3]); + curveList[0].Rotate(inPlaneAngle, rotateAxis, sectionPoints[0]); + curveList[1].Rotate(inPlaneAngle, rotateAxis, sectionPoints[3]); break; case 3: - curveList[0].Rotate(inPlaneAngle, secLocalAxis, sectionPoints[0]); - curveList[0].Rotate(outPlaneAngle, rotateAxis, sectionPoints[0]); - curveList[2].Rotate(inPlaneAngle, secLocalAxis, sectionPoints[3]); - curveList[2].Rotate(outPlaneAngle, rotateAxis, sectionPoints[3]); + curveList[0].Rotate(inPlaneAngle, rotateAxis, sectionPoints[0]); + curveList[2].Rotate(inPlaneAngle, rotateAxis, sectionPoints[3]); if (sectionPoints[2] == sectionPoints[3]) { - curveList[1].Rotate(inPlaneAngle, secLocalAxis, sectionPoints[1]); - curveList[1].Rotate(outPlaneAngle, rotateAxis, sectionPoints[1]); + curveList[1].Rotate(inPlaneAngle, rotateAxis, sectionPoints[1]); } else { - curveList[1].Rotate(inPlaneAngle, secLocalAxis, sectionPoints[2]); - curveList[1].Rotate(outPlaneAngle, rotateAxis, sectionPoints[2]); + curveList[1].Rotate(inPlaneAngle, rotateAxis, sectionPoints[2]); } break; case 4: for (var i = 0; i < 4; i++) { - curveList[i].Rotate(inPlaneAngle, secLocalAxis, sectionPoints[i]); - curveList[i].Rotate(outPlaneAngle, rotateAxis, sectionPoints[i]); + curveList[i].Rotate(inPlaneAngle, rotateAxis, sectionPoints[i]); } break; default: From 7c428c5252726107ac6e07bff1d38a82016bbb6f Mon Sep 17 00:00:00 2001 From: hiron Date: Sat, 21 Aug 2021 17:38:20 +0900 Subject: [PATCH 107/162] Clean code --- HoaryFox/Component/Geometry/Stb2Brep.cs | 2 +- .../Utils/Geometry/BrepMaker/Brace.cs | 88 ++ .../Utils/Geometry/BrepMaker/Column.cs | 135 +++ .../Utils/Geometry/BrepMaker/Girder.cs | 176 ++++ .../Utils/Geometry/BrepMaker/Slab.cs | 51 + .../Utils/Geometry/BrepMaker/SteelSections.cs | 148 +++ .../Utils/Geometry/BrepMaker/Utils.cs | 63 ++ .../Utils/Geometry/BrepMaker/Wall.cs | 14 + .../Utils/Geometry/CreateBrepFromStb.cs | 891 ------------------ .../Geometry/CreateMemberBrepListFromStb.cs | 311 ++++++ 10 files changed, 987 insertions(+), 892 deletions(-) create mode 100644 HoaryFox/Component/Utils/Geometry/BrepMaker/Brace.cs create mode 100644 HoaryFox/Component/Utils/Geometry/BrepMaker/Column.cs create mode 100644 HoaryFox/Component/Utils/Geometry/BrepMaker/Girder.cs create mode 100644 HoaryFox/Component/Utils/Geometry/BrepMaker/Slab.cs create mode 100644 HoaryFox/Component/Utils/Geometry/BrepMaker/SteelSections.cs create mode 100644 HoaryFox/Component/Utils/Geometry/BrepMaker/Utils.cs create mode 100644 HoaryFox/Component/Utils/Geometry/BrepMaker/Wall.cs delete mode 100644 HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs create mode 100644 HoaryFox/Component/Utils/Geometry/CreateMemberBrepListFromStb.cs diff --git a/HoaryFox/Component/Geometry/Stb2Brep.cs b/HoaryFox/Component/Geometry/Stb2Brep.cs index b2092abb..c2343813 100644 --- a/HoaryFox/Component/Geometry/Stb2Brep.cs +++ b/HoaryFox/Component/Geometry/Stb2Brep.cs @@ -71,7 +71,7 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) private void CreateBrep() { StbMembers member = _stBridge.StbModel.StbMembers; - var brepFromStb = new CreateBrepFromStb(_stBridge.StbModel.StbSections, _stBridge.StbModel.StbNodes, new[] { DocumentTolerance(), DocumentAngleTolerance() }); + var brepFromStb = new CreateMemberBrepListFromStb(_stBridge.StbModel.StbSections, _stBridge.StbModel.StbNodes, new[] { DocumentTolerance(), DocumentAngleTolerance() }); _brepList.Add(brepFromStb.Column(member.StbColumns)); _brepList.Add(brepFromStb.Girder(member.StbGirders)); _brepList.Add(brepFromStb.Post(member.StbPosts)); diff --git a/HoaryFox/Component/Utils/Geometry/BrepMaker/Brace.cs b/HoaryFox/Component/Utils/Geometry/BrepMaker/Brace.cs new file mode 100644 index 00000000..f3637fd6 --- /dev/null +++ b/HoaryFox/Component/Utils/Geometry/BrepMaker/Brace.cs @@ -0,0 +1,88 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Rhino.Geometry; +using STBDotNet.v202; + +namespace HoaryFox.Component.Utils.Geometry.BrepMaker +{ + public class Brace + { + private readonly IReadOnlyList _tolerance; + private readonly StbSections _sections; + + public Brace(StbSections sections, IReadOnlyList tolerance) + { + _tolerance = tolerance; + _sections = sections; + } + + public Brep CreateBraceBrep(string idSection, double rotate, StbBraceKind_structure kind, IReadOnlyList sectionPoints, Vector3d memberAxis) + { + var curveList = new List(); + + switch (kind) + { + case StbBraceKind_structure.S: + StbSecBrace_S sSec = _sections.StbSecBrace_S.First(sec => sec.id == idSection); + object[] figures = sSec.StbSecSteelFigureBrace_S.Items; + curveList = SecSteelBraceToCurves(figures, sectionPoints); + break; + case StbBraceKind_structure.RC: + case StbBraceKind_structure.SRC: + throw new ArgumentException("Unsupported brace structure type"); + default: + throw new ArgumentOutOfRangeException(); + } + + Utils.RotateCurveList(memberAxis, curveList, rotate, sectionPoints); + Brep brep = Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] + .CapPlanarHoles(_tolerance[0]); + return brep; + } + + private List SecSteelBraceToCurves(IReadOnlyList figures, IReadOnlyList sectionPoints) + { + var curveList = new List(); + string start, center, end; + Vector3d[] localAxis = Utils.CreateLocalAxis(sectionPoints); + + switch (figures.Count) + { + case 1: + var same = figures[0] as StbSecSteelBrace_S_Same; + center = same.shape; + curveList.Add(SteelSections.GetCurve(_sections.StbSecSteel, center, sectionPoints[0], Utils.SectionType.Brace, localAxis)); + curveList.Add(SteelSections.GetCurve(_sections.StbSecSteel, center, sectionPoints[3], Utils.SectionType.Brace, localAxis)); + break; + case 2: + var notSames = new[] { figures[0] as StbSecSteelBrace_S_NotSame, figures[1] as StbSecSteelBrace_S_NotSame }; + start = notSames.First(sec => sec.pos == StbSecSteelBrace_S_NotSamePos.BOTTOM).shape; + end = notSames.First(sec => sec.pos == StbSecSteelBrace_S_NotSamePos.TOP).shape; + curveList.Add(SteelSections.GetCurve(_sections.StbSecSteel, start, sectionPoints[0], Utils.SectionType.Brace, localAxis)); + curveList.Add(sectionPoints[0] == sectionPoints[1] + ? SteelSections.GetCurve(_sections.StbSecSteel, start, sectionPoints[2], Utils.SectionType.Brace, localAxis) + : SteelSections.GetCurve(_sections.StbSecSteel, start, sectionPoints[1], Utils.SectionType.Brace, localAxis)); + curveList.Add(sectionPoints[0] == sectionPoints[1] + ? SteelSections.GetCurve(_sections.StbSecSteel, end, sectionPoints[2], Utils.SectionType.Brace, localAxis) + : SteelSections.GetCurve(_sections.StbSecSteel, end, sectionPoints[1], Utils.SectionType.Brace, localAxis)); + curveList.Add(SteelSections.GetCurve(_sections.StbSecSteel, end, sectionPoints[3], Utils.SectionType.Brace, localAxis)); + break; + case 3: + var three = new[] { figures[0] as StbSecSteelBrace_S_ThreeTypes, figures[1] as StbSecSteelBrace_S_ThreeTypes, figures[2] as StbSecSteelBrace_S_ThreeTypes }; + start = three.First(sec => sec.pos == StbSecSteelBrace_S_ThreeTypesPos.BOTTOM).shape; + center = three.First(sec => sec.pos == StbSecSteelBrace_S_ThreeTypesPos.CENTER).shape; + end = three.First(sec => sec.pos == StbSecSteelBrace_S_ThreeTypesPos.TOP).shape; + curveList.Add(SteelSections.GetCurve(_sections.StbSecSteel, start, sectionPoints[0], Utils.SectionType.Brace, localAxis)); + curveList.Add(SteelSections.GetCurve(_sections.StbSecSteel, center, sectionPoints[1], Utils.SectionType.Brace, localAxis)); + curveList.Add(SteelSections.GetCurve(_sections.StbSecSteel, center, sectionPoints[2], Utils.SectionType.Brace, localAxis)); + curveList.Add(SteelSections.GetCurve(_sections.StbSecSteel, end, sectionPoints[3], Utils.SectionType.Brace, localAxis)); + break; + default: + throw new ArgumentException("Unmatched StbSecSteelBrace_S"); + } + + return curveList; + } + } +} diff --git a/HoaryFox/Component/Utils/Geometry/BrepMaker/Column.cs b/HoaryFox/Component/Utils/Geometry/BrepMaker/Column.cs new file mode 100644 index 00000000..1d289886 --- /dev/null +++ b/HoaryFox/Component/Utils/Geometry/BrepMaker/Column.cs @@ -0,0 +1,135 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Rhino.Geometry; +using STBDotNet.v202; + +namespace HoaryFox.Component.Utils.Geometry.BrepMaker +{ + public class Column + { + private readonly IReadOnlyList _tolerance; + private readonly StbSections _sections; + public Column(StbSections sections, IReadOnlyList tolerance) + { + _tolerance = tolerance; + _sections = sections; + } + + public Brep CreateColumnBrep(string idSection, double rotate, StbColumnKind_structure kind, IReadOnlyList sectionPoints, Vector3d memberAxis) + { + var curveList = new List(); + + switch (kind) + { + case StbColumnKind_structure.RC: + StbSecColumn_RC rcSec = _sections.StbSecColumn_RC.First(sec => sec.id == idSection); + object rcFigure = rcSec.StbSecFigureColumn_RC.Item; + curveList = SecRcColumnToCurves(rcFigure, sectionPoints); + break; + case StbColumnKind_structure.S: + StbSecColumn_S sSec = _sections.StbSecColumn_S.First(sec => sec.id == idSection); + object[] sFigures = sSec.StbSecSteelFigureColumn_S.Items; + curveList = SecSteelColumnToCurves(sFigures, sectionPoints); + break; + case StbColumnKind_structure.SRC: + StbSecColumn_SRC srcSec = _sections.StbSecColumn_SRC.First(sec => sec.id == idSection); + object srcFigure = srcSec.StbSecFigureColumn_SRC.Item; + curveList = SecRcColumnToCurves(srcFigure, sectionPoints); + break; + case StbColumnKind_structure.CFT: + case StbColumnKind_structure.UNDEFINED: + break; + default: + throw new ArgumentOutOfRangeException(); + } + + Utils.RotateCurveList(memberAxis, curveList, rotate, sectionPoints); + Brep brep = Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] + .CapPlanarHoles(_tolerance[0]); + return brep; + } + + private static List SecRcColumnToCurves(object figure, IReadOnlyList sectionPoints) + { + var curveList = new List(); + Vector3d[] localAxis = Utils.CreateLocalAxis(sectionPoints); + + switch (figure) + { + case StbSecColumn_RC_Rect rect: + curveList.Add(new PolylineCurve( + SectionCornerPoints.ColumnRect(sectionPoints[0], rect.width_X, rect.width_Y, localAxis[1], localAxis[2]))); + curveList.Add(new PolylineCurve( + SectionCornerPoints.ColumnRect(sectionPoints[3], rect.width_X, rect.width_Y, localAxis[1], localAxis[2]))); + break; + case StbSecColumn_SRC_Rect rect: + curveList.Add(new PolylineCurve( + SectionCornerPoints.ColumnRect(sectionPoints[0], rect.width_X, rect.width_Y, localAxis[1], localAxis[2]))); + curveList.Add(new PolylineCurve( + SectionCornerPoints.ColumnRect(sectionPoints[3], rect.width_X, rect.width_Y, localAxis[1], localAxis[2]))); + break; + case StbSecColumn_RC_Circle circle: + curveList.Add(SectionCornerPoints.ColumnPipe(sectionPoints[0], circle.D, localAxis[0])); + curveList.Add(SectionCornerPoints.ColumnPipe(sectionPoints[3], circle.D, localAxis[0])); + break; + case StbSecColumn_SRC_Circle circle: + curveList.Add(SectionCornerPoints.ColumnPipe(sectionPoints[0], circle.D, localAxis[0])); + curveList.Add(SectionCornerPoints.ColumnPipe(sectionPoints[3], circle.D, localAxis[0])); + break; + default: + throw new Exception(); + } + + return curveList; + } + + private List SecSteelColumnToCurves(IReadOnlyList figures, IReadOnlyList sectionPoints) + { + var curveList = new List(); + Vector3d[] localAxis = Utils.CreateLocalAxis(sectionPoints); + + string bottom, center, top; + switch (figures.Count) + { + case 1: + var same = figures[0] as StbSecSteelColumn_S_Same; + center = same.shape; + curveList.Add(SteelSections.GetCurve(_sections.StbSecSteel, center, sectionPoints[0], Utils.SectionType.Column, localAxis)); + curveList.Add(SteelSections.GetCurve(_sections.StbSecSteel, center, sectionPoints[3], Utils.SectionType.Column, localAxis)); + break; + case 2: + var notSames = new[] { figures[0] as StbSecSteelColumn_S_NotSame, figures[1] as StbSecSteelColumn_S_NotSame }; + bottom = notSames.First(item => item.pos == StbSecSteelColumn_S_NotSamePos.BOTTOM).shape; + top = notSames.First(item => item.pos == StbSecSteelColumn_S_NotSamePos.TOP).shape; + curveList.Add(SteelSections.GetCurve(_sections.StbSecSteel, bottom, sectionPoints[0], Utils.SectionType.Column, localAxis)); + if (sectionPoints[1].Z > sectionPoints[0].Z) + { + curveList.Add(SteelSections.GetCurve(_sections.StbSecSteel, bottom, sectionPoints[1], Utils.SectionType.Column, localAxis)); + curveList.Add(SteelSections.GetCurve(_sections.StbSecSteel, top, sectionPoints[1], Utils.SectionType.Column, localAxis)); + } + else + { + curveList.Add(SteelSections.GetCurve(_sections.StbSecSteel, bottom, sectionPoints[2], Utils.SectionType.Column, localAxis)); + curveList.Add(SteelSections.GetCurve(_sections.StbSecSteel, top, sectionPoints[2], Utils.SectionType.Column, localAxis)); + } + curveList.Add(SteelSections.GetCurve(_sections.StbSecSteel, top, sectionPoints[3], Utils.SectionType.Column, localAxis)); + break; + case 3: + var three = new[] { figures[0] as StbSecSteelColumn_S_ThreeTypes, figures[1] as StbSecSteelColumn_S_ThreeTypes, figures[2] as StbSecSteelColumn_S_ThreeTypes }; + bottom = three.First(item => item.pos == StbSecSteelColumn_S_ThreeTypesPos.BOTTOM).shape; + center = three.First(item => item.pos == StbSecSteelColumn_S_ThreeTypesPos.CENTER).shape; + top = three.First(item => item.pos == StbSecSteelColumn_S_ThreeTypesPos.TOP).shape; + curveList.Add(SteelSections.GetCurve(_sections.StbSecSteel, bottom, sectionPoints[0], Utils.SectionType.Column, localAxis)); + curveList.Add(SteelSections.GetCurve(_sections.StbSecSteel, center, sectionPoints[1], Utils.SectionType.Column, localAxis)); + curveList.Add(SteelSections.GetCurve(_sections.StbSecSteel, center, sectionPoints[2], Utils.SectionType.Column, localAxis)); + curveList.Add(SteelSections.GetCurve(_sections.StbSecSteel, top, sectionPoints[3], Utils.SectionType.Column, localAxis)); + break; + default: + throw new ArgumentException("Unmatched StbSecSteelColumn_S"); + } + + return curveList; + } + } +} diff --git a/HoaryFox/Component/Utils/Geometry/BrepMaker/Girder.cs b/HoaryFox/Component/Utils/Geometry/BrepMaker/Girder.cs new file mode 100644 index 00000000..8566086e --- /dev/null +++ b/HoaryFox/Component/Utils/Geometry/BrepMaker/Girder.cs @@ -0,0 +1,176 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Rhino.Geometry; +using STBDotNet.v202; + +namespace HoaryFox.Component.Utils.Geometry.BrepMaker +{ + public class Girder + { + private readonly IReadOnlyList _tolerance; + private readonly StbSections _sections; + public Girder(StbSections sections, IReadOnlyList tolerance) + { + _tolerance = tolerance; + _sections = sections; + } + public Brep CreateGirderBrep(string idSection, double rotate, StbGirderKind_structure kind, IReadOnlyList sectionPoints, Vector3d memberAxis) + { + var curveList = new List(); + switch (kind) + { + case StbGirderKind_structure.RC: + StbSecBeam_RC rcSec = _sections.StbSecBeam_RC.First(sec => sec.id == idSection); + object[] rcFigure = rcSec.StbSecFigureBeam_RC.Items; + curveList = SecRcBeamCurves(rcFigure, sectionPoints); + break; + case StbGirderKind_structure.S: + StbSecBeam_S sSec = _sections.StbSecBeam_S.First(sec => sec.id == idSection); + object[] sFigure = sSec.StbSecSteelFigureBeam_S.Items; + curveList = SecSteelBeamToCurves(sFigure, sectionPoints); + break; + case StbGirderKind_structure.SRC: + StbSecBeam_SRC srcSec = _sections.StbSecBeam_SRC.First(sec => sec.id == idSection); + object[] srcFigure = srcSec.StbSecFigureBeam_SRC.Items; + curveList = SecSrcBeamCurves(srcFigure, sectionPoints); + break; + case StbGirderKind_structure.UNDEFINED: + default: + throw new ArgumentOutOfRangeException(); + } + + Utils.RotateCurveList(memberAxis, curveList, rotate, sectionPoints); + Brep brep = Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] + .CapPlanarHoles(_tolerance[0]); + return brep; + } + + + private static List SecRcBeamCurves(IReadOnlyList figures, IReadOnlyList sectionPoints) + { + var curveList = new List(); + Vector3d[] localAxis = Utils.CreateLocalAxis(sectionPoints); + + switch (figures.Count) + { + case 1: + var straight = figures[0] as StbSecBeam_RC_Straight; + curveList.Add(new PolylineCurve( + SectionCornerPoints.BeamRect(sectionPoints[0], straight.depth, straight.width, localAxis[1], localAxis[2]))); + curveList.Add(new PolylineCurve( + SectionCornerPoints.BeamRect(sectionPoints[3], straight.depth, straight.width, localAxis[1], localAxis[2]))); + break; + case 2: + var taper = new[] { figures[0] as StbSecBeam_RC_Taper, figures[1] as StbSecBeam_RC_Taper }; + curveList.Add(new PolylineCurve( + SectionCornerPoints.BeamRect(sectionPoints[0], taper[0].depth, taper[0].width, localAxis[1], localAxis[2]))); + curveList.Add(new PolylineCurve( + SectionCornerPoints.BeamRect(sectionPoints[3], taper[1].depth, taper[1].width, localAxis[1], localAxis[2]))); + break; + case 3: + var haunch = new[] { figures[0] as StbSecBeam_RC_Haunch, figures[1] as StbSecBeam_RC_Haunch, figures[2] as StbSecBeam_RC_Haunch }; + StbSecBeam_RC_Haunch start = haunch.First(fig => fig.pos == StbSecBeam_RC_HaunchPos.START); + StbSecBeam_RC_Haunch center = haunch.First(fig => fig.pos == StbSecBeam_RC_HaunchPos.CENTER); + StbSecBeam_RC_Haunch end = haunch.First(fig => fig.pos == StbSecBeam_RC_HaunchPos.END); + curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[0], start.depth, start.width, localAxis[1], localAxis[2]))); + curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[1], center.depth, center.width, localAxis[1], localAxis[2]))); + curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[2], center.depth, center.width, localAxis[1], localAxis[2]))); + curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[3], end.depth, end.width, localAxis[1], localAxis[2]))); + break; + default: + throw new Exception(); + } + + return curveList; + } + + private static List SecSrcBeamCurves(IReadOnlyList figures, IReadOnlyList sectionPoints) + { + var curveList = new List(); + Vector3d[] localAxis = Utils.CreateLocalAxis(sectionPoints); + + switch (figures.Count) + { + case 1: + var straight = figures[0] as StbSecBeam_SRC_Straight; + curveList.Add(new PolylineCurve( + SectionCornerPoints.BeamRect(sectionPoints[0], straight.depth, straight.width, localAxis[1], localAxis[2]))); + curveList.Add(new PolylineCurve( + SectionCornerPoints.BeamRect(sectionPoints[3], straight.depth, straight.width, localAxis[1], localAxis[2]))); + break; + case 2: + var taper = new[] { figures[0] as StbSecBeam_SRC_Taper, figures[1] as StbSecBeam_SRC_Taper }; + curveList.Add(new PolylineCurve( + SectionCornerPoints.BeamRect(sectionPoints[0], taper[0].depth, taper[0].width, localAxis[1], localAxis[2]))); + curveList.Add(new PolylineCurve( + SectionCornerPoints.BeamRect(sectionPoints[3], taper[1].depth, taper[1].width, localAxis[1], localAxis[2]))); + break; + case 3: + var haunch = new[] { figures[0] as StbSecBeam_SRC_Haunch, figures[1] as StbSecBeam_SRC_Haunch, figures[2] as StbSecBeam_SRC_Haunch }; + StbSecBeam_SRC_Haunch start = haunch.First(fig => fig.pos == StbSecBeam_RC_HaunchPos.START); + StbSecBeam_SRC_Haunch center = haunch.First(fig => fig.pos == StbSecBeam_RC_HaunchPos.CENTER); + StbSecBeam_SRC_Haunch end = haunch.First(fig => fig.pos == StbSecBeam_RC_HaunchPos.END); + curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[0], start.depth, start.width, localAxis[1], localAxis[2]))); + curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[1], center.depth, center.width, localAxis[1], localAxis[2]))); + curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[2], center.depth, center.width, localAxis[1], localAxis[2]))); + curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[3], end.depth, end.width, localAxis[1], localAxis[2]))); + break; + default: + throw new Exception(); + } + + return curveList; + } + + private List SecSteelBeamToCurves(IReadOnlyList figures, IReadOnlyList sectionPoints) + { + var curveList = new List(); + string start, center, end; + Vector3d[] localAxis = Utils.CreateLocalAxis(sectionPoints); + + switch (figures.Count) + { + case 1: + var straight = figures[0] as StbSecSteelBeam_S_Straight; + center = straight.shape; + curveList.Add(SteelSections.GetCurve(_sections.StbSecSteel, center, sectionPoints[0], Utils.SectionType.Beam, localAxis)); + curveList.Add(SteelSections.GetCurve(_sections.StbSecSteel, center, sectionPoints[3], Utils.SectionType.Beam, localAxis)); + break; + case 2: + var tapers = new[] { figures[0] as StbSecSteelBeam_S_Taper, figures[1] as StbSecSteelBeam_S_Taper }; + start = tapers.First(sec => sec.pos == StbSecSteelBeam_S_TaperPos.START).shape; + end = tapers.First(sec => sec.pos == StbSecSteelBeam_S_TaperPos.END).shape; + curveList.Add(SteelSections.GetCurve(_sections.StbSecSteel, start, sectionPoints[0], Utils.SectionType.Beam, localAxis)); + curveList.Add(SteelSections.GetCurve(_sections.StbSecSteel, end, sectionPoints[3], Utils.SectionType.Beam, localAxis)); + break; + case 3: + if (figures[0] is StbSecSteelBeam_S_Haunch) + { + var haunch = new[] { figures[0] as StbSecSteelBeam_S_Haunch, figures[1] as StbSecSteelBeam_S_Haunch, figures[2] as StbSecSteelBeam_S_Haunch }; + start = haunch.First(sec => sec.pos == StbSecSteelBeam_S_HaunchPos.START).shape; + center = haunch.First(sec => sec.pos == StbSecSteelBeam_S_HaunchPos.CENTER).shape; + end = haunch.First(sec => sec.pos == StbSecSteelBeam_S_HaunchPos.END).shape; + } + else + { + var joint = new[] { figures[0] as StbSecSteelBeam_S_Joint, figures[1] as StbSecSteelBeam_S_Joint, figures[2] as StbSecSteelBeam_S_Joint }; + start = joint.First(sec => sec.pos == StbSecSteelBeam_S_JointPos.START).shape; + center = joint.First(sec => sec.pos == StbSecSteelBeam_S_JointPos.CENTER).shape; + end = joint.First(sec => sec.pos == StbSecSteelBeam_S_JointPos.END).shape; + } + curveList.Add(SteelSections.GetCurve(_sections.StbSecSteel, start, sectionPoints[0], Utils.SectionType.Beam, localAxis)); + curveList.Add(SteelSections.GetCurve(_sections.StbSecSteel, center, sectionPoints[1], Utils.SectionType.Beam, localAxis)); + curveList.Add(SteelSections.GetCurve(_sections.StbSecSteel, center, sectionPoints[2], Utils.SectionType.Beam, localAxis)); + curveList.Add(SteelSections.GetCurve(_sections.StbSecSteel, end, sectionPoints[3], Utils.SectionType.Beam, localAxis)); + break; + case 5: + throw new ArgumentException("5 section steel is not supported"); + default: + throw new ArgumentException("Unmatched StbSecSteelBeam_S"); + } + + return curveList; + } + } +} diff --git a/HoaryFox/Component/Utils/Geometry/BrepMaker/Slab.cs b/HoaryFox/Component/Utils/Geometry/BrepMaker/Slab.cs new file mode 100644 index 00000000..7a198662 --- /dev/null +++ b/HoaryFox/Component/Utils/Geometry/BrepMaker/Slab.cs @@ -0,0 +1,51 @@ +using System; +using System.Linq; +using STBDotNet.v202; + +namespace HoaryFox.Component.Utils.Geometry.BrepMaker +{ + public static class Slab + { + public static double GetDepth(StbSections sections, StbSlab slab) + { + double depth = 0; + + switch (slab.kind_structure) + { + case StbSlabKind_structure.RC: + object[] slabRc = sections.StbSecSlab_RC.First(sec => sec.id == slab.id_section).StbSecFigureSlab_RC.Items; + switch (slabRc.Length) + { + case 1: + var straight = slabRc[0] as StbSecSlab_RC_Straight; + depth = straight.depth; + break; + case 2: + var tapers = new[] { slabRc[0] as StbSecSlab_RC_Taper, slabRc[1] as StbSecSlab_RC_Taper }; + depth = tapers.First(sec => sec.pos == StbSecSlab_RC_TaperPos.TIP).depth; + break; + case 3: + var haunches = new[] + { + slabRc[0] as StbSecSlab_RC_Haunch, slabRc[1] as StbSecSlab_RC_Haunch, + slabRc[2] as StbSecSlab_RC_Haunch + }; + depth = haunches.First(sec => sec.pos == StbSecSlab_RC_HaunchPos.CENTER).depth; + break; + } + + break; + case StbSlabKind_structure.DECK: + // StbSecSlabDeck slabDeck = _sections.StbSecSlabDeck.FirstOrDefault(sec => sec.id == slab.id_section); + // break; + case StbSlabKind_structure.PRECAST: + // StbSecSlabPrecast slabPrecast = _sections.StbSecSlabPrecast.FirstOrDefault(sec => sec.id == slab.id_section); + // break; + default: + throw new ArgumentOutOfRangeException(); + } + + return depth; + } + } +} diff --git a/HoaryFox/Component/Utils/Geometry/BrepMaker/SteelSections.cs b/HoaryFox/Component/Utils/Geometry/BrepMaker/SteelSections.cs new file mode 100644 index 00000000..7c092ccb --- /dev/null +++ b/HoaryFox/Component/Utils/Geometry/BrepMaker/SteelSections.cs @@ -0,0 +1,148 @@ +using System; +using System.Linq; +using Rhino.Geometry; +using STBDotNet.v202; + +namespace HoaryFox.Component.Utils.Geometry.BrepMaker +{ + public static class SteelSections + { + public static Curve GetCurve(StbSecSteel secSteel, string shape, Point3d point, Utils.SectionType type, Vector3d[] localAxis) + { + // TODO: foreach なのに最初にマッチしたもので return しているのでが変なので直す。 + if (secSteel.StbSecBuildBOX != null) + { + foreach (var box in secSteel.StbSecBuildBOX.Where(box => box.name == shape)) + { + return CurveFromStbSecBox(localAxis, point, type, box.A, box.B); + } + } + + if (secSteel.StbSecRollBOX != null) + { + foreach (StbSecRollBOX box in secSteel.StbSecRollBOX.Where(box => box.name == shape)) + { + return CurveFromStbSecBox(localAxis, point, type, box.A, box.B); + } + } + + if (secSteel.StbSecFlatBar != null) + { + foreach (StbSecFlatBar flatBar in secSteel.StbSecFlatBar.Where(bar => bar.name == shape)) + { + return CurveFromStbSecBox(localAxis, point, type, flatBar.B, flatBar.t); + } + } + + if (secSteel.StbSecBuildH != null) + { + foreach (StbSecBuildH buildH in secSteel.StbSecBuildH.Where(buildH => buildH.name == shape)) + { + return CurveFromStbSecH(localAxis, point, type, buildH.A, buildH.B, buildH.t1, buildH.t2); + } + } + + if (secSteel.StbSecRollH != null) + { + foreach (StbSecRollH rollH in secSteel.StbSecRollH.Where(rollH => rollH.name == shape)) + { + return CurveFromStbSecH(localAxis, point, type, rollH.A, rollH.B, rollH.t1, rollH.t2); + } + } + + if (secSteel.StbSecRollL != null) + { + foreach (StbSecRollL rollL in secSteel.StbSecRollL.Where(rollL => rollL.name == shape)) + { + return CurveFromStbSecL(localAxis, point, type, rollL); + } + } + + if (secSteel.StbSecPipe != null) + { + foreach (StbSecPipe pipe in secSteel.StbSecPipe.Where(pipe => pipe.name == shape)) + { + return CurveFromStbSecPipe(localAxis, point, type, pipe.D); + } + } + + if (secSteel.StbSecRoundBar != null) + { + foreach (StbSecRoundBar bar in secSteel.StbSecRoundBar.Where(pipe => pipe.name == shape)) + { + return CurveFromStbSecPipe(localAxis, point, type, bar.R); + } + } + + // TODO: C 断面を実装する + if (secSteel.StbSecRollC != null || secSteel.StbSecLipC != null) + { + throw new ArgumentException("StbSecRollC & StbSecLipC is not supported"); + } + + throw new ArgumentException("There are no matching steel section"); + } + + private static Curve CurveFromStbSecPipe(Vector3d[] localAxis, Point3d point, Utils.SectionType type, double diameter) + { + switch (type) + { + case Utils.SectionType.Column: + case Utils.SectionType.Brace: + return SectionCornerPoints.ColumnPipe(point, diameter, localAxis[0]); + case Utils.SectionType.Beam: + return SectionCornerPoints.BeamPipe(point, diameter, localAxis[0]); + default: + throw new ArgumentOutOfRangeException(nameof(type), type, null); + } + } + + private static Curve CurveFromStbSecL(Vector3d[] localAxis, Point3d point, Utils.SectionType type, StbSecRollL rollL) + { + switch (type) + { + case Utils.SectionType.Column: + case Utils.SectionType.Brace: + return new PolylineCurve( + SectionCornerPoints.ColumnL(point, rollL.A, rollL.B, rollL.t1, rollL.t2, rollL.type, localAxis[1], localAxis[2])); + case Utils.SectionType.Beam: + return new PolylineCurve( + SectionCornerPoints.BeamL(point, rollL.A, rollL.B, rollL.t1, rollL.t2, rollL.type, localAxis[1], localAxis[2])); + default: + throw new ArgumentOutOfRangeException(nameof(type), type, null); + } + } + + private static Curve CurveFromStbSecBox(Vector3d[] localAxis, Point3d point, Utils.SectionType type, double A, double B) + { + switch (type) + { + case Utils.SectionType.Column: + case Utils.SectionType.Brace: + return new PolylineCurve( + SectionCornerPoints.ColumnRect(point, B, A, localAxis[1], localAxis[2])); + case Utils.SectionType.Beam: + return new PolylineCurve( + SectionCornerPoints.BeamRect(point, B, A, localAxis[1], localAxis[2])); + default: + throw new ArgumentOutOfRangeException(nameof(type), type, null); + } + } + + private static Curve CurveFromStbSecH(Vector3d[] localAxis, Point3d point, Utils.SectionType type, double A, double B, double t1, double t2) + { + switch (type) + { + case Utils.SectionType.Column: + case Utils.SectionType.Brace: + return new PolylineCurve( + SectionCornerPoints.ColumnH(point, A, B, t1, t2, localAxis[1], localAxis[2])); + case Utils.SectionType.Beam: + return new PolylineCurve( + SectionCornerPoints.BeamH(point, A, B, t1, t2, localAxis[1], localAxis[2])); + default: + throw new ArgumentOutOfRangeException(nameof(type), type, null); + } + } + } +} diff --git a/HoaryFox/Component/Utils/Geometry/BrepMaker/Utils.cs b/HoaryFox/Component/Utils/Geometry/BrepMaker/Utils.cs new file mode 100644 index 00000000..b0a4aab3 --- /dev/null +++ b/HoaryFox/Component/Utils/Geometry/BrepMaker/Utils.cs @@ -0,0 +1,63 @@ +using System; +using System.Collections.Generic; +using Rhino.Geometry; + +namespace HoaryFox.Component.Utils.Geometry.BrepMaker +{ + public static class Utils + { + public static Vector3d[] CreateLocalAxis(IReadOnlyList sectionPoints) + { + var xAxis = new Vector3d(sectionPoints[3] - sectionPoints[0]); + var yAxis = Vector3d.CrossProduct(Vector3d.ZAxis, xAxis); + if (yAxis == Vector3d.Zero) + { + yAxis = -Vector3d.XAxis; + } + var zAxis = Vector3d.CrossProduct(xAxis, yAxis); + xAxis.Unitize(); + yAxis.Unitize(); + zAxis.Unitize(); + return new Vector3d[] { xAxis, yAxis, zAxis }; + } + + public static void RotateCurveList(Vector3d rotateAxis, IReadOnlyList curveList, double stbRotateValue, IReadOnlyList sectionPoints) + { + double inPlaneAngle = stbRotateValue * Math.PI / 180; + switch (curveList.Count) + { + case 2: + curveList[0].Rotate(inPlaneAngle, rotateAxis, sectionPoints[0]); + curveList[1].Rotate(inPlaneAngle, rotateAxis, sectionPoints[3]); + break; + case 3: + curveList[0].Rotate(inPlaneAngle, rotateAxis, sectionPoints[0]); + curveList[2].Rotate(inPlaneAngle, rotateAxis, sectionPoints[3]); + if (sectionPoints[2] == sectionPoints[3]) + { + curveList[1].Rotate(inPlaneAngle, rotateAxis, sectionPoints[1]); + } + else + { + curveList[1].Rotate(inPlaneAngle, rotateAxis, sectionPoints[2]); + } + break; + case 4: + for (var i = 0; i < 4; i++) + { + curveList[i].Rotate(inPlaneAngle, rotateAxis, sectionPoints[i]); + } + break; + default: + throw new ArgumentException(); + } + } + + public enum SectionType + { + Column, + Beam, + Brace + } + } +} diff --git a/HoaryFox/Component/Utils/Geometry/BrepMaker/Wall.cs b/HoaryFox/Component/Utils/Geometry/BrepMaker/Wall.cs new file mode 100644 index 00000000..d7c580a4 --- /dev/null +++ b/HoaryFox/Component/Utils/Geometry/BrepMaker/Wall.cs @@ -0,0 +1,14 @@ +using System.Linq; +using STBDotNet.v202; + +namespace HoaryFox.Component.Utils.Geometry.BrepMaker +{ + public static class Wall + { + public static double GetThickness(StbSections sections, StbWall wall) + { + return sections.StbSecWall_RC.First(sec => sec.id == wall.id_section) + .StbSecFigureWall_RC.StbSecWall_RC_Straight.t; + } + } +} diff --git a/HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs b/HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs deleted file mode 100644 index 673b1dfd..00000000 --- a/HoaryFox/Component/Utils/Geometry/CreateBrepFromStb.cs +++ /dev/null @@ -1,891 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using Rhino.Geometry; -using STBDotNet.v202; - -namespace HoaryFox.Component.Utils.Geometry -{ - public class CreateBrepFromStb - { - private readonly IEnumerable _nodes; - private readonly IReadOnlyList _tolerance; - private readonly StbSections _sections; - - public CreateBrepFromStb(StbSections sections, IEnumerable nodes, IReadOnlyList tolerance) - { - _nodes = nodes; - _tolerance = tolerance; - _sections = sections; - } - - public List Column(IEnumerable columns) - { - var brepList = new List(); - if (columns == null) - { - return brepList; - } - - foreach (StbColumn column in columns) - { - StbColumnKind_structure kind = column.kind_structure; - - StbNode[] endNodes = - { - _nodes.First(node => node.id == column.id_node_bottom), - _nodes.First(node => node.id == column.id_node_top) - }; - Point3d[] offset = - { - new Point3d(column.offset_bottom_X, column.offset_bottom_Y, column.offset_bottom_Z), - new Point3d(column.offset_top_X, column.offset_top_Y, column.offset_top_Z) - }; - Point3d[] sectionPoints = - { - new Point3d(endNodes[0].X, endNodes[0].Y, endNodes[0].Z) + offset[0], - new Point3d(), - new Point3d(), - new Point3d(endNodes[1].X, endNodes[1].Y, endNodes[1].Z) + offset[1] - }; - Vector3d memberAxis = sectionPoints[3] - sectionPoints[0]; - sectionPoints[1] = sectionPoints[0] + memberAxis / memberAxis.Length * column.joint_bottom; - sectionPoints[2] = sectionPoints[3] - memberAxis / memberAxis.Length * column.joint_top; - - brepList.Add(CreateColumnBrep(column.id_section, column.rotate, kind, sectionPoints, memberAxis)); - } - - return brepList; - } - - public List Post(IEnumerable posts) - { - var brepList = new List(); - if (posts == null) - { - return brepList; - } - - foreach (StbPost post in posts) - { - StbColumnKind_structure kind = post.kind_structure; - - StbNode[] endNodes = - { - _nodes.First(node => node.id == post.id_node_bottom), - _nodes.First(node => node.id == post.id_node_top) - }; - Point3d[] offset = - { - new Point3d(post.offset_bottom_X, post.offset_bottom_Y, post.offset_bottom_Z), - new Point3d(post.offset_top_X, post.offset_top_Y, post.offset_top_Z) - }; - Point3d[] sectionPoints = - { - new Point3d(endNodes[0].X, endNodes[0].Y, endNodes[0].Z) + offset[0], - new Point3d(), - new Point3d(), - new Point3d(endNodes[1].X, endNodes[1].Y, endNodes[1].Z) + offset[1] - }; - Vector3d memberAxis = sectionPoints[3] - sectionPoints[0]; - sectionPoints[1] = sectionPoints[0] + memberAxis / memberAxis.Length * post.joint_bottom; - sectionPoints[2] = sectionPoints[3] - memberAxis / memberAxis.Length * post.joint_top; - - brepList.Add(CreateColumnBrep(post.id_section, post.rotate, kind, sectionPoints, memberAxis)); - } - - return brepList; - } - - private Brep CreateColumnBrep(string idSection, double rotate, StbColumnKind_structure kind, IReadOnlyList sectionPoints, Vector3d memberAxis) - { - var curveList = new List(); - - switch (kind) - { - case StbColumnKind_structure.RC: - StbSecColumn_RC rcSec = _sections.StbSecColumn_RC.First(sec => sec.id == idSection); - object rcFigure = rcSec.StbSecFigureColumn_RC.Item; - curveList = SecRcColumnToCurves(rcFigure, sectionPoints); - break; - case StbColumnKind_structure.S: - StbSecColumn_S sSec = _sections.StbSecColumn_S.First(sec => sec.id == idSection); - object[] sFigures = sSec.StbSecSteelFigureColumn_S.Items; - curveList = SecSteelColumnToCurves(sFigures, sectionPoints); - break; - case StbColumnKind_structure.SRC: - StbSecColumn_SRC srcSec = _sections.StbSecColumn_SRC.First(sec => sec.id == idSection); - object srcFigure = srcSec.StbSecFigureColumn_SRC.Item; - curveList = SecRcColumnToCurves(srcFigure, sectionPoints); - break; - case StbColumnKind_structure.CFT: - case StbColumnKind_structure.UNDEFINED: - break; - default: - throw new ArgumentOutOfRangeException(); - } - - RotateCurveList(memberAxis, curveList, rotate, sectionPoints); - Brep brep = Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] - .CapPlanarHoles(_tolerance[0]); - return brep; - } - - private static List SecRcColumnToCurves(object figure, IReadOnlyList sectionPoints) - { - var curveList = new List(); - Vector3d[] localAxis = CreateLocalAxis(sectionPoints); - - switch (figure) - { - case StbSecColumn_RC_Rect rect: - curveList.Add(new PolylineCurve( - SectionCornerPoints.ColumnRect(sectionPoints[0], rect.width_X, rect.width_Y, localAxis[1], localAxis[2]))); - curveList.Add(new PolylineCurve( - SectionCornerPoints.ColumnRect(sectionPoints[3], rect.width_X, rect.width_Y, localAxis[1], localAxis[2]))); - break; - case StbSecColumn_SRC_Rect rect: - curveList.Add(new PolylineCurve( - SectionCornerPoints.ColumnRect(sectionPoints[0], rect.width_X, rect.width_Y, localAxis[1], localAxis[2]))); - curveList.Add(new PolylineCurve( - SectionCornerPoints.ColumnRect(sectionPoints[3], rect.width_X, rect.width_Y, localAxis[1], localAxis[2]))); - break; - case StbSecColumn_RC_Circle circle: - curveList.Add(SectionCornerPoints.ColumnPipe(sectionPoints[0], circle.D, localAxis[0])); - curveList.Add(SectionCornerPoints.ColumnPipe(sectionPoints[3], circle.D, localAxis[0])); - break; - case StbSecColumn_SRC_Circle circle: - curveList.Add(SectionCornerPoints.ColumnPipe(sectionPoints[0], circle.D, localAxis[0])); - curveList.Add(SectionCornerPoints.ColumnPipe(sectionPoints[3], circle.D, localAxis[0])); - break; - default: - throw new Exception(); - } - - return curveList; - } - - private List SecSteelColumnToCurves(IReadOnlyList figures, IReadOnlyList sectionPoints) - { - var curveList = new List(); - Vector3d[] localAxis = CreateLocalAxis(sectionPoints); - - string bottom, center, top; - switch (figures.Count) - { - case 1: - var same = figures[0] as StbSecSteelColumn_S_Same; - center = same.shape; - curveList.Add(GetSteelSec(center, sectionPoints[0], SectionType.Column, localAxis)); - curveList.Add(GetSteelSec(center, sectionPoints[3], SectionType.Column, localAxis)); - break; - case 2: - var notSames = new[] { figures[0] as StbSecSteelColumn_S_NotSame, figures[1] as StbSecSteelColumn_S_NotSame }; - bottom = notSames.First(item => item.pos == StbSecSteelColumn_S_NotSamePos.BOTTOM).shape; - top = notSames.First(item => item.pos == StbSecSteelColumn_S_NotSamePos.TOP).shape; - curveList.Add(GetSteelSec(bottom, sectionPoints[0], SectionType.Column, localAxis)); - if (sectionPoints[1].Z > sectionPoints[0].Z) - { - curveList.Add(GetSteelSec(bottom, sectionPoints[1], SectionType.Column, localAxis)); - curveList.Add(GetSteelSec(top, sectionPoints[1], SectionType.Column, localAxis)); - } - else - { - curveList.Add(GetSteelSec(bottom, sectionPoints[2], SectionType.Column, localAxis)); - curveList.Add(GetSteelSec(top, sectionPoints[2], SectionType.Column, localAxis)); - } - curveList.Add(GetSteelSec(top, sectionPoints[3], SectionType.Column, localAxis)); - break; - case 3: - var three = new[] { figures[0] as StbSecSteelColumn_S_ThreeTypes, figures[1] as StbSecSteelColumn_S_ThreeTypes, figures[2] as StbSecSteelColumn_S_ThreeTypes }; - bottom = three.First(item => item.pos == StbSecSteelColumn_S_ThreeTypesPos.BOTTOM).shape; - center = three.First(item => item.pos == StbSecSteelColumn_S_ThreeTypesPos.CENTER).shape; - top = three.First(item => item.pos == StbSecSteelColumn_S_ThreeTypesPos.TOP).shape; - curveList.Add(GetSteelSec(bottom, sectionPoints[0], SectionType.Column, localAxis)); - curveList.Add(GetSteelSec(center, sectionPoints[1], SectionType.Column, localAxis)); - curveList.Add(GetSteelSec(center, sectionPoints[2], SectionType.Column, localAxis)); - curveList.Add(GetSteelSec(top, sectionPoints[3], SectionType.Column, localAxis)); - break; - default: - throw new ArgumentException("Unmatched StbSecSteelColumn_S"); - } - - return curveList; - } - - public List Girder(IEnumerable girders) - { - var brepList = new List(); - if (girders == null) - { - return brepList; - } - - foreach (StbGirder girder in girders) - { - StbGirderKind_structure kind = girder.kind_structure; - - StbNode[] endNodes = - { - _nodes.First(node => node.id == girder.id_node_start), - _nodes.First(node => node.id == girder.id_node_end) - }; - Point3d[] offset = - { - new Point3d(girder.offset_start_X, girder.offset_start_Y, girder.offset_start_Z), - new Point3d(girder.offset_end_X, girder.offset_end_Y, girder.offset_end_Z) - }; - Point3d[] sectionPoints = - { - new Point3d(endNodes[0].X, endNodes[0].Y, endNodes[0].Z) + offset[0], - Point3d.Origin, - Point3d.Origin, - new Point3d(endNodes[1].X, endNodes[1].Y, endNodes[1].Z) + offset[1] - }; - Vector3d memberAxis = sectionPoints[3] - sectionPoints[0]; - sectionPoints[1] = sectionPoints[0] + memberAxis / memberAxis.Length * girder.joint_start; - sectionPoints[2] = sectionPoints[3] - memberAxis / memberAxis.Length * girder.joint_end; - - brepList.Add(CreateGirderBrep(girder.id_section, girder.rotate, kind, sectionPoints, memberAxis)); - } - - return brepList; - } - - public List Beam(IEnumerable beams) - { - var brepList = new List(); - if (beams == null) - { - return brepList; - } - - foreach (StbBeam beam in beams) - { - StbGirderKind_structure kind = beam.kind_structure; - - StbNode[] endNodes = - { - _nodes.First(node => node.id == beam.id_node_start), - _nodes.First(node => node.id == beam.id_node_end) - }; - Point3d[] offset = - { - new Point3d(beam.offset_start_X, beam.offset_start_Y, beam.offset_start_Z), - new Point3d(beam.offset_end_X, beam.offset_end_Y, beam.offset_end_Z) - }; - Point3d[] sectionPoints = - { - new Point3d(endNodes[0].X, endNodes[0].Y, endNodes[0].Z) + offset[0], - Point3d.Origin, - Point3d.Origin, - new Point3d(endNodes[1].X, endNodes[1].Y, endNodes[1].Z) + offset[1] - }; - Vector3d memberAxis = sectionPoints[3] - sectionPoints[0]; - sectionPoints[1] = sectionPoints[0] + memberAxis / memberAxis.Length * beam.joint_start; - sectionPoints[2] = sectionPoints[3] - memberAxis / memberAxis.Length * beam.joint_end; - - brepList.Add(CreateGirderBrep(beam.id_section, beam.rotate, kind, sectionPoints, memberAxis)); - } - - return brepList; - } - - private Brep CreateGirderBrep(string idSection, double rotate, StbGirderKind_structure kind, IReadOnlyList sectionPoints, Vector3d memberAxis) - { - var curveList = new List(); - switch (kind) - { - case StbGirderKind_structure.RC: - StbSecBeam_RC rcSec = _sections.StbSecBeam_RC.First(sec => sec.id == idSection); - object[] rcFigure = rcSec.StbSecFigureBeam_RC.Items; - curveList = SecRcBeamCurves(rcFigure, sectionPoints); - break; - case StbGirderKind_structure.S: - StbSecBeam_S sSec = _sections.StbSecBeam_S.First(sec => sec.id == idSection); - object[] sFigure = sSec.StbSecSteelFigureBeam_S.Items; - curveList = SecSteelBeamToCurves(sFigure, sectionPoints); - break; - case StbGirderKind_structure.SRC: - StbSecBeam_SRC srcSec = _sections.StbSecBeam_SRC.First(sec => sec.id == idSection); - object[] srcFigure = srcSec.StbSecFigureBeam_SRC.Items; - curveList = SecSrcBeamCurves(srcFigure, sectionPoints); - break; - case StbGirderKind_structure.UNDEFINED: - default: - throw new ArgumentOutOfRangeException(); - } - - RotateCurveList(memberAxis, curveList, rotate, sectionPoints); - Brep brep = Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] - .CapPlanarHoles(_tolerance[0]); - return brep; - } - - - private static List SecRcBeamCurves(IReadOnlyList figures, IReadOnlyList sectionPoints) - { - var curveList = new List(); - Vector3d[] localAxis = CreateLocalAxis(sectionPoints); - - switch (figures.Count) - { - case 1: - var straight = figures[0] as StbSecBeam_RC_Straight; - curveList.Add(new PolylineCurve( - SectionCornerPoints.BeamRect(sectionPoints[0], straight.depth, straight.width, localAxis[1], localAxis[2]))); - curveList.Add(new PolylineCurve( - SectionCornerPoints.BeamRect(sectionPoints[3], straight.depth, straight.width, localAxis[1], localAxis[2]))); - break; - case 2: - var taper = new[] { figures[0] as StbSecBeam_RC_Taper, figures[1] as StbSecBeam_RC_Taper }; - curveList.Add(new PolylineCurve( - SectionCornerPoints.BeamRect(sectionPoints[0], taper[0].depth, taper[0].width, localAxis[1], localAxis[2]))); - curveList.Add(new PolylineCurve( - SectionCornerPoints.BeamRect(sectionPoints[3], taper[1].depth, taper[1].width, localAxis[1], localAxis[2]))); - break; - case 3: - var haunch = new[] { figures[0] as StbSecBeam_RC_Haunch, figures[1] as StbSecBeam_RC_Haunch, figures[2] as StbSecBeam_RC_Haunch }; - StbSecBeam_RC_Haunch start = haunch.First(fig => fig.pos == StbSecBeam_RC_HaunchPos.START); - StbSecBeam_RC_Haunch center = haunch.First(fig => fig.pos == StbSecBeam_RC_HaunchPos.CENTER); - StbSecBeam_RC_Haunch end = haunch.First(fig => fig.pos == StbSecBeam_RC_HaunchPos.END); - curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[0], start.depth, start.width, localAxis[1], localAxis[2]))); - curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[1], center.depth, center.width, localAxis[1], localAxis[2]))); - curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[2], center.depth, center.width, localAxis[1], localAxis[2]))); - curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[3], end.depth, end.width, localAxis[1], localAxis[2]))); - break; - default: - throw new Exception(); - } - - return curveList; - } - - private static Vector3d[] CreateLocalAxis(IReadOnlyList sectionPoints) - { - var xAxis = new Vector3d(sectionPoints[3] - sectionPoints[0]); - var yAxis = Vector3d.CrossProduct(Vector3d.ZAxis, xAxis); - if (yAxis == Vector3d.Zero) - { - yAxis = -Vector3d.XAxis; - } - var zAxis = Vector3d.CrossProduct(xAxis, yAxis); - xAxis.Unitize(); - yAxis.Unitize(); - zAxis.Unitize(); - return new Vector3d[] { xAxis, yAxis, zAxis }; - } - - private static List SecSrcBeamCurves(IReadOnlyList figures, IReadOnlyList sectionPoints) - { - var curveList = new List(); - Vector3d[] localAxis = CreateLocalAxis(sectionPoints); - - switch (figures.Count) - { - case 1: - var straight = figures[0] as StbSecBeam_SRC_Straight; - curveList.Add(new PolylineCurve( - SectionCornerPoints.BeamRect(sectionPoints[0], straight.depth, straight.width, localAxis[1], localAxis[2]))); - curveList.Add(new PolylineCurve( - SectionCornerPoints.BeamRect(sectionPoints[3], straight.depth, straight.width, localAxis[1], localAxis[2]))); - break; - case 2: - var taper = new[] { figures[0] as StbSecBeam_SRC_Taper, figures[1] as StbSecBeam_SRC_Taper }; - curveList.Add(new PolylineCurve( - SectionCornerPoints.BeamRect(sectionPoints[0], taper[0].depth, taper[0].width, localAxis[1], localAxis[2]))); - curveList.Add(new PolylineCurve( - SectionCornerPoints.BeamRect(sectionPoints[3], taper[1].depth, taper[1].width, localAxis[1], localAxis[2]))); - break; - case 3: - var haunch = new[] { figures[0] as StbSecBeam_SRC_Haunch, figures[1] as StbSecBeam_SRC_Haunch, figures[2] as StbSecBeam_SRC_Haunch }; - StbSecBeam_SRC_Haunch start = haunch.First(fig => fig.pos == StbSecBeam_RC_HaunchPos.START); - StbSecBeam_SRC_Haunch center = haunch.First(fig => fig.pos == StbSecBeam_RC_HaunchPos.CENTER); - StbSecBeam_SRC_Haunch end = haunch.First(fig => fig.pos == StbSecBeam_RC_HaunchPos.END); - curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[0], start.depth, start.width, localAxis[1], localAxis[2]))); - curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[1], center.depth, center.width, localAxis[1], localAxis[2]))); - curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[2], center.depth, center.width, localAxis[1], localAxis[2]))); - curveList.Add(new PolylineCurve(SectionCornerPoints.BeamRect(sectionPoints[3], end.depth, end.width, localAxis[1], localAxis[2]))); - break; - default: - throw new Exception(); - } - - return curveList; - } - - private List SecSteelBeamToCurves(IReadOnlyList figures, IReadOnlyList sectionPoints) - { - var curveList = new List(); - string start, center, end; - Vector3d[] localAxis = CreateLocalAxis(sectionPoints); - - switch (figures.Count) - { - case 1: - var straight = figures[0] as StbSecSteelBeam_S_Straight; - center = straight.shape; - curveList.Add(GetSteelSec(center, sectionPoints[0], SectionType.Beam, localAxis)); - curveList.Add(GetSteelSec(center, sectionPoints[3], SectionType.Beam, localAxis)); - break; - case 2: - var tapers = new[] { figures[0] as StbSecSteelBeam_S_Taper, figures[1] as StbSecSteelBeam_S_Taper }; - start = tapers.First(sec => sec.pos == StbSecSteelBeam_S_TaperPos.START).shape; - end = tapers.First(sec => sec.pos == StbSecSteelBeam_S_TaperPos.END).shape; - curveList.Add(GetSteelSec(start, sectionPoints[0], SectionType.Beam, localAxis)); - curveList.Add(GetSteelSec(end, sectionPoints[3], SectionType.Beam, localAxis)); - break; - case 3: - if (figures[0] is StbSecSteelBeam_S_Haunch) - { - var haunch = new[] { figures[0] as StbSecSteelBeam_S_Haunch, figures[1] as StbSecSteelBeam_S_Haunch, figures[2] as StbSecSteelBeam_S_Haunch }; - start = haunch.First(sec => sec.pos == StbSecSteelBeam_S_HaunchPos.START).shape; - center = haunch.First(sec => sec.pos == StbSecSteelBeam_S_HaunchPos.CENTER).shape; - end = haunch.First(sec => sec.pos == StbSecSteelBeam_S_HaunchPos.END).shape; - } - else - { - var joint = new[] { figures[0] as StbSecSteelBeam_S_Joint, figures[1] as StbSecSteelBeam_S_Joint, figures[2] as StbSecSteelBeam_S_Joint }; - start = joint.First(sec => sec.pos == StbSecSteelBeam_S_JointPos.START).shape; - center = joint.First(sec => sec.pos == StbSecSteelBeam_S_JointPos.CENTER).shape; - end = joint.First(sec => sec.pos == StbSecSteelBeam_S_JointPos.END).shape; - } - curveList.Add(GetSteelSec(start, sectionPoints[0], SectionType.Beam, localAxis)); - curveList.Add(GetSteelSec(center, sectionPoints[1], SectionType.Beam, localAxis)); - curveList.Add(GetSteelSec(center, sectionPoints[2], SectionType.Beam, localAxis)); - curveList.Add(GetSteelSec(end, sectionPoints[3], SectionType.Beam, localAxis)); - break; - case 5: - throw new ArgumentException("5 section steel is not supported"); - default: - throw new ArgumentException("Unmatched StbSecSteelBeam_S"); - } - - return curveList; - } - - public List Brace(IEnumerable braces) - { - var brepList = new List(); - if (braces == null) - { - return brepList; - } - - foreach (StbBrace brace in braces) - { - StbBraceKind_structure kind = brace.kind_structure; - - StbNode[] endNodes = - { - _nodes.First(node => node.id == brace.id_node_start), - _nodes.First(node => node.id == brace.id_node_end) - }; - Point3d[] offset = - { - new Point3d(brace.offset_start_X, brace.offset_start_Y, brace.offset_start_Z), - new Point3d(brace.offset_end_X, brace.offset_end_Y, brace.offset_end_Z) - }; - Point3d[] sectionPoints = - { - new Point3d(endNodes[0].X, endNodes[0].Y, endNodes[0].Z) + offset[0], - Point3d.Origin, - Point3d.Origin, - new Point3d(endNodes[1].X, endNodes[1].Y, endNodes[1].Z) + offset[1] - }; - Vector3d memberAxis = sectionPoints[3] - sectionPoints[0]; - sectionPoints[1] = sectionPoints[0] + memberAxis / memberAxis.Length * brace.joint_start; - sectionPoints[2] = sectionPoints[3] - memberAxis / memberAxis.Length * brace.joint_end; - - brepList.Add(CreateBraceBrep(brace.id_section, brace.rotate, kind, sectionPoints, memberAxis)); - } - - return brepList; - } - - private Brep CreateBraceBrep(string idSection, double rotate, StbBraceKind_structure kind, IReadOnlyList sectionPoints, Vector3d memberAxis) - { - var curveList = new List(); - - switch (kind) - { - case StbBraceKind_structure.S: - StbSecBrace_S sSec = _sections.StbSecBrace_S.First(sec => sec.id == idSection); - object[] figures = sSec.StbSecSteelFigureBrace_S.Items; - curveList = SecSteelBraceToCurves(figures, sectionPoints); - break; - case StbBraceKind_structure.RC: - case StbBraceKind_structure.SRC: - throw new ArgumentException("Unsupported brace structure type"); - default: - throw new ArgumentOutOfRangeException(); - } - - RotateCurveList(memberAxis, curveList, rotate, sectionPoints); - Brep brep = Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] - .CapPlanarHoles(_tolerance[0]); - return brep; - } - - private List SecSteelBraceToCurves(IReadOnlyList figures, IReadOnlyList sectionPoints) - { - var curveList = new List(); - string start, center, end; - Vector3d[] localAxis = CreateLocalAxis(sectionPoints); - - switch (figures.Count) - { - case 1: - var same = figures[0] as StbSecSteelBrace_S_Same; - center = same.shape; - curveList.Add(GetSteelSec(center, sectionPoints[0], SectionType.Brace, localAxis)); - curveList.Add(GetSteelSec(center, sectionPoints[3], SectionType.Brace, localAxis)); - break; - case 2: - var notSames = new[] { figures[0] as StbSecSteelBrace_S_NotSame, figures[1] as StbSecSteelBrace_S_NotSame }; - start = notSames.First(sec => sec.pos == StbSecSteelBrace_S_NotSamePos.BOTTOM).shape; - end = notSames.First(sec => sec.pos == StbSecSteelBrace_S_NotSamePos.TOP).shape; - curveList.Add(GetSteelSec(start, sectionPoints[0], SectionType.Brace, localAxis)); - curveList.Add(sectionPoints[0] == sectionPoints[1] - ? GetSteelSec(start, sectionPoints[2], SectionType.Brace, localAxis) - : GetSteelSec(start, sectionPoints[1], SectionType.Brace, localAxis)); - curveList.Add(sectionPoints[0] == sectionPoints[1] - ? GetSteelSec(end, sectionPoints[2], SectionType.Brace, localAxis) - : GetSteelSec(end, sectionPoints[1], SectionType.Brace, localAxis)); - curveList.Add(GetSteelSec(end, sectionPoints[3], SectionType.Brace, localAxis)); - break; - case 3: - var three = new[] { figures[0] as StbSecSteelBrace_S_ThreeTypes, figures[1] as StbSecSteelBrace_S_ThreeTypes, figures[2] as StbSecSteelBrace_S_ThreeTypes }; - start = three.First(sec => sec.pos == StbSecSteelBrace_S_ThreeTypesPos.BOTTOM).shape; - center = three.First(sec => sec.pos == StbSecSteelBrace_S_ThreeTypesPos.CENTER).shape; - end = three.First(sec => sec.pos == StbSecSteelBrace_S_ThreeTypesPos.TOP).shape; - curveList.Add(GetSteelSec(start, sectionPoints[0], SectionType.Brace, localAxis)); - curveList.Add(GetSteelSec(center, sectionPoints[1], SectionType.Brace, localAxis)); - curveList.Add(GetSteelSec(center, sectionPoints[2], SectionType.Brace, localAxis)); - curveList.Add(GetSteelSec(end, sectionPoints[3], SectionType.Brace, localAxis)); - break; - default: - throw new ArgumentException("Unmatched StbSecSteelBrace_S"); - } - - return curveList; - } - - private static void RotateCurveList(Vector3d rotateAxis, IReadOnlyList curveList, double stbRotateValue, IReadOnlyList sectionPoints) - { - double inPlaneAngle = stbRotateValue * Math.PI / 180; - switch (curveList.Count) - { - case 2: - curveList[0].Rotate(inPlaneAngle, rotateAxis, sectionPoints[0]); - curveList[1].Rotate(inPlaneAngle, rotateAxis, sectionPoints[3]); - break; - case 3: - curveList[0].Rotate(inPlaneAngle, rotateAxis, sectionPoints[0]); - curveList[2].Rotate(inPlaneAngle, rotateAxis, sectionPoints[3]); - if (sectionPoints[2] == sectionPoints[3]) - { - curveList[1].Rotate(inPlaneAngle, rotateAxis, sectionPoints[1]); - } - else - { - curveList[1].Rotate(inPlaneAngle, rotateAxis, sectionPoints[2]); - } - break; - case 4: - for (var i = 0; i < 4; i++) - { - curveList[i].Rotate(inPlaneAngle, rotateAxis, sectionPoints[i]); - } - break; - default: - throw new ArgumentException(); - } - } - - private Curve GetSteelSec(string shape, Point3d point, SectionType type, Vector3d[] localAxis) - { - StbSecSteel secSteel = _sections.StbSecSteel; - - // TODO: foreach なのに最初にマッチしたもので return しているのでが変なので直す。 - if (secSteel.StbSecBuildBOX != null) - { - foreach (var box in secSteel.StbSecBuildBOX.Where(box => box.name == shape)) - { - return CurveFromStbSecBox(localAxis, point, type, box.A, box.B); - } - } - - if (secSteel.StbSecRollBOX != null) - { - foreach (StbSecRollBOX box in secSteel.StbSecRollBOX.Where(box => box.name == shape)) - { - return CurveFromStbSecBox(localAxis, point, type, box.A, box.B); - } - } - - if (secSteel.StbSecFlatBar != null) - { - foreach (StbSecFlatBar flatBar in secSteel.StbSecFlatBar.Where(bar => bar.name == shape)) - { - return CurveFromStbSecBox(localAxis, point, type, flatBar.B, flatBar.t); - } - } - - if (secSteel.StbSecBuildH != null) - { - foreach (StbSecBuildH buildH in secSteel.StbSecBuildH.Where(buildH => buildH.name == shape)) - { - return CurveFromStbSecH(localAxis, point, type, buildH.A, buildH.B, buildH.t1, buildH.t2); - } - } - - if (secSteel.StbSecRollH != null) - { - foreach (StbSecRollH rollH in secSteel.StbSecRollH.Where(rollH => rollH.name == shape)) - { - return CurveFromStbSecH(localAxis, point, type, rollH.A, rollH.B, rollH.t1, rollH.t2); - } - } - - if (secSteel.StbSecRollL != null) - { - foreach (StbSecRollL rollL in secSteel.StbSecRollL.Where(rollL => rollL.name == shape)) - { - return CurveFromStbSecL(localAxis, point, type, rollL); - } - } - - if (secSteel.StbSecPipe != null) - { - foreach (StbSecPipe pipe in secSteel.StbSecPipe.Where(pipe => pipe.name == shape)) - { - return CurveFromStbSecPipe(localAxis, point, type, pipe.D); - } - } - - if (secSteel.StbSecRoundBar != null) - { - foreach (StbSecRoundBar bar in secSteel.StbSecRoundBar.Where(pipe => pipe.name == shape)) - { - return CurveFromStbSecPipe(localAxis, point, type, bar.R); - } - } - - // TODO: C 断面を実装する - if (secSteel.StbSecRollC != null || secSteel.StbSecLipC != null) - { - throw new ArgumentException("StbSecRollC & StbSecLipC is not supported"); - } - - throw new ArgumentException("There are no matching steel section"); - } - - private static Curve CurveFromStbSecPipe(Vector3d[] localAxis, Point3d point, SectionType type, double diameter) - { - switch (type) - { - case SectionType.Column: - case SectionType.Brace: - return SectionCornerPoints.ColumnPipe(point, diameter, localAxis[0]); - case SectionType.Beam: - return SectionCornerPoints.BeamPipe(point, diameter, localAxis[0]); - default: - throw new ArgumentOutOfRangeException(nameof(type), type, null); - } - } - - private static Curve CurveFromStbSecL(Vector3d[] localAxis, Point3d point, SectionType type, StbSecRollL rollL) - { - switch (type) - { - case SectionType.Column: - case SectionType.Brace: - return new PolylineCurve( - SectionCornerPoints.ColumnL(point, rollL.A, rollL.B, rollL.t1, rollL.t2, rollL.type, localAxis[1], localAxis[2])); - case SectionType.Beam: - return new PolylineCurve( - SectionCornerPoints.BeamL(point, rollL.A, rollL.B, rollL.t1, rollL.t2, rollL.type, localAxis[1], localAxis[2])); - default: - throw new ArgumentOutOfRangeException(nameof(type), type, null); - } - } - - private static Curve CurveFromStbSecBox(Vector3d[] localAxis, Point3d point, SectionType type, double A, double B) - { - switch (type) - { - case SectionType.Column: - case SectionType.Brace: - return new PolylineCurve( - SectionCornerPoints.ColumnRect(point, B, A, localAxis[1], localAxis[2])); - case SectionType.Beam: - return new PolylineCurve( - SectionCornerPoints.BeamRect(point, B, A, localAxis[1], localAxis[2])); - default: - throw new ArgumentOutOfRangeException(nameof(type), type, null); - } - } - - private static Curve CurveFromStbSecH(Vector3d[] localAxis, Point3d point, SectionType type, double A, double B, double t1, double t2) - { - switch (type) - { - case SectionType.Column: - case SectionType.Brace: - return new PolylineCurve( - SectionCornerPoints.ColumnH(point, A, B, t1, t2, localAxis[1], localAxis[2])); - case SectionType.Beam: - return new PolylineCurve( - SectionCornerPoints.BeamH(point, A, B, t1, t2, localAxis[1], localAxis[2])); - default: - throw new ArgumentOutOfRangeException(nameof(type), type, null); - } - } - - public List Slab(IEnumerable slabs) - { - var brepList = new List(); - if (slabs == null) - { - return brepList; - } - - foreach (StbSlab slab in slabs) - { - StbSlabOffset[] offsets = slab.StbSlabOffsetList; - var curveList = new PolylineCurve[2]; - double depth = GetSlabDepth(slab); - string[] nodeIds = slab.StbNodeIdOrder.Split(' '); - var topPts = new List(); - foreach (string nodeId in nodeIds) - { - var offsetVec = new Vector3d(); - if (offsets != null) - { - foreach (StbSlabOffset offset in offsets) - { - if (nodeId == offset.id_node) - { - offsetVec = new Vector3d(offset.offset_X, offset.offset_Y, offset.offset_Z); - } - } - } - - StbNode node = _nodes.First(n => n.id == nodeId); - topPts.Add(new Point3d(node.X, node.Y, node.Z) + offsetVec); - } - - topPts.Add(topPts[0]); - curveList[0] = new PolylineCurve(topPts); - Vector3d normal = Vector3d.CrossProduct(curveList[0].TangentAtEnd, curveList[0].TangentAtStart); - curveList[1] = new PolylineCurve(topPts.Select(pt => pt - normal * depth)); - brepList.Add(Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] - .CapPlanarHoles(_tolerance[0])); - } - - return brepList; - } - - private double GetSlabDepth(StbSlab slab) - { - double depth = 0; - - switch (slab.kind_structure) - { - case StbSlabKind_structure.RC: - object[] slabRc = _sections.StbSecSlab_RC.First(sec => sec.id == slab.id_section).StbSecFigureSlab_RC.Items; - switch (slabRc.Length) - { - case 1: - var straight = slabRc[0] as StbSecSlab_RC_Straight; - depth = straight.depth; - break; - case 2: - var tapers = new[] { slabRc[0] as StbSecSlab_RC_Taper, slabRc[1] as StbSecSlab_RC_Taper }; - depth = tapers.First(sec => sec.pos == StbSecSlab_RC_TaperPos.TIP).depth; - break; - case 3: - var haunches = new[] - { - slabRc[0] as StbSecSlab_RC_Haunch, slabRc[1] as StbSecSlab_RC_Haunch, - slabRc[2] as StbSecSlab_RC_Haunch - }; - depth = haunches.First(sec => sec.pos == StbSecSlab_RC_HaunchPos.CENTER).depth; - break; - } - - break; - case StbSlabKind_structure.DECK: - // StbSecSlabDeck slabDeck = _sections.StbSecSlabDeck.FirstOrDefault(sec => sec.id == slab.id_section); - // break; - case StbSlabKind_structure.PRECAST: - // StbSecSlabPrecast slabPrecast = _sections.StbSecSlabPrecast.FirstOrDefault(sec => sec.id == slab.id_section); - // break; - default: - throw new ArgumentOutOfRangeException(); - } - - return depth; - } - - public List Wall(IEnumerable walls) - { - var brepList = new List(); - if (walls == null) - { - return brepList; - } - - foreach (StbWall wall in walls) - { - StbWallOffset[] offsets = wall.StbWallOffsetList; - var curveList = new PolylineCurve[2]; - double thickness = GetWallThickness(wall); - string[] nodeIds = wall.StbNodeIdOrder.Split(' '); - var topPts = new List(); - foreach (string nodeId in nodeIds) - { - var offsetVec = new Vector3d(); - if (offsets != null) - { - foreach (StbWallOffset offset in offsets) - { - if (nodeId == offset.id_node) - { - offsetVec = new Vector3d(offset.offset_X, offset.offset_Y, offset.offset_Z); - break; - } - } - } - - StbNode node = _nodes.First(n => n.id == nodeId); - topPts.Add(new Point3d(node.X, node.Y, node.Z) + offsetVec); - } - - topPts.Add(topPts[0]); - var centerCurve = new PolylineCurve(topPts); - Vector3d normal = Vector3d.CrossProduct(centerCurve.TangentAtEnd, centerCurve.TangentAtStart); - curveList[0] = new PolylineCurve(topPts.Select(pt => pt + normal * thickness / 2)); - curveList[1] = new PolylineCurve(topPts.Select(pt => pt - normal * thickness / 2)); - brepList.Add(Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] - .CapPlanarHoles(_tolerance[0])); - } - - return brepList; - } - - private double GetWallThickness(StbWall wall) - { - return _sections.StbSecWall_RC.First(sec => sec.id == wall.id_section) - .StbSecFigureWall_RC.StbSecWall_RC_Straight.t; - } - - private enum SectionType - { - Column, - Beam, - Brace - } - } -} diff --git a/HoaryFox/Component/Utils/Geometry/CreateMemberBrepListFromStb.cs b/HoaryFox/Component/Utils/Geometry/CreateMemberBrepListFromStb.cs new file mode 100644 index 00000000..30175dc8 --- /dev/null +++ b/HoaryFox/Component/Utils/Geometry/CreateMemberBrepListFromStb.cs @@ -0,0 +1,311 @@ +using System.Collections.Generic; +using System.Linq; +using Rhino.Geometry; +using STBDotNet.v202; + +namespace HoaryFox.Component.Utils.Geometry +{ + public class CreateMemberBrepListFromStb + { + private readonly IEnumerable _nodes; + private readonly IReadOnlyList _tolerance; + private readonly StbSections _sections; + + public CreateMemberBrepListFromStb(StbSections sections, IEnumerable nodes, IReadOnlyList tolerance) + { + _nodes = nodes; + _tolerance = tolerance; + _sections = sections; + } + + public List Column(IEnumerable columns) + { + var brepList = new List(); + if (columns == null) + { + return brepList; + } + + foreach (StbColumn column in columns) + { + StbColumnKind_structure kind = column.kind_structure; + + StbNode[] endNodes = + { + _nodes.First(node => node.id == column.id_node_bottom), + _nodes.First(node => node.id == column.id_node_top) + }; + Point3d[] offset = + { + new Point3d(column.offset_bottom_X, column.offset_bottom_Y, column.offset_bottom_Z), + new Point3d(column.offset_top_X, column.offset_top_Y, column.offset_top_Z) + }; + Point3d[] sectionPoints = + { + new Point3d(endNodes[0].X, endNodes[0].Y, endNodes[0].Z) + offset[0], + new Point3d(), + new Point3d(), + new Point3d(endNodes[1].X, endNodes[1].Y, endNodes[1].Z) + offset[1] + }; + Vector3d memberAxis = sectionPoints[3] - sectionPoints[0]; + sectionPoints[1] = sectionPoints[0] + memberAxis / memberAxis.Length * column.joint_bottom; + sectionPoints[2] = sectionPoints[3] - memberAxis / memberAxis.Length * column.joint_top; + + var brepMaker = new BrepMaker.Column(_sections, _tolerance); + brepList.Add(brepMaker.CreateColumnBrep(column.id_section, column.rotate, kind, sectionPoints, memberAxis)); + } + + return brepList; + } + + public List Post(IEnumerable posts) + { + var brepList = new List(); + if (posts == null) + { + return brepList; + } + + foreach (StbPost post in posts) + { + StbColumnKind_structure kind = post.kind_structure; + + StbNode[] endNodes = + { + _nodes.First(node => node.id == post.id_node_bottom), + _nodes.First(node => node.id == post.id_node_top) + }; + Point3d[] offset = + { + new Point3d(post.offset_bottom_X, post.offset_bottom_Y, post.offset_bottom_Z), + new Point3d(post.offset_top_X, post.offset_top_Y, post.offset_top_Z) + }; + Point3d[] sectionPoints = + { + new Point3d(endNodes[0].X, endNodes[0].Y, endNodes[0].Z) + offset[0], + new Point3d(), + new Point3d(), + new Point3d(endNodes[1].X, endNodes[1].Y, endNodes[1].Z) + offset[1] + }; + Vector3d memberAxis = sectionPoints[3] - sectionPoints[0]; + sectionPoints[1] = sectionPoints[0] + memberAxis / memberAxis.Length * post.joint_bottom; + sectionPoints[2] = sectionPoints[3] - memberAxis / memberAxis.Length * post.joint_top; + + var brepMaker = new BrepMaker.Column(_sections, _tolerance); + brepList.Add(brepMaker.CreateColumnBrep(post.id_section, post.rotate, kind, sectionPoints, memberAxis)); + } + + return brepList; + } + + public List Girder(IEnumerable girders) + { + var brepList = new List(); + if (girders == null) + { + return brepList; + } + + foreach (StbGirder girder in girders) + { + StbGirderKind_structure kind = girder.kind_structure; + + StbNode[] endNodes = + { + _nodes.First(node => node.id == girder.id_node_start), + _nodes.First(node => node.id == girder.id_node_end) + }; + Point3d[] offset = + { + new Point3d(girder.offset_start_X, girder.offset_start_Y, girder.offset_start_Z), + new Point3d(girder.offset_end_X, girder.offset_end_Y, girder.offset_end_Z) + }; + Point3d[] sectionPoints = + { + new Point3d(endNodes[0].X, endNodes[0].Y, endNodes[0].Z) + offset[0], + Point3d.Origin, + Point3d.Origin, + new Point3d(endNodes[1].X, endNodes[1].Y, endNodes[1].Z) + offset[1] + }; + Vector3d memberAxis = sectionPoints[3] - sectionPoints[0]; + sectionPoints[1] = sectionPoints[0] + memberAxis / memberAxis.Length * girder.joint_start; + sectionPoints[2] = sectionPoints[3] - memberAxis / memberAxis.Length * girder.joint_end; + + var brepMaker = new BrepMaker.Girder(_sections, _tolerance); + brepList.Add(brepMaker.CreateGirderBrep(girder.id_section, girder.rotate, kind, sectionPoints, memberAxis)); + } + + return brepList; + } + + public List Beam(IEnumerable beams) + { + var brepList = new List(); + if (beams == null) + { + return brepList; + } + + foreach (StbBeam beam in beams) + { + StbGirderKind_structure kind = beam.kind_structure; + + StbNode[] endNodes = + { + _nodes.First(node => node.id == beam.id_node_start), + _nodes.First(node => node.id == beam.id_node_end) + }; + Point3d[] offset = + { + new Point3d(beam.offset_start_X, beam.offset_start_Y, beam.offset_start_Z), + new Point3d(beam.offset_end_X, beam.offset_end_Y, beam.offset_end_Z) + }; + Point3d[] sectionPoints = + { + new Point3d(endNodes[0].X, endNodes[0].Y, endNodes[0].Z) + offset[0], + Point3d.Origin, + Point3d.Origin, + new Point3d(endNodes[1].X, endNodes[1].Y, endNodes[1].Z) + offset[1] + }; + Vector3d memberAxis = sectionPoints[3] - sectionPoints[0]; + sectionPoints[1] = sectionPoints[0] + memberAxis / memberAxis.Length * beam.joint_start; + sectionPoints[2] = sectionPoints[3] - memberAxis / memberAxis.Length * beam.joint_end; + + var brepMaker = new BrepMaker.Girder(_sections, _tolerance); + brepList.Add(brepMaker.CreateGirderBrep(beam.id_section, beam.rotate, kind, sectionPoints, memberAxis)); + } + + return brepList; + } + + public List Brace(IEnumerable braces) + { + var brepList = new List(); + if (braces == null) + { + return brepList; + } + + foreach (StbBrace brace in braces) + { + StbBraceKind_structure kind = brace.kind_structure; + + StbNode[] endNodes = + { + _nodes.First(node => node.id == brace.id_node_start), + _nodes.First(node => node.id == brace.id_node_end) + }; + Point3d[] offset = + { + new Point3d(brace.offset_start_X, brace.offset_start_Y, brace.offset_start_Z), + new Point3d(brace.offset_end_X, brace.offset_end_Y, brace.offset_end_Z) + }; + Point3d[] sectionPoints = + { + new Point3d(endNodes[0].X, endNodes[0].Y, endNodes[0].Z) + offset[0], + Point3d.Origin, + Point3d.Origin, + new Point3d(endNodes[1].X, endNodes[1].Y, endNodes[1].Z) + offset[1] + }; + Vector3d memberAxis = sectionPoints[3] - sectionPoints[0]; + sectionPoints[1] = sectionPoints[0] + memberAxis / memberAxis.Length * brace.joint_start; + sectionPoints[2] = sectionPoints[3] - memberAxis / memberAxis.Length * brace.joint_end; + + var brepMaker = new BrepMaker.Brace(_sections, _tolerance); + brepList.Add(brepMaker.CreateBraceBrep(brace.id_section, brace.rotate, kind, sectionPoints, memberAxis)); + } + + return brepList; + } + + public List Slab(IEnumerable slabs) + { + var brepList = new List(); + if (slabs == null) + { + return brepList; + } + + foreach (StbSlab slab in slabs) + { + StbSlabOffset[] offsets = slab.StbSlabOffsetList; + var curveList = new PolylineCurve[2]; + double depth = BrepMaker.Slab.GetDepth(_sections, slab); + string[] nodeIds = slab.StbNodeIdOrder.Split(' '); + var topPts = new List(); + foreach (string nodeId in nodeIds) + { + var offsetVec = new Vector3d(); + if (offsets != null) + { + foreach (StbSlabOffset offset in offsets) + { + if (nodeId == offset.id_node) + { + offsetVec = new Vector3d(offset.offset_X, offset.offset_Y, offset.offset_Z); + } + } + } + + StbNode node = _nodes.First(n => n.id == nodeId); + topPts.Add(new Point3d(node.X, node.Y, node.Z) + offsetVec); + } + + topPts.Add(topPts[0]); + curveList[0] = new PolylineCurve(topPts); + Vector3d normal = Vector3d.CrossProduct(curveList[0].TangentAtEnd, curveList[0].TangentAtStart); + curveList[1] = new PolylineCurve(topPts.Select(pt => pt - normal * depth)); + brepList.Add(Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] + .CapPlanarHoles(_tolerance[0])); + } + + return brepList; + } + + public List Wall(IEnumerable walls) + { + var brepList = new List(); + if (walls == null) + { + return brepList; + } + + foreach (StbWall wall in walls) + { + StbWallOffset[] offsets = wall.StbWallOffsetList; + var curveList = new PolylineCurve[2]; + double thickness = BrepMaker.Wall.GetThickness(_sections, wall); + string[] nodeIds = wall.StbNodeIdOrder.Split(' '); + var topPts = new List(); + foreach (string nodeId in nodeIds) + { + var offsetVec = new Vector3d(); + if (offsets != null) + { + foreach (StbWallOffset offset in offsets) + { + if (nodeId == offset.id_node) + { + offsetVec = new Vector3d(offset.offset_X, offset.offset_Y, offset.offset_Z); + break; + } + } + } + + StbNode node = _nodes.First(n => n.id == nodeId); + topPts.Add(new Point3d(node.X, node.Y, node.Z) + offsetVec); + } + + topPts.Add(topPts[0]); + var centerCurve = new PolylineCurve(topPts); + Vector3d normal = Vector3d.CrossProduct(centerCurve.TangentAtEnd, centerCurve.TangentAtStart); + curveList[0] = new PolylineCurve(topPts.Select(pt => pt + normal * thickness / 2)); + curveList[1] = new PolylineCurve(topPts.Select(pt => pt - normal * thickness / 2)); + brepList.Add(Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] + .CapPlanarHoles(_tolerance[0])); + } + + return brepList; + } + } +} From 71b1194594253ebf8e126f26d5d1dbcf312a3b0d Mon Sep 17 00:00:00 2001 From: hiron Date: Sun, 22 Aug 2021 14:27:54 +0900 Subject: [PATCH 108/162] Add story output --- HoaryFox/Component/Geometry/Axes.cs | 68 +++++++++++++++++++++-------- 1 file changed, 50 insertions(+), 18 deletions(-) diff --git a/HoaryFox/Component/Geometry/Axes.cs b/HoaryFox/Component/Geometry/Axes.cs index 79b04549..fee994c9 100644 --- a/HoaryFox/Component/Geometry/Axes.cs +++ b/HoaryFox/Component/Geometry/Axes.cs @@ -12,9 +12,12 @@ public class Axis : GH_Component { private ST_BRIDGE _stBridge; private int _size; + private double _factor; private readonly List _axisLines = new List(); private readonly List _axisPts = new List(); private readonly List _axisStr = new List(); + private readonly List _storyPts = new List(); + private readonly List _storyStr = new List(); public override bool IsPreviewCapable => true; public Axis() @@ -30,6 +33,8 @@ public override void ClearData() _axisLines.Clear(); _axisPts.Clear(); _axisStr.Clear(); + _storyPts.Clear(); + _storyStr.Clear(); } protected override void RegisterInputParams(GH_InputParamManager pManager) @@ -46,39 +51,49 @@ protected override void RegisterOutputParams(GH_OutputParamManager pManager) protected override void SolveInstance(IGH_DataAccess dataAccess) { - double factor = 1; if (!dataAccess.GetData(0, ref _stBridge)) { return; } - if (!dataAccess.GetData(1, ref factor)) { return; } + if (!dataAccess.GetData(1, ref _factor)) { return; } if (!dataAccess.GetData(2, ref _size)) { return; } StbAxes axis = _stBridge.StbModel.StbAxes; StbParallelAxes[] parallels = axis.StbParallelAxes; + StbStory[] stories = _stBridge.StbModel.StbStories; double length = GetMaxLength(_stBridge.StbModel.StbNodes); - StbParallelAxesToLine(factor, parallels, length); + StbParallelAxesToLine(_factor, parallels, stories, length); dataAccess.SetDataList(0, _axisLines); } - private void StbParallelAxesToLine(double factor, StbParallelAxes[] parallels, double length) + private void StbParallelAxesToLine(double factor, StbParallelAxes[] parallels, StbStory[] stories, double length) { - foreach (StbParallelAxes parallel in parallels) + bool isFirst = true; + for (int i = 0; i < stories.Length; i++) { - var basePt = new Point3d(parallel.X, parallel.Y, 0); - Vector3d axisVec = Vector3d.XAxis * length; - axisVec.Rotate(parallel.angle * Math.PI / 180, -Vector3d.ZAxis); - Vector3d distanceVec = Vector3d.YAxis; - distanceVec.Rotate(parallel.angle * Math.PI / 180, Vector3d.ZAxis); - - foreach (StbParallelAxis pAxis in parallel.StbParallelAxis) + StbStory story = stories[i]; + var height = story.height; + _storyStr.Add(story.name); + _storyPts.Add(new Point3d(0, 0, height)); + foreach (StbParallelAxes parallel in parallels) { - _axisLines.Add(new Line( - basePt - (axisVec * (factor - 1)) + (distanceVec * pAxis.distance), - basePt + (axisVec * factor) + (distanceVec * pAxis.distance) - )); - _axisPts.Add(basePt - (axisVec * (factor - 1)) + (distanceVec * pAxis.distance)); - _axisStr.Add(pAxis.name); + var basePt = new Point3d(parallel.X, parallel.Y, height); + Vector3d axisVec = Vector3d.XAxis * length; + axisVec.Rotate(parallel.angle * Math.PI / 180, -Vector3d.ZAxis); + Vector3d distanceVec = Vector3d.YAxis; + distanceVec.Rotate(parallel.angle * Math.PI / 180, Vector3d.ZAxis); + + foreach (StbParallelAxis pAxis in parallel.StbParallelAxis) + { + _axisLines.Add(new Line( + basePt - (axisVec * (factor - 1)) + (distanceVec * pAxis.distance), + basePt + (axisVec * factor) + (distanceVec * pAxis.distance) + )); + _axisPts.Add(basePt - (axisVec * (factor - 1)) + (distanceVec * pAxis.distance)); + _axisStr.Add(isFirst == true ? pAxis.name : string.Empty); + } } + + isFirst = false; } } @@ -97,6 +112,23 @@ public override void DrawViewportWires(IGH_PreviewArgs args) args.Display.Draw2dText(_axisStr[i], Color.Black, _axisPts[i], true, _size); args.Display.DrawPatternedLine(_axisLines[i], Color.Black, 0x0000AFAF, 1); } + + double xMin = _axisPts.Min(pt => pt.X); + double yMin = _axisPts.Min(pt => pt.Y); + Vector3d vec = new Vector3d(xMin, yMin, 0); + double length = _axisLines.Max(line => line.Length); + + for (var i = 1; i < _storyPts.Count; i++) + { + args.Display.DrawLine(new Line(_storyPts[i - 1] + vec, _storyPts[i] + vec), Color.Black); + } + + for (int i = 0; i < _storyPts.Count; i++) + { + args.Display.Draw2dText(_storyStr[i], Color.Black, _storyPts[i] + vec, true, _size); + args.Display.DrawLine(new Line(_storyPts[i] + vec, _storyPts[i] + vec + length * Vector3d.XAxis), Color.Black); + args.Display.DrawLine(new Line(_storyPts[i] + vec, _storyPts[i] + vec + length * Vector3d.YAxis), Color.Black); + } } protected override Bitmap Icon => null; From 79e1ae29b423faaa032d40677fbbf7be5b69d61a Mon Sep 17 00:00:00 2001 From: hiron Date: Sun, 22 Aug 2021 15:01:21 +0900 Subject: [PATCH 109/162] Add axis icon --- HoaryFox/Component/Geometry/Axes.cs | 3 +- HoaryFox/HoaryFox.csproj | 15 ++ HoaryFox/Properties/Resource.Designer.cs | 10 + HoaryFox/Properties/Resource.resx | 3 + HoaryFox/Resources/Axis.png | Bin 0 -> 650 bytes HoaryFox/Resources/Axis.svg | 238 +++++++++++++++++++++++ 6 files changed, 268 insertions(+), 1 deletion(-) create mode 100644 HoaryFox/Resources/Axis.png create mode 100644 HoaryFox/Resources/Axis.svg diff --git a/HoaryFox/Component/Geometry/Axes.cs b/HoaryFox/Component/Geometry/Axes.cs index fee994c9..08cfc6e0 100644 --- a/HoaryFox/Component/Geometry/Axes.cs +++ b/HoaryFox/Component/Geometry/Axes.cs @@ -3,6 +3,7 @@ using System.Drawing; using System.Linq; using Grasshopper.Kernel; +using HoaryFox.Properties; using Rhino.Geometry; using STBDotNet.v202; @@ -131,7 +132,7 @@ public override void DrawViewportWires(IGH_PreviewArgs args) } } - protected override Bitmap Icon => null; + protected override Bitmap Icon => Resource.Axis; public override Guid ComponentGuid => new Guid("98315013-7bb3-4ad9-8b69-ad1457ebe0b7"); } diff --git a/HoaryFox/HoaryFox.csproj b/HoaryFox/HoaryFox.csproj index b3520438..e123cd2d 100644 --- a/HoaryFox/HoaryFox.csproj +++ b/HoaryFox/HoaryFox.csproj @@ -17,6 +17,21 @@ + + + True + True + Resource.resx + + + + + + ResXFileCodeGenerator + Resource.Designer.cs + + + C:\Program Files\Rhino 6\System\Rhino.exe diff --git a/HoaryFox/Properties/Resource.Designer.cs b/HoaryFox/Properties/Resource.Designer.cs index 77933647..549f9d1e 100644 --- a/HoaryFox/Properties/Resource.Designer.cs +++ b/HoaryFox/Properties/Resource.Designer.cs @@ -60,6 +60,16 @@ internal Resource() { } } + /// + /// 型 System.Drawing.Bitmap のローカライズされたリソースを検索します。 + /// + internal static System.Drawing.Bitmap Axis { + get { + object obj = ResourceManager.GetObject("Axis", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// 型 System.Drawing.Bitmap のローカライズされたリソースを検索します。 /// diff --git a/HoaryFox/Properties/Resource.resx b/HoaryFox/Properties/Resource.resx index 7072402c..19717845 100644 --- a/HoaryFox/Properties/Resource.resx +++ b/HoaryFox/Properties/Resource.resx @@ -118,6 +118,9 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + ..\Resources\Axis.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\BeamName.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a diff --git a/HoaryFox/Resources/Axis.png b/HoaryFox/Resources/Axis.png new file mode 100644 index 0000000000000000000000000000000000000000..c8df83fd7621da7305bc4e5bd2fa674e099f1cc9 GIT binary patch literal 650 zcmV;50(Jd~P)OL0yufuVsKhZ;6$r2b_wfj8Ds>F2a0gpcfEIM& zHFl%+f1JZ4oWze5;4@BO!cd0QC3M+FzQcp$7`~tf{S_qpTQ-a4!6Dp2r>I~r25?vK zy_l4&@CeSO@1y+P&I;{vwxmV2s!`AH-^yk$Jxe-FQo2b~~MZu}enhW!|33Kb-<>7d^O + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + X + + Y + + + + + + + + Z + + From 4c1a8fe191477abc17622527c07ff8207741c63c Mon Sep 17 00:00:00 2001 From: hiron Date: Sun, 22 Aug 2021 15:04:37 +0900 Subject: [PATCH 110/162] Clean code --- HoaryFox/Component/Geometry/Axes.cs | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/HoaryFox/Component/Geometry/Axes.cs b/HoaryFox/Component/Geometry/Axes.cs index 08cfc6e0..dd4ee255 100644 --- a/HoaryFox/Component/Geometry/Axes.cs +++ b/HoaryFox/Component/Geometry/Axes.cs @@ -66,13 +66,12 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) dataAccess.SetDataList(0, _axisLines); } - private void StbParallelAxesToLine(double factor, StbParallelAxes[] parallels, StbStory[] stories, double length) + private void StbParallelAxesToLine(double factor, StbParallelAxes[] parallels, IEnumerable stories, double length) { - bool isFirst = true; - for (int i = 0; i < stories.Length; i++) + var isFirst = true; + foreach (StbStory story in stories) { - StbStory story = stories[i]; - var height = story.height; + double height = story.height; _storyStr.Add(story.name); _storyPts.Add(new Point3d(0, 0, height)); foreach (StbParallelAxes parallel in parallels) @@ -90,7 +89,7 @@ private void StbParallelAxesToLine(double factor, StbParallelAxes[] parallels, S basePt + (axisVec * factor) + (distanceVec * pAxis.distance) )); _axisPts.Add(basePt - (axisVec * (factor - 1)) + (distanceVec * pAxis.distance)); - _axisStr.Add(isFirst == true ? pAxis.name : string.Empty); + _axisStr.Add(isFirst ? pAxis.name : string.Empty); } } @@ -116,7 +115,7 @@ public override void DrawViewportWires(IGH_PreviewArgs args) double xMin = _axisPts.Min(pt => pt.X); double yMin = _axisPts.Min(pt => pt.Y); - Vector3d vec = new Vector3d(xMin, yMin, 0); + var vec = new Vector3d(xMin, yMin, 0); double length = _axisLines.Max(line => line.Length); for (var i = 1; i < _storyPts.Count; i++) @@ -124,7 +123,7 @@ public override void DrawViewportWires(IGH_PreviewArgs args) args.Display.DrawLine(new Line(_storyPts[i - 1] + vec, _storyPts[i] + vec), Color.Black); } - for (int i = 0; i < _storyPts.Count; i++) + for (var i = 0; i < _storyPts.Count; i++) { args.Display.Draw2dText(_storyStr[i], Color.Black, _storyPts[i] + vec, true, _size); args.Display.DrawLine(new Line(_storyPts[i] + vec, _storyPts[i] + vec + length * Vector3d.XAxis), Color.Black); From ce0e7bfa53ab08de9f7cf28724a335af71d81cae Mon Sep 17 00:00:00 2001 From: hiron Date: Sun, 22 Aug 2021 15:10:00 +0900 Subject: [PATCH 111/162] Clean StbParallelAxesToLine method --- HoaryFox/Component/Geometry/Axes.cs | 41 ++++++++++++++++------------- 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/HoaryFox/Component/Geometry/Axes.cs b/HoaryFox/Component/Geometry/Axes.cs index dd4ee255..4e3da5fe 100644 --- a/HoaryFox/Component/Geometry/Axes.cs +++ b/HoaryFox/Component/Geometry/Axes.cs @@ -74,29 +74,34 @@ private void StbParallelAxesToLine(double factor, StbParallelAxes[] parallels, I double height = story.height; _storyStr.Add(story.name); _storyPts.Add(new Point3d(0, 0, height)); - foreach (StbParallelAxes parallel in parallels) - { - var basePt = new Point3d(parallel.X, parallel.Y, height); - Vector3d axisVec = Vector3d.XAxis * length; - axisVec.Rotate(parallel.angle * Math.PI / 180, -Vector3d.ZAxis); - Vector3d distanceVec = Vector3d.YAxis; - distanceVec.Rotate(parallel.angle * Math.PI / 180, Vector3d.ZAxis); - - foreach (StbParallelAxis pAxis in parallel.StbParallelAxis) - { - _axisLines.Add(new Line( - basePt - (axisVec * (factor - 1)) + (distanceVec * pAxis.distance), - basePt + (axisVec * factor) + (distanceVec * pAxis.distance) - )); - _axisPts.Add(basePt - (axisVec * (factor - 1)) + (distanceVec * pAxis.distance)); - _axisStr.Add(isFirst ? pAxis.name : string.Empty); - } - } + CreateEachAxis(factor, parallels, length, isFirst, height); isFirst = false; } } + private void CreateEachAxis(double factor, StbParallelAxes[] parallels, double length, bool isFirst, double height) + { + foreach (StbParallelAxes parallel in parallels) + { + var basePt = new Point3d(parallel.X, parallel.Y, height); + Vector3d axisVec = Vector3d.XAxis * length; + axisVec.Rotate(parallel.angle * Math.PI / 180, -Vector3d.ZAxis); + Vector3d distanceVec = Vector3d.YAxis; + distanceVec.Rotate(parallel.angle * Math.PI / 180, Vector3d.ZAxis); + + foreach (StbParallelAxis pAxis in parallel.StbParallelAxis) + { + _axisLines.Add(new Line( + basePt - (axisVec * (factor - 1)) + (distanceVec * pAxis.distance), + basePt + (axisVec * factor) + (distanceVec * pAxis.distance) + )); + _axisPts.Add(basePt - (axisVec * (factor - 1)) + (distanceVec * pAxis.distance)); + _axisStr.Add(isFirst ? pAxis.name : string.Empty); + } + } + } + private static double GetMaxLength(StbNode[] stbNodes) { IEnumerable xList = stbNodes.Select(n => n.X); From d7d4ba5f1b3ed20ff5123fb6af8154189bfa112b Mon Sep 17 00:00:00 2001 From: hiron Date: Mon, 23 Aug 2021 22:45:56 +0900 Subject: [PATCH 112/162] Add WallNameTag --- HoaryFox/Component/Tag/Name/WallNameTag.cs | 81 ++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 HoaryFox/Component/Tag/Name/WallNameTag.cs diff --git a/HoaryFox/Component/Tag/Name/WallNameTag.cs b/HoaryFox/Component/Tag/Name/WallNameTag.cs new file mode 100644 index 00000000..938d270c --- /dev/null +++ b/HoaryFox/Component/Tag/Name/WallNameTag.cs @@ -0,0 +1,81 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using Grasshopper.Kernel; +using Rhino.Geometry; +using STBDotNet.v202; + +namespace HoaryFox.Component.Tag.Name +{ + public class WallNameTag : GH_Component + { + private ST_BRIDGE _stBridge; + private int _size; + + private readonly List _frameName = new List(); + private readonly List _framePos = new List(); + + public override bool IsPreviewCapable => true; + public WallNameTag() + : base("Wall Name Tag", "WallTag", + "Display Wall Name Tag", + "HoaryFox", "NameTag") + { + } + + public override void ClearData() + { + base.ClearData(); + _frameName.Clear(); + _framePos.Clear(); + } + + protected override void RegisterInputParams(GH_InputParamManager pManager) + { + pManager.AddGenericParameter("Data", "D", "input ST-Bridge file data", GH_ParamAccess.item); + pManager.AddIntegerParameter("Size", "S", "Tag size", GH_ParamAccess.item, 12); + } + + protected override void RegisterOutputParams(GH_OutputParamManager pManager) + { + pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.list); + } + + protected override void SolveInstance(IGH_DataAccess dataAccess) + { + if (!dataAccess.GetData("Data", ref _stBridge)) { return; } + if (!dataAccess.GetData("Size", ref _size)) { return; } + + StbNode[] nodes = _stBridge.StbModel.StbNodes; + StbWall[] walls = _stBridge.StbModel.StbMembers.StbWalls; + foreach (StbWall wall in walls) + { + _frameName.Add(wall.name); + + string[] nodeIds = wall.StbNodeIdOrder.Split(' '); + var pts = new Point3d[nodeIds.Length]; + for (int i = 0; i < nodeIds.Length; i++) + { + string nodeId = nodeIds[i]; + StbNode node = nodes.First(n => n.id == nodeId); + pts[i] = new Point3d(node.X, node.Y, node.Z); + } + _framePos.Add(new Point3d(pts.Average(n => n.X), pts.Average(n => n.Y), pts.Average(n => n.Z))); + } + dataAccess.SetDataList(0, _frameName); + } + + public override void DrawViewportWires(IGH_PreviewArgs args) + { + for (var i = 0; i < _frameName.Count; i++) + { + args.Display.Draw2dText(_frameName[i], Color.Black, _framePos[i], true, _size); + } + } + + protected override Bitmap Icon => null; + + public override Guid ComponentGuid => new Guid("713d1503-eebd-4504-83f0-ddd072a11188"); + } +} From b96423a7d8d03ed3038a719d1662654751a1b079 Mon Sep 17 00:00:00 2001 From: hiron Date: Tue, 24 Aug 2021 22:48:26 +0900 Subject: [PATCH 113/162] Add SlabNameTag --- HoaryFox/Component/Tag/Name/SlabNameTag.cs | 89 ++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 HoaryFox/Component/Tag/Name/SlabNameTag.cs diff --git a/HoaryFox/Component/Tag/Name/SlabNameTag.cs b/HoaryFox/Component/Tag/Name/SlabNameTag.cs new file mode 100644 index 00000000..fc810a42 --- /dev/null +++ b/HoaryFox/Component/Tag/Name/SlabNameTag.cs @@ -0,0 +1,89 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using Grasshopper.Kernel; +using Rhino.Geometry; +using STBDotNet.v202; + +namespace HoaryFox.Component.Tag.Name +{ + public class SlabNameTag : GH_Component + { + private ST_BRIDGE _stBridge; + private int _size; + + private readonly List _plateName = new List(); + private readonly List _platePos = new List(); + + public override bool IsPreviewCapable => true; + public SlabNameTag() + : base("Slab Name Tag", "SlabTag", + "Display Slab Name Tag", + "HoaryFox", "NameTag") + { + } + + public override void ClearData() + { + base.ClearData(); + _plateName.Clear(); + _platePos.Clear(); + } + + protected override void RegisterInputParams(GH_InputParamManager pManager) + { + pManager.AddGenericParameter("Data", "D", "input ST-Bridge file data", GH_ParamAccess.item); + pManager.AddIntegerParameter("Size", "S", "Tag size", GH_ParamAccess.item, 12); + } + + protected override void RegisterOutputParams(GH_OutputParamManager pManager) + { + pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.list); + } + + protected override void SolveInstance(IGH_DataAccess dataAccess) + { + if (!dataAccess.GetData("Data", ref _stBridge)) { return; } + if (!dataAccess.GetData("Size", ref _size)) { return; } + + StbNode[] nodes = _stBridge.StbModel.StbNodes; + StbSlab[] slabs = _stBridge.StbModel.StbMembers.StbSlabs; + foreach (StbSlab slab in slabs) + { + _plateName.Add(slab.name); + StbSlabOffset[] offsets = slab.StbSlabOffsetList; + + string[] nodeIds = slab.StbNodeIdOrder.Split(' '); + var pts = new Point3d[nodeIds.Length]; + for (int i = 0; i < nodeIds.Length; i++) + { + string nodeId = nodeIds[i]; + StbNode node = nodes.First(n => n.id == nodeId); + var offsetVec = new Vector3d(); + if (offsets != null) + { + foreach (var offset in offsets.Where(offset => nodeId == offset.id_node)) + { + offsetVec = new Vector3d(offset.offset_X, offset.offset_Y, offset.offset_Z); + } + } + pts[i] = new Point3d(node.X, node.Y, node.Z) + offsetVec; + } + _platePos.Add(new Point3d(pts.Average(n => n.X), pts.Average(n => n.Y), pts.Average(n => n.Z))); + } + dataAccess.SetDataList(0, _plateName); + } + public override void DrawViewportWires(IGH_PreviewArgs args) + { + for (var i = 0; i < _plateName.Count; i++) + { + args.Display.Draw2dText(_plateName[i], Color.Black, _platePos[i], true, _size); + } + } + + protected override Bitmap Icon => null; + + public override Guid ComponentGuid => new Guid("9ee6efbb-20b5-49bb-aae9-02ca6031c09d"); + } +} From 58dee3ff8bcd365bf79dcd3ef9509e1de4877d70 Mon Sep 17 00:00:00 2001 From: hiron Date: Tue, 24 Aug 2021 22:48:34 +0900 Subject: [PATCH 114/162] Clean code --- HoaryFox/Component/Tag/Name/WallNameTag.cs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/HoaryFox/Component/Tag/Name/WallNameTag.cs b/HoaryFox/Component/Tag/Name/WallNameTag.cs index 938d270c..319d5987 100644 --- a/HoaryFox/Component/Tag/Name/WallNameTag.cs +++ b/HoaryFox/Component/Tag/Name/WallNameTag.cs @@ -13,8 +13,8 @@ public class WallNameTag : GH_Component private ST_BRIDGE _stBridge; private int _size; - private readonly List _frameName = new List(); - private readonly List _framePos = new List(); + private readonly List _plateName = new List(); + private readonly List _platePos = new List(); public override bool IsPreviewCapable => true; public WallNameTag() @@ -27,8 +27,8 @@ public WallNameTag() public override void ClearData() { base.ClearData(); - _frameName.Clear(); - _framePos.Clear(); + _plateName.Clear(); + _platePos.Clear(); } protected override void RegisterInputParams(GH_InputParamManager pManager) @@ -51,7 +51,7 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) StbWall[] walls = _stBridge.StbModel.StbMembers.StbWalls; foreach (StbWall wall in walls) { - _frameName.Add(wall.name); + _plateName.Add(wall.name); string[] nodeIds = wall.StbNodeIdOrder.Split(' '); var pts = new Point3d[nodeIds.Length]; @@ -61,16 +61,16 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) StbNode node = nodes.First(n => n.id == nodeId); pts[i] = new Point3d(node.X, node.Y, node.Z); } - _framePos.Add(new Point3d(pts.Average(n => n.X), pts.Average(n => n.Y), pts.Average(n => n.Z))); + _platePos.Add(new Point3d(pts.Average(n => n.X), pts.Average(n => n.Y), pts.Average(n => n.Z))); } - dataAccess.SetDataList(0, _frameName); + dataAccess.SetDataList(0, _plateName); } public override void DrawViewportWires(IGH_PreviewArgs args) { - for (var i = 0; i < _frameName.Count; i++) + for (var i = 0; i < _plateName.Count; i++) { - args.Display.Draw2dText(_frameName[i], Color.Black, _framePos[i], true, _size); + args.Display.Draw2dText(_plateName[i], Color.Black, _platePos[i], true, _size); } } From 1ef4268f2a1e6f7846e12bc52104c57ffa965dca Mon Sep 17 00:00:00 2001 From: hiron Date: Wed, 25 Aug 2021 21:36:36 +0900 Subject: [PATCH 115/162] Add SlabSecTag --- HoaryFox/Component/Tag/Name/BeamNameTag.cs | 2 +- HoaryFox/Component/Tag/Name/BraceNameTag.cs | 2 +- HoaryFox/Component/Tag/Name/ColumnNameTag.cs | 2 +- HoaryFox/Component/Tag/Name/GirderNameTag.cs | 2 +- HoaryFox/Component/Tag/Name/PostNameTag.cs | 2 +- HoaryFox/Component/Tag/Section/BeamSecTag.cs | 2 +- HoaryFox/Component/Tag/Section/BraceSecTag.cs | 2 +- .../Component/Tag/Section/ColumnSecTag.cs | 2 +- .../Component/Tag/Section/GirderSecTag.cs | 2 +- HoaryFox/Component/Tag/Section/PostSecTag.cs | 2 +- HoaryFox/Component/Tag/Section/SlabSecTag.cs | 117 ++++++++++++++++++ HoaryFox/Component/Utils/TagUtils.cs | 45 ++++++- 12 files changed, 167 insertions(+), 15 deletions(-) create mode 100644 HoaryFox/Component/Tag/Section/SlabSecTag.cs diff --git a/HoaryFox/Component/Tag/Name/BeamNameTag.cs b/HoaryFox/Component/Tag/Name/BeamNameTag.cs index aa6ed27e..0fab015e 100644 --- a/HoaryFox/Component/Tag/Name/BeamNameTag.cs +++ b/HoaryFox/Component/Tag/Name/BeamNameTag.cs @@ -55,7 +55,7 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) string idNodeStart = beam.id_node_start; string idNodeEnd = beam.id_node_end; - _framePos.Add(TagUtils.GetTagPosition(idNodeStart, idNodeEnd, nodes)); + _framePos.Add(TagUtils.GetFrameTagPosition(idNodeStart, idNodeEnd, nodes)); } dataAccess.SetDataList(0, _frameName); } diff --git a/HoaryFox/Component/Tag/Name/BraceNameTag.cs b/HoaryFox/Component/Tag/Name/BraceNameTag.cs index 9b27cc9f..277ea33a 100644 --- a/HoaryFox/Component/Tag/Name/BraceNameTag.cs +++ b/HoaryFox/Component/Tag/Name/BraceNameTag.cs @@ -55,7 +55,7 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) string idNodeStart = brace.id_node_start; string idNodeEnd = brace.id_node_end; - _framePos.Add(TagUtils.GetTagPosition(idNodeStart, idNodeEnd, nodes)); + _framePos.Add(TagUtils.GetFrameTagPosition(idNodeStart, idNodeEnd, nodes)); } dataAccess.SetDataList(0, _frameName); } diff --git a/HoaryFox/Component/Tag/Name/ColumnNameTag.cs b/HoaryFox/Component/Tag/Name/ColumnNameTag.cs index 92df7a97..c729a15e 100644 --- a/HoaryFox/Component/Tag/Name/ColumnNameTag.cs +++ b/HoaryFox/Component/Tag/Name/ColumnNameTag.cs @@ -55,7 +55,7 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) string idNodeStart = column.id_node_bottom; string idNodeEnd = column.id_node_top; - _framePos.Add(TagUtils.GetTagPosition(idNodeStart, idNodeEnd, nodes)); + _framePos.Add(TagUtils.GetFrameTagPosition(idNodeStart, idNodeEnd, nodes)); } dataAccess.SetDataList(0, _frameName); } diff --git a/HoaryFox/Component/Tag/Name/GirderNameTag.cs b/HoaryFox/Component/Tag/Name/GirderNameTag.cs index e193ebcf..fc127a97 100644 --- a/HoaryFox/Component/Tag/Name/GirderNameTag.cs +++ b/HoaryFox/Component/Tag/Name/GirderNameTag.cs @@ -55,7 +55,7 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) string idNodeStart = girder.id_node_start; string idNodeEnd = girder.id_node_end; - _framePos.Add(TagUtils.GetTagPosition(idNodeStart, idNodeEnd, nodes)); + _framePos.Add(TagUtils.GetFrameTagPosition(idNodeStart, idNodeEnd, nodes)); } dataAccess.SetDataList(0, _frameName); } diff --git a/HoaryFox/Component/Tag/Name/PostNameTag.cs b/HoaryFox/Component/Tag/Name/PostNameTag.cs index 90403466..1cd324b9 100644 --- a/HoaryFox/Component/Tag/Name/PostNameTag.cs +++ b/HoaryFox/Component/Tag/Name/PostNameTag.cs @@ -55,7 +55,7 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) string idNodeStart = post.id_node_bottom; string idNodeEnd = post.id_node_top; - _framePos.Add(TagUtils.GetTagPosition(idNodeStart, idNodeEnd, nodes)); + _framePos.Add(TagUtils.GetFrameTagPosition(idNodeStart, idNodeEnd, nodes)); } dataAccess.SetDataList(0, _frameName); } diff --git a/HoaryFox/Component/Tag/Section/BeamSecTag.cs b/HoaryFox/Component/Tag/Section/BeamSecTag.cs index 8865b96b..092783f7 100644 --- a/HoaryFox/Component/Tag/Section/BeamSecTag.cs +++ b/HoaryFox/Component/Tag/Section/BeamSecTag.cs @@ -105,7 +105,7 @@ private static GH_Structure GetTagStrings(IEnumerable beams, private static List GetTagPosition(IEnumerable beams, IEnumerable nodes) { - return beams.Select(beam => TagUtils.GetTagPosition(beam.id_node_start, beam.id_node_end, nodes)).ToList(); + return beams.Select(beam => TagUtils.GetFrameTagPosition(beam.id_node_start, beam.id_node_end, nodes)).ToList(); } public override void DrawViewportWires(IGH_PreviewArgs args) diff --git a/HoaryFox/Component/Tag/Section/BraceSecTag.cs b/HoaryFox/Component/Tag/Section/BraceSecTag.cs index 01ec62cf..1decddf3 100644 --- a/HoaryFox/Component/Tag/Section/BraceSecTag.cs +++ b/HoaryFox/Component/Tag/Section/BraceSecTag.cs @@ -95,7 +95,7 @@ private static List GetTagPosition(IEnumerable braces, IEnume { return braces == null ? new List() - : braces.Select(beam => TagUtils.GetTagPosition(beam.id_node_start, beam.id_node_end, nodes)).ToList(); + : braces.Select(beam => TagUtils.GetFrameTagPosition(beam.id_node_start, beam.id_node_end, nodes)).ToList(); } public override void DrawViewportWires(IGH_PreviewArgs args) diff --git a/HoaryFox/Component/Tag/Section/ColumnSecTag.cs b/HoaryFox/Component/Tag/Section/ColumnSecTag.cs index 0f5a7fad..0c33e222 100644 --- a/HoaryFox/Component/Tag/Section/ColumnSecTag.cs +++ b/HoaryFox/Component/Tag/Section/ColumnSecTag.cs @@ -100,7 +100,7 @@ private static GH_Structure GetTagStrings(IEnumerable colu private static List GetTagPosition(IEnumerable columns, IEnumerable nodes) { - return columns.Select(beam => TagUtils.GetTagPosition(beam.id_node_bottom, beam.id_node_top, nodes)).ToList(); + return columns.Select(beam => TagUtils.GetFrameTagPosition(beam.id_node_bottom, beam.id_node_top, nodes)).ToList(); } public override void DrawViewportWires(IGH_PreviewArgs args) diff --git a/HoaryFox/Component/Tag/Section/GirderSecTag.cs b/HoaryFox/Component/Tag/Section/GirderSecTag.cs index 1a3e75e3..54141567 100644 --- a/HoaryFox/Component/Tag/Section/GirderSecTag.cs +++ b/HoaryFox/Component/Tag/Section/GirderSecTag.cs @@ -105,7 +105,7 @@ private static GH_Structure GetTagStrings(IEnumerable beam private static List GetTagPosition(IEnumerable girders, IEnumerable nodes) { - return girders.Select(girder => TagUtils.GetTagPosition(girder.id_node_start, girder.id_node_end, nodes)).ToList(); + return girders.Select(girder => TagUtils.GetFrameTagPosition(girder.id_node_start, girder.id_node_end, nodes)).ToList(); } public override void DrawViewportWires(IGH_PreviewArgs args) diff --git a/HoaryFox/Component/Tag/Section/PostSecTag.cs b/HoaryFox/Component/Tag/Section/PostSecTag.cs index e449b485..055e899f 100644 --- a/HoaryFox/Component/Tag/Section/PostSecTag.cs +++ b/HoaryFox/Component/Tag/Section/PostSecTag.cs @@ -100,7 +100,7 @@ private static GH_Structure GetTagStrings(IEnumerable column private static List GetTagPosition(IEnumerable columns, IEnumerable nodes) { - return columns.Select(beam => TagUtils.GetTagPosition(beam.id_node_bottom, beam.id_node_top, nodes)).ToList(); + return columns.Select(beam => TagUtils.GetFrameTagPosition(beam.id_node_bottom, beam.id_node_top, nodes)).ToList(); } public override void DrawViewportWires(IGH_PreviewArgs args) diff --git a/HoaryFox/Component/Tag/Section/SlabSecTag.cs b/HoaryFox/Component/Tag/Section/SlabSecTag.cs new file mode 100644 index 00000000..e4abf19d --- /dev/null +++ b/HoaryFox/Component/Tag/Section/SlabSecTag.cs @@ -0,0 +1,117 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using Grasshopper.Kernel; +using Grasshopper.Kernel.Data; +using Grasshopper.Kernel.Types; +using HoaryFox.Component.Utils; +using Rhino.Geometry; +using STBDotNet.v202; + +namespace HoaryFox.Component.Tag.Section +{ + public class SlabSecTag : GH_Component + { + private ST_BRIDGE _stBridge; + private int _size; + private GH_Structure _plateTags = new GH_Structure(); + private List _tagPos = new List(); + + public SlabSecTag() + : base("Slab Section Tag", "BeamSec", + "Display Slab Section Tag", + "HoaryFox", "SectionTag") + { + } + + public override void ClearData() + { + base.ClearData(); + _plateTags.Clear(); + _tagPos.Clear(); + } + + public override bool IsPreviewCapable => true; + + protected override void RegisterInputParams(GH_InputParamManager pManager) + { + pManager.AddGenericParameter("Data", "D", "input ST-Bridge file data", GH_ParamAccess.item); + pManager.AddIntegerParameter("Size", "S", "Tag size", GH_ParamAccess.item, 12); + } + + protected override void RegisterOutputParams(GH_OutputParamManager pManager) + { + pManager.AddTextParameter("SecTag", "STag", "output section tag", GH_ParamAccess.tree); + } + + protected override void SolveInstance(IGH_DataAccess dataAccess) + { + if (!dataAccess.GetData("Data", ref _stBridge)) { return; } + if (!dataAccess.GetData("Size", ref _size)) { return; } + + _plateTags = GetTagStrings(_stBridge.StbModel.StbMembers.StbSlabs, _stBridge.StbModel.StbSections); + _tagPos = GetTagPosition(_stBridge.StbModel.StbMembers.StbSlabs, _stBridge.StbModel.StbNodes); + + dataAccess.SetDataTree(0, _plateTags); + } + private static GH_Structure GetTagStrings(IEnumerable slabs, StbSections sections) + { + var ghSecStrings = new GH_Structure(); + + foreach (var item in slabs.Select((slab, index) => new { slab, index })) + { + string secId = item.slab.id_section; + var ghPath = new GH_Path(0, item.index); + StbSlabKind_structure kindStruct = item.slab.kind_structure; + + switch (kindStruct) + { + case StbSlabKind_structure.RC: + StbSecSlab_RC secRc = sections.StbSecSlab_RC.First(i => i.id == secId); + foreach (object figure in secRc.StbSecFigureSlab_RC.Items) + { + ghSecStrings.AppendRange(TagUtils.GetSlabRcSection(figure, secRc.strength_concrete), ghPath); + } + break; + case StbSlabKind_structure.DECK: + StbSecSlabDeck secDeck = sections.StbSecSlabDeck.First(i => i.id == secId); + ghSecStrings.AppendRange(TagUtils.GetSlabDeckSection(secDeck.StbSecFigureSlabDeck.StbSecSlabDeckStraight, secDeck.strength_concrete), ghPath); + break; + case StbSlabKind_structure.PRECAST: + StbSecSlabPrecast secPrecast = sections.StbSecSlabPrecast.First(i => i.id == secId); + ghSecStrings.AppendRange(TagUtils.GetSlabPrecastSection(secPrecast.precast_type, secPrecast.StbSecProductSlabPrecast, secPrecast.strength_concrete), ghPath); + break; + default: + throw new ArgumentOutOfRangeException(nameof(kindStruct), kindStruct, null); + } + } + + return ghSecStrings; + } + + private static List GetTagPosition(IEnumerable slabs, IEnumerable nodes) + { + return slabs.Select(slab => TagUtils.GetPlateTagPosition(slab.StbNodeIdOrder, slab.StbSlabOffsetList, nodes)).ToList(); + } + + public override void DrawViewportWires(IGH_PreviewArgs args) + { + if (_plateTags.DataCount == 0) + { + return; + } + + for (var i = 0; i < _plateTags.PathCount; i++) + { + List tags = _plateTags.Branches[i]; + string tag = tags.Aggregate(string.Empty, (current, tagString) => current + tagString + "\n"); + args.Display.Draw2dText(tag, Color.Black, _tagPos[i], true, _size); + } + } + + protected override Bitmap Icon => null; + public override Guid ComponentGuid => new Guid("90b847fd-4bac-4ea1-bab9-6ed6cc7541ed"); + + } +} diff --git a/HoaryFox/Component/Utils/TagUtils.cs b/HoaryFox/Component/Utils/TagUtils.cs index f91eb1c2..9e753f7b 100644 --- a/HoaryFox/Component/Utils/TagUtils.cs +++ b/HoaryFox/Component/Utils/TagUtils.cs @@ -12,18 +12,37 @@ namespace HoaryFox.Component.Utils { internal static class TagUtils { - internal static Point3d GetTagPosition(string idStart, string idEnd, IEnumerable nodes) + internal static Point3d GetFrameTagPosition(string idStart, string idEnd, IEnumerable nodes) { StbNode startNode = nodes.First(node => node.id == idStart); StbNode endNode = nodes.First(node => node.id == idEnd); - return new Point3d( - (startNode.X + endNode.X) / 2.0, - (startNode.Y + endNode.Y) / 2.0, - (startNode.Z + endNode.Z) / 2.0 + return new Point3d((startNode.X + endNode.X) / 2.0, (startNode.Y + endNode.Y) / 2.0, (startNode.Z + endNode.Z) / 2.0 ); } + internal static Point3d GetPlateTagPosition(string idOrder, StbSlabOffset[] offsets, IEnumerable nodes) + { + string[] nodeIds = idOrder.Split(' '); + var pts = new Point3d[nodeIds.Length]; + for (int i = 0; i < nodeIds.Length; i++) + { + string nodeId = nodeIds[i]; + StbNode node = nodes.First(n => n.id == nodeId); + var offsetVec = new Vector3d(); + if (offsets != null) + { + foreach (var offset in offsets.Where(offset => nodeId == offset.id_node)) + { + offsetVec = new Vector3d(offset.offset_X, offset.offset_Y, offset.offset_Z); + } + } + pts[i] = new Point3d(node.X, node.Y, node.Z) + offsetVec; + } + + return new Point3d(pts.Average(n => n.X), pts.Average(n => n.Y), pts.Average(n => n.Z)); + } + internal static IEnumerable GetBeamRcSection(object rcFigure, string strength) { var ghSecStrings = new GH_Structure(); @@ -218,6 +237,22 @@ internal static IEnumerable GetSlabRcSection(object slabFigure, strin return ghSecString; } + internal static IEnumerable GetSlabDeckSection(StbSecSlabDeckStraight figure, string strength) + { + var ghSecString = new GH_Structure(); + ghSecString.Append(new GH_String("t=" + figure.depth + "(" + strength + ")")); + + return ghSecString; + } + + internal static IEnumerable GetSlabPrecastSection(StbSecSlabPrecastPrecast_type type, StbSecProductSlabPrecast figure, string strength) + { + var ghSecString = new GH_Structure(); + ghSecString.Append(new GH_String("t=" + figure.depth + "(" + strength + ", type:" + type + ")")); + + return ghSecString; + } + internal static IEnumerable GetWallSection(StbSecWall_RC_Straight figure, string strength) { var ghSecString = new GH_Structure(); From fd42ffe688238468ef6f4d2ad74b509b0d439943 Mon Sep 17 00:00:00 2001 From: hiron Date: Wed, 25 Aug 2021 21:44:57 +0900 Subject: [PATCH 116/162] Create codeql-analysis.yml --- .github/workflows/codeql-analysis.yml | 71 +++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 .github/workflows/codeql-analysis.yml diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml new file mode 100644 index 00000000..2a523a93 --- /dev/null +++ b/.github/workflows/codeql-analysis.yml @@ -0,0 +1,71 @@ +# For most projects, this workflow file will not need changing; you simply need +# to commit it to your repository. +# +# You may wish to alter this file to override the set of languages analyzed, +# or to provide custom queries or build logic. +# +# ******** NOTE ******** +# We have attempted to detect the languages in your repository. Please check +# the `language` matrix defined below to confirm you have the correct set of +# supported CodeQL languages. +# +name: "CodeQL" + +on: + push: + branches: [ develop, main ] + pull_request: + # The branches below must be a subset of the branches above + branches: [ develop ] + schedule: + - cron: '16 22 * * 3' + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: [ 'csharp', 'javascript' ] + # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ] + # Learn more: + # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v1 + with: + languages: ${{ matrix.language }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + # queries: ./path/to/local/query, your-org/your-repo/queries@main + + # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v1 + + # ℹ️ Command-line programs to run using the OS shell. + # 📚 https://git.io/JvXDl + + # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines + # and modify them (or add more) to build your code if your project + # uses a compiled language + + #- run: | + # make bootstrap + # make release + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v1 From c2cd62e85578be417d33efc9ae486851e51b87ae Mon Sep 17 00:00:00 2001 From: hiron Date: Thu, 26 Aug 2021 22:30:21 +0900 Subject: [PATCH 117/162] Add WallSecTag --- HoaryFox/Component/Tag/Section/WallSecTag.cs | 99 ++++++++++++++++++++ HoaryFox/Component/Utils/TagUtils.cs | 28 +++++- 2 files changed, 124 insertions(+), 3 deletions(-) create mode 100644 HoaryFox/Component/Tag/Section/WallSecTag.cs diff --git a/HoaryFox/Component/Tag/Section/WallSecTag.cs b/HoaryFox/Component/Tag/Section/WallSecTag.cs new file mode 100644 index 00000000..eece75ac --- /dev/null +++ b/HoaryFox/Component/Tag/Section/WallSecTag.cs @@ -0,0 +1,99 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using Grasshopper.Kernel; +using Grasshopper.Kernel.Data; +using Grasshopper.Kernel.Types; +using HoaryFox.Component.Utils; +using Rhino.Geometry; +using STBDotNet.v202; + +namespace HoaryFox.Component.Tag.Section +{ + public class WallSecTag : GH_Component + { + private ST_BRIDGE _stBridge; + private int _size; + private GH_Structure _plateTags = new GH_Structure(); + private List _tagPos = new List(); + + public WallSecTag() + : base("Wall Section Tag", "WallSec", + "Display Wall Section Tag", + "HoaryFox", "SectionTag") + { + } + + public override void ClearData() + { + base.ClearData(); + _plateTags.Clear(); + _tagPos.Clear(); + } + + public override bool IsPreviewCapable => true; + + protected override void RegisterInputParams(GH_InputParamManager pManager) + { + pManager.AddGenericParameter("Data", "D", "input ST-Bridge file data", GH_ParamAccess.item); + pManager.AddIntegerParameter("Size", "S", "Tag size", GH_ParamAccess.item, 12); + } + + protected override void RegisterOutputParams(GH_OutputParamManager pManager) + { + pManager.AddTextParameter("SecTag", "STag", "output section tag", GH_ParamAccess.tree); + } + + protected override void SolveInstance(IGH_DataAccess dataAccess) + { + if (!dataAccess.GetData("Data", ref _stBridge)) { return; } + if (!dataAccess.GetData("Size", ref _size)) { return; } + + _plateTags = GetTagStrings(_stBridge.StbModel.StbMembers.StbWalls, _stBridge.StbModel.StbSections); + _tagPos = GetTagPosition(_stBridge.StbModel.StbMembers.StbWalls, _stBridge.StbModel.StbNodes); + + dataAccess.SetDataTree(0, _plateTags); + } + private static GH_Structure GetTagStrings(IEnumerable walls, StbSections sections) + { + var ghSecStrings = new GH_Structure(); + + foreach (var item in walls.Select((wall, index) => new { wall, index })) + { + string secId = item.wall.id_section; + var ghPath = new GH_Path(0, item.index); + + StbSecWall_RC secRc = sections.StbSecWall_RC.First(i => i.id == secId); + StbSecWall_RC_Straight figure = secRc.StbSecFigureWall_RC.StbSecWall_RC_Straight; + ghSecStrings.AppendRange(TagUtils.GetWallRcSection(figure, secRc.strength_concrete), ghPath); + } + + return ghSecStrings; + } + + private static List GetTagPosition(IEnumerable walls, IEnumerable nodes) + { + return walls.Select(wall => TagUtils.GetWallTagPosition(wall.StbNodeIdOrder, wall.StbWallOffsetList, nodes)).ToList(); + } + + public override void DrawViewportWires(IGH_PreviewArgs args) + { + if (_plateTags.DataCount == 0) + { + return; + } + + for (var i = 0; i < _plateTags.PathCount; i++) + { + List tags = _plateTags.Branches[i]; + string tag = tags.Aggregate(string.Empty, (current, tagString) => current + tagString + "\n"); + args.Display.Draw2dText(tag, Color.Black, _tagPos[i], true, _size); + } + } + + protected override Bitmap Icon => null; + public override Guid ComponentGuid => new Guid("fcb8d572-732a-473f-a807-7c2e8bc6f64f"); + + } +} diff --git a/HoaryFox/Component/Utils/TagUtils.cs b/HoaryFox/Component/Utils/TagUtils.cs index 9e753f7b..4f2a1ffa 100644 --- a/HoaryFox/Component/Utils/TagUtils.cs +++ b/HoaryFox/Component/Utils/TagUtils.cs @@ -21,7 +21,29 @@ internal static Point3d GetFrameTagPosition(string idStart, string idEnd, IEnume ); } - internal static Point3d GetPlateTagPosition(string idOrder, StbSlabOffset[] offsets, IEnumerable nodes) + internal static Point3d GetSlabTagPosition(string idOrder, StbSlabOffset[] offsets, IEnumerable nodes) + { + string[] nodeIds = idOrder.Split(' '); + var pts = new Point3d[nodeIds.Length]; + for (int i = 0; i < nodeIds.Length; i++) + { + string nodeId = nodeIds[i]; + StbNode node = nodes.First(n => n.id == nodeId); + var offsetVec = new Vector3d(); + if (offsets != null) + { + foreach (var offset in offsets.Where(offset => nodeId == offset.id_node)) + { + offsetVec = new Vector3d(offset.offset_X, offset.offset_Y, offset.offset_Z); + } + } + pts[i] = new Point3d(node.X, node.Y, node.Z) + offsetVec; + } + + return new Point3d(pts.Average(n => n.X), pts.Average(n => n.Y), pts.Average(n => n.Z)); + } + + internal static Point3d GetWallTagPosition(string idOrder, StbWallOffset[] offsets, IEnumerable nodes) { string[] nodeIds = idOrder.Split(' '); var pts = new Point3d[nodeIds.Length]; @@ -253,7 +275,7 @@ internal static IEnumerable GetSlabPrecastSection(StbSecSlabPrecastPr return ghSecString; } - internal static IEnumerable GetWallSection(StbSecWall_RC_Straight figure, string strength) + internal static IEnumerable GetWallRcSection(StbSecWall_RC_Straight figure, string strength) { var ghSecString = new GH_Structure(); ghSecString.Append(new GH_String("t=" + figure.t + "(" + strength + ")")); @@ -404,7 +426,7 @@ private static void AppendSectionInfos(IDictionary pDict, StbSec break; case "StbWall": // RC しかない StbSecWall_RC wallRc = sections.StbSecWall_RC.First(sec => sec.id == pDict["id_section"]); - sectionInfo = GetWallSection(wallRc.StbSecFigureWall_RC.StbSecWall_RC_Straight, wallRc.strength_concrete).ToList(); + sectionInfo = GetWallRcSection(wallRc.StbSecFigureWall_RC.StbSecWall_RC_Straight, wallRc.strength_concrete).ToList(); break; } From f7637fa162388e4d401c4cbc759b08b7deae2750 Mon Sep 17 00:00:00 2001 From: hiron Date: Thu, 26 Aug 2021 22:30:32 +0900 Subject: [PATCH 118/162] Fix typo --- HoaryFox/Component/Tag/Section/SlabSecTag.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/HoaryFox/Component/Tag/Section/SlabSecTag.cs b/HoaryFox/Component/Tag/Section/SlabSecTag.cs index e4abf19d..53530306 100644 --- a/HoaryFox/Component/Tag/Section/SlabSecTag.cs +++ b/HoaryFox/Component/Tag/Section/SlabSecTag.cs @@ -19,7 +19,7 @@ public class SlabSecTag : GH_Component private List _tagPos = new List(); public SlabSecTag() - : base("Slab Section Tag", "BeamSec", + : base("Slab Section Tag", "SlabSec", "Display Slab Section Tag", "HoaryFox", "SectionTag") { @@ -92,7 +92,7 @@ private static GH_Structure GetTagStrings(IEnumerable slabs, private static List GetTagPosition(IEnumerable slabs, IEnumerable nodes) { - return slabs.Select(slab => TagUtils.GetPlateTagPosition(slab.StbNodeIdOrder, slab.StbSlabOffsetList, nodes)).ToList(); + return slabs.Select(slab => TagUtils.GetSlabTagPosition(slab.StbNodeIdOrder, slab.StbSlabOffsetList, nodes)).ToList(); } public override void DrawViewportWires(IGH_PreviewArgs args) From 9fc29fc27abf37c97cd86c33446e5c664e889d02 Mon Sep 17 00:00:00 2001 From: hiron Date: Thu, 26 Aug 2021 23:00:11 +0900 Subject: [PATCH 119/162] Fix some path to captital case --- KarambaConnect/Properties/Resource.resx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/KarambaConnect/Properties/Resource.resx b/KarambaConnect/Properties/Resource.resx index 38660d19..25130fc7 100644 --- a/KarambaConnect/Properties/Resource.resx +++ b/KarambaConnect/Properties/Resource.resx @@ -119,13 +119,13 @@ - ..\resources\axisbuilder.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\AxisBuilder.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\ExportStb.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\resources\framebuilder.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\FrameBuilder.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\NodeBuilder.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -137,6 +137,6 @@ ..\Resources\StoryBuilder.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\resources\tokaramba.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\ToKaramba.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a \ No newline at end of file From 040dc7a1cbf1b719987da04939fe07a913738a9e Mon Sep 17 00:00:00 2001 From: hiron Date: Thu, 26 Aug 2021 23:40:03 +0900 Subject: [PATCH 120/162] Update README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4f42a80c..caadc46f 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,10 @@ [![License](https://img.shields.io/github/license/hrntsm/HoaryFox)](https://github.com/hrntsm/HoaryFox/blob/master/LICENSE) [![Release](https://img.shields.io/github/v/release/hrntsm/HoaryFox)](https://github.com/hrntsm/HoaryFox/releases) -[![download](https://img.shields.io/badge/download-Food4Rhino-lightgray)](https://www.food4rhino.com/app/hoaryfox) +[![download](https://img.shields.io/github/downloads/hrntsm/HoaryFox/total)](https://github.com/hrntsm/HoaryFox/releases) +![Build](https://img.shields.io/github/workflow/status/hrntsm/HoaryFox/Build%20Grasshopper%20Plugin) +![CodeQL](https://img.shields.io/github/workflow/status/hrntsm/HoaryFox/CodeQL?label=CodeQL) [![Codacy Badge](https://app.codacy.com/project/badge/Grade/c0a462728dce4983802d447ed67d3e7c)](https://www.codacy.com/gh/hrntsm/HoaryFox/dashboard?utm_source=github.com&utm_medium=referral&utm_content=hrntsm/HoaryFox&utm_campaign=Badge_Grade) [![Maintainability](https://api.codeclimate.com/v1/badges/bc78a575fcf5e9448929/maintainability)](https://codeclimate.com/github/hrntsm/HoaryFox/maintainability) From c36d4d71aa8a47bfe076678fc0ad54780e013137 Mon Sep 17 00:00:00 2001 From: hiron Date: Fri, 27 Aug 2021 23:59:23 +0900 Subject: [PATCH 121/162] Add non-planar slab support --- .../Geometry/CreateMemberBrepListFromStb.cs | 28 ++++++++++++++++--- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/HoaryFox/Component/Utils/Geometry/CreateMemberBrepListFromStb.cs b/HoaryFox/Component/Utils/Geometry/CreateMemberBrepListFromStb.cs index 30175dc8..92c53570 100644 --- a/HoaryFox/Component/Utils/Geometry/CreateMemberBrepListFromStb.cs +++ b/HoaryFox/Component/Utils/Geometry/CreateMemberBrepListFromStb.cs @@ -253,10 +253,30 @@ public List Slab(IEnumerable slabs) topPts.Add(topPts[0]); curveList[0] = new PolylineCurve(topPts); - Vector3d normal = Vector3d.CrossProduct(curveList[0].TangentAtEnd, curveList[0].TangentAtStart); - curveList[1] = new PolylineCurve(topPts.Select(pt => pt - normal * depth)); - brepList.Add(Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] - .CapPlanarHoles(_tolerance[0])); + if (depth > 0) + { + Vector3d normal = Vector3d.CrossProduct(curveList[0].TangentAtEnd, curveList[0].TangentAtStart); + curveList[1] = new PolylineCurve(topPts.Select(pt => pt - normal * depth)); + Brep loftBrep = Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0]; + Brep capedBrep = loftBrep.CapPlanarHoles(_tolerance[0]); + + if (capedBrep == null) + { + //TODO: 厚さのある Planar ではないスラブを closed で生成する方法を考える。現状は一枚の trimmed surface + brepList.Add(Brep.CreatePatch(new[] { curveList[0] }, 20, 20, _tolerance[0])); + } + else + { + brepList.Add(capedBrep); + } + } + else + { + Brep[] planarBrep = Brep.CreatePlanarBreps(new[] { curveList[0] }, _tolerance[0]); + brepList.Add(planarBrep != null + ? planarBrep[0] + : Brep.CreatePatch(new[] { curveList[0] }, 20, 20, _tolerance[0])); + } } return brepList; From b59462cfc53b2158818f7ffeb83aac567143757a Mon Sep 17 00:00:00 2001 From: hiron Date: Sat, 28 Aug 2021 21:56:11 +0900 Subject: [PATCH 122/162] Update non-planar slab brep to always closed --- .../Geometry/CreateMemberBrepListFromStb.cs | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/HoaryFox/Component/Utils/Geometry/CreateMemberBrepListFromStb.cs b/HoaryFox/Component/Utils/Geometry/CreateMemberBrepListFromStb.cs index 92c53570..6b577dc9 100644 --- a/HoaryFox/Component/Utils/Geometry/CreateMemberBrepListFromStb.cs +++ b/HoaryFox/Component/Utils/Geometry/CreateMemberBrepListFromStb.cs @@ -262,8 +262,25 @@ public List Slab(IEnumerable slabs) if (capedBrep == null) { - //TODO: 厚さのある Planar ではないスラブを closed で生成する方法を考える。現状は一枚の trimmed surface - brepList.Add(Brep.CreatePatch(new[] { curveList[0] }, 20, 20, _tolerance[0])); + var nonPlanarBrep = new List(); + Brep topBrep = Brep.CreatePatch(new[] { curveList[0] }, 5, 5, _tolerance[0]); + nonPlanarBrep.Add(topBrep); + + BrepFace face = topBrep.Faces[0]; + Vector3d faceNormal = face.NormalAt(face.Domain(0).Mid, face.Domain(1).Mid); + if (Vector3d.VectorAngle(faceNormal, Vector3d.ZAxis) < Vector3d.VectorAngle(faceNormal, -Vector3d.ZAxis)) + { + faceNormal = -faceNormal; + } + Brep bottomBrep = topBrep.DuplicateBrep(); + bottomBrep.Translate(faceNormal * depth); + nonPlanarBrep.Add(bottomBrep); + + IEnumerable edgeCurveList = topBrep.Edges.Select(edge => edge.DuplicateCurve()); + nonPlanarBrep.AddRange(edgeCurveList.Select(edgeCurve => + Surface.CreateExtrusion(edgeCurve, faceNormal * depth).ToBrep())); + + brepList.Add(Brep.JoinBreps(nonPlanarBrep, _tolerance[0])[0] ?? topBrep); } else { @@ -275,7 +292,7 @@ public List Slab(IEnumerable slabs) Brep[] planarBrep = Brep.CreatePlanarBreps(new[] { curveList[0] }, _tolerance[0]); brepList.Add(planarBrep != null ? planarBrep[0] - : Brep.CreatePatch(new[] { curveList[0] }, 20, 20, _tolerance[0])); + : Brep.CreatePatch(new[] { curveList[0] }, 5, 5, _tolerance[0])); } } From fda34c5cfc7b412e6346146c558f7594a6133229 Mon Sep 17 00:00:00 2001 From: hiron Date: Sun, 29 Aug 2021 12:19:18 +0900 Subject: [PATCH 123/162] Clean code --- HoaryFox/Component/Tag/Name/SlabNameTag.cs | 36 ++++++---- HoaryFox/Component/Tag/Section/SlabSecTag.cs | 52 +++++++------- .../Geometry/CreateMemberBrepListFromStb.cs | 72 ++++++++++--------- 3 files changed, 89 insertions(+), 71 deletions(-) diff --git a/HoaryFox/Component/Tag/Name/SlabNameTag.cs b/HoaryFox/Component/Tag/Name/SlabNameTag.cs index fc810a42..2b146e76 100644 --- a/HoaryFox/Component/Tag/Name/SlabNameTag.cs +++ b/HoaryFox/Component/Tag/Name/SlabNameTag.cs @@ -53,27 +53,35 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) { _plateName.Add(slab.name); StbSlabOffset[] offsets = slab.StbSlabOffsetList; - string[] nodeIds = slab.StbNodeIdOrder.Split(' '); - var pts = new Point3d[nodeIds.Length]; - for (int i = 0; i < nodeIds.Length; i++) + Point3d[] pts = SlabNodeToPoint3ds(nodeIds, nodes, offsets); + _platePos.Add(new Point3d(pts.Average(n => n.X), pts.Average(n => n.Y), pts.Average(n => n.Z))); + } + dataAccess.SetDataList(0, _plateName); + } + + private static Point3d[] SlabNodeToPoint3ds(IReadOnlyList nodeIds, StbNode[] nodes, StbSlabOffset[] offsets) + { + var pts = new Point3d[nodeIds.Count]; + for (var i = 0; i < nodeIds.Count; i++) + { + string nodeId = nodeIds[i]; + StbNode node = nodes.First(n => n.id == nodeId); + var offsetVec = new Vector3d(); + if (offsets != null) { - string nodeId = nodeIds[i]; - StbNode node = nodes.First(n => n.id == nodeId); - var offsetVec = new Vector3d(); - if (offsets != null) + foreach (StbSlabOffset offset in offsets.Where(offset => nodeId == offset.id_node)) { - foreach (var offset in offsets.Where(offset => nodeId == offset.id_node)) - { - offsetVec = new Vector3d(offset.offset_X, offset.offset_Y, offset.offset_Z); - } + offsetVec = new Vector3d(offset.offset_X, offset.offset_Y, offset.offset_Z); } - pts[i] = new Point3d(node.X, node.Y, node.Z) + offsetVec; } - _platePos.Add(new Point3d(pts.Average(n => n.X), pts.Average(n => n.Y), pts.Average(n => n.Z))); + + pts[i] = new Point3d(node.X, node.Y, node.Z) + offsetVec; } - dataAccess.SetDataList(0, _plateName); + + return pts; } + public override void DrawViewportWires(IGH_PreviewArgs args) { for (var i = 0; i < _plateName.Count; i++) diff --git a/HoaryFox/Component/Tag/Section/SlabSecTag.cs b/HoaryFox/Component/Tag/Section/SlabSecTag.cs index 53530306..80d459a5 100644 --- a/HoaryFox/Component/Tag/Section/SlabSecTag.cs +++ b/HoaryFox/Component/Tag/Section/SlabSecTag.cs @@ -61,35 +61,39 @@ private static GH_Structure GetTagStrings(IEnumerable slabs, foreach (var item in slabs.Select((slab, index) => new { slab, index })) { - string secId = item.slab.id_section; - var ghPath = new GH_Path(0, item.index); - StbSlabKind_structure kindStruct = item.slab.kind_structure; - - switch (kindStruct) - { - case StbSlabKind_structure.RC: - StbSecSlab_RC secRc = sections.StbSecSlab_RC.First(i => i.id == secId); - foreach (object figure in secRc.StbSecFigureSlab_RC.Items) - { - ghSecStrings.AppendRange(TagUtils.GetSlabRcSection(figure, secRc.strength_concrete), ghPath); - } - break; - case StbSlabKind_structure.DECK: - StbSecSlabDeck secDeck = sections.StbSecSlabDeck.First(i => i.id == secId); - ghSecStrings.AppendRange(TagUtils.GetSlabDeckSection(secDeck.StbSecFigureSlabDeck.StbSecSlabDeckStraight, secDeck.strength_concrete), ghPath); - break; - case StbSlabKind_structure.PRECAST: - StbSecSlabPrecast secPrecast = sections.StbSecSlabPrecast.First(i => i.id == secId); - ghSecStrings.AppendRange(TagUtils.GetSlabPrecastSection(secPrecast.precast_type, secPrecast.StbSecProductSlabPrecast, secPrecast.strength_concrete), ghPath); - break; - default: - throw new ArgumentOutOfRangeException(nameof(kindStruct), kindStruct, null); - } + SetSectionInfo(sections, ghSecStrings, item.slab, item.index); } return ghSecStrings; } + private static void SetSectionInfo(StbSections sections, GH_Structure ghSecStrings, StbSlab slab, int index) + { + string secId = slab.id_section; + var ghPath = new GH_Path(0, index); + StbSlabKind_structure kindStruct = slab.kind_structure; + switch (kindStruct) + { + case StbSlabKind_structure.RC: + StbSecSlab_RC secRc = sections.StbSecSlab_RC.First(i => i.id == secId); + foreach (object figure in secRc.StbSecFigureSlab_RC.Items) + { + ghSecStrings.AppendRange(TagUtils.GetSlabRcSection(figure, secRc.strength_concrete), ghPath); + } + break; + case StbSlabKind_structure.DECK: + StbSecSlabDeck secDeck = sections.StbSecSlabDeck.First(i => i.id == secId); + ghSecStrings.AppendRange(TagUtils.GetSlabDeckSection(secDeck.StbSecFigureSlabDeck.StbSecSlabDeckStraight, secDeck.strength_concrete), ghPath); + break; + case StbSlabKind_structure.PRECAST: + StbSecSlabPrecast secPrecast = sections.StbSecSlabPrecast.First(i => i.id == secId); + ghSecStrings.AppendRange(TagUtils.GetSlabPrecastSection(secPrecast.precast_type, secPrecast.StbSecProductSlabPrecast, secPrecast.strength_concrete), ghPath); + break; + default: + throw new ArgumentOutOfRangeException(nameof(kindStruct), kindStruct, null); + } + } + private static List GetTagPosition(IEnumerable slabs, IEnumerable nodes) { return slabs.Select(slab => TagUtils.GetSlabTagPosition(slab.StbNodeIdOrder, slab.StbSlabOffsetList, nodes)).ToList(); diff --git a/HoaryFox/Component/Utils/Geometry/CreateMemberBrepListFromStb.cs b/HoaryFox/Component/Utils/Geometry/CreateMemberBrepListFromStb.cs index 6b577dc9..b8a07b15 100644 --- a/HoaryFox/Component/Utils/Geometry/CreateMemberBrepListFromStb.cs +++ b/HoaryFox/Component/Utils/Geometry/CreateMemberBrepListFromStb.cs @@ -253,50 +253,56 @@ public List Slab(IEnumerable slabs) topPts.Add(topPts[0]); curveList[0] = new PolylineCurve(topPts); - if (depth > 0) - { - Vector3d normal = Vector3d.CrossProduct(curveList[0].TangentAtEnd, curveList[0].TangentAtStart); - curveList[1] = new PolylineCurve(topPts.Select(pt => pt - normal * depth)); - Brep loftBrep = Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0]; - Brep capedBrep = loftBrep.CapPlanarHoles(_tolerance[0]); + CreateSlabBrep(depth, curveList, topPts, brepList); + } - if (capedBrep == null) - { - var nonPlanarBrep = new List(); - Brep topBrep = Brep.CreatePatch(new[] { curveList[0] }, 5, 5, _tolerance[0]); - nonPlanarBrep.Add(topBrep); + return brepList; + } - BrepFace face = topBrep.Faces[0]; - Vector3d faceNormal = face.NormalAt(face.Domain(0).Mid, face.Domain(1).Mid); - if (Vector3d.VectorAngle(faceNormal, Vector3d.ZAxis) < Vector3d.VectorAngle(faceNormal, -Vector3d.ZAxis)) - { - faceNormal = -faceNormal; - } - Brep bottomBrep = topBrep.DuplicateBrep(); - bottomBrep.Translate(faceNormal * depth); - nonPlanarBrep.Add(bottomBrep); + private void CreateSlabBrep(double depth, IList curveList, IEnumerable topPts, ICollection brepList) + { + if (depth > 0) + { + Vector3d normal = Vector3d.CrossProduct(curveList[0].TangentAtEnd, curveList[0].TangentAtStart); + curveList[1] = new PolylineCurve(topPts.Select(pt => pt - normal * depth)); + Brep loftBrep = Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0]; + Brep capedBrep = loftBrep.CapPlanarHoles(_tolerance[0]); - IEnumerable edgeCurveList = topBrep.Edges.Select(edge => edge.DuplicateCurve()); - nonPlanarBrep.AddRange(edgeCurveList.Select(edgeCurve => - Surface.CreateExtrusion(edgeCurve, faceNormal * depth).ToBrep())); + if (capedBrep == null) + { + var nonPlanarBrep = new List(); + var topBrep = Brep.CreatePatch(new[] { curveList[0] }, 5, 5, _tolerance[0]); + nonPlanarBrep.Add(topBrep); - brepList.Add(Brep.JoinBreps(nonPlanarBrep, _tolerance[0])[0] ?? topBrep); - } - else + BrepFace face = topBrep.Faces[0]; + Vector3d faceNormal = face.NormalAt(face.Domain(0).Mid, face.Domain(1).Mid); + if (Vector3d.VectorAngle(faceNormal, Vector3d.ZAxis) < Vector3d.VectorAngle(faceNormal, -Vector3d.ZAxis)) { - brepList.Add(capedBrep); + faceNormal = -faceNormal; } + + Brep bottomBrep = topBrep.DuplicateBrep(); + bottomBrep.Translate(faceNormal * depth); + nonPlanarBrep.Add(bottomBrep); + + IEnumerable edgeCurveList = topBrep.Edges.Select(edge => edge.DuplicateCurve()); + nonPlanarBrep.AddRange(edgeCurveList.Select(edgeCurve => + Surface.CreateExtrusion(edgeCurve, faceNormal * depth).ToBrep())); + + brepList.Add(Brep.JoinBreps(nonPlanarBrep, _tolerance[0])[0] ?? topBrep); } else { - Brep[] planarBrep = Brep.CreatePlanarBreps(new[] { curveList[0] }, _tolerance[0]); - brepList.Add(planarBrep != null - ? planarBrep[0] - : Brep.CreatePatch(new[] { curveList[0] }, 5, 5, _tolerance[0])); + brepList.Add(capedBrep); } } - - return brepList; + else + { + Brep[] planarBrep = Brep.CreatePlanarBreps(new[] { curveList[0] }, _tolerance[0]); + brepList.Add(planarBrep != null + ? planarBrep[0] + : Brep.CreatePatch(new[] { curveList[0] }, 5, 5, _tolerance[0])); + } } public List Wall(IEnumerable walls) From a819bebd96d82c89a18e2fec9bbc665551304f44 Mon Sep 17 00:00:00 2001 From: hiron Date: Sun, 29 Aug 2021 12:34:50 +0900 Subject: [PATCH 124/162] Clean CreateSlabBrep method --- .../Geometry/CreateMemberBrepListFromStb.cs | 51 +++++++++---------- 1 file changed, 24 insertions(+), 27 deletions(-) diff --git a/HoaryFox/Component/Utils/Geometry/CreateMemberBrepListFromStb.cs b/HoaryFox/Component/Utils/Geometry/CreateMemberBrepListFromStb.cs index b8a07b15..bd540abf 100644 --- a/HoaryFox/Component/Utils/Geometry/CreateMemberBrepListFromStb.cs +++ b/HoaryFox/Component/Utils/Geometry/CreateMemberBrepListFromStb.cs @@ -268,33 +268,7 @@ private void CreateSlabBrep(double depth, IList curveList, IEnume Brep loftBrep = Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0]; Brep capedBrep = loftBrep.CapPlanarHoles(_tolerance[0]); - if (capedBrep == null) - { - var nonPlanarBrep = new List(); - var topBrep = Brep.CreatePatch(new[] { curveList[0] }, 5, 5, _tolerance[0]); - nonPlanarBrep.Add(topBrep); - - BrepFace face = topBrep.Faces[0]; - Vector3d faceNormal = face.NormalAt(face.Domain(0).Mid, face.Domain(1).Mid); - if (Vector3d.VectorAngle(faceNormal, Vector3d.ZAxis) < Vector3d.VectorAngle(faceNormal, -Vector3d.ZAxis)) - { - faceNormal = -faceNormal; - } - - Brep bottomBrep = topBrep.DuplicateBrep(); - bottomBrep.Translate(faceNormal * depth); - nonPlanarBrep.Add(bottomBrep); - - IEnumerable edgeCurveList = topBrep.Edges.Select(edge => edge.DuplicateCurve()); - nonPlanarBrep.AddRange(edgeCurveList.Select(edgeCurve => - Surface.CreateExtrusion(edgeCurve, faceNormal * depth).ToBrep())); - - brepList.Add(Brep.JoinBreps(nonPlanarBrep, _tolerance[0])[0] ?? topBrep); - } - else - { - brepList.Add(capedBrep); - } + brepList.Add(capedBrep ?? NonPlanarBrep(depth, curveList)); } else { @@ -305,6 +279,29 @@ private void CreateSlabBrep(double depth, IList curveList, IEnume } } + private Brep NonPlanarBrep(double depth, IList curveList) + { + var nonPlanarBrep = new List(); + var topBrep = Brep.CreatePatch(new[] { curveList[0] }, 5, 5, _tolerance[0]); + nonPlanarBrep.Add(topBrep); + + BrepFace face = topBrep.Faces[0]; + Vector3d faceNormal = face.NormalAt(face.Domain(0).Mid, face.Domain(1).Mid); + if (Vector3d.VectorAngle(faceNormal, Vector3d.ZAxis) < Vector3d.VectorAngle(faceNormal, -Vector3d.ZAxis)) + { + faceNormal = -faceNormal; + } + + Brep bottomBrep = topBrep.DuplicateBrep(); + bottomBrep.Translate(faceNormal * depth); + nonPlanarBrep.Add(bottomBrep); + + IEnumerable edgeCurveList = topBrep.Edges.Select(edge => edge.DuplicateCurve()); + nonPlanarBrep.AddRange(edgeCurveList.Select(edgeCurve => + Surface.CreateExtrusion(edgeCurve, faceNormal * depth).ToBrep())); + return Brep.JoinBreps(nonPlanarBrep, _tolerance[0])[0] ?? topBrep; + } + public List Wall(IEnumerable walls) { var brepList = new List(); From a7f57211ba7894f45e7bf20c60b2ebd2b9430a97 Mon Sep 17 00:00:00 2001 From: hiron Date: Sun, 29 Aug 2021 13:39:48 +0900 Subject: [PATCH 125/162] Add slabTag and wallTag icon --- HoaryFox/Component/Tag/Name/SlabNameTag.cs | 3 +- HoaryFox/Component/Tag/Name/WallNameTag.cs | 3 +- HoaryFox/Component/Tag/Section/SlabSecTag.cs | 3 +- HoaryFox/Component/Tag/Section/WallSecTag.cs | 3 +- HoaryFox/Properties/Resource.Designer.cs | 40 ++++ HoaryFox/Properties/Resource.resx | 12 + HoaryFox/Resources/Slab - Copy.svg | 229 +++++++++++++++++++ HoaryFox/Resources/SlabName.png | Bin 0 -> 500 bytes HoaryFox/Resources/SlabSection.png | Bin 0 -> 526 bytes HoaryFox/Resources/Wall.svg | 229 +++++++++++++++++++ HoaryFox/Resources/WallName.png | Bin 0 -> 631 bytes HoaryFox/Resources/WallSection.png | Bin 0 -> 708 bytes 12 files changed, 518 insertions(+), 4 deletions(-) create mode 100644 HoaryFox/Resources/Slab - Copy.svg create mode 100644 HoaryFox/Resources/SlabName.png create mode 100644 HoaryFox/Resources/SlabSection.png create mode 100644 HoaryFox/Resources/Wall.svg create mode 100644 HoaryFox/Resources/WallName.png create mode 100644 HoaryFox/Resources/WallSection.png diff --git a/HoaryFox/Component/Tag/Name/SlabNameTag.cs b/HoaryFox/Component/Tag/Name/SlabNameTag.cs index 2b146e76..40664d71 100644 --- a/HoaryFox/Component/Tag/Name/SlabNameTag.cs +++ b/HoaryFox/Component/Tag/Name/SlabNameTag.cs @@ -3,6 +3,7 @@ using System.Drawing; using System.Linq; using Grasshopper.Kernel; +using HoaryFox.Properties; using Rhino.Geometry; using STBDotNet.v202; @@ -90,7 +91,7 @@ public override void DrawViewportWires(IGH_PreviewArgs args) } } - protected override Bitmap Icon => null; + protected override Bitmap Icon => Resource.SlabName; public override Guid ComponentGuid => new Guid("9ee6efbb-20b5-49bb-aae9-02ca6031c09d"); } diff --git a/HoaryFox/Component/Tag/Name/WallNameTag.cs b/HoaryFox/Component/Tag/Name/WallNameTag.cs index 319d5987..fea4e609 100644 --- a/HoaryFox/Component/Tag/Name/WallNameTag.cs +++ b/HoaryFox/Component/Tag/Name/WallNameTag.cs @@ -3,6 +3,7 @@ using System.Drawing; using System.Linq; using Grasshopper.Kernel; +using HoaryFox.Properties; using Rhino.Geometry; using STBDotNet.v202; @@ -74,7 +75,7 @@ public override void DrawViewportWires(IGH_PreviewArgs args) } } - protected override Bitmap Icon => null; + protected override Bitmap Icon => Resource.WallName; public override Guid ComponentGuid => new Guid("713d1503-eebd-4504-83f0-ddd072a11188"); } diff --git a/HoaryFox/Component/Tag/Section/SlabSecTag.cs b/HoaryFox/Component/Tag/Section/SlabSecTag.cs index 80d459a5..56f40705 100644 --- a/HoaryFox/Component/Tag/Section/SlabSecTag.cs +++ b/HoaryFox/Component/Tag/Section/SlabSecTag.cs @@ -6,6 +6,7 @@ using Grasshopper.Kernel.Data; using Grasshopper.Kernel.Types; using HoaryFox.Component.Utils; +using HoaryFox.Properties; using Rhino.Geometry; using STBDotNet.v202; @@ -114,7 +115,7 @@ public override void DrawViewportWires(IGH_PreviewArgs args) } } - protected override Bitmap Icon => null; + protected override Bitmap Icon => Resource.SlabSection; public override Guid ComponentGuid => new Guid("90b847fd-4bac-4ea1-bab9-6ed6cc7541ed"); } diff --git a/HoaryFox/Component/Tag/Section/WallSecTag.cs b/HoaryFox/Component/Tag/Section/WallSecTag.cs index eece75ac..27f4adc0 100644 --- a/HoaryFox/Component/Tag/Section/WallSecTag.cs +++ b/HoaryFox/Component/Tag/Section/WallSecTag.cs @@ -6,6 +6,7 @@ using Grasshopper.Kernel.Data; using Grasshopper.Kernel.Types; using HoaryFox.Component.Utils; +using HoaryFox.Properties; using Rhino.Geometry; using STBDotNet.v202; @@ -92,7 +93,7 @@ public override void DrawViewportWires(IGH_PreviewArgs args) } } - protected override Bitmap Icon => null; + protected override Bitmap Icon => Resource.WallSection; public override Guid ComponentGuid => new Guid("fcb8d572-732a-473f-a807-7c2e8bc6f64f"); } diff --git a/HoaryFox/Properties/Resource.Designer.cs b/HoaryFox/Properties/Resource.Designer.cs index 549f9d1e..cd44ba29 100644 --- a/HoaryFox/Properties/Resource.Designer.cs +++ b/HoaryFox/Properties/Resource.Designer.cs @@ -209,5 +209,45 @@ internal static System.Drawing.Bitmap PostSection { return ((System.Drawing.Bitmap)(obj)); } } + + /// + /// 型 System.Drawing.Bitmap のローカライズされたリソースを検索します。 + /// + internal static System.Drawing.Bitmap SlabName { + get { + object obj = ResourceManager.GetObject("SlabName", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 型 System.Drawing.Bitmap のローカライズされたリソースを検索します。 + /// + internal static System.Drawing.Bitmap SlabSection { + get { + object obj = ResourceManager.GetObject("SlabSection", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 型 System.Drawing.Bitmap のローカライズされたリソースを検索します。 + /// + internal static System.Drawing.Bitmap WallName { + get { + object obj = ResourceManager.GetObject("WallName", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// 型 System.Drawing.Bitmap のローカライズされたリソースを検索します。 + /// + internal static System.Drawing.Bitmap WallSection { + get { + object obj = ResourceManager.GetObject("WallSection", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } } } diff --git a/HoaryFox/Properties/Resource.resx b/HoaryFox/Properties/Resource.resx index 19717845..82592480 100644 --- a/HoaryFox/Properties/Resource.resx +++ b/HoaryFox/Properties/Resource.resx @@ -163,4 +163,16 @@ ..\Resources\PostSection.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\SlabName.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\SlabSection.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\WallName.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\WallSection.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/HoaryFox/Resources/Slab - Copy.svg b/HoaryFox/Resources/Slab - Copy.svg new file mode 100644 index 00000000..bbabce39 --- /dev/null +++ b/HoaryFox/Resources/Slab - Copy.svg @@ -0,0 +1,229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + diff --git a/HoaryFox/Resources/SlabName.png b/HoaryFox/Resources/SlabName.png new file mode 100644 index 0000000000000000000000000000000000000000..ef669dfd13778cf9ad0d32efb04300fc6d3d4fcf GIT binary patch literal 500 zcmV*VAjZcgIRW&$8oj++yPij2p&jE$&nq{w!O*BF94?h3kUE;L>oLR+iW&xnE4?k97J?# zn&x}Z!76|j06j41y1uMw+FZD(SS+Gitse7`-4sp>;=5l=(`fVriPTGOW5#D8wCb zE`(@>13#vyUawyh(Pb1NLQke??h%n64i2WM(P(TDkw^*uR21d-H+*n_<2bXv@81JZ zQotoMAJuBLk6}p$03vDwSV{p0fTm#>&!duT+xD98`v)n&l8A0R&%1~+W%~VoM^#k| qz(P_o5xG*zMug zK~zYI?US)$eZ+Rm$aZ68_K_^ATXf zDn0>r0Wz7)W)K8B*h970f@*DD69bo7_{5%^C(mG zdcD2*eExO~a3~@t)9JJmcWEOCf-A>yd|*2%SwybGFg!EHT&^+LgYKLD0lwT=jwrT` QZ~y=R07*qoM6N<$f?K2R`~Uy| literal 0 HcmV?d00001 diff --git a/HoaryFox/Resources/Wall.svg b/HoaryFox/Resources/Wall.svg new file mode 100644 index 00000000..29d8bef8 --- /dev/null +++ b/HoaryFox/Resources/Wall.svg @@ -0,0 +1,229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + diff --git a/HoaryFox/Resources/WallName.png b/HoaryFox/Resources/WallName.png new file mode 100644 index 0000000000000000000000000000000000000000..83c7284bce42b17df6aad1587225012c22fb9bfd GIT binary patch literal 631 zcmV--0*L*IP)FKhGsiG>R{z#m%MY(y@ymDrqMX5dt9LL@B{Jx*(p67UkHk5I+ zM<9KAg&Erx-;@*Isi|$NHPyvM@fie8C@|g0UEp3@fb+weDp$DrPRWVVjr@x#Txc0^ zDz9A~LbmLY1v&%L4h5YL1oY*#TPRrMGw5hu)UU@mZiY@I2_S7E)AmgYD<{{O!`gw}Q*%7o_F~*CZUcIciYb9W;c5MR` zfx}TtG-%<>3dc+vwf^s#Cl^gB%I%GOJ zlh>utEHMtC!bU{@FRD139wT!(iPY9OfP~LrR+NY7BaDw;mTI(G8UQFILyM{i;}#4} zX65}(O#cHY%n6*Uz54|`i&;E)b4?anHQolGz#q%&ER Rq4NL$002ovPDHLkV1g7o5PARr literal 0 HcmV?d00001 diff --git a/HoaryFox/Resources/WallSection.png b/HoaryFox/Resources/WallSection.png new file mode 100644 index 0000000000000000000000000000000000000000..c50960bc7f8616db1aaa6a0fc152f43914a657a9 GIT binary patch literal 708 zcmV;#0z3VQP)s0B~p z$ch2Gd!%uVqJ7$?9SD?})=+MJSwLHlG>L}};EX_Bl{#u&1A@1u1*0-D_XU!IQ@mSwe$NX&qHW2?u-hWfpSv92G04hl| zo1-1-TTxLp^<*sDU5I1;;p@vAXvZq@5+nUxz%RfAuFZcjTE3GR3?NYWHcQJ&CrG|~ zfM}=4v(rBg0v3=3?g5kJLxT~?06uqpl$Lne56*hG z(Cy#Az@rl?=dP9l07AON7UfV3cp&_uUAdKa literal 0 HcmV?d00001 From 7aa43513769ade7845114daaa513b6fa676ec7c7 Mon Sep 17 00:00:00 2001 From: hiron Date: Sun, 29 Aug 2021 13:51:59 +0900 Subject: [PATCH 126/162] Update component icon position in ribon --- HoaryFox/Component/Geometry/Axes.cs | 2 ++ HoaryFox/Component/Geometry/Stb2Brep.cs | 2 ++ HoaryFox/Component/Geometry/Stb2Line.cs | 2 ++ HoaryFox/Component/Tag/Name/BeamNameTag.cs | 2 ++ HoaryFox/Component/Tag/Name/BraceNameTag.cs | 2 ++ HoaryFox/Component/Tag/Name/ColumnNameTag.cs | 2 ++ HoaryFox/Component/Tag/Name/GirderNameTag.cs | 2 ++ HoaryFox/Component/Tag/Name/PostNameTag.cs | 2 ++ HoaryFox/Component/Tag/Name/SlabNameTag.cs | 2 ++ HoaryFox/Component/Tag/Name/WallNameTag.cs | 2 ++ HoaryFox/Component/Tag/Section/BeamSecTag.cs | 1 + HoaryFox/Component/Tag/Section/BraceSecTag.cs | 1 + HoaryFox/Component/Tag/Section/ColumnSecTag.cs | 2 ++ HoaryFox/Component/Tag/Section/GirderSecTag.cs | 1 + HoaryFox/Component/Tag/Section/PostSecTag.cs | 1 + HoaryFox/Component/Tag/Section/SlabSecTag.cs | 2 ++ HoaryFox/Component/Tag/Section/WallSecTag.cs | 2 ++ 17 files changed, 30 insertions(+) diff --git a/HoaryFox/Component/Geometry/Axes.cs b/HoaryFox/Component/Geometry/Axes.cs index 4e3da5fe..d94556c9 100644 --- a/HoaryFox/Component/Geometry/Axes.cs +++ b/HoaryFox/Component/Geometry/Axes.cs @@ -21,6 +21,8 @@ public class Axis : GH_Component private readonly List _storyStr = new List(); public override bool IsPreviewCapable => true; + public override GH_Exposure Exposure => GH_Exposure.secondary; + public Axis() : base("Axis", "Axis", "Description", diff --git a/HoaryFox/Component/Geometry/Stb2Brep.cs b/HoaryFox/Component/Geometry/Stb2Brep.cs index c2343813..9da02140 100644 --- a/HoaryFox/Component/Geometry/Stb2Brep.cs +++ b/HoaryFox/Component/Geometry/Stb2Brep.cs @@ -17,6 +17,8 @@ public class Stb2Brep : GH_Component private ST_BRIDGE _stBridge; private readonly List> _brepList = new List>(); + public override GH_Exposure Exposure => GH_Exposure.primary; + public Stb2Brep() : base("Stb to Brep", "S2B", "Display ST-Bridge model in Brep", diff --git a/HoaryFox/Component/Geometry/Stb2Line.cs b/HoaryFox/Component/Geometry/Stb2Line.cs index 44cc4c7a..2c60d1d1 100644 --- a/HoaryFox/Component/Geometry/Stb2Line.cs +++ b/HoaryFox/Component/Geometry/Stb2Line.cs @@ -18,6 +18,8 @@ public class Stb2Line : GH_Component private List _nodes = new List(); private readonly List> _lineList = new List>(); + public override GH_Exposure Exposure => GH_Exposure.primary; + public Stb2Line() : base("Stb to Line", "S2L", "Display ST-Bridge model in line", diff --git a/HoaryFox/Component/Tag/Name/BeamNameTag.cs b/HoaryFox/Component/Tag/Name/BeamNameTag.cs index 0fab015e..b98fbe8e 100644 --- a/HoaryFox/Component/Tag/Name/BeamNameTag.cs +++ b/HoaryFox/Component/Tag/Name/BeamNameTag.cs @@ -17,6 +17,8 @@ public class BeamNameTag : GH_Component private readonly List _framePos = new List(); public override bool IsPreviewCapable => true; + public override GH_Exposure Exposure => GH_Exposure.secondary; + public BeamNameTag() : base("Beam Name Tag", "BeamTag", "Display Beam Name Tag", diff --git a/HoaryFox/Component/Tag/Name/BraceNameTag.cs b/HoaryFox/Component/Tag/Name/BraceNameTag.cs index 277ea33a..da857bbb 100644 --- a/HoaryFox/Component/Tag/Name/BraceNameTag.cs +++ b/HoaryFox/Component/Tag/Name/BraceNameTag.cs @@ -17,6 +17,8 @@ public class BraceNameTag : GH_Component private readonly List _framePos = new List(); public override bool IsPreviewCapable => true; + public override GH_Exposure Exposure => GH_Exposure.tertiary; + public BraceNameTag() : base("Brace Name Tag", "BraceTag", "Display Brace Name Tag", diff --git a/HoaryFox/Component/Tag/Name/ColumnNameTag.cs b/HoaryFox/Component/Tag/Name/ColumnNameTag.cs index c729a15e..b138a79d 100644 --- a/HoaryFox/Component/Tag/Name/ColumnNameTag.cs +++ b/HoaryFox/Component/Tag/Name/ColumnNameTag.cs @@ -17,6 +17,8 @@ public class ColumnNameTag : GH_Component private readonly List _framePos = new List(); public override bool IsPreviewCapable => true; + public override GH_Exposure Exposure => GH_Exposure.primary; + public ColumnNameTag() : base("Column Name Tag", "ColumnTag", "Display Column Name Tag", diff --git a/HoaryFox/Component/Tag/Name/GirderNameTag.cs b/HoaryFox/Component/Tag/Name/GirderNameTag.cs index fc127a97..1e4d7130 100644 --- a/HoaryFox/Component/Tag/Name/GirderNameTag.cs +++ b/HoaryFox/Component/Tag/Name/GirderNameTag.cs @@ -17,6 +17,8 @@ public class GirderNameTag : GH_Component private readonly List _framePos = new List(); public override bool IsPreviewCapable => true; + public override GH_Exposure Exposure => GH_Exposure.secondary; + public GirderNameTag() : base("Girder Name Tag", "GirderTag", "Display Girder Name Tag", diff --git a/HoaryFox/Component/Tag/Name/PostNameTag.cs b/HoaryFox/Component/Tag/Name/PostNameTag.cs index 1cd324b9..fdd117b6 100644 --- a/HoaryFox/Component/Tag/Name/PostNameTag.cs +++ b/HoaryFox/Component/Tag/Name/PostNameTag.cs @@ -17,6 +17,8 @@ public class PostNameTag : GH_Component private readonly List _framePos = new List(); public override bool IsPreviewCapable => true; + public override GH_Exposure Exposure => GH_Exposure.primary; + public PostNameTag() : base("Post Name Tag", "PostTag", "Display Post Name Tag", diff --git a/HoaryFox/Component/Tag/Name/SlabNameTag.cs b/HoaryFox/Component/Tag/Name/SlabNameTag.cs index 40664d71..c8804370 100644 --- a/HoaryFox/Component/Tag/Name/SlabNameTag.cs +++ b/HoaryFox/Component/Tag/Name/SlabNameTag.cs @@ -18,6 +18,8 @@ public class SlabNameTag : GH_Component private readonly List _platePos = new List(); public override bool IsPreviewCapable => true; + public override GH_Exposure Exposure => GH_Exposure.quarternary; + public SlabNameTag() : base("Slab Name Tag", "SlabTag", "Display Slab Name Tag", diff --git a/HoaryFox/Component/Tag/Name/WallNameTag.cs b/HoaryFox/Component/Tag/Name/WallNameTag.cs index fea4e609..10c25769 100644 --- a/HoaryFox/Component/Tag/Name/WallNameTag.cs +++ b/HoaryFox/Component/Tag/Name/WallNameTag.cs @@ -18,6 +18,8 @@ public class WallNameTag : GH_Component private readonly List _platePos = new List(); public override bool IsPreviewCapable => true; + public override GH_Exposure Exposure => GH_Exposure.quarternary; + public WallNameTag() : base("Wall Name Tag", "WallTag", "Display Wall Name Tag", diff --git a/HoaryFox/Component/Tag/Section/BeamSecTag.cs b/HoaryFox/Component/Tag/Section/BeamSecTag.cs index 092783f7..3acd383a 100644 --- a/HoaryFox/Component/Tag/Section/BeamSecTag.cs +++ b/HoaryFox/Component/Tag/Section/BeamSecTag.cs @@ -18,6 +18,7 @@ public class BeamSecTag : GH_Component private int _size; private GH_Structure _frameTags = new GH_Structure(); private List _tagPos = new List(); + public override GH_Exposure Exposure => GH_Exposure.secondary; public BeamSecTag() : base("Beam Section Tag", "BeamSec", diff --git a/HoaryFox/Component/Tag/Section/BraceSecTag.cs b/HoaryFox/Component/Tag/Section/BraceSecTag.cs index 1decddf3..88333ac1 100644 --- a/HoaryFox/Component/Tag/Section/BraceSecTag.cs +++ b/HoaryFox/Component/Tag/Section/BraceSecTag.cs @@ -18,6 +18,7 @@ public class BraceSecTag : GH_Component private int _size; private GH_Structure _frameTags = new GH_Structure(); private List _tagPos = new List(); + public override GH_Exposure Exposure => GH_Exposure.tertiary; public BraceSecTag() : base("Brace Section Tag", "BraceSec", diff --git a/HoaryFox/Component/Tag/Section/ColumnSecTag.cs b/HoaryFox/Component/Tag/Section/ColumnSecTag.cs index 0c33e222..7f21153d 100644 --- a/HoaryFox/Component/Tag/Section/ColumnSecTag.cs +++ b/HoaryFox/Component/Tag/Section/ColumnSecTag.cs @@ -18,6 +18,8 @@ public class ColumnSecTag : GH_Component private int _size; private GH_Structure _frameTags = new GH_Structure(); private List _tagPos = new List(); + public override GH_Exposure Exposure => GH_Exposure.primary; + public ColumnSecTag() : base("Column Section Tag", "ColumnSec", diff --git a/HoaryFox/Component/Tag/Section/GirderSecTag.cs b/HoaryFox/Component/Tag/Section/GirderSecTag.cs index 54141567..a77e88ba 100644 --- a/HoaryFox/Component/Tag/Section/GirderSecTag.cs +++ b/HoaryFox/Component/Tag/Section/GirderSecTag.cs @@ -18,6 +18,7 @@ public class GirderSecTag : GH_Component private int _size; private GH_Structure _frameTags = new GH_Structure(); private List _tagPos = new List(); + public override GH_Exposure Exposure => GH_Exposure.secondary; public GirderSecTag() : base("Girder Section Tag", "GirderSec", diff --git a/HoaryFox/Component/Tag/Section/PostSecTag.cs b/HoaryFox/Component/Tag/Section/PostSecTag.cs index 055e899f..e306e0e1 100644 --- a/HoaryFox/Component/Tag/Section/PostSecTag.cs +++ b/HoaryFox/Component/Tag/Section/PostSecTag.cs @@ -18,6 +18,7 @@ public class PostSecTag : GH_Component private int _size; private GH_Structure _frameTags = new GH_Structure(); private List _tagPos = new List(); + public override GH_Exposure Exposure => GH_Exposure.primary; public PostSecTag() : base("Post Section Tag", "PostSec", diff --git a/HoaryFox/Component/Tag/Section/SlabSecTag.cs b/HoaryFox/Component/Tag/Section/SlabSecTag.cs index 56f40705..43827818 100644 --- a/HoaryFox/Component/Tag/Section/SlabSecTag.cs +++ b/HoaryFox/Component/Tag/Section/SlabSecTag.cs @@ -19,6 +19,8 @@ public class SlabSecTag : GH_Component private GH_Structure _plateTags = new GH_Structure(); private List _tagPos = new List(); + public override GH_Exposure Exposure => GH_Exposure.quarternary; + public SlabSecTag() : base("Slab Section Tag", "SlabSec", "Display Slab Section Tag", diff --git a/HoaryFox/Component/Tag/Section/WallSecTag.cs b/HoaryFox/Component/Tag/Section/WallSecTag.cs index 27f4adc0..3c22c802 100644 --- a/HoaryFox/Component/Tag/Section/WallSecTag.cs +++ b/HoaryFox/Component/Tag/Section/WallSecTag.cs @@ -19,6 +19,8 @@ public class WallSecTag : GH_Component private GH_Structure _plateTags = new GH_Structure(); private List _tagPos = new List(); + public override GH_Exposure Exposure => GH_Exposure.quarternary; + public WallSecTag() : base("Wall Section Tag", "WallSec", "Display Wall Section Tag", From 5df31572fd9bb77135297dfb261a48535fdfd177 Mon Sep 17 00:00:00 2001 From: hrntsm Date: Sun, 29 Aug 2021 22:00:20 +0900 Subject: [PATCH 127/162] Fix security issue --- website/package-lock.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/package-lock.json b/website/package-lock.json index b5d9b13a..ea4d8c18 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -8399,7 +8399,7 @@ "parse-entities": "^2.0.0", "repeat-string": "^1.5.4", "state-toggle": "^1.0.0", - "trim": "0.0.1", + "trim": ">=0.0.3", "trim-trailing-lines": "^1.0.0", "unherit": "^1.0.4", "unist-util-remove-position": "^2.0.0", From d6b782cf06b986c4ec78ce662b6cd1fe313b635e Mon Sep 17 00:00:00 2001 From: hiron Date: Tue, 31 Aug 2021 23:01:53 +0900 Subject: [PATCH 128/162] Add building sample gh file --- Samples/ExportOfficeBuilding2STB.gh | Bin 0 -> 58854 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Samples/ExportOfficeBuilding2STB.gh diff --git a/Samples/ExportOfficeBuilding2STB.gh b/Samples/ExportOfficeBuilding2STB.gh new file mode 100644 index 0000000000000000000000000000000000000000..0e1aad6f6406af18ad41c69b075ce800a1407852 GIT binary patch literal 58854 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 literal 0 HcmV?d00001 From 050151ebe0bf270cf58bcaeb1ed25e67cf875bb6 Mon Sep 17 00:00:00 2001 From: hiron Date: Wed, 1 Sep 2021 09:53:47 +0900 Subject: [PATCH 129/162] Add slab to sample building model --- Samples/ExportOfficeBuilding2STB.gh | Bin 58854 -> 84014 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Samples/ExportOfficeBuilding2STB.gh b/Samples/ExportOfficeBuilding2STB.gh index 0e1aad6f6406af18ad41c69b075ce800a1407852..449bd96d39a038bbe3bb676a0c9fda44ff711d7f 100644 GIT binary patch literal 84014 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

NQ&@p59;-X3S@e#0W-3f?$%kX1D7a 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 literal 58854 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 From 0bfc458569331c5878e066c0a952a131a0f2c3ef Mon Sep 17 00:00:00 2001 From: hiron Date: Wed, 1 Sep 2021 21:27:56 +0900 Subject: [PATCH 130/162] Update OptimizedOfficeBuilding model --- Samples/ExportOfficeBuilding2STB.gh | Bin 84014 -> 0 bytes Samples/ExportOptimizedOfficeBuilding2STB.gh | Bin 0 -> 96211 bytes Samples/JP_CrossSectionValues.csv | 552 ++++++++ Samples/OptimizedOfficeBuilding.stb | 1265 ++++++++++++++++++ 4 files changed, 1817 insertions(+) delete mode 100644 Samples/ExportOfficeBuilding2STB.gh create mode 100644 Samples/ExportOptimizedOfficeBuilding2STB.gh create mode 100644 Samples/JP_CrossSectionValues.csv create mode 100644 Samples/OptimizedOfficeBuilding.stb diff --git a/Samples/ExportOfficeBuilding2STB.gh b/Samples/ExportOfficeBuilding2STB.gh deleted file mode 100644 index 449bd96d39a038bbe3bb676a0c9fda44ff711d7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84014 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

NQ&@p59;-X3S@e#0W-3f?$%kX1D7a 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 diff --git a/Samples/ExportOptimizedOfficeBuilding2STB.gh b/Samples/ExportOptimizedOfficeBuilding2STB.gh new file mode 100644 index 0000000000000000000000000000000000000000..06512358a0d2f3d2e311c5cd15d5bb8ee58eb42b GIT binary patch literal 96211 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 63f436e9f3d1f5121645c18d5b6be6c192f735c1 Mon Sep 17 00:00:00 2001 From: hiron Date: Thu, 2 Sep 2021 21:10:21 +0900 Subject: [PATCH 131/162] Add output line using gh tree --- HoaryFox/Component/Geometry/Stb2Line.cs | 46 +++++------ .../Utils/Geometry/CreateLineFromStb.cs | 81 ++++++++++--------- 2 files changed, 62 insertions(+), 65 deletions(-) diff --git a/HoaryFox/Component/Geometry/Stb2Line.cs b/HoaryFox/Component/Geometry/Stb2Line.cs index 2c60d1d1..37ee7279 100644 --- a/HoaryFox/Component/Geometry/Stb2Line.cs +++ b/HoaryFox/Component/Geometry/Stb2Line.cs @@ -3,6 +3,8 @@ using System.Drawing; using System.Linq; using Grasshopper.Kernel; +using Grasshopper.Kernel.Data; +using Grasshopper.Kernel.Types; using HoaryFox.Component.Utils.Geometry; using HoaryFox.Properties; using Rhino; @@ -16,7 +18,7 @@ public class Stb2Line : GH_Component { private ST_BRIDGE _stBridge; private List _nodes = new List(); - private readonly List> _lineList = new List>(); + private readonly GH_Structure[] _lineList = new GH_Structure[5]; public override GH_Exposure Exposure => GH_Exposure.primary; @@ -27,12 +29,6 @@ public Stb2Line() { } - public override void ClearData() - { - base.ClearData(); - _lineList.Clear(); - } - protected override void RegisterInputParams(GH_InputParamManager pManager) { pManager.AddGenericParameter("Data", "D", "input ST-Bridge Data", GH_ParamAccess.item); @@ -42,11 +38,11 @@ protected override void RegisterInputParams(GH_InputParamManager pManager) protected override void RegisterOutputParams(GH_OutputParamManager pManager) { pManager.AddPointParameter("Nodes", "pt", "output StbNodes to point3d", GH_ParamAccess.list); - pManager.AddLineParameter("Columns", "Col", "output StbColumns to Line", GH_ParamAccess.list); - pManager.AddLineParameter("Girders", "Gird", "output StbGirders to Line", GH_ParamAccess.list); - pManager.AddLineParameter("Posts", "Pst", "output StbPosts to Line", GH_ParamAccess.list); - pManager.AddLineParameter("Beams", "Beam", "output StbBeams to Line", GH_ParamAccess.list); - pManager.AddLineParameter("Braces", "Brc", "output StbBraces to Line", GH_ParamAccess.list); + pManager.AddLineParameter("Columns", "Col", "output StbColumns to Line", GH_ParamAccess.tree); + pManager.AddLineParameter("Girders", "Gird", "output StbGirders to Line", GH_ParamAccess.tree); + pManager.AddLineParameter("Posts", "Pst", "output StbPosts to Line", GH_ParamAccess.tree); + pManager.AddLineParameter("Beams", "Beam", "output StbBeams to Line", GH_ParamAccess.tree); + pManager.AddLineParameter("Braces", "Brc", "output StbBraces to Line", GH_ParamAccess.tree); } protected override void SolveInstance(IGH_DataAccess dataAccess) @@ -62,9 +58,9 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) } dataAccess.SetDataList(0, _nodes); - foreach ((List geometry, int i) in _lineList.Select((geo, index) => (geo, index + 1))) + foreach ((GH_Structure geometry, int i) in _lineList.Select((geo, index) => (geo, index + 1))) { - dataAccess.SetDataList(i, geometry); + dataAccess.SetDataTree(i, geometry); } } @@ -77,18 +73,18 @@ private void BakeLine() Dictionary[][] infoArray = Utils.TagUtils.GetAllSectionInfoArray(_stBridge.StbModel.StbMembers, _stBridge.StbModel.StbSections); - foreach ((List lines, int index) in _lineList.Select((frameBrep, index) => (frameBrep, index))) + foreach ((GH_Structure lines, int i) in _lineList.Select((frameBrep, index) => (frameBrep, index))) { - Layer parentLayer = activeDoc.Layers.FindName(parentLayerNames[index]); + Layer parentLayer = activeDoc.Layers.FindName(parentLayerNames[i]); int parentIndex = parentLayer.Index; Guid parentId = parentLayer.Id; - foreach ((Line line, int bIndex) in lines.Select((brep, bIndex) => (brep, bIndex))) + foreach ((Line line, int bIndex) in lines.Select((geometry, bIndex) => (geometry.Value, bIndex))) { var objAttr = new ObjectAttributes(); - if (index < 5) + if (i < 5) { - Dictionary[] infos = infoArray[index]; + Dictionary[] infos = infoArray[i]; Dictionary info = infos[bIndex]; foreach (KeyValuePair pair in info) @@ -96,7 +92,7 @@ private void BakeLine() objAttr.SetUserString(pair.Key, pair.Value); } - var layer = new Layer { Name = info["name"], ParentLayerId = parentId, Color = layerColors[index] }; + var layer = new Layer { Name = info["name"], ParentLayerId = parentId, Color = layerColors[i] }; int layerIndex = activeDoc.Layers.Add(layer); if (layerIndex == -1) { @@ -119,11 +115,11 @@ private void CreateLine() { var createLines = new CreateLineFromStb(_stBridge); _nodes = createLines.Nodes(); - _lineList.Add(createLines.Columns()); - _lineList.Add(createLines.Girders()); - _lineList.Add(createLines.Posts()); - _lineList.Add(createLines.Beams()); - _lineList.Add(createLines.Braces()); + _lineList[0] = createLines.Columns(); + _lineList[1] = createLines.Girders(); + _lineList[2] = createLines.Posts(); + _lineList[3] = createLines.Beams(); + _lineList[4] = createLines.Braces(); } protected override Bitmap Icon => Resource.Line; diff --git a/HoaryFox/Component/Utils/Geometry/CreateLineFromStb.cs b/HoaryFox/Component/Utils/Geometry/CreateLineFromStb.cs index e6f7980b..d31402f8 100644 --- a/HoaryFox/Component/Utils/Geometry/CreateLineFromStb.cs +++ b/HoaryFox/Component/Utils/Geometry/CreateLineFromStb.cs @@ -1,5 +1,7 @@ using System.Collections.Generic; using System.Linq; +using Grasshopper.Kernel.Data; +using Grasshopper.Kernel.Types; using Rhino.Geometry; using STBDotNet.v202; @@ -7,12 +9,12 @@ namespace HoaryFox.Component.Utils.Geometry { public class CreateLineFromStb { - private readonly ST_BRIDGE _stBridge; + private readonly StbMembers _members; private readonly StbNode[] _nodes; public CreateLineFromStb(ST_BRIDGE stBridge) { - _stBridge = stBridge; + _members = stBridge.StbModel.StbMembers; _nodes = stBridge.StbModel.StbNodes; } @@ -21,108 +23,107 @@ public List Nodes() return _nodes.Select(node => new Point3d(node.X, node.Y, node.Z)).ToList(); } - public List Columns() + public GH_Structure Columns() { - var lines = new List(); - if (_stBridge.StbModel.StbMembers.StbColumns == null) + var lines = new GH_Structure(); + if (_members.StbColumns == null) { return lines; } - foreach (StbColumn column in _stBridge.StbModel.StbMembers.StbColumns) + foreach ((StbColumn member, int i) in _members.StbColumns.Select((member, index) => (member, index))) { - StbNode nodeBottom = _nodes.First(node => node.id == column.id_node_bottom); - StbNode nodeTop = _nodes.First(node => node.id == column.id_node_top); + StbNode nodeBottom = _nodes.First(node => node.id == member.id_node_bottom); + StbNode nodeTop = _nodes.First(node => node.id == member.id_node_top); - lines.Add(LineFromStbNode(nodeBottom, nodeTop)); + lines.Append(GH_LineFromStbNode(nodeBottom, nodeTop), new GH_Path(0, i)); } return lines; } - public List Girders() + public GH_Structure Girders() { - var lines = new List(); - if (_stBridge.StbModel.StbMembers.StbGirders == null) + var lines = new GH_Structure(); + if (_members.StbGirders == null) { return lines; } - foreach (StbGirder girder in _stBridge.StbModel.StbMembers.StbGirders) + foreach ((StbGirder member, int i) in _members.StbGirders.Select((member, index) => (member, index))) { - StbNode nodeStart = _nodes.First(node => node.id == girder.id_node_start); - StbNode nodeEnd = _nodes.First(node => node.id == girder.id_node_end); + StbNode nodeStart = _nodes.First(node => node.id == member.id_node_start); + StbNode nodeEnd = _nodes.First(node => node.id == member.id_node_end); - lines.Add(LineFromStbNode(nodeStart, nodeEnd)); + lines.Append(GH_LineFromStbNode(nodeStart, nodeEnd), new GH_Path(0, i)); } return lines; } - public List Posts() + public GH_Structure Posts() { - var lines = new List(); - if (_stBridge.StbModel.StbMembers.StbPosts == null) + var lines = new GH_Structure(); + if (_members.StbPosts == null) { return lines; } - foreach (StbPost post in _stBridge.StbModel.StbMembers.StbPosts) + foreach ((StbPost member, int i) in _members.StbPosts.Select((member, index) => (member, index))) { - StbNode nodeBottom = _nodes.First(node => node.id == post.id_node_bottom); - StbNode nodeTop = _nodes.First(node => node.id == post.id_node_top); + StbNode nodeBottom = _nodes.First(node => node.id == member.id_node_bottom); + StbNode nodeTop = _nodes.First(node => node.id == member.id_node_top); - lines.Add(LineFromStbNode(nodeBottom, nodeTop)); + lines.Append(GH_LineFromStbNode(nodeBottom, nodeTop), new GH_Path(0, i)); } return lines; } - public List Beams() + public GH_Structure Beams() { - var lines = new List(); - if (_stBridge.StbModel.StbMembers.StbBeams == null) + var lines = new GH_Structure(); + if (_members.StbBeams == null) { return lines; } - foreach (StbBeam beam in _stBridge.StbModel.StbMembers.StbBeams) + foreach ((StbBeam member, int i) in _members.StbBeams.Select((member, index) => (member, index))) { - StbNode nodeStart = _nodes.First(node => node.id == beam.id_node_start); - StbNode nodeEnd = _nodes.First(node => node.id == beam.id_node_end); + StbNode nodeStart = _nodes.First(node => node.id == member.id_node_start); + StbNode nodeEnd = _nodes.First(node => node.id == member.id_node_end); - lines.Add(LineFromStbNode(nodeStart, nodeEnd)); + lines.Append(GH_LineFromStbNode(nodeStart, nodeEnd), new GH_Path(0, i)); } return lines; } - public List Braces() + public GH_Structure Braces() { - var lines = new List(); - if (_stBridge.StbModel.StbMembers.StbBraces == null) + var lines = new GH_Structure(); + if (_members.StbBraces == null) { return lines; } - foreach (StbBrace brace in _stBridge.StbModel.StbMembers.StbBraces) + foreach ((StbBrace member, int i) in _members.StbBraces.Select((member, index) => (member, index))) { - StbNode nodeStart = _nodes.First(node => node.id == brace.id_node_start); - StbNode nodeEnd = _nodes.First(node => node.id == brace.id_node_end); + StbNode nodeStart = _nodes.First(node => node.id == member.id_node_start); + StbNode nodeEnd = _nodes.First(node => node.id == member.id_node_end); - lines.Add(LineFromStbNode(nodeStart, nodeEnd)); + lines.Append(GH_LineFromStbNode(nodeStart, nodeEnd), new GH_Path(0, i)); } return lines; } - private static Line LineFromStbNode(StbNode from, StbNode to) + private static GH_Line GH_LineFromStbNode(StbNode from, StbNode to) { var ptFrom = new Point3d(from.X, from.Y, from.Z); var ptTo = new Point3d(to.X, to.Y, to.Z); - return new Line(ptFrom, ptTo); + return new GH_Line(new Line(ptFrom, ptTo)); } - } } From abed2c80fc47e616229135cf8fa14e9e241b4a3e Mon Sep 17 00:00:00 2001 From: hiron Date: Fri, 3 Sep 2021 09:22:17 +0900 Subject: [PATCH 132/162] Add output brep using gh tree --- HoaryFox/Component/Geometry/Stb2Brep.cs | 45 ++++++------ .../Geometry/CreateMemberBrepListFromStb.cs | 69 ++++++++++--------- 2 files changed, 58 insertions(+), 56 deletions(-) diff --git a/HoaryFox/Component/Geometry/Stb2Brep.cs b/HoaryFox/Component/Geometry/Stb2Brep.cs index 9da02140..fcdbc6f6 100644 --- a/HoaryFox/Component/Geometry/Stb2Brep.cs +++ b/HoaryFox/Component/Geometry/Stb2Brep.cs @@ -3,6 +3,8 @@ using System.Drawing; using System.Linq; using Grasshopper.Kernel; +using Grasshopper.Kernel.Data; +using Grasshopper.Kernel.Types; using HoaryFox.Component.Utils.Geometry; using HoaryFox.Properties; using Rhino; @@ -15,7 +17,7 @@ namespace HoaryFox.Component.Geometry public class Stb2Brep : GH_Component { private ST_BRIDGE _stBridge; - private readonly List> _brepList = new List>(); + private readonly GH_Structure[] _brepList = new GH_Structure[7]; public override GH_Exposure Exposure => GH_Exposure.primary; @@ -29,7 +31,6 @@ public Stb2Brep() public override void ClearData() { base.ClearData(); - _brepList.Clear(); } protected override void RegisterInputParams(GH_InputParamManager pManager) @@ -40,13 +41,13 @@ protected override void RegisterInputParams(GH_InputParamManager pManager) protected override void RegisterOutputParams(GH_OutputParamManager pManager) { - pManager.AddBrepParameter("Columns", "Col", "output StbColumns to Brep", GH_ParamAccess.list); - pManager.AddBrepParameter("Girders", "Gird", "output StbGirders to Brep", GH_ParamAccess.list); - pManager.AddBrepParameter("Posts", "Pst", "output StbPosts to Brep", GH_ParamAccess.list); - pManager.AddBrepParameter("Beams", "Bm", "output StbBeams to Brep", GH_ParamAccess.list); - pManager.AddBrepParameter("Braces", "Brc", "output StbBraces to Brep", GH_ParamAccess.list); - pManager.AddBrepParameter("Slabs", "Slb", "output StbSlabs to Brep", GH_ParamAccess.list); - pManager.AddBrepParameter("Walls", "Wl", "output StbWalls to Brep", GH_ParamAccess.list); + pManager.AddBrepParameter("Columns", "Col", "output StbColumns to Brep", GH_ParamAccess.tree); + pManager.AddBrepParameter("Girders", "Gird", "output StbGirders to Brep", GH_ParamAccess.tree); + pManager.AddBrepParameter("Posts", "Pst", "output StbPosts to Brep", GH_ParamAccess.tree); + pManager.AddBrepParameter("Beams", "Bm", "output StbBeams to Brep", GH_ParamAccess.tree); + pManager.AddBrepParameter("Braces", "Brc", "output StbBraces to Brep", GH_ParamAccess.tree); + pManager.AddBrepParameter("Slabs", "Slb", "output StbSlabs to Brep", GH_ParamAccess.tree); + pManager.AddBrepParameter("Walls", "Wl", "output StbWalls to Brep", GH_ParamAccess.tree); } protected override void SolveInstance(IGH_DataAccess dataAccess) @@ -63,7 +64,7 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) for (var i = 0; i < 7; i++) { - dataAccess.SetDataList(i, _brepList[i]); + dataAccess.SetDataTree(i, _brepList[i]); } } @@ -74,13 +75,13 @@ private void CreateBrep() { StbMembers member = _stBridge.StbModel.StbMembers; var brepFromStb = new CreateMemberBrepListFromStb(_stBridge.StbModel.StbSections, _stBridge.StbModel.StbNodes, new[] { DocumentTolerance(), DocumentAngleTolerance() }); - _brepList.Add(brepFromStb.Column(member.StbColumns)); - _brepList.Add(brepFromStb.Girder(member.StbGirders)); - _brepList.Add(brepFromStb.Post(member.StbPosts)); - _brepList.Add(brepFromStb.Beam(member.StbBeams)); - _brepList.Add(brepFromStb.Brace(member.StbBraces)); - _brepList.Add(brepFromStb.Slab(member.StbSlabs)); - _brepList.Add(brepFromStb.Wall(member.StbWalls)); + _brepList[0] = brepFromStb.Column(member.StbColumns); + _brepList[1] = brepFromStb.Girder(member.StbGirders); + _brepList[2] = brepFromStb.Post(member.StbPosts); + _brepList[3] = brepFromStb.Beam(member.StbBeams); + _brepList[4] = brepFromStb.Brace(member.StbBraces); + _brepList[5] = brepFromStb.Slab(member.StbSlabs); + _brepList[6] = brepFromStb.Wall(member.StbWalls); } private void BakeBrep() @@ -92,15 +93,15 @@ private void BakeBrep() Dictionary[][] infoArray = Utils.TagUtils.GetAllSectionInfoArray(_stBridge.StbModel.StbMembers, _stBridge.StbModel.StbSections); - foreach ((List breps, int index) in _brepList.Select((frameBrep, index) => (frameBrep, index))) + foreach ((GH_Structure breps, int i) in _brepList.Select((frameBrep, index) => (frameBrep, index))) { - Layer parentLayer = activeDoc.Layers.FindName(parentLayerNames[index]); + Layer parentLayer = activeDoc.Layers.FindName(parentLayerNames[i]); Guid parentId = parentLayer.Id; - foreach ((Brep brep, int bIndex) in breps.Select((brep, bIndex) => (brep, bIndex))) + foreach ((Brep brep, int bIndex) in breps.Select((brep, bIndex) => (brep.Value, bIndex))) { var objAttr = new ObjectAttributes(); - Dictionary[] infos = infoArray[index]; + Dictionary[] infos = infoArray[i]; Dictionary info = infos[bIndex]; foreach (KeyValuePair pair in info) @@ -108,7 +109,7 @@ private void BakeBrep() objAttr.SetUserString(pair.Key, pair.Value); } - var layer = new Layer { Name = info["name"], ParentLayerId = parentId, Color = layerColors[index] }; + var layer = new Layer { Name = info["name"], ParentLayerId = parentId, Color = layerColors[i] }; int layerIndex = activeDoc.Layers.Add(layer); if (layerIndex == -1) { diff --git a/HoaryFox/Component/Utils/Geometry/CreateMemberBrepListFromStb.cs b/HoaryFox/Component/Utils/Geometry/CreateMemberBrepListFromStb.cs index bd540abf..c4a63c51 100644 --- a/HoaryFox/Component/Utils/Geometry/CreateMemberBrepListFromStb.cs +++ b/HoaryFox/Component/Utils/Geometry/CreateMemberBrepListFromStb.cs @@ -1,5 +1,7 @@ using System.Collections.Generic; using System.Linq; +using Grasshopper.Kernel.Data; +using Grasshopper.Kernel.Types; using Rhino.Geometry; using STBDotNet.v202; @@ -18,15 +20,15 @@ public CreateMemberBrepListFromStb(StbSections sections, IEnumerable no _sections = sections; } - public List Column(IEnumerable columns) + public GH_Structure Column(IEnumerable columns) { - var brepList = new List(); + var brepList = new GH_Structure(); if (columns == null) { return brepList; } - foreach (StbColumn column in columns) + foreach ((StbColumn column, int i) in columns.Select((column, index) => (column, index))) { StbColumnKind_structure kind = column.kind_structure; @@ -52,21 +54,21 @@ public List Column(IEnumerable columns) sectionPoints[2] = sectionPoints[3] - memberAxis / memberAxis.Length * column.joint_top; var brepMaker = new BrepMaker.Column(_sections, _tolerance); - brepList.Add(brepMaker.CreateColumnBrep(column.id_section, column.rotate, kind, sectionPoints, memberAxis)); + brepList.Append(new GH_Brep(brepMaker.CreateColumnBrep(column.id_section, column.rotate, kind, sectionPoints, memberAxis)), new GH_Path(0, i)); } return brepList; } - public List Post(IEnumerable posts) + public GH_Structure Post(IEnumerable posts) { - var brepList = new List(); + var brepList = new GH_Structure(); if (posts == null) { return brepList; } - foreach (StbPost post in posts) + foreach ((StbPost post, int i) in posts.Select((post, index) => (post, index))) { StbColumnKind_structure kind = post.kind_structure; @@ -92,21 +94,21 @@ public List Post(IEnumerable posts) sectionPoints[2] = sectionPoints[3] - memberAxis / memberAxis.Length * post.joint_top; var brepMaker = new BrepMaker.Column(_sections, _tolerance); - brepList.Add(brepMaker.CreateColumnBrep(post.id_section, post.rotate, kind, sectionPoints, memberAxis)); + brepList.Append(new GH_Brep(brepMaker.CreateColumnBrep(post.id_section, post.rotate, kind, sectionPoints, memberAxis)), new GH_Path(0, i)); } return brepList; } - public List Girder(IEnumerable girders) + public GH_Structure Girder(IEnumerable girders) { - var brepList = new List(); + var brepList = new GH_Structure(); if (girders == null) { return brepList; } - foreach (StbGirder girder in girders) + foreach ((StbGirder girder, int i) in girders.Select((girder, index) => (girder, index))) { StbGirderKind_structure kind = girder.kind_structure; @@ -132,21 +134,21 @@ public List Girder(IEnumerable girders) sectionPoints[2] = sectionPoints[3] - memberAxis / memberAxis.Length * girder.joint_end; var brepMaker = new BrepMaker.Girder(_sections, _tolerance); - brepList.Add(brepMaker.CreateGirderBrep(girder.id_section, girder.rotate, kind, sectionPoints, memberAxis)); + brepList.Append(new GH_Brep(brepMaker.CreateGirderBrep(girder.id_section, girder.rotate, kind, sectionPoints, memberAxis)), new GH_Path(0, i)); } return brepList; } - public List Beam(IEnumerable beams) + public GH_Structure Beam(IEnumerable beams) { - var brepList = new List(); + var brepList = new GH_Structure(); if (beams == null) { return brepList; } - foreach (StbBeam beam in beams) + foreach ((StbBeam beam, int i) in beams.Select((beam, index) => (beam, index))) { StbGirderKind_structure kind = beam.kind_structure; @@ -172,21 +174,21 @@ public List Beam(IEnumerable beams) sectionPoints[2] = sectionPoints[3] - memberAxis / memberAxis.Length * beam.joint_end; var brepMaker = new BrepMaker.Girder(_sections, _tolerance); - brepList.Add(brepMaker.CreateGirderBrep(beam.id_section, beam.rotate, kind, sectionPoints, memberAxis)); + brepList.Append(new GH_Brep(brepMaker.CreateGirderBrep(beam.id_section, beam.rotate, kind, sectionPoints, memberAxis)), new GH_Path(0, i)); } return brepList; } - public List Brace(IEnumerable braces) + public GH_Structure Brace(IEnumerable braces) { - var brepList = new List(); + var brepList = new GH_Structure(); if (braces == null) { return brepList; } - foreach (StbBrace brace in braces) + foreach ((StbBrace brace, int i) in braces.Select((brace, index) => (brace, index))) { StbBraceKind_structure kind = brace.kind_structure; @@ -212,21 +214,21 @@ public List Brace(IEnumerable braces) sectionPoints[2] = sectionPoints[3] - memberAxis / memberAxis.Length * brace.joint_end; var brepMaker = new BrepMaker.Brace(_sections, _tolerance); - brepList.Add(brepMaker.CreateBraceBrep(brace.id_section, brace.rotate, kind, sectionPoints, memberAxis)); + brepList.Append(new GH_Brep(brepMaker.CreateBraceBrep(brace.id_section, brace.rotate, kind, sectionPoints, memberAxis)), new GH_Path(0, i)); } return brepList; } - public List Slab(IEnumerable slabs) + public GH_Structure Slab(IEnumerable slabs) { - var brepList = new List(); + var brepList = new GH_Structure(); if (slabs == null) { return brepList; } - foreach (StbSlab slab in slabs) + foreach ((StbSlab slab, int i) in slabs.Select((slab, index) => (slab, index))) { StbSlabOffset[] offsets = slab.StbSlabOffsetList; var curveList = new PolylineCurve[2]; @@ -253,13 +255,13 @@ public List Slab(IEnumerable slabs) topPts.Add(topPts[0]); curveList[0] = new PolylineCurve(topPts); - CreateSlabBrep(depth, curveList, topPts, brepList); + brepList.Append(CreateSlabBrep(depth, curveList, topPts), new GH_Path(0, i)); } return brepList; } - private void CreateSlabBrep(double depth, IList curveList, IEnumerable topPts, ICollection brepList) + private GH_Brep CreateSlabBrep(double depth, IList curveList, IEnumerable topPts) { if (depth > 0) { @@ -268,18 +270,18 @@ private void CreateSlabBrep(double depth, IList curveList, IEnume Brep loftBrep = Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0]; Brep capedBrep = loftBrep.CapPlanarHoles(_tolerance[0]); - brepList.Add(capedBrep ?? NonPlanarBrep(depth, curveList)); + return capedBrep == null ? NonPlanarBrep(depth, curveList) : new GH_Brep(capedBrep); } else { Brep[] planarBrep = Brep.CreatePlanarBreps(new[] { curveList[0] }, _tolerance[0]); - brepList.Add(planarBrep != null + return new GH_Brep(planarBrep != null ? planarBrep[0] : Brep.CreatePatch(new[] { curveList[0] }, 5, 5, _tolerance[0])); } } - private Brep NonPlanarBrep(double depth, IList curveList) + private GH_Brep NonPlanarBrep(double depth, IList curveList) { var nonPlanarBrep = new List(); var topBrep = Brep.CreatePatch(new[] { curveList[0] }, 5, 5, _tolerance[0]); @@ -299,18 +301,18 @@ private Brep NonPlanarBrep(double depth, IList curveList) IEnumerable edgeCurveList = topBrep.Edges.Select(edge => edge.DuplicateCurve()); nonPlanarBrep.AddRange(edgeCurveList.Select(edgeCurve => Surface.CreateExtrusion(edgeCurve, faceNormal * depth).ToBrep())); - return Brep.JoinBreps(nonPlanarBrep, _tolerance[0])[0] ?? topBrep; + return new GH_Brep(Brep.JoinBreps(nonPlanarBrep, _tolerance[0])[0] ?? topBrep); } - public List Wall(IEnumerable walls) + public GH_Structure Wall(IEnumerable walls) { - var brepList = new List(); + var brepList = new GH_Structure(); if (walls == null) { return brepList; } - foreach (StbWall wall in walls) + foreach ((StbWall wall, int i) in walls.Select((wall, index) => (wall, index))) { StbWallOffset[] offsets = wall.StbWallOffsetList; var curveList = new PolylineCurve[2]; @@ -341,8 +343,7 @@ public List Wall(IEnumerable walls) Vector3d normal = Vector3d.CrossProduct(centerCurve.TangentAtEnd, centerCurve.TangentAtStart); curveList[0] = new PolylineCurve(topPts.Select(pt => pt + normal * thickness / 2)); curveList[1] = new PolylineCurve(topPts.Select(pt => pt - normal * thickness / 2)); - brepList.Add(Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0] - .CapPlanarHoles(_tolerance[0])); + brepList.Append(new GH_Brep(Brep.CreateFromLoft(curveList, Point3d.Unset, Point3d.Unset, LoftType.Straight, false)[0].CapPlanarHoles(_tolerance[0])), new GH_Path(0, i)); } return brepList; From ea49ce661817f137b678ec677d1731141961f1e8 Mon Sep 17 00:00:00 2001 From: hiron Date: Sat, 4 Sep 2021 19:28:15 +0900 Subject: [PATCH 133/162] Clean code --- HoaryFox/Component/Tag/Name/BeamNameTag.cs | 2 +- HoaryFox/Component/Tag/Name/BraceNameTag.cs | 2 +- HoaryFox/Component/Tag/Name/ColumnNameTag.cs | 2 +- HoaryFox/Component/Tag/Name/GirderNameTag.cs | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/HoaryFox/Component/Tag/Name/BeamNameTag.cs b/HoaryFox/Component/Tag/Name/BeamNameTag.cs index b98fbe8e..da2e8baa 100644 --- a/HoaryFox/Component/Tag/Name/BeamNameTag.cs +++ b/HoaryFox/Component/Tag/Name/BeamNameTag.cs @@ -70,7 +70,7 @@ public override void DrawViewportWires(IGH_PreviewArgs args) } } - protected override System.Drawing.Bitmap Icon => Properties.Resource.BeamName; + protected override Bitmap Icon => Properties.Resource.BeamName; public override Guid ComponentGuid => new Guid("FDC62C6D-7C03-412D-8FF8-B76439197730"); } diff --git a/HoaryFox/Component/Tag/Name/BraceNameTag.cs b/HoaryFox/Component/Tag/Name/BraceNameTag.cs index da857bbb..608ef9fe 100644 --- a/HoaryFox/Component/Tag/Name/BraceNameTag.cs +++ b/HoaryFox/Component/Tag/Name/BraceNameTag.cs @@ -70,7 +70,7 @@ public override void DrawViewportWires(IGH_PreviewArgs args) } } - protected override System.Drawing.Bitmap Icon => Properties.Resource.BraceName; + protected override Bitmap Icon => Properties.Resource.BraceName; public override Guid ComponentGuid => new Guid("21F7885E-6321-4C0D-8974-BC40769AAEAE"); } diff --git a/HoaryFox/Component/Tag/Name/ColumnNameTag.cs b/HoaryFox/Component/Tag/Name/ColumnNameTag.cs index b138a79d..59b973d0 100644 --- a/HoaryFox/Component/Tag/Name/ColumnNameTag.cs +++ b/HoaryFox/Component/Tag/Name/ColumnNameTag.cs @@ -70,7 +70,7 @@ public override void DrawViewportWires(IGH_PreviewArgs args) } } - protected override System.Drawing.Bitmap Icon => Properties.Resource.ColumnName; + protected override Bitmap Icon => Properties.Resource.ColumnName; public override Guid ComponentGuid => new Guid("AB439AE1-A56F-4764-BC36-F3752D30461A"); } diff --git a/HoaryFox/Component/Tag/Name/GirderNameTag.cs b/HoaryFox/Component/Tag/Name/GirderNameTag.cs index 1e4d7130..11501ee4 100644 --- a/HoaryFox/Component/Tag/Name/GirderNameTag.cs +++ b/HoaryFox/Component/Tag/Name/GirderNameTag.cs @@ -70,7 +70,7 @@ public override void DrawViewportWires(IGH_PreviewArgs args) } } - protected override System.Drawing.Bitmap Icon => Properties.Resource.GirderName; + protected override Bitmap Icon => Properties.Resource.GirderName; public override Guid ComponentGuid => new Guid("31664B98-E1F0-4635-A718-18C8FDE14A14"); } From bb2d03e6dd54a6137b0d9d52bf8abce9605cfc90 Mon Sep 17 00:00:00 2001 From: hiron Date: Sat, 4 Sep 2021 20:31:06 +0900 Subject: [PATCH 134/162] Add output name tag using gh tree --- HoaryFox/Component/Tag/Name/BeamNameTag.cs | 17 +++++---- HoaryFox/Component/Tag/Name/BraceNameTag.cs | 17 +++++---- HoaryFox/Component/Tag/Name/ColumnNameTag.cs | 18 +++++----- HoaryFox/Component/Tag/Name/GirderNameTag.cs | 17 +++++---- HoaryFox/Component/Tag/Name/PostNameTag.cs | 17 +++++---- HoaryFox/Component/Tag/Name/SlabNameTag.cs | 16 +++++---- HoaryFox/Component/Tag/Name/WallNameTag.cs | 38 ++++++++++++-------- 7 files changed, 82 insertions(+), 58 deletions(-) diff --git a/HoaryFox/Component/Tag/Name/BeamNameTag.cs b/HoaryFox/Component/Tag/Name/BeamNameTag.cs index da2e8baa..b7fdb77b 100644 --- a/HoaryFox/Component/Tag/Name/BeamNameTag.cs +++ b/HoaryFox/Component/Tag/Name/BeamNameTag.cs @@ -1,7 +1,10 @@ using System; using System.Collections.Generic; using System.Drawing; +using System.Linq; using Grasshopper.Kernel; +using Grasshopper.Kernel.Data; +using Grasshopper.Kernel.Types; using HoaryFox.Component.Utils; using Rhino.Geometry; using STBDotNet.v202; @@ -13,7 +16,7 @@ public class BeamNameTag : GH_Component private ST_BRIDGE _stBridge; private int _size; - private readonly List _frameName = new List(); + private readonly GH_Structure _frameName = new GH_Structure(); private readonly List _framePos = new List(); public override bool IsPreviewCapable => true; @@ -41,7 +44,7 @@ protected override void RegisterInputParams(GH_InputParamManager pManager) protected override void RegisterOutputParams(GH_OutputParamManager pManager) { - pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.list); + pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.tree); } protected override void SolveInstance(IGH_DataAccess dataAccess) @@ -51,22 +54,22 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) StbNode[] nodes = _stBridge.StbModel.StbNodes; StbBeam[] beams = _stBridge.StbModel.StbMembers.StbBeams; - foreach (StbBeam beam in beams) + foreach ((StbBeam beam, int i) in beams.Select((beam, index) => (beam, index))) { - _frameName.Add(beam.name); + _frameName.Append(new GH_String(beam.name), new GH_Path(0, i)); string idNodeStart = beam.id_node_start; string idNodeEnd = beam.id_node_end; _framePos.Add(TagUtils.GetFrameTagPosition(idNodeStart, idNodeEnd, nodes)); } - dataAccess.SetDataList(0, _frameName); + dataAccess.SetDataTree(0, _frameName); } public override void DrawViewportWires(IGH_PreviewArgs args) { - for (var i = 0; i < _frameName.Count; i++) + for (var i = 0; i < _frameName.PathCount; i++) { - args.Display.Draw2dText(_frameName[i], Color.Black, _framePos[i], true, _size); + args.Display.Draw2dText(_frameName.Branches[i][0].Value, Color.Black, _framePos[i], true, _size); } } diff --git a/HoaryFox/Component/Tag/Name/BraceNameTag.cs b/HoaryFox/Component/Tag/Name/BraceNameTag.cs index 608ef9fe..483663c5 100644 --- a/HoaryFox/Component/Tag/Name/BraceNameTag.cs +++ b/HoaryFox/Component/Tag/Name/BraceNameTag.cs @@ -1,7 +1,10 @@ using System; using System.Collections.Generic; using System.Drawing; +using System.Linq; using Grasshopper.Kernel; +using Grasshopper.Kernel.Data; +using Grasshopper.Kernel.Types; using HoaryFox.Component.Utils; using Rhino.Geometry; using STBDotNet.v202; @@ -13,7 +16,7 @@ public class BraceNameTag : GH_Component private ST_BRIDGE _stBridge; private int _size; - private readonly List _frameName = new List(); + private readonly GH_Structure _frameName = new GH_Structure(); private readonly List _framePos = new List(); public override bool IsPreviewCapable => true; @@ -41,7 +44,7 @@ protected override void RegisterInputParams(GH_InputParamManager pManager) protected override void RegisterOutputParams(GH_OutputParamManager pManager) { - pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.list); + pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.tree); } protected override void SolveInstance(IGH_DataAccess dataAccess) @@ -51,22 +54,22 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) StbNode[] nodes = _stBridge.StbModel.StbNodes; StbBrace[] braces = _stBridge.StbModel.StbMembers.StbBraces; - foreach (StbBrace brace in braces) + foreach ((StbBrace brace, int i) in braces.Select((brace, index) => (brace, index))) { - _frameName.Add(brace.name); + _frameName.Append(new GH_String(brace.name), new GH_Path(0, i)); string idNodeStart = brace.id_node_start; string idNodeEnd = brace.id_node_end; _framePos.Add(TagUtils.GetFrameTagPosition(idNodeStart, idNodeEnd, nodes)); } - dataAccess.SetDataList(0, _frameName); + dataAccess.SetDataTree(0, _frameName); } public override void DrawViewportWires(IGH_PreviewArgs args) { - for (var i = 0; i < _frameName.Count; i++) + for (var i = 0; i < _frameName.PathCount; i++) { - args.Display.Draw2dText(_frameName[i], Color.Black, _framePos[i], true, _size); + args.Display.Draw2dText(_frameName.Branches[i][0].Value, Color.Black, _framePos[i], true, _size); } } diff --git a/HoaryFox/Component/Tag/Name/ColumnNameTag.cs b/HoaryFox/Component/Tag/Name/ColumnNameTag.cs index 59b973d0..6770c20a 100644 --- a/HoaryFox/Component/Tag/Name/ColumnNameTag.cs +++ b/HoaryFox/Component/Tag/Name/ColumnNameTag.cs @@ -1,7 +1,10 @@ using System; using System.Collections.Generic; using System.Drawing; +using System.Linq; using Grasshopper.Kernel; +using Grasshopper.Kernel.Data; +using Grasshopper.Kernel.Types; using HoaryFox.Component.Utils; using Rhino.Geometry; using STBDotNet.v202; @@ -13,7 +16,7 @@ public class ColumnNameTag : GH_Component private ST_BRIDGE _stBridge; private int _size; - private readonly List _frameName = new List(); + private readonly GH_Structure _frameName = new GH_Structure(); private readonly List _framePos = new List(); public override bool IsPreviewCapable => true; @@ -41,7 +44,7 @@ protected override void RegisterInputParams(GH_InputParamManager pManager) protected override void RegisterOutputParams(GH_OutputParamManager pManager) { - pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.list); + pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.tree); } protected override void SolveInstance(IGH_DataAccess dataAccess) @@ -51,22 +54,21 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) StbNode[] nodes = _stBridge.StbModel.StbNodes; StbColumn[] columns = _stBridge.StbModel.StbMembers.StbColumns; - foreach (StbColumn column in columns) + foreach ((StbColumn column, int i) in columns.Select((column, index) => (column, index))) { - _frameName.Add(column.name); - + _frameName.Append(new GH_String(column.name), new GH_Path(0, i)); string idNodeStart = column.id_node_bottom; string idNodeEnd = column.id_node_top; _framePos.Add(TagUtils.GetFrameTagPosition(idNodeStart, idNodeEnd, nodes)); } - dataAccess.SetDataList(0, _frameName); + dataAccess.SetDataTree(0, _frameName); } public override void DrawViewportWires(IGH_PreviewArgs args) { - for (var i = 0; i < _frameName.Count; i++) + for (var i = 0; i < _frameName.PathCount; i++) { - args.Display.Draw2dText(_frameName[i], Color.Black, _framePos[i], true, _size); + args.Display.Draw2dText(_frameName.Branches[i][0].Value, Color.Black, _framePos[i], true, _size); } } diff --git a/HoaryFox/Component/Tag/Name/GirderNameTag.cs b/HoaryFox/Component/Tag/Name/GirderNameTag.cs index 11501ee4..0d83da4f 100644 --- a/HoaryFox/Component/Tag/Name/GirderNameTag.cs +++ b/HoaryFox/Component/Tag/Name/GirderNameTag.cs @@ -1,7 +1,10 @@ using System; using System.Collections.Generic; using System.Drawing; +using System.Linq; using Grasshopper.Kernel; +using Grasshopper.Kernel.Data; +using Grasshopper.Kernel.Types; using HoaryFox.Component.Utils; using Rhino.Geometry; using STBDotNet.v202; @@ -13,7 +16,7 @@ public class GirderNameTag : GH_Component private ST_BRIDGE _stBridge; private int _size; - private readonly List _frameName = new List(); + private readonly GH_Structure _frameName = new GH_Structure(); private readonly List _framePos = new List(); public override bool IsPreviewCapable => true; @@ -41,7 +44,7 @@ protected override void RegisterInputParams(GH_InputParamManager pManager) protected override void RegisterOutputParams(GH_OutputParamManager pManager) { - pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.list); + pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.tree); } protected override void SolveInstance(IGH_DataAccess dataAccess) @@ -51,22 +54,22 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) StbNode[] nodes = _stBridge.StbModel.StbNodes; StbGirder[] girders = _stBridge.StbModel.StbMembers.StbGirders; - foreach (StbGirder girder in girders) + foreach ((StbGirder girder, int i) in girders.Select((girder, index) => (girder, index))) { - _frameName.Add(girder.name); + _frameName.Append(new GH_String(girder.name), new GH_Path(0, i)); string idNodeStart = girder.id_node_start; string idNodeEnd = girder.id_node_end; _framePos.Add(TagUtils.GetFrameTagPosition(idNodeStart, idNodeEnd, nodes)); } - dataAccess.SetDataList(0, _frameName); + dataAccess.SetDataTree(0, _frameName); } public override void DrawViewportWires(IGH_PreviewArgs args) { - for (var i = 0; i < _frameName.Count; i++) + for (var i = 0; i < _frameName.PathCount; i++) { - args.Display.Draw2dText(_frameName[i], Color.Black, _framePos[i], true, _size); + args.Display.Draw2dText(_frameName.Branches[i][0].Value, Color.Black, _framePos[i], true, _size); } } diff --git a/HoaryFox/Component/Tag/Name/PostNameTag.cs b/HoaryFox/Component/Tag/Name/PostNameTag.cs index fdd117b6..45078822 100644 --- a/HoaryFox/Component/Tag/Name/PostNameTag.cs +++ b/HoaryFox/Component/Tag/Name/PostNameTag.cs @@ -1,7 +1,10 @@ using System; using System.Collections.Generic; using System.Drawing; +using System.Linq; using Grasshopper.Kernel; +using Grasshopper.Kernel.Data; +using Grasshopper.Kernel.Types; using HoaryFox.Component.Utils; using Rhino.Geometry; using STBDotNet.v202; @@ -13,7 +16,7 @@ public class PostNameTag : GH_Component private ST_BRIDGE _stBridge; private int _size; - private readonly List _frameName = new List(); + private readonly GH_Structure _frameName = new GH_Structure(); private readonly List _framePos = new List(); public override bool IsPreviewCapable => true; @@ -41,7 +44,7 @@ protected override void RegisterInputParams(GH_InputParamManager pManager) protected override void RegisterOutputParams(GH_OutputParamManager pManager) { - pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.list); + pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.tree); } protected override void SolveInstance(IGH_DataAccess dataAccess) @@ -51,22 +54,22 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) StbNode[] nodes = _stBridge.StbModel.StbNodes; StbPost[] posts = _stBridge.StbModel.StbMembers.StbPosts; - foreach (StbPost post in posts) + foreach ((StbPost post, int i) in posts.Select((post, index) => (post, index))) { - _frameName.Add(post.name); + _frameName.Append(new GH_String(post.name), new GH_Path(0, i)); string idNodeStart = post.id_node_bottom; string idNodeEnd = post.id_node_top; _framePos.Add(TagUtils.GetFrameTagPosition(idNodeStart, idNodeEnd, nodes)); } - dataAccess.SetDataList(0, _frameName); + dataAccess.SetDataTree(0, _frameName); } public override void DrawViewportWires(IGH_PreviewArgs args) { - for (var i = 0; i < _frameName.Count; i++) + for (var i = 0; i < _frameName.PathCount; i++) { - args.Display.Draw2dText(_frameName[i], Color.Black, _framePos[i], true, _size); + args.Display.Draw2dText(_frameName.Branches[i][0].Value, Color.Black, _framePos[i], true, _size); } } diff --git a/HoaryFox/Component/Tag/Name/SlabNameTag.cs b/HoaryFox/Component/Tag/Name/SlabNameTag.cs index c8804370..cdff54ef 100644 --- a/HoaryFox/Component/Tag/Name/SlabNameTag.cs +++ b/HoaryFox/Component/Tag/Name/SlabNameTag.cs @@ -3,6 +3,8 @@ using System.Drawing; using System.Linq; using Grasshopper.Kernel; +using Grasshopper.Kernel.Data; +using Grasshopper.Kernel.Types; using HoaryFox.Properties; using Rhino.Geometry; using STBDotNet.v202; @@ -14,7 +16,7 @@ public class SlabNameTag : GH_Component private ST_BRIDGE _stBridge; private int _size; - private readonly List _plateName = new List(); + private readonly GH_Structure _plateName = new GH_Structure(); private readonly List _platePos = new List(); public override bool IsPreviewCapable => true; @@ -42,7 +44,7 @@ protected override void RegisterInputParams(GH_InputParamManager pManager) protected override void RegisterOutputParams(GH_OutputParamManager pManager) { - pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.list); + pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.tree); } protected override void SolveInstance(IGH_DataAccess dataAccess) @@ -52,15 +54,15 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) StbNode[] nodes = _stBridge.StbModel.StbNodes; StbSlab[] slabs = _stBridge.StbModel.StbMembers.StbSlabs; - foreach (StbSlab slab in slabs) + foreach ((StbSlab slab, int i) in slabs.Select((slab, i) => (slab, i))) { - _plateName.Add(slab.name); + _plateName.Append(new GH_String(slab.name), new GH_Path(0, i)); StbSlabOffset[] offsets = slab.StbSlabOffsetList; string[] nodeIds = slab.StbNodeIdOrder.Split(' '); Point3d[] pts = SlabNodeToPoint3ds(nodeIds, nodes, offsets); _platePos.Add(new Point3d(pts.Average(n => n.X), pts.Average(n => n.Y), pts.Average(n => n.Z))); } - dataAccess.SetDataList(0, _plateName); + dataAccess.SetDataTree(0, _plateName); } private static Point3d[] SlabNodeToPoint3ds(IReadOnlyList nodeIds, StbNode[] nodes, StbSlabOffset[] offsets) @@ -87,9 +89,9 @@ private static Point3d[] SlabNodeToPoint3ds(IReadOnlyList nodeIds, StbNo public override void DrawViewportWires(IGH_PreviewArgs args) { - for (var i = 0; i < _plateName.Count; i++) + for (var i = 0; i < _plateName.PathCount; i++) { - args.Display.Draw2dText(_plateName[i], Color.Black, _platePos[i], true, _size); + args.Display.Draw2dText(_plateName.Branches[i][0].Value, Color.Black, _platePos[i], true, _size); } } diff --git a/HoaryFox/Component/Tag/Name/WallNameTag.cs b/HoaryFox/Component/Tag/Name/WallNameTag.cs index 10c25769..dfecd3b4 100644 --- a/HoaryFox/Component/Tag/Name/WallNameTag.cs +++ b/HoaryFox/Component/Tag/Name/WallNameTag.cs @@ -3,6 +3,8 @@ using System.Drawing; using System.Linq; using Grasshopper.Kernel; +using Grasshopper.Kernel.Data; +using Grasshopper.Kernel.Types; using HoaryFox.Properties; using Rhino.Geometry; using STBDotNet.v202; @@ -14,7 +16,7 @@ public class WallNameTag : GH_Component private ST_BRIDGE _stBridge; private int _size; - private readonly List _plateName = new List(); + private readonly GH_Structure _plateName = new GH_Structure(); private readonly List _platePos = new List(); public override bool IsPreviewCapable => true; @@ -42,7 +44,7 @@ protected override void RegisterInputParams(GH_InputParamManager pManager) protected override void RegisterOutputParams(GH_OutputParamManager pManager) { - pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.list); + pManager.AddTextParameter("NameTag", "NTag", "output name tag", GH_ParamAccess.tree); } protected override void SolveInstance(IGH_DataAccess dataAccess) @@ -52,28 +54,34 @@ protected override void SolveInstance(IGH_DataAccess dataAccess) StbNode[] nodes = _stBridge.StbModel.StbNodes; StbWall[] walls = _stBridge.StbModel.StbMembers.StbWalls; - foreach (StbWall wall in walls) + foreach ((StbWall wall, int i) in walls.Select((wall, index) => (wall, index))) { - _plateName.Add(wall.name); + _plateName.Append(new GH_String(wall.name), new GH_Path(0, i)); - string[] nodeIds = wall.StbNodeIdOrder.Split(' '); - var pts = new Point3d[nodeIds.Length]; - for (int i = 0; i < nodeIds.Length; i++) - { - string nodeId = nodeIds[i]; - StbNode node = nodes.First(n => n.id == nodeId); - pts[i] = new Point3d(node.X, node.Y, node.Z); - } + Point3d[] pts = WallNodeToPoint3ds(nodes, wall.StbNodeIdOrder.Split(' ')); _platePos.Add(new Point3d(pts.Average(n => n.X), pts.Average(n => n.Y), pts.Average(n => n.Z))); } - dataAccess.SetDataList(0, _plateName); + dataAccess.SetDataTree(0, _plateName); + } + + private static Point3d[] WallNodeToPoint3ds(StbNode[] nodes, string[] nodeIds) + { + var pts = new Point3d[nodeIds.Length]; + for (int i = 0; i < nodeIds.Length; i++) + { + string nodeId = nodeIds[i]; + StbNode node = nodes.First(n => n.id == nodeId); + pts[i] = new Point3d(node.X, node.Y, node.Z); + } + + return pts; } public override void DrawViewportWires(IGH_PreviewArgs args) { - for (var i = 0; i < _plateName.Count; i++) + for (var i = 0; i < _plateName.PathCount; i++) { - args.Display.Draw2dText(_plateName[i], Color.Black, _platePos[i], true, _size); + args.Display.Draw2dText(_plateName.Branches[i][0].Value, Color.Black, _platePos[i], true, _size); } } From 90ab7f876927298d4a34bd7dd094d115adaa115b Mon Sep 17 00:00:00 2001 From: hiron Date: Mon, 6 Sep 2021 20:07:14 +0900 Subject: [PATCH 135/162] Add License page --- LICENSE | 2 +- website/docs/License/MIT_License.md | 22 ++++++++++++++++++++++ website/sidebars.js | 17 ++++++++++------- 3 files changed, 33 insertions(+), 8 deletions(-) create mode 100644 website/docs/License/MIT_License.md diff --git a/LICENSE b/LICENSE index f313f896..f5b6f435 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2019-2020 hrntsm +Copyright (c) 2019 hrntsm Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/website/docs/License/MIT_License.md b/website/docs/License/MIT_License.md new file mode 100644 index 00000000..67892b16 --- /dev/null +++ b/website/docs/License/MIT_License.md @@ -0,0 +1,22 @@ +--- +id: MIT_License +title: MIT License +--- + +HoaryFox は MIT ライセンスで公開しています。 +正式なライセンスの内容は [ライセンスページ](https://github.com/hrntsm/HoaryFox/blob/main/LICENSE) をご確認ください。 + +以下にライセンスの日本語訳を示しますが、あくまで参考であり、正式なライセンスは上記リンク先にある内容となります。 + +--- + +Copyright (c) 2019 hrntsm + +以下に定める条件に従い、本ソフトウェアおよび関連文書のファイル(以下「ソフトウェア」)の複製を取得するすべての人に対し、ソフトウェアを無制限に扱うことを無償で許可します。 +これには、ソフトウェアの複製を使用、複写、変更、結合、掲載、頒布、サブライセンス、および/または販売する権利、およびソフトウェアを提供する相手に同じことを許可する権利も無制限に含まれます。 + +上記の著作権表示および本許諾表示を、ソフトウェアのすべての複製または重要な部分に記載するものとします。 + +ソフトウェアは「現状のまま」で、明示であるか暗黙であるかを問わず、何らの保証もなく提供されます。 +ここでいう保証とは、商品性、特定の目的への適合性、および権利非侵害についての保証も含みますが、それに限定されるものではありません。 +作者または著作権者は、契約行為、不法行為、またはそれ以外であろうと、ソフトウェアに起因または関連し、あるいはソフトウェアの使用またはその他の扱いによって生じる一切の請求、損害、その他の義務について何らの責任も負わないものとします。 diff --git a/website/sidebars.js b/website/sidebars.js index 5829066d..71229034 100644 --- a/website/sidebars.js +++ b/website/sidebars.js @@ -1,11 +1,7 @@ module.exports = { - someSidebar: { - Component: [ - 'Component/Geometry', - 'Component/IO', - 'Component/NameTag', - 'Component/SectionTag', - 'Component/StbBuilder' + Sidebar: { + License: [ + 'License/MIT_License' ], Usage: [ 'Usage/HowToInstall', @@ -14,5 +10,12 @@ module.exports = { 'Usage/ExportSTB', 'Usage/BakeGeometry' ], + Component: [ + 'Component/Geometry', + 'Component/IO', + 'Component/NameTag', + 'Component/SectionTag', + 'Component/StbBuilder' + ], }, }; From 4700b055556381b6d53913debd8a8cea4cae007f Mon Sep 17 00:00:00 2001 From: hiron Date: Mon, 6 Sep 2021 20:21:46 +0900 Subject: [PATCH 136/162] Add en license page --- .../current/License/MIT_License.md | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/current/License/MIT_License.md diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/License/MIT_License.md b/website/i18n/en/docusaurus-plugin-content-docs/current/License/MIT_License.md new file mode 100644 index 00000000..c6ebeef5 --- /dev/null +++ b/website/i18n/en/docusaurus-plugin-content-docs/current/License/MIT_License.md @@ -0,0 +1,20 @@ +--- +id: MIT_License +title: MIT License +--- + +HoaryFox is released under MIT license. +Please check the [license page](https://github.com/hrntsm/HoaryFox/blob/main/LICENSE) for the official license details. + +--- + +Summary + +- Permissions + - Commercial use + - Modification + - Distribution + - Private use +- Limitations + - Liability + - Warranty \ No newline at end of file From 66ce8664570e73e0aedea0217c14ff09792bea9d Mon Sep 17 00:00:00 2001 From: hiron Date: Mon, 6 Sep 2021 20:44:13 +0900 Subject: [PATCH 137/162] Update document site top page --- website/docusaurus.config.js | 4 ++++ website/src/pages/index.js | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/website/docusaurus.config.js b/website/docusaurus.config.js index ef2003c3..c1fb5f6e 100644 --- a/website/docusaurus.config.js +++ b/website/docusaurus.config.js @@ -77,6 +77,10 @@ module.exports = { { title: 'Docs', items: [ + { + label: 'License', + to: 'docs/License/MIT_License', + }, { label: 'Component', to: 'docs/Component/Geometry', diff --git a/website/src/pages/index.js b/website/src/pages/index.js index 8b0f50dc..853fa291 100644 --- a/website/src/pages/index.js +++ b/website/src/pages/index.js @@ -69,7 +69,7 @@ function Home() { 'button button--outline button--secondary button--lg', styles.getStarted, )} - to={useBaseUrl('docs/Usage/HowToInstall')}> + to={useBaseUrl('docs/License/MIT_License')}> Get Started From 03042fcae6ef1b8ce0cd8f19788919297c2a9612 Mon Sep 17 00:00:00 2001 From: hiron Date: Tue, 7 Sep 2021 20:59:42 +0900 Subject: [PATCH 138/162] Update sidebar settings --- website/docs/Changelog.md | 4 ++ .../{License/MIT_License.md => License.md} | 4 +- website/docusaurus.config.js | 1 + .../{License/MIT_License.md => License.md} | 4 +- website/sidebars.js | 46 +++++++++++-------- 5 files changed, 36 insertions(+), 23 deletions(-) create mode 100644 website/docs/Changelog.md rename website/docs/{License/MIT_License.md => License.md} (98%) rename website/i18n/en/docusaurus-plugin-content-docs/current/{License/MIT_License.md => License.md} (89%) diff --git a/website/docs/Changelog.md b/website/docs/Changelog.md new file mode 100644 index 00000000..e56e1dc9 --- /dev/null +++ b/website/docs/Changelog.md @@ -0,0 +1,4 @@ +--- +id: Changelog +title: Changelog +--- diff --git a/website/docs/License/MIT_License.md b/website/docs/License.md similarity index 98% rename from website/docs/License/MIT_License.md rename to website/docs/License.md index 67892b16..fba2705d 100644 --- a/website/docs/License/MIT_License.md +++ b/website/docs/License.md @@ -1,6 +1,6 @@ --- -id: MIT_License -title: MIT License +id: License +title: License --- HoaryFox は MIT ライセンスで公開しています。 diff --git a/website/docusaurus.config.js b/website/docusaurus.config.js index c1fb5f6e..05e6a144 100644 --- a/website/docusaurus.config.js +++ b/website/docusaurus.config.js @@ -21,6 +21,7 @@ module.exports = { } }, themeConfig: { + hideableSidebar: true, image: `img/HFicon.png`, metadates: [ { diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/License/MIT_License.md b/website/i18n/en/docusaurus-plugin-content-docs/current/License.md similarity index 89% rename from website/i18n/en/docusaurus-plugin-content-docs/current/License/MIT_License.md rename to website/i18n/en/docusaurus-plugin-content-docs/current/License.md index c6ebeef5..bbe1dee3 100644 --- a/website/i18n/en/docusaurus-plugin-content-docs/current/License/MIT_License.md +++ b/website/i18n/en/docusaurus-plugin-content-docs/current/License.md @@ -1,6 +1,6 @@ --- -id: MIT_License -title: MIT License +id: License +title: License --- HoaryFox is released under MIT license. diff --git a/website/sidebars.js b/website/sidebars.js index 71229034..86622347 100644 --- a/website/sidebars.js +++ b/website/sidebars.js @@ -1,21 +1,29 @@ module.exports = { - Sidebar: { - License: [ - 'License/MIT_License' - ], - Usage: [ - 'Usage/HowToInstall', - 'Usage/ShowSTBModel', - 'Usage/ConvertToKaramba', - 'Usage/ExportSTB', - 'Usage/BakeGeometry' - ], - Component: [ - 'Component/Geometry', - 'Component/IO', - 'Component/NameTag', - 'Component/SectionTag', - 'Component/StbBuilder' - ], - }, + Sidebar: [ + 'License', + 'Changelog', + { + type: 'category', + label: 'Getting Start', + collapsed: false, + items: [ + 'Usage/HowToInstall', + 'Usage/ShowSTBModel', + 'Usage/ConvertToKaramba', + 'Usage/ExportSTB', + 'Usage/BakeGeometry', + ] + }, + { + type: 'category', + label: 'Component Info', + items: [ + 'Component/Geometry', + 'Component/IO', + 'Component/NameTag', + 'Component/SectionTag', + 'Component/StbBuilder', + ] + }, + ], }; From 58ef5b5e3bc8625d9bef2a8c65cfb46e7b043610 Mon Sep 17 00:00:00 2001 From: hiron Date: Tue, 7 Sep 2021 21:27:08 +0900 Subject: [PATCH 139/162] Add jp changelog --- website/docs/Changelog.md | 59 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/website/docs/Changelog.md b/website/docs/Changelog.md index e56e1dc9..8b76cf72 100644 --- a/website/docs/Changelog.md +++ b/website/docs/Changelog.md @@ -2,3 +2,62 @@ id: Changelog title: Changelog --- + +--- + +## [v1.3.1 - 2021-03-28](https://github.com/hrntsm/HoaryFox/releases/tag/v1.3.1) + +### 追加 + +- Brep と Line を Rhino へ情報を持った形で Bake できるようにした。 + +### 変更 + +- Stb2Brep コンポーネントで出力される Brep を部材ごとに Closed Brep になるようにした。 + +--- + +## [v1.2.2 - 2021-02-17](https://github.com/hrntsm/HoaryFox/releases/tag/v1.2.2) + +### 追加 + +- 本ドキュメントサイトの公開 +- SetCroSecFamilyName コンポーネントによって、Karamba3D への変換で断面の Family 名を指定できるようにした + +### 修正 + +- Stb から Karamba3D への変換で、材料の単位が間違っていたものを修正 + +### 変更 + +- Stb から Karamba3D への変換で、RC の断面名を「Id + 数字」から、「BD- や CD- + 断面サイズ」の表現とした + - 例えば BD-300x600 のような形式 +- FrameBuilder コンポーネントを FrameBuilder by angle コンポーネントと NodeBuilder コンポーネントに分けた + - もともとは 45 度で柱と梁を区別していたが、この変更により入力した角度で区別するようにした + - それに伴い、Rhino のビューポート状に柱、梁、ブレースのどの区分になっているかテキストで表示するようにした + +--- + +## [v1.2.1 - 2020-12-31](https://github.com/hrntsm/HoaryFox/releases/tag/v1.2.1) + +### 修正 + +- Karamba3D へ変換するコンポーネントがうまく動かなかったため、内部での Karamba3D への参照パスを変更し動作するようにした + +--- + +## [v1.2.0 - 2020-12-30](https://github.com/hrntsm/HoaryFox/releases/tag/v1.2.0) + +### 追加 + +- Stb への書き出しが可能になった + +### その他 + +- Stb を扱う部分を [STBDotNet](https://github.com/hrntsm/STBDotNet/tree/main) として分離したライブラリにし、保守性をあげた + +--- + +## [v0.9.0 - v1.1.3](https://github.com/hrntsm/HoaryFox/releases) + +上記バージョンは GitHub のリリースページを確認してください。 From 922ef175fb098084c6f19f0e625f03c11f13d78b Mon Sep 17 00:00:00 2001 From: hiron Date: Tue, 7 Sep 2021 21:28:21 +0900 Subject: [PATCH 140/162] Update sidebar changelog positon --- website/sidebars.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/sidebars.js b/website/sidebars.js index 86622347..8c2661ab 100644 --- a/website/sidebars.js +++ b/website/sidebars.js @@ -1,7 +1,6 @@ module.exports = { Sidebar: [ 'License', - 'Changelog', { type: 'category', label: 'Getting Start', @@ -25,5 +24,6 @@ module.exports = { 'Component/StbBuilder', ] }, + 'Changelog', ], }; From 170bcf4c804403099673fe6fe5403544f5cbcdaf Mon Sep 17 00:00:00 2001 From: hiron Date: Tue, 7 Sep 2021 21:37:49 +0900 Subject: [PATCH 141/162] Add en changelog page --- website/docs/Changelog.md | 8 +-- .../current/Changelog.md | 65 +++++++++++++++++++ 2 files changed, 69 insertions(+), 4 deletions(-) create mode 100644 website/i18n/en/docusaurus-plugin-content-docs/current/Changelog.md diff --git a/website/docs/Changelog.md b/website/docs/Changelog.md index 8b76cf72..49b97b27 100644 --- a/website/docs/Changelog.md +++ b/website/docs/Changelog.md @@ -26,11 +26,11 @@ title: Changelog ### 修正 -- Stb から Karamba3D への変換で、材料の単位が間違っていたものを修正 +- ST-Bridge から Karamba3D への変換で、材料の単位が間違っていたものを修正 ### 変更 -- Stb から Karamba3D への変換で、RC の断面名を「Id + 数字」から、「BD- や CD- + 断面サイズ」の表現とした +- ST-Bridge から Karamba3D への変換で、RC の断面名を「Id + 数字」から、「BD- や CD- + 断面サイズ」の表現とした - 例えば BD-300x600 のような形式 - FrameBuilder コンポーネントを FrameBuilder by angle コンポーネントと NodeBuilder コンポーネントに分けた - もともとは 45 度で柱と梁を区別していたが、この変更により入力した角度で区別するようにした @@ -50,11 +50,11 @@ title: Changelog ### 追加 -- Stb への書き出しが可能になった +- ST-Bridge への書き出しが可能になった ### その他 -- Stb を扱う部分を [STBDotNet](https://github.com/hrntsm/STBDotNet/tree/main) として分離したライブラリにし、保守性をあげた +- ST-Bridge を扱う部分を [STBDotNet](https://github.com/hrntsm/STBDotNet/tree/main) として分離したライブラリにし、保守性をあげた --- diff --git a/website/i18n/en/docusaurus-plugin-content-docs/current/Changelog.md b/website/i18n/en/docusaurus-plugin-content-docs/current/Changelog.md new file mode 100644 index 00000000..c1b3bb5c --- /dev/null +++ b/website/i18n/en/docusaurus-plugin-content-docs/current/Changelog.md @@ -0,0 +1,65 @@ +--- +id: Changelog +title: Changelog +--- + +--- + +## [v1.3.1 - 2021-03-28](https://github.com/hrntsm/HoaryFox/releases/tag/v1.3.1) + +### ADD + +- Bake function for Brep and Line + +### UPDATE + +- Brep to be exported by Stb2Brep, merged into a single Brep + +--- + +## [v1.2.2 - 2021-02-17](https://github.com/hrntsm/HoaryFox/releases/tag/v1.2.2) + +### ADD + +- Create a documentation site +- SetCroSecFamilyName component to specify the family name of the cross-section + +### FIX + +- Fixed wrong units in material properties + +### UPDATE + +- RC cross-section names have been changed from "Id + number" to BD- or CD- to indicate the cross-section size. + - For example, BD-300x600. +- The FrameBuilder using Karamba3D component has been separated into two parts: frame conversion and nodal conversion. + - Framebuilder by angle and NodeBuilderFrameBuilder + - Allowed input of the angle for determining the column and beam when converting + - Added text output to Rhino viewport to show results of the above decisions + +--- + +## [v1.2.1 - 2020-12-31](https://github.com/hrntsm/HoaryFox/releases/tag/v1.2.1) + +### FIX + +- Change the karamba3D reference path, since the builder component wouldn't load to GH. + +--- + +## [v1.2.0 - 2020-12-30](https://github.com/hrntsm/HoaryFox/releases/tag/v1.2.0) + +### ADD + +- ST-Bridge export feature. + +### その他 + +- The part that handles STB was made independent as STBDotNet. + - The reading part is still the same as the previous STBReader and will be updated in the next fix. + +--- + +## [v0.9.0 - v1.1.3](https://github.com/hrntsm/HoaryFox/releases) + +Please check the GitHub release page for the above versions. From 54f2829b853599daed5b19fc407fe2c43be8752c Mon Sep 17 00:00:00 2001 From: hiron Date: Tue, 7 Sep 2021 21:49:01 +0900 Subject: [PATCH 142/162] fix site build error --- .github/workflows/test-build-document.yml | 23 +++++++++++++++++++++++ website/docusaurus.config.js | 2 +- website/src/pages/index.js | 2 +- 3 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/test-build-document.yml diff --git a/.github/workflows/test-build-document.yml b/.github/workflows/test-build-document.yml new file mode 100644 index 00000000..e95de44b --- /dev/null +++ b/.github/workflows/test-build-document.yml @@ -0,0 +1,23 @@ +name: test build document site + +on: + push: + branches: [develop] + paths: + - "website/**" + +jobs: + deploy: + runs-on: ubuntu-18.04 + defaults: + run: + working-directory: website + + steps: + - uses: actions/checkout@v2 + - name: git config + run: | + git config --global user.email "contact@hrntsm.com" + git config --global user.name "hrntsm" + - run: yarn install + - run: yarn build \ No newline at end of file diff --git a/website/docusaurus.config.js b/website/docusaurus.config.js index 05e6a144..361f85ff 100644 --- a/website/docusaurus.config.js +++ b/website/docusaurus.config.js @@ -80,7 +80,7 @@ module.exports = { items: [ { label: 'License', - to: 'docs/License/MIT_License', + to: 'docs/License', }, { label: 'Component', diff --git a/website/src/pages/index.js b/website/src/pages/index.js index 853fa291..a27e46c0 100644 --- a/website/src/pages/index.js +++ b/website/src/pages/index.js @@ -69,7 +69,7 @@ function Home() { 'button button--outline button--secondary button--lg', styles.getStarted, )} - to={useBaseUrl('docs/License/MIT_License')}> + to={useBaseUrl('docs/License')}> Get Started From 8d36efc3b05ec27a37939d06094d79bb37f8b820 Mon Sep 17 00:00:00 2001 From: hiron Date: Tue, 7 Sep 2021 21:49:51 +0900 Subject: [PATCH 143/162] Fix ci setting --- .github/workflows/test-build-document.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/test-build-document.yml b/.github/workflows/test-build-document.yml index e95de44b..52126a86 100644 --- a/.github/workflows/test-build-document.yml +++ b/.github/workflows/test-build-document.yml @@ -15,9 +15,5 @@ jobs: steps: - uses: actions/checkout@v2 - - name: git config - run: | - git config --global user.email "contact@hrntsm.com" - git config --global user.name "hrntsm" - run: yarn install - run: yarn build \ No newline at end of file From 41790efa67fec23bbff9c11f420363acdf134265 Mon Sep 17 00:00:00 2001 From: hiron Date: Tue, 7 Sep 2021 21:56:10 +0900 Subject: [PATCH 144/162] Add ci ignore settings --- .github/workflows/check-format.yml | 5 ++++- .github/workflows/dotnet-grasshopper.yml | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/check-format.yml b/.github/workflows/check-format.yml index 44bc247b..5176b64d 100644 --- a/.github/workflows/check-format.yml +++ b/.github/workflows/check-format.yml @@ -1,5 +1,8 @@ name: Check Code Format -on: pull_request +on: + pull_request: + paths-ignore: + - "website/**" jobs: check: diff --git a/.github/workflows/dotnet-grasshopper.yml b/.github/workflows/dotnet-grasshopper.yml index d45fa709..43b0ca07 100644 --- a/.github/workflows/dotnet-grasshopper.yml +++ b/.github/workflows/dotnet-grasshopper.yml @@ -7,6 +7,8 @@ on: - "website/**" pull_request: branches: [main, develop] + paths-ignore: + - "website/**" jobs: build: From d753da5792f043975f6078c673af82ad27c1d7ad Mon Sep 17 00:00:00 2001 From: hiron Date: Thu, 9 Sep 2021 22:15:14 +0900 Subject: [PATCH 145/162] Update ci setting --- .github/workflows/dotnet-grasshopper.yml | 31 ++++++++++++++++++------ 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/.github/workflows/dotnet-grasshopper.yml b/.github/workflows/dotnet-grasshopper.yml index 43b0ca07..4b42abca 100644 --- a/.github/workflows/dotnet-grasshopper.yml +++ b/.github/workflows/dotnet-grasshopper.yml @@ -9,14 +9,14 @@ on: branches: [main, develop] paths-ignore: - "website/**" - + jobs: build: strategy: matrix: configuration: [Debug, Release] - runs-on: windows-latest # For a list of available runner types, refer to + runs-on: windows-latest # For a list of available runner types, refer to env: Solution_Name: HoaryFox.sln @@ -45,21 +45,36 @@ jobs: run: msbuild $env:Solution_Name /p:Configuration=$env:Configuration env: Configuration: ${{ matrix.configuration }} - + - name: Copy karambaConnect and samples to /HoaryFox/bin dir if: ${{ matrix.configuration == 'Release' }} # Only upload gha from a release build shell: powershell run: | cp ./KarambaConnect/bin/Release/net48/KarambaConnect.gha ./HoaryFox/bin/Release/net48/KarambaConnect.gha cp ./Samples ./HoaryFox/bin/Release/net48/Samples -recurse - + + - name: README.md to pdf + if: ${{ matrix.configuration == 'Release' }} # Only upload gha from a release build + uses: 3rdJCG/mdtopdf-action + with: + root_file: README.md + + - name: README(JP).md to pdf + if: ${{ matrix.configuration == 'Release' }} # Only upload gha from a release build + uses: 3rdJCG/mdtopdf-action + with: + root_file: README(JP).md + - name: Upload release build of plugin as artefact if: ${{ matrix.configuration == 'Release' }} # Only upload gha from a release build uses: actions/upload-artifact@v2 with: name: HoaryFox path: | - ./HoaryFox/bin/Release/net48/HoaryFox.gha - ./HoaryFox/bin/Release/net48/KarambaConnect.gha - ./HoaryFox/bin/Release/net48/STBDotNet.dll - ./HoaryFox/bin/Release/net48/Samples/ + ./HoaryFox/bin/Release/net48/HoaryFox.gha + ./HoaryFox/bin/Release/net48/KarambaConnect.gha + ./HoaryFox/bin/Release/net48/STBDotNet.dll + ./HoaryFox/bin/Release/net48/Samples/ + ./LICENSE + ./README.pdf + ./README(JP).pdf From 53f07ceb3b77b4033aa598ad118de59a17686741 Mon Sep 17 00:00:00 2001 From: hiron Date: Thu, 9 Sep 2021 22:20:01 +0900 Subject: [PATCH 146/162] Fix mdtopdf ci setting --- .github/workflows/dotnet-grasshopper.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dotnet-grasshopper.yml b/.github/workflows/dotnet-grasshopper.yml index 4b42abca..7f4c005d 100644 --- a/.github/workflows/dotnet-grasshopper.yml +++ b/.github/workflows/dotnet-grasshopper.yml @@ -55,13 +55,13 @@ jobs: - name: README.md to pdf if: ${{ matrix.configuration == 'Release' }} # Only upload gha from a release build - uses: 3rdJCG/mdtopdf-action + uses: 3rdJCG/mdtopdf-action@0.1.0 with: root_file: README.md - name: README(JP).md to pdf if: ${{ matrix.configuration == 'Release' }} # Only upload gha from a release build - uses: 3rdJCG/mdtopdf-action + uses: 3rdJCG/mdtopdf-action@0.1.0 with: root_file: README(JP).md From 9e4c776bbb8ca0945755150ba7681daf5f928422 Mon Sep 17 00:00:00 2001 From: hiron Date: Thu, 9 Sep 2021 22:23:49 +0900 Subject: [PATCH 147/162] Delete mdtopdf setting --- .github/workflows/dotnet-grasshopper.yml | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/.github/workflows/dotnet-grasshopper.yml b/.github/workflows/dotnet-grasshopper.yml index 7f4c005d..11c28f92 100644 --- a/.github/workflows/dotnet-grasshopper.yml +++ b/.github/workflows/dotnet-grasshopper.yml @@ -52,18 +52,7 @@ jobs: run: | cp ./KarambaConnect/bin/Release/net48/KarambaConnect.gha ./HoaryFox/bin/Release/net48/KarambaConnect.gha cp ./Samples ./HoaryFox/bin/Release/net48/Samples -recurse - - - name: README.md to pdf - if: ${{ matrix.configuration == 'Release' }} # Only upload gha from a release build - uses: 3rdJCG/mdtopdf-action@0.1.0 - with: - root_file: README.md - - - name: README(JP).md to pdf - if: ${{ matrix.configuration == 'Release' }} # Only upload gha from a release build - uses: 3rdJCG/mdtopdf-action@0.1.0 - with: - root_file: README(JP).md + cp ./LICENSE ./HoaryFox/bin/Release/net48/LICENSE - name: Upload release build of plugin as artefact if: ${{ matrix.configuration == 'Release' }} # Only upload gha from a release build @@ -75,6 +64,4 @@ jobs: ./HoaryFox/bin/Release/net48/KarambaConnect.gha ./HoaryFox/bin/Release/net48/STBDotNet.dll ./HoaryFox/bin/Release/net48/Samples/ - ./LICENSE - ./README.pdf - ./README(JP).pdf + ./HoaryFox/bin/Release/net48/LICENSE From 8e7b2ec71abf57c3e9001fa587f60de6374a55d9 Mon Sep 17 00:00:00 2001 From: hiron Date: Sat, 11 Sep 2021 19:09:43 +0900 Subject: [PATCH 148/162] Update docusaurus --- website/package-lock.json | 1803 +++++++++++++++++++------------------ website/package.json | 4 +- 2 files changed, 926 insertions(+), 881 deletions(-) diff --git a/website/package-lock.json b/website/package-lock.json index ea4d8c18..38df4450 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -5,139 +5,139 @@ "requires": true, "dependencies": { "@algolia/autocomplete-core": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.2.1.tgz", - "integrity": "sha512-/SLS6636Wpl7eFiX7eEy0E3wBo60sUm1qRYybJBDt1fs8reiJ1+OSy+dZgrLBfLL4mSFqRIIUHXbVp25QdZ+iw==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.2.2.tgz", + "integrity": "sha512-JOQaURze45qVa8OOFDh+ozj2a/ObSRsVyz6Zd0aiBeej+RSTqrr1hDVpGNbbXYLW26G5ujuc9QIdH+rBHn95nw==", "requires": { - "@algolia/autocomplete-shared": "1.2.1" + "@algolia/autocomplete-shared": "1.2.2" } }, "@algolia/autocomplete-preset-algolia": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.2.1.tgz", - "integrity": "sha512-Lf4PpPVgHNXm1ytrnVdrZYV7hAYSCpAI/TrebF8UC6xflPY6sKb1RL/2OfrO9On7SDjPBtNd+6MArSar5JmK0g==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.2.2.tgz", + "integrity": "sha512-AZkh+bAMaJDzMZTelFOXJTJqkp5VPGH8W3n0B+Ggce7DdozlMRsDLguKTCQAkZ0dJ1EbBPyFL5ztL/JImB137Q==", "requires": { - "@algolia/autocomplete-shared": "1.2.1" + "@algolia/autocomplete-shared": "1.2.2" } }, "@algolia/autocomplete-shared": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.2.1.tgz", - "integrity": "sha512-RHCwcXAYFwDXTlomstjWRFIzOfyxtQ9KmViacPE5P5hxUSSjkmG3dAb77xdydift1PaZNbho5TNTCi5UZe0RpA==" + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.2.2.tgz", + "integrity": "sha512-mLTl7d2C1xVVazHt/bqh9EE/u2lbp5YOxLDdcjILXmUqOs5HH1D4SuySblXaQG1uf28FhTqMGp35qE5wJQnqAw==" }, "@algolia/cache-browser-local-storage": { - "version": "4.10.3", - "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.10.3.tgz", - "integrity": "sha512-TD1N7zg5lb56/PLjjD4bBl2eccEvVHhC7yfgFu2r9k5tf+gvbGxEZ3NhRZVKu2MObUIcEy2VR4LVLxOQu45Hlg==", + "version": "4.10.5", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.10.5.tgz", + "integrity": "sha512-cfX2rEKOtuuljcGI5DMDHClwZHdDqd2nT2Ohsc8aHtBiz6bUxKVyIqxr2gaC6tU8AgPtrTVBzcxCA+UavXpKww==", "requires": { - "@algolia/cache-common": "4.10.3" + "@algolia/cache-common": "4.10.5" } }, "@algolia/cache-common": { - "version": "4.10.3", - "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.10.3.tgz", - "integrity": "sha512-q13cPPUmtf8a2suBC4kySSr97EyulSXuxUkn7l1tZUCX/k1y5KNheMp8npBy8Kc8gPPmHpacxddRSfOncjiKFw==" + "version": "4.10.5", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.10.5.tgz", + "integrity": "sha512-1mClwdmTHll+OnHkG+yeRoFM17kSxDs4qXkjf6rNZhoZGXDvfYLy3YcZ1FX4Kyz0DJv8aroq5RYGBDsWkHj6Tw==" }, "@algolia/cache-in-memory": { - "version": "4.10.3", - "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.10.3.tgz", - "integrity": "sha512-JhPajhOXAjUP+TZrZTh6KJpF5VKTKyWK2aR1cD8NtrcVHwfGS7fTyfXfVm5BqBqkD9U0gVvufUt/mVyI80aZww==", + "version": "4.10.5", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.10.5.tgz", + "integrity": "sha512-+ciQnfIGi5wjMk02XhEY8fmy2pzy+oY1nIIfu8LBOglaSipCRAtjk6WhHc7/KIbXPiYzIwuDbM2K1+YOwSGjwA==", "requires": { - "@algolia/cache-common": "4.10.3" + "@algolia/cache-common": "4.10.5" } }, "@algolia/client-account": { - "version": "4.10.3", - "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.10.3.tgz", - "integrity": "sha512-S/IsJB4s+e1xYctdpW3nAbwrR2y3pjSo9X21fJGoiGeIpTRdvQG7nydgsLkhnhcgAdLnmqBapYyAqMGmlcyOkg==", + "version": "4.10.5", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.10.5.tgz", + "integrity": "sha512-I9UkSS2glXm7RBZYZIALjBMmXSQbw/fI/djPcBHxiwXIheNIlqIFl2SNPkvihpPF979BSkzjqdJNRPhE1vku3Q==", "requires": { - "@algolia/client-common": "4.10.3", - "@algolia/client-search": "4.10.3", - "@algolia/transporter": "4.10.3" + "@algolia/client-common": "4.10.5", + "@algolia/client-search": "4.10.5", + "@algolia/transporter": "4.10.5" } }, "@algolia/client-analytics": { - "version": "4.10.3", - "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.10.3.tgz", - "integrity": "sha512-vlHTbBqJktRgclh3v7bPQLfZvFIqY4erNFIZA5C7nisCj9oLeTgzefoUrr+R90+I+XjfoLxnmoeigS1Z1yg1vw==", + "version": "4.10.5", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.10.5.tgz", + "integrity": "sha512-h2owwJSkovPxzc+xIsjY1pMl0gj+jdVwP9rcnGjlaTY2fqHbSLrR9yvGyyr6305LvTppxsQnfAbRdE/5Z3eFxw==", "requires": { - "@algolia/client-common": "4.10.3", - "@algolia/client-search": "4.10.3", - "@algolia/requester-common": "4.10.3", - "@algolia/transporter": "4.10.3" + "@algolia/client-common": "4.10.5", + "@algolia/client-search": "4.10.5", + "@algolia/requester-common": "4.10.5", + "@algolia/transporter": "4.10.5" } }, "@algolia/client-common": { - "version": "4.10.3", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.10.3.tgz", - "integrity": "sha512-uFyP2Z14jG2hsFRbAoavna6oJf4NTXaSDAZgouZUZlHlBp5elM38sjNeA5HR9/D9J/GjwaB1SgB7iUiIWYBB4w==", + "version": "4.10.5", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.10.5.tgz", + "integrity": "sha512-21FAvIai5qm8DVmZHm2Gp4LssQ/a0nWwMchAx+1hIRj1TX7OcdW6oZDPyZ8asQdvTtK7rStQrRnD8a95SCUnzA==", "requires": { - "@algolia/requester-common": "4.10.3", - "@algolia/transporter": "4.10.3" + "@algolia/requester-common": "4.10.5", + "@algolia/transporter": "4.10.5" } }, "@algolia/client-personalization": { - "version": "4.10.3", - "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.10.3.tgz", - "integrity": "sha512-NS7Nx8EJ/nduGXT8CFo5z7kLF0jnFehTP3eC+z+GOEESH3rrs7uR12IZHxv5QhQswZa9vl925zCOZDcDVoENCg==", + "version": "4.10.5", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.10.5.tgz", + "integrity": "sha512-nH+IyFKBi8tCyzGOanJTbXC5t4dspSovX3+ABfmwKWUYllYzmiQNFUadpb3qo+MLA3jFx5IwBesjneN6dD5o3w==", "requires": { - "@algolia/client-common": "4.10.3", - "@algolia/requester-common": "4.10.3", - "@algolia/transporter": "4.10.3" + "@algolia/client-common": "4.10.5", + "@algolia/requester-common": "4.10.5", + "@algolia/transporter": "4.10.5" } }, "@algolia/client-search": { - "version": "4.10.3", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.10.3.tgz", - "integrity": "sha512-Zwnp2G94IrNFKWCG/k7epI5UswRkPvL9FCt7/slXe2bkjP2y/HA37gzRn+9tXoLVRwd7gBzrtOA4jFKIyjrtVw==", + "version": "4.10.5", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.10.5.tgz", + "integrity": "sha512-1eQFMz9uodrc5OM+9HeT+hHcfR1E1AsgFWXwyJ9Q3xejA2c1c4eObGgOgC9ZoshuHHdptaTN1m3rexqAxXRDBg==", "requires": { - "@algolia/client-common": "4.10.3", - "@algolia/requester-common": "4.10.3", - "@algolia/transporter": "4.10.3" + "@algolia/client-common": "4.10.5", + "@algolia/requester-common": "4.10.5", + "@algolia/transporter": "4.10.5" } }, "@algolia/logger-common": { - "version": "4.10.3", - "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.10.3.tgz", - "integrity": "sha512-M6xi+qov2bkgg1H9e1Qtvq/E/eKsGcgz8RBbXNzqPIYoDGZNkv+b3b8YMo3dxd4Wd6M24HU1iqF3kmr1LaXndg==" + "version": "4.10.5", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.10.5.tgz", + "integrity": "sha512-gRJo9zt1UYP4k3woEmZm4iuEBIQd/FrArIsjzsL/b+ihNoOqIxZKTSuGFU4UUZOEhvmxDReiA4gzvQXG+TMTmA==" }, "@algolia/logger-console": { - "version": "4.10.3", - "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.10.3.tgz", - "integrity": "sha512-vVgRI7b4PHjgBdRkv/cRz490twvkLoGdpC4VYzIouSrKj8SIVLRhey3qgXk7oQXi3xoxVAv6NrklHfpO8Bpx0w==", + "version": "4.10.5", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.10.5.tgz", + "integrity": "sha512-4WfIbn4253EDU12u9UiYvz+QTvAXDv39mKNg9xSoMCjKE5szcQxfcSczw2byc6pYhahOJ9PmxPBfs1doqsdTKQ==", "requires": { - "@algolia/logger-common": "4.10.3" + "@algolia/logger-common": "4.10.5" } }, "@algolia/requester-browser-xhr": { - "version": "4.10.3", - "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.10.3.tgz", - "integrity": "sha512-4WIk1zreFbc1EF6+gsfBTQvwSNjWc20zJAAExRWql/Jq5yfVHmwOqi/CajA53/cXKFBqo80DAMRvOiwP+hOLYw==", + "version": "4.10.5", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.10.5.tgz", + "integrity": "sha512-53/MURQEqtK+bGdfq4ITSPwTh5hnADU99qzvpAINGQveUFNSFGERipJxHjTJjIrjFz3vxj5kKwjtxDnU6ygO9g==", "requires": { - "@algolia/requester-common": "4.10.3" + "@algolia/requester-common": "4.10.5" } }, "@algolia/requester-common": { - "version": "4.10.3", - "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.10.3.tgz", - "integrity": "sha512-PNfLHmg0Hujugs3rx55uz/ifv7b9HVdSFQDb2hj0O5xZaBEuQCNOXC6COrXR8+9VEfqp2swpg7zwgtqFxh+BtQ==" + "version": "4.10.5", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.10.5.tgz", + "integrity": "sha512-UkVa1Oyuj6NPiAEt5ZvrbVopEv1m/mKqjs40KLB+dvfZnNcj+9Fry4Oxnt15HMy/HLORXsx4UwcthAvBuOXE9Q==" }, "@algolia/requester-node-http": { - "version": "4.10.3", - "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.10.3.tgz", - "integrity": "sha512-A9ZcGfEvgqf0luJApdNcIhsRh6MShn2zn2tbjwjGG1joF81w+HUY+BWuLZn56vGwAA9ZB9n00IoJJpxibbfofg==", + "version": "4.10.5", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.10.5.tgz", + "integrity": "sha512-aNEKVKXL4fiiC+bS7yJwAHdxln81ieBwY3tsMCtM4zF9f5KwCzY2OtN4WKEZa5AAADVcghSAUdyjs4AcGUlO5w==", "requires": { - "@algolia/requester-common": "4.10.3" + "@algolia/requester-common": "4.10.5" } }, "@algolia/transporter": { - "version": "4.10.3", - "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.10.3.tgz", - "integrity": "sha512-n1lRyKDbrckbMEgm7QXtj3nEWUuzA3aKLzVQ43/F/RCFib15j4IwtmYhXR6OIBRSc7+T0Hm48S0J6F+HeYCQkw==", + "version": "4.10.5", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.10.5.tgz", + "integrity": "sha512-F8DLkmIlvCoMwSCZA3FKHtmdjH3o5clbt0pi2ktFStVNpC6ZDmY307HcK619bKP5xW6h8sVJhcvrLB775D2cyA==", "requires": { - "@algolia/cache-common": "4.10.3", - "@algolia/logger-common": "4.10.3", - "@algolia/requester-common": "4.10.3" + "@algolia/cache-common": "4.10.5", + "@algolia/logger-common": "4.10.5", + "@algolia/requester-common": "4.10.5" } }, "@babel/code-frame": { @@ -149,24 +149,24 @@ } }, "@babel/compat-data": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.7.tgz", - "integrity": "sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw==" + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", + "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==" }, "@babel/core": { - "version": "7.14.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.6.tgz", - "integrity": "sha512-gJnOEWSqTk96qG5BoIrl5bVtc23DCycmIePPYnamY9RboYdI4nFy5vAQMSl81O5K/W0sLDWfGysnOECC+KUUCA==", + "version": "7.15.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.5.tgz", + "integrity": "sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg==", "requires": { "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.14.5", - "@babel/helper-compilation-targets": "^7.14.5", - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helpers": "^7.14.6", - "@babel/parser": "^7.14.6", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5", + "@babel/generator": "^7.15.4", + "@babel/helper-compilation-targets": "^7.15.4", + "@babel/helper-module-transforms": "^7.15.4", + "@babel/helpers": "^7.15.4", + "@babel/parser": "^7.15.5", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -183,38 +183,38 @@ } }, "@babel/generator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.5.tgz", - "integrity": "sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz", + "integrity": "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==", "requires": { - "@babel/types": "^7.14.5", + "@babel/types": "^7.15.4", "jsesc": "^2.5.1", "source-map": "^0.5.0" } }, "@babel/helper-annotate-as-pure": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz", - "integrity": "sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz", + "integrity": "sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA==", "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.15.4" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.14.5.tgz", - "integrity": "sha512-YTA/Twn0vBXDVGJuAX6PwW7x5zQei1luDDo2Pl6q1qZ7hVNl0RZrhHCQG/ArGpR29Vl7ETiB8eJyrvpuRp300w==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.15.4.tgz", + "integrity": "sha512-P8o7JP2Mzi0SdC6eWr1zF+AEYvrsZa7GSY1lTayjF5XJhVH0kjLYUZPvTMflP7tBgZoe9gIhTa60QwFpqh/E0Q==", "requires": { - "@babel/helper-explode-assignable-expression": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-explode-assignable-expression": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/helper-compilation-targets": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz", - "integrity": "sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz", + "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==", "requires": { - "@babel/compat-data": "^7.14.5", + "@babel/compat-data": "^7.15.0", "@babel/helper-validator-option": "^7.14.5", "browserslist": "^4.16.6", "semver": "^6.3.0" @@ -228,16 +228,16 @@ } }, "@babel/helper-create-class-features-plugin": { - "version": "7.14.6", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.6.tgz", - "integrity": "sha512-Z6gsfGofTxH/+LQXqYEK45kxmcensbzmk/oi8DmaQytlQCgqNZt9XQF8iqlI/SeXWVjaMNxvYvzaYw+kh42mDg==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.4.tgz", + "integrity": "sha512-7ZmzFi+DwJx6A7mHRwbuucEYpyBwmh2Ca0RvI6z2+WLZYCqV0JOaLb+u0zbtmDicebgKBZgqbYfLaKNqSgv5Pw==", "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-member-expression-to-functions": "^7.14.5", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5" + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4" } }, "@babel/helper-create-regexp-features-plugin": { @@ -272,76 +272,76 @@ } }, "@babel/helper-explode-assignable-expression": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.14.5.tgz", - "integrity": "sha512-Htb24gnGJdIGT4vnRKMdoXiOIlqOLmdiUYpAQ0mYfgVT/GDm8GOYhgi4GL+hMKrkiPRohO4ts34ELFsGAPQLDQ==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.15.4.tgz", + "integrity": "sha512-J14f/vq8+hdC2KoWLIQSsGrC9EFBKE4NFts8pfMpymfApds+fPqR30AOUWc4tyr56h9l/GA1Sxv2q3dLZWbQ/g==", "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.15.4" } }, "@babel/helper-function-name": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", - "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", + "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", "requires": { - "@babel/helper-get-function-arity": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-get-function-arity": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/helper-get-function-arity": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", - "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", + "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.15.4" } }, "@babel/helper-hoist-variables": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", - "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", + "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.15.4" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz", - "integrity": "sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", + "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.15.4" } }, "@babel/helper-module-imports": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", - "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", + "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.15.4" } }, "@babel/helper-module-transforms": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.5.tgz", - "integrity": "sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.4.tgz", + "integrity": "sha512-9fHHSGE9zTC++KuXLZcB5FKgvlV83Ox+NLUmQTawovwlJ85+QMhk1CnVk406CQVj97LaWod6KVjl2Sfgw9Aktw==", "requires": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5", - "@babel/helper-simple-access": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-module-imports": "^7.15.4", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-simple-access": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/helper-validator-identifier": "^7.14.9", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/helper-optimise-call-expression": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", - "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", + "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.15.4" } }, "@babel/helper-plugin-utils": { @@ -350,54 +350,54 @@ "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==" }, "@babel/helper-remap-async-to-generator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.14.5.tgz", - "integrity": "sha512-rLQKdQU+HYlxBwQIj8dk4/0ENOUEhA/Z0l4hN8BexpvmSMN9oA9EagjnhnDpNsRdWCfjwa4mn/HyBXO9yhQP6A==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.15.4.tgz", + "integrity": "sha512-v53MxgvMK/HCwckJ1bZrq6dNKlmwlyRNYM6ypaRTdXWGOE2c1/SCa6dL/HimhPulGhZKw9W0QhREM583F/t0vQ==", "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-wrap-function": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-wrap-function": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/helper-replace-supers": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz", - "integrity": "sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", + "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", "requires": { - "@babel/helper-member-expression-to-functions": "^7.14.5", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/helper-simple-access": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz", - "integrity": "sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz", + "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.15.4" } }, "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.14.5.tgz", - "integrity": "sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.15.4.tgz", + "integrity": "sha512-BMRLsdh+D1/aap19TycS4eD1qELGrCBJwzaY9IE8LrpJtJb+H7rQkPIdsfgnMtLBA6DJls7X9z93Z4U8h7xw0A==", "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.15.4" } }, "@babel/helper-split-export-declaration": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", - "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", + "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.15.4" } }, "@babel/helper-validator-identifier": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz", - "integrity": "sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==" + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", + "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==" }, "@babel/helper-validator-option": { "version": "7.14.5", @@ -405,24 +405,24 @@ "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==" }, "@babel/helper-wrap-function": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.14.5.tgz", - "integrity": "sha512-YEdjTCq+LNuNS1WfxsDCNpgXkJaIyqco6DAelTUjT4f2KIWC1nBcaCaSdHTBqQVLnTBexBcVcFhLSU1KnYuePQ==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.15.4.tgz", + "integrity": "sha512-Y2o+H/hRV5W8QhIfTpRIBwl57y8PrZt6JM3V8FOo5qarjshHItyH5lXlpMfBfmBefOqSCpKZs/6Dxqp0E/U+uw==", "requires": { - "@babel/helper-function-name": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-function-name": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/helpers": { - "version": "7.14.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.6.tgz", - "integrity": "sha512-yesp1ENQBiLI+iYHSJdoZKUtRpfTlL1grDIX9NRlAVppljLw/4tTyYupIB7uIYmC3stW/imAv8EqaKaS/ibmeA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", + "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", "requires": { - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/highlight": { @@ -448,27 +448,27 @@ } }, "@babel/parser": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.7.tgz", - "integrity": "sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA==" + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.6.tgz", + "integrity": "sha512-S/TSCcsRuCkmpUuoWijua0Snt+f3ewU/8spLo+4AXJCZfT0bVCzLD5MuOKdrx0mlAptbKzn5AdgEIIKXxXkz9Q==" }, "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5.tgz", - "integrity": "sha512-ZoJS2XCKPBfTmL122iP6NM9dOg+d4lc9fFk3zxc8iDjvt8Pk4+TlsHSKhIPf6X+L5ORCdBzqMZDjL/WHj7WknQ==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.15.4.tgz", + "integrity": "sha512-eBnpsl9tlhPhpI10kU06JHnrYXwg3+V6CaP2idsCXNef0aeslpqyITXQ74Vfk5uHgY7IG7XP0yIH8b42KSzHog==", "requires": { "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.15.4", "@babel/plugin-proposal-optional-chaining": "^7.14.5" } }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.7.tgz", - "integrity": "sha512-RK8Wj7lXLY3bqei69/cc25gwS5puEc3dknoFPFbqfy3XxYQBQFvu4ioWpafMBAB+L9NyptQK4nMOa5Xz16og8Q==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.15.4.tgz", + "integrity": "sha512-2zt2g5vTXpMC3OmK6uyjvdXptbhBXfA77XGrd3gh93zwG8lZYBLOBImiGBEG0RANu3JqKEACCz5CGk73OJROBw==", "requires": { "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-remap-async-to-generator": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.15.4", "@babel/plugin-syntax-async-generators": "^7.8.4" } }, @@ -482,11 +482,11 @@ } }, "@babel/plugin-proposal-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.5.tgz", - "integrity": "sha512-KBAH5ksEnYHCegqseI5N9skTdxgJdmDoAOc0uXa+4QMYKeZD0w5IARh4FMlTNtaHhbB8v+KzMdTgxMMzsIy6Yg==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.15.4.tgz", + "integrity": "sha512-M682XWrrLNk3chXCjoPUQWOyYsB93B9z3mRyjtqqYJWDf2mfCdIYgDrA11cgNVhAQieaq6F2fn2f3wI0U4aTjA==", "requires": { - "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-create-class-features-plugin": "^7.15.4", "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-class-static-block": "^7.14.5" } @@ -546,15 +546,15 @@ } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.7.tgz", - "integrity": "sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g==", + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.15.6.tgz", + "integrity": "sha512-qtOHo7A1Vt+O23qEAX+GdBpqaIuD3i9VRrWgCJeq7WO6H2d14EK3q11urj5Te2MAeK97nMiIdRpwd/ST4JFbNg==", "requires": { - "@babel/compat-data": "^7.14.7", - "@babel/helper-compilation-targets": "^7.14.5", + "@babel/compat-data": "^7.15.0", + "@babel/helper-compilation-targets": "^7.15.4", "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.14.5" + "@babel/plugin-transform-parameters": "^7.15.4" } }, "@babel/plugin-proposal-optional-catch-binding": { @@ -586,12 +586,12 @@ } }, "@babel/plugin-proposal-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-62EyfyA3WA0mZiF2e2IV9mc9Ghwxcg8YTu8BS4Wss4Y3PY725OmS9M0qLORbJwLqFtGh+jiE4wAmocK2CTUK2Q==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.15.4.tgz", + "integrity": "sha512-X0UTixkLf0PCCffxgu5/1RQyGGbgZuKoI+vXP4iSbJSYwPb7hu06omsFGBvQ9lJEvwgrxHdS8B5nbfcd8GyUNA==", "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-create-class-features-plugin": "^7.15.4", "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" } @@ -760,24 +760,24 @@ } }, "@babel/plugin-transform-block-scoping": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.5.tgz", - "integrity": "sha512-LBYm4ZocNgoCqyxMLoOnwpsmQ18HWTQvql64t3GvMUzLQrNoV1BDG0lNftC8QKYERkZgCCT/7J5xWGObGAyHDw==", + "version": "7.15.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.15.3.tgz", + "integrity": "sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q==", "requires": { "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-classes": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.5.tgz", - "integrity": "sha512-J4VxKAMykM06K/64z9rwiL6xnBHgB1+FVspqvlgCdwD1KUbQNfszeKVVOMh59w3sztHYIZDgnhOC4WbdEfHFDA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.15.4.tgz", + "integrity": "sha512-Yjvhex8GzBmmPQUvpXRPWQ9WnxXgAFuZSrqOK/eJlOGIXwvv8H3UEdUigl1gb/bnjTrln+e8bkZUYCBt/xYlBg==", "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", "globals": "^11.1.0" } }, @@ -824,9 +824,9 @@ } }, "@babel/plugin-transform-for-of": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.14.5.tgz", - "integrity": "sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.15.4.tgz", + "integrity": "sha512-DRTY9fA751AFBDh2oxydvVm4SYevs5ILTWLs6xKXps4Re/KG5nfUkr+TdHCrRWB8C69TlzVgA9b3RmGWmgN9LA==", "requires": { "@babel/helper-plugin-utils": "^7.14.5" } @@ -877,13 +877,13 @@ } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.5.tgz", - "integrity": "sha512-en8GfBtgnydoao2PS+87mKyw62k02k7kJ9ltbKe0fXTHrQmG6QZZflYuGI1VVG7sVpx4E1n7KBpNlPb8m78J+A==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.4.tgz", + "integrity": "sha512-qg4DPhwG8hKp4BbVDvX1s8cohM8a6Bvptu4l6Iingq5rW+yRUAhe/YRup/YcW2zCOlrysEWVhftIcKzrEZv3sA==", "requires": { - "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-module-transforms": "^7.15.4", "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-simple-access": "^7.14.5", + "@babel/helper-simple-access": "^7.15.4", "babel-plugin-dynamic-import-node": "^2.3.3" }, "dependencies": { @@ -898,14 +898,14 @@ } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.14.5.tgz", - "integrity": "sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.15.4.tgz", + "integrity": "sha512-fJUnlQrl/mezMneR72CKCgtOoahqGJNVKpompKwzv3BrEXdlPspTcyxrZ1XmDTIr9PpULrgEQo3qNKp6dW7ssw==", "requires": { - "@babel/helper-hoist-variables": "^7.14.5", - "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-hoist-variables": "^7.15.4", + "@babel/helper-module-transforms": "^7.15.4", "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.9", "babel-plugin-dynamic-import-node": "^2.3.3" }, "dependencies": { @@ -929,9 +929,9 @@ } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.7.tgz", - "integrity": "sha512-DTNOTaS7TkW97xsDMrp7nycUVh6sn/eq22VaxWfEdzuEbRsiaOU0pqU7DlyUGHVsbQbSghvjKRpEl+nUCKGQSg==", + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.9.tgz", + "integrity": "sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA==", "requires": { "@babel/helper-create-regexp-features-plugin": "^7.14.5" } @@ -954,9 +954,9 @@ } }, "@babel/plugin-transform-parameters": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.5.tgz", - "integrity": "sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.15.4.tgz", + "integrity": "sha512-9WB/GUTO6lvJU3XQsSr6J/WKvBC2hcs4Pew8YxZagi6GkTdniyqp8On5kqdK8MN0LMeu0mGbhPN+O049NV/9FQ==", "requires": { "@babel/helper-plugin-utils": "^7.14.5" } @@ -978,23 +978,23 @@ } }, "@babel/plugin-transform-react-display-name": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.14.5.tgz", - "integrity": "sha512-07aqY1ChoPgIxsuDviptRpVkWCSbXWmzQqcgy65C6YSFOfPFvb/DX3bBRHh7pCd/PMEEYHYWUTSVkCbkVainYQ==", + "version": "7.15.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.15.1.tgz", + "integrity": "sha512-yQZ/i/pUCJAHI/LbtZr413S3VT26qNrEm0M5RRxQJA947/YNYwbZbBaXGDrq6CG5QsZycI1VIP6d7pQaBfP+8Q==", "requires": { "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-react-jsx": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.5.tgz", - "integrity": "sha512-7RylxNeDnxc1OleDm0F5Q/BSL+whYRbOAR+bwgCxIr0L32v7UFh/pz1DLMZideAUxKT6eMoS2zQH6fyODLEi8Q==", + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.9.tgz", + "integrity": "sha512-30PeETvS+AeD1f58i1OVyoDlVYQhap/K20ZrMjLmmzmC2AYR/G43D4sdJAaDAqCD3MYpSWbmrz3kES158QSLjw==", "requires": { "@babel/helper-annotate-as-pure": "^7.14.5", "@babel/helper-module-imports": "^7.14.5", "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-jsx": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/types": "^7.14.9" } }, "@babel/plugin-transform-react-jsx-development": { @@ -1031,9 +1031,9 @@ } }, "@babel/plugin-transform-runtime": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.14.5.tgz", - "integrity": "sha512-fPMBhh1AV8ZyneiCIA+wYYUH1arzlXR1UMcApjvchDhfKxhy2r2lReJv8uHEyihi4IFIGlr1Pdx7S5fkESDQsg==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.15.0.tgz", + "integrity": "sha512-sfHYkLGjhzWTq6xsuQ01oEsUYjkHRux9fW1iUA68dC7Qd8BS1Unq4aZ8itmQp95zUzIcyR2EbNMTzAicFj+guw==", "requires": { "@babel/helper-module-imports": "^7.14.5", "@babel/helper-plugin-utils": "^7.14.5", @@ -1092,11 +1092,11 @@ } }, "@babel/plugin-transform-typescript": { - "version": "7.14.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.14.6.tgz", - "integrity": "sha512-XlTdBq7Awr4FYIzqhmYY80WN0V0azF74DMPyFqVHBvf81ZUgc4X7ZOpx6O8eLDK6iM5cCQzeyJw0ynTaefixRA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.15.4.tgz", + "integrity": "sha512-sM1/FEjwYjXvMwu1PJStH11kJ154zd/lpY56NQJ5qH2D0mabMv1CAy/kdvS9RP4Xgfj9fBBA3JiSLdDHgXdzOA==", "requires": { - "@babel/helper-create-class-features-plugin": "^7.14.6", + "@babel/helper-create-class-features-plugin": "^7.15.4", "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-typescript": "^7.14.5" } @@ -1119,29 +1119,29 @@ } }, "@babel/preset-env": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.7.tgz", - "integrity": "sha512-itOGqCKLsSUl0Y+1nSfhbuuOlTs0MJk2Iv7iSH+XT/mR8U1zRLO7NjWlYXB47yhK4J/7j+HYty/EhFZDYKa/VA==", + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.15.6.tgz", + "integrity": "sha512-L+6jcGn7EWu7zqaO2uoTDjjMBW+88FXzV8KvrBl2z6MtRNxlsmUNRlZPaNNPUTgqhyC5DHNFk/2Jmra+ublZWw==", "requires": { - "@babel/compat-data": "^7.14.7", - "@babel/helper-compilation-targets": "^7.14.5", + "@babel/compat-data": "^7.15.0", + "@babel/helper-compilation-targets": "^7.15.4", "@babel/helper-plugin-utils": "^7.14.5", "@babel/helper-validator-option": "^7.14.5", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.14.5", - "@babel/plugin-proposal-async-generator-functions": "^7.14.7", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.15.4", + "@babel/plugin-proposal-async-generator-functions": "^7.15.4", "@babel/plugin-proposal-class-properties": "^7.14.5", - "@babel/plugin-proposal-class-static-block": "^7.14.5", + "@babel/plugin-proposal-class-static-block": "^7.15.4", "@babel/plugin-proposal-dynamic-import": "^7.14.5", "@babel/plugin-proposal-export-namespace-from": "^7.14.5", "@babel/plugin-proposal-json-strings": "^7.14.5", "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", "@babel/plugin-proposal-numeric-separator": "^7.14.5", - "@babel/plugin-proposal-object-rest-spread": "^7.14.7", + "@babel/plugin-proposal-object-rest-spread": "^7.15.6", "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", "@babel/plugin-proposal-optional-chaining": "^7.14.5", "@babel/plugin-proposal-private-methods": "^7.14.5", - "@babel/plugin-proposal-private-property-in-object": "^7.14.5", + "@babel/plugin-proposal-private-property-in-object": "^7.15.4", "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", @@ -1160,25 +1160,25 @@ "@babel/plugin-transform-arrow-functions": "^7.14.5", "@babel/plugin-transform-async-to-generator": "^7.14.5", "@babel/plugin-transform-block-scoped-functions": "^7.14.5", - "@babel/plugin-transform-block-scoping": "^7.14.5", - "@babel/plugin-transform-classes": "^7.14.5", + "@babel/plugin-transform-block-scoping": "^7.15.3", + "@babel/plugin-transform-classes": "^7.15.4", "@babel/plugin-transform-computed-properties": "^7.14.5", "@babel/plugin-transform-destructuring": "^7.14.7", "@babel/plugin-transform-dotall-regex": "^7.14.5", "@babel/plugin-transform-duplicate-keys": "^7.14.5", "@babel/plugin-transform-exponentiation-operator": "^7.14.5", - "@babel/plugin-transform-for-of": "^7.14.5", + "@babel/plugin-transform-for-of": "^7.15.4", "@babel/plugin-transform-function-name": "^7.14.5", "@babel/plugin-transform-literals": "^7.14.5", "@babel/plugin-transform-member-expression-literals": "^7.14.5", "@babel/plugin-transform-modules-amd": "^7.14.5", - "@babel/plugin-transform-modules-commonjs": "^7.14.5", - "@babel/plugin-transform-modules-systemjs": "^7.14.5", + "@babel/plugin-transform-modules-commonjs": "^7.15.4", + "@babel/plugin-transform-modules-systemjs": "^7.15.4", "@babel/plugin-transform-modules-umd": "^7.14.5", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.9", "@babel/plugin-transform-new-target": "^7.14.5", "@babel/plugin-transform-object-super": "^7.14.5", - "@babel/plugin-transform-parameters": "^7.14.5", + "@babel/plugin-transform-parameters": "^7.15.4", "@babel/plugin-transform-property-literals": "^7.14.5", "@babel/plugin-transform-regenerator": "^7.14.5", "@babel/plugin-transform-reserved-words": "^7.14.5", @@ -1190,11 +1190,11 @@ "@babel/plugin-transform-unicode-escapes": "^7.14.5", "@babel/plugin-transform-unicode-regex": "^7.14.5", "@babel/preset-modules": "^0.1.4", - "@babel/types": "^7.14.5", + "@babel/types": "^7.15.6", "babel-plugin-polyfill-corejs2": "^0.2.2", "babel-plugin-polyfill-corejs3": "^0.2.2", "babel-plugin-polyfill-regenerator": "^0.2.2", - "core-js-compat": "^3.15.0", + "core-js-compat": "^3.16.0", "semver": "^6.3.0" }, "dependencies": { @@ -1231,87 +1231,87 @@ } }, "@babel/preset-typescript": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.14.5.tgz", - "integrity": "sha512-u4zO6CdbRKbS9TypMqrlGH7sd2TAJppZwn3c/ZRLeO/wGsbddxgbPDUZVNrie3JWYLQ9vpineKlsrWFvO6Pwkw==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.15.0.tgz", + "integrity": "sha512-lt0Y/8V3y06Wq/8H/u0WakrqciZ7Fz7mwPDHWUJAXlABL5hiUG42BNlRXiELNjeWjO5rWmnNKlx+yzJvxezHow==", "requires": { "@babel/helper-plugin-utils": "^7.14.5", "@babel/helper-validator-option": "^7.14.5", - "@babel/plugin-transform-typescript": "^7.14.5" + "@babel/plugin-transform-typescript": "^7.15.0" } }, "@babel/runtime": { - "version": "7.14.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.6.tgz", - "integrity": "sha512-/PCB2uJ7oM44tz8YhC4Z/6PeOKXp4K588f+5M3clr1M4zbqztlo0XEfJ2LEzj/FgwfgGcIdl8n7YYjTCI0BYwg==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz", + "integrity": "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==", "requires": { "regenerator-runtime": "^0.13.4" } }, "@babel/runtime-corejs3": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.14.7.tgz", - "integrity": "sha512-Wvzcw4mBYbTagyBVZpAJWI06auSIj033T/yNE0Zn1xcup83MieCddZA7ls3kme17L4NOGBrQ09Q+nKB41RLWBA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.15.4.tgz", + "integrity": "sha512-lWcAqKeB624/twtTc3w6w/2o9RqJPaNBhPGK6DKLSiwuVWC7WFkypWyNg+CpZoyJH0jVzv1uMtXZ/5/lQOLtCg==", "requires": { - "core-js-pure": "^3.15.0", + "core-js-pure": "^3.16.0", "regenerator-runtime": "^0.13.4" } }, "@babel/template": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", - "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", + "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", "requires": { "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/traverse": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.7.tgz", - "integrity": "sha512-9vDr5NzHu27wgwejuKL7kIOm4bwEtaPQ4Z6cpCmjSuaRqpH/7xc4qcGEscwMqlkwgcXl6MvqoAjZkQ24uSdIZQ==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", + "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", "requires": { "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.14.5", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-hoist-variables": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/parser": "^7.14.7", - "@babel/types": "^7.14.5", + "@babel/generator": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-hoist-variables": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4", "debug": "^4.1.0", "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz", - "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==", + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", + "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", "requires": { - "@babel/helper-validator-identifier": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.9", "to-fast-properties": "^2.0.0" } }, "@docsearch/css": { - "version": "3.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.0.0-alpha.37.tgz", - "integrity": "sha512-EUr2AhvFw+TYPrkfePjDWh3NqpJgpwM8v6n8Mf0rUnL/ThxXKsdamzfBqWCWAh+N1o+eeGqypvy+p8Fp8dZXhQ==" + "version": "3.0.0-alpha.40", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.0.0-alpha.40.tgz", + "integrity": "sha512-PrOTPgJMl+Iji1zOH0+J0PEDMriJ1teGxbgll7o4h8JrvJW6sJGqQw7/bLW7enWiFaxbJMK76w1yyPNLFHV7Qg==" }, "@docsearch/react": { - "version": "3.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.0.0-alpha.37.tgz", - "integrity": "sha512-W/O3OfL+LLQTlGXrT8/d7ztBYKgZmDWweu9f0O/41zV6Hirzo/qZEWzr25ky8utFUcMwj1pfTHLOp1F9UCtLAQ==", + "version": "3.0.0-alpha.40", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.0.0-alpha.40.tgz", + "integrity": "sha512-aKxnu7sgpP1R7jtgOV/pZdJEHXx6Ts+jnS9U/ejSUS2BMUpwQI5SA3oLs1BA5TA9kIViJ5E+rrjh0VsbcsJ6sQ==", "requires": { - "@algolia/autocomplete-core": "1.2.1", - "@algolia/autocomplete-preset-algolia": "1.2.1", - "@docsearch/css": "3.0.0-alpha.37", + "@algolia/autocomplete-core": "1.2.2", + "@algolia/autocomplete-preset-algolia": "1.2.2", + "@docsearch/css": "3.0.0-alpha.40", "algoliasearch": "^4.0.0" } }, "@docusaurus/core": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.0.0-beta.3.tgz", - "integrity": "sha512-vzKmQsvOCte9odf0ZRU2h5UzdI1km5D0NU3Ee6xn06VydYZ169B1IF5KV1LWHSYklnsEmzizJ/jeopFCry0cGg==", + "version": "2.0.0-beta.6", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.0.0-beta.6.tgz", + "integrity": "sha512-XMeI+lJKeJBGYBNOfO/Tc+5FMf21E5p1xZjfe75cgYcfZdERZ+W7aemXquwReno8xxHb4Rnfmi9dxkbOLDjqDA==", "requires": { "@babel/core": "^7.12.16", "@babel/generator": "^7.12.15", @@ -1323,12 +1323,12 @@ "@babel/runtime": "^7.12.5", "@babel/runtime-corejs3": "^7.12.13", "@babel/traverse": "^7.12.13", - "@docusaurus/cssnano-preset": "2.0.0-beta.3", + "@docusaurus/cssnano-preset": "2.0.0-beta.6", "@docusaurus/react-loadable": "5.5.0", - "@docusaurus/types": "2.0.0-beta.3", - "@docusaurus/utils": "2.0.0-beta.3", - "@docusaurus/utils-common": "2.0.0-beta.3", - "@docusaurus/utils-validation": "2.0.0-beta.3", + "@docusaurus/types": "2.0.0-beta.6", + "@docusaurus/utils": "2.0.0-beta.6", + "@docusaurus/utils-common": "2.0.0-beta.6", + "@docusaurus/utils-validation": "2.0.0-beta.6", "@slorber/static-site-generator-webpack-plugin": "^4.0.0", "@svgr/webpack": "^5.5.0", "autoprefixer": "^10.2.5", @@ -1337,7 +1337,7 @@ "boxen": "^5.0.1", "chalk": "^4.1.1", "chokidar": "^3.5.1", - "clean-css": "^5.1.2", + "clean-css": "^5.1.5", "commander": "^5.1.0", "copy-webpack-plugin": "^9.0.0", "core-js": "^3.9.1", @@ -1374,6 +1374,7 @@ "react-router": "^5.2.0", "react-router-config": "^5.1.1", "react-router-dom": "^5.2.0", + "remark-admonitions": "^1.2.1", "resolve-pathname": "^3.0.0", "rtl-detect": "^1.0.3", "semver": "^7.3.4", @@ -1394,9 +1395,9 @@ } }, "@docusaurus/cssnano-preset": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.0.0-beta.3.tgz", - "integrity": "sha512-k7EkNPluB+TV++oZB8Je4EQ6Xs6cR0SvgIU9vdXm00qyPCu38MMfRwSY4HnsVUV797T/fQUD91zkuwhyXCUGLA==", + "version": "2.0.0-beta.6", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.0.0-beta.6.tgz", + "integrity": "sha512-RCizp2NAbADopkX5nUz1xrAbU6hGZzziQk9RdSDGJLzMgVCN6RDotq9odS8VgzNa9x2Lx3WN527UxeEbzc2GVQ==", "requires": { "cssnano-preset-advanced": "^5.1.1", "postcss": "^8.2.15", @@ -1404,16 +1405,17 @@ } }, "@docusaurus/mdx-loader": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.0.0-beta.3.tgz", - "integrity": "sha512-xH6zjNokZD2D7Y+Af3gMO692lwfw5N3NzxuLqMF3D0HPHOLrokDeIeVPeY/EBJBxZiXgqWGZ/ESewNDU1ZUfRQ==", + "version": "2.0.0-beta.6", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.0.0-beta.6.tgz", + "integrity": "sha512-yO6N+OESR77WZ/pXz7muOJGLletYYksx7s7wrwrr0x+A8tzdSwiHZ9op0NyjjpW5AnItU/WQQfcjv37qv4K6HA==", "requires": { "@babel/parser": "^7.12.16", "@babel/traverse": "^7.12.13", - "@docusaurus/core": "2.0.0-beta.3", - "@docusaurus/utils": "2.0.0-beta.3", + "@docusaurus/core": "2.0.0-beta.6", + "@docusaurus/utils": "2.0.0-beta.6", "@mdx-js/mdx": "^1.6.21", "@mdx-js/react": "^1.6.21", + "chalk": "^4.1.1", "escape-html": "^1.0.3", "file-loader": "^6.2.0", "fs-extra": "^10.0.0", @@ -1428,20 +1430,21 @@ } }, "@docusaurus/plugin-content-blog": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.0.0-beta.3.tgz", - "integrity": "sha512-QynxHVzS3jItnDbmu9wkASyMxrduauqONVqYHrL4x2pC4kzSTIrcDnOK1JXUJAuDg9XY66ISWQ8dN7YZOpU+4Q==", - "requires": { - "@docusaurus/core": "2.0.0-beta.3", - "@docusaurus/mdx-loader": "2.0.0-beta.3", - "@docusaurus/types": "2.0.0-beta.3", - "@docusaurus/utils": "2.0.0-beta.3", - "@docusaurus/utils-validation": "2.0.0-beta.3", + "version": "2.0.0-beta.6", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.0.0-beta.6.tgz", + "integrity": "sha512-ohfMt7+rPiFQImc4Clpvc9m/1yWUQAjpG3e/coJywlJYbDXvi1pmH0VKkDUMBSe/35Wtz9457DYgNFG81lhV7Q==", + "requires": { + "@docusaurus/core": "2.0.0-beta.6", + "@docusaurus/mdx-loader": "2.0.0-beta.6", + "@docusaurus/types": "2.0.0-beta.6", + "@docusaurus/utils": "2.0.0-beta.6", + "@docusaurus/utils-validation": "2.0.0-beta.6", "chalk": "^4.1.1", "escape-string-regexp": "^4.0.0", "feed": "^4.2.2", "fs-extra": "^10.0.0", "globby": "^11.0.2", + "js-yaml": "^4.0.0", "loader-utils": "^2.0.0", "lodash": "^4.17.20", "reading-time": "^1.3.0", @@ -1450,23 +1453,36 @@ "webpack": "^5.40.0" }, "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, "escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "requires": { + "argparse": "^2.0.1" + } } } }, "@docusaurus/plugin-content-docs": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.0.0-beta.3.tgz", - "integrity": "sha512-lB9UjDyFtq89tpyif+JDIJ/gtwtSTEwOBNTLAzOsg4ZIfNLfyifrWN4ci0TkZV0xShWUHqGp36/5XTpHRn1jJQ==", - "requires": { - "@docusaurus/core": "2.0.0-beta.3", - "@docusaurus/mdx-loader": "2.0.0-beta.3", - "@docusaurus/types": "2.0.0-beta.3", - "@docusaurus/utils": "2.0.0-beta.3", - "@docusaurus/utils-validation": "2.0.0-beta.3", + "version": "2.0.0-beta.6", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.0.0-beta.6.tgz", + "integrity": "sha512-cM5WWogWmX+qKPKv332eDWGRVVT5OjskbmFKe2QimwoaON3Cv6XY8Fo2xdYopqGIU0r0z8dVtRmoGS0ji7zB7w==", + "requires": { + "@docusaurus/core": "2.0.0-beta.6", + "@docusaurus/mdx-loader": "2.0.0-beta.6", + "@docusaurus/types": "2.0.0-beta.6", + "@docusaurus/utils": "2.0.0-beta.6", + "@docusaurus/utils-validation": "2.0.0-beta.6", "chalk": "^4.1.1", "combine-promises": "^1.1.0", "escape-string-regexp": "^4.0.0", @@ -1516,9 +1532,9 @@ "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" }, "is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" }, "js-yaml": { "version": "4.1.0", @@ -1557,82 +1573,94 @@ } }, "@docusaurus/plugin-content-pages": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.0.0-beta.3.tgz", - "integrity": "sha512-lV6ZoSkkVwN10kQLE4sEAubaEnzXjKBQBhMCx49wkrvRwKzjBoRnfWV8qAswN1KU2YZZL1ixFpcr8+oXvhxkuA==", - "requires": { - "@docusaurus/core": "2.0.0-beta.3", - "@docusaurus/mdx-loader": "2.0.0-beta.3", - "@docusaurus/types": "2.0.0-beta.3", - "@docusaurus/utils": "2.0.0-beta.3", - "@docusaurus/utils-validation": "2.0.0-beta.3", + "version": "2.0.0-beta.6", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.0.0-beta.6.tgz", + "integrity": "sha512-N6wARzOA8gTFeBXZSKbAN5s1Ej6R/pVg+J946E8GCYefXTFikTNRQ8+OPhax4MRzgzoOvhTQbLbRCSoAzSmjig==", + "requires": { + "@docusaurus/core": "2.0.0-beta.6", + "@docusaurus/mdx-loader": "2.0.0-beta.6", + "@docusaurus/types": "2.0.0-beta.6", + "@docusaurus/utils": "2.0.0-beta.6", + "@docusaurus/utils-validation": "2.0.0-beta.6", "globby": "^11.0.2", "lodash": "^4.17.20", - "minimatch": "^3.0.4", "remark-admonitions": "^1.2.1", - "slash": "^3.0.0", "tslib": "^2.1.0", "webpack": "^5.40.0" } }, "@docusaurus/plugin-debug": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.0.0-beta.3.tgz", - "integrity": "sha512-EeHUcCPsr9S1tsyRo42SnhrCCOlcvkcA8CR4pOofiJkG1gJ8IwhY9fNOLJM7dYs0bMtViiqXy5fD2jUib4G1jw==", - "requires": { - "@docusaurus/core": "2.0.0-beta.3", - "@docusaurus/types": "2.0.0-beta.3", - "@docusaurus/utils": "2.0.0-beta.3", + "version": "2.0.0-beta.6", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.0.0-beta.6.tgz", + "integrity": "sha512-TJXDBR2Gr/mhBrcj+/4+rTShSm/Qg56Jfezbm/2fFvuPgVlUwy6oj08s2/kYSTmkfG7G+c4iX1GBHjtyo1KxZA==", + "requires": { + "@docusaurus/core": "2.0.0-beta.6", + "@docusaurus/types": "2.0.0-beta.6", + "@docusaurus/utils": "2.0.0-beta.6", + "fs-extra": "^9.1.0", "react-json-view": "^1.21.3", "tslib": "^2.1.0" + }, + "dependencies": { + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + } } }, "@docusaurus/plugin-google-analytics": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.0.0-beta.3.tgz", - "integrity": "sha512-e6tO1FCIdAqIjcLAUaHugz/dErAP/wx67WyN6bWSdAMJRobmav+TFesE2iVzzIMxuRB3pY0Y7TtLL5dF5xpIsg==", + "version": "2.0.0-beta.6", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.0.0-beta.6.tgz", + "integrity": "sha512-AHbMNPN3gkWXYFnmHL9MBcRODByAgzHZoH/5v3xwbSV2FOZo6kx4Hp94I6oFM0o5mp+i6X7slDncgGTWSGxCMg==", "requires": { - "@docusaurus/core": "2.0.0-beta.3" + "@docusaurus/core": "2.0.0-beta.6" } }, "@docusaurus/plugin-google-gtag": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.0.0-beta.3.tgz", - "integrity": "sha512-p48CK7ZwThs9wc/UEv+zG3lZ/Eh4Rwg2c0MBBLYATGE+Wwh6HIyilhjQAj4dC6wf9iYvCZFXX2pNOr+cKKafIA==", + "version": "2.0.0-beta.6", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.0.0-beta.6.tgz", + "integrity": "sha512-uJyQ30sXbVRS3TGtVJFA0s1ozrluuREu6NK2Z3TLtKpeT2NTe5iaqXN0Xp749hr3bjbgpEe6gMixVh//jg503w==", "requires": { - "@docusaurus/core": "2.0.0-beta.3" + "@docusaurus/core": "2.0.0-beta.6" } }, "@docusaurus/plugin-sitemap": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.0.0-beta.3.tgz", - "integrity": "sha512-ilEJ3Xb8zbShjGhdRHGAm4OZ0bUwFxtMtcTyqLlGmk9r0U2h0CWcaS+geJfLwgUJkwgKZfGdDrmTpmf8oeGQvw==", - "requires": { - "@docusaurus/core": "2.0.0-beta.3", - "@docusaurus/types": "2.0.0-beta.3", - "@docusaurus/utils": "2.0.0-beta.3", - "@docusaurus/utils-common": "2.0.0-beta.3", - "@docusaurus/utils-validation": "2.0.0-beta.3", + "version": "2.0.0-beta.6", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.0.0-beta.6.tgz", + "integrity": "sha512-jpTaODqyCgg+20RtMw8gSvCKQOvH18FpKhIu6FG+z4zgHP33qaJouVM7/1ZKPrfNt4z7xDOyBNUzzdmpssHA8A==", + "requires": { + "@docusaurus/core": "2.0.0-beta.6", + "@docusaurus/types": "2.0.0-beta.6", + "@docusaurus/utils": "2.0.0-beta.6", + "@docusaurus/utils-common": "2.0.0-beta.6", + "@docusaurus/utils-validation": "2.0.0-beta.6", "fs-extra": "^10.0.0", "sitemap": "^7.0.0", "tslib": "^2.2.0" } }, "@docusaurus/preset-classic": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.0.0-beta.3.tgz", - "integrity": "sha512-32B/7X3H8XX5jBqg23veEqNJ0JtKCG0Va+7wTX9+B36tMyPnsq3H3m0m5XICfX/NGfPICfjw/oCN2CEAYFd47Q==", - "requires": { - "@docusaurus/core": "2.0.0-beta.3", - "@docusaurus/plugin-content-blog": "2.0.0-beta.3", - "@docusaurus/plugin-content-docs": "2.0.0-beta.3", - "@docusaurus/plugin-content-pages": "2.0.0-beta.3", - "@docusaurus/plugin-debug": "2.0.0-beta.3", - "@docusaurus/plugin-google-analytics": "2.0.0-beta.3", - "@docusaurus/plugin-google-gtag": "2.0.0-beta.3", - "@docusaurus/plugin-sitemap": "2.0.0-beta.3", - "@docusaurus/theme-classic": "2.0.0-beta.3", - "@docusaurus/theme-search-algolia": "2.0.0-beta.3" + "version": "2.0.0-beta.6", + "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.0.0-beta.6.tgz", + "integrity": "sha512-riqQRcNssNH7oto8nAjYIO79/ZucidexHTDlgD+trP56ploHLJp4kIlxb44IGOmx3es8/z4egWtM+acY/39N2Q==", + "requires": { + "@docusaurus/core": "2.0.0-beta.6", + "@docusaurus/plugin-content-blog": "2.0.0-beta.6", + "@docusaurus/plugin-content-docs": "2.0.0-beta.6", + "@docusaurus/plugin-content-pages": "2.0.0-beta.6", + "@docusaurus/plugin-debug": "2.0.0-beta.6", + "@docusaurus/plugin-google-analytics": "2.0.0-beta.6", + "@docusaurus/plugin-google-gtag": "2.0.0-beta.6", + "@docusaurus/plugin-sitemap": "2.0.0-beta.6", + "@docusaurus/theme-classic": "2.0.0-beta.6", + "@docusaurus/theme-search-algolia": "2.0.0-beta.6" } }, "@docusaurus/react-loadable": { @@ -1644,19 +1672,19 @@ } }, "@docusaurus/theme-classic": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.0.0-beta.3.tgz", - "integrity": "sha512-d2I4r9FQ67hCTGq+fkz0tDNvpCLxm/HAtjuu+XsZkX6Snh50XpWYfwOD4w8oFbbup5Imli2q7Z8Q2+9izphizw==", - "requires": { - "@docusaurus/core": "2.0.0-beta.3", - "@docusaurus/plugin-content-blog": "2.0.0-beta.3", - "@docusaurus/plugin-content-docs": "2.0.0-beta.3", - "@docusaurus/plugin-content-pages": "2.0.0-beta.3", - "@docusaurus/theme-common": "2.0.0-beta.3", - "@docusaurus/types": "2.0.0-beta.3", - "@docusaurus/utils": "2.0.0-beta.3", - "@docusaurus/utils-common": "2.0.0-beta.3", - "@docusaurus/utils-validation": "2.0.0-beta.3", + "version": "2.0.0-beta.6", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.0.0-beta.6.tgz", + "integrity": "sha512-fMb6gAKUdaojInZabimIJE+yPWs8dQfmZII7v/LHmgxafh/FylmrBkKhyJfa2ix4QRibo9E01LGX44/aKzemxw==", + "requires": { + "@docusaurus/core": "2.0.0-beta.6", + "@docusaurus/plugin-content-blog": "2.0.0-beta.6", + "@docusaurus/plugin-content-docs": "2.0.0-beta.6", + "@docusaurus/plugin-content-pages": "2.0.0-beta.6", + "@docusaurus/theme-common": "2.0.0-beta.6", + "@docusaurus/types": "2.0.0-beta.6", + "@docusaurus/utils": "2.0.0-beta.6", + "@docusaurus/utils-common": "2.0.0-beta.6", + "@docusaurus/utils-validation": "2.0.0-beta.6", "@mdx-js/mdx": "^1.6.21", "@mdx-js/react": "^1.6.21", "chalk": "^4.1.1", @@ -1664,7 +1692,7 @@ "copy-text-to-clipboard": "^3.0.1", "fs-extra": "^10.0.0", "globby": "^11.0.2", - "infima": "0.2.0-alpha.26", + "infima": "0.2.0-alpha.33", "lodash": "^4.17.20", "parse-numeric-range": "^1.2.0", "postcss": "^8.2.15", @@ -1676,28 +1704,30 @@ } }, "@docusaurus/theme-common": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.0.0-beta.3.tgz", - "integrity": "sha512-XuiqpfQyOWGniN7d8uMfUQ3OmCc70u+O0ObPUONj7gFglCzwu33Izx05gNrV9ekhnpQ1pkPcvGU7Soe9Hc5i6g==", - "requires": { - "@docusaurus/core": "2.0.0-beta.3", - "@docusaurus/plugin-content-blog": "2.0.0-beta.3", - "@docusaurus/plugin-content-docs": "2.0.0-beta.3", - "@docusaurus/plugin-content-pages": "2.0.0-beta.3", - "@docusaurus/types": "2.0.0-beta.3", + "version": "2.0.0-beta.6", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.0.0-beta.6.tgz", + "integrity": "sha512-53nFWMjpFdyHEvBfQQQoDm9rNKgGangy7vSp1B/F3+uRyYAItE7O4l8MdOALXFALlddiiPYvCtI1qGx2dnzndA==", + "requires": { + "@docusaurus/core": "2.0.0-beta.6", + "@docusaurus/plugin-content-blog": "2.0.0-beta.6", + "@docusaurus/plugin-content-docs": "2.0.0-beta.6", + "@docusaurus/plugin-content-pages": "2.0.0-beta.6", + "@docusaurus/types": "2.0.0-beta.6", + "clsx": "^1.1.1", + "fs-extra": "^10.0.0", "tslib": "^2.1.0" } }, "@docusaurus/theme-search-algolia": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.0.0-beta.3.tgz", - "integrity": "sha512-fxWxcXGmqjwuA7zYRAbwqSANx3PVVjYUehV9SI28u5qq8U2tSYflhd1nGogM6guiV+Er6u8gwO91PL6wg3/vBA==", - "requires": { - "@docsearch/react": "^3.0.0-alpha.36", - "@docusaurus/core": "2.0.0-beta.3", - "@docusaurus/theme-common": "2.0.0-beta.3", - "@docusaurus/utils": "2.0.0-beta.3", - "@docusaurus/utils-validation": "2.0.0-beta.3", + "version": "2.0.0-beta.6", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.0.0-beta.6.tgz", + "integrity": "sha512-GaaYdf6EEKL3jwmt9LRyiMtNvobOhw4vGuYJKbJcgba/M75kOJSbZPRrhALBAe6o4gOYbV44afzFC/jUUp7dsA==", + "requires": { + "@docsearch/react": "^3.0.0-alpha.39", + "@docusaurus/core": "2.0.0-beta.6", + "@docusaurus/theme-common": "2.0.0-beta.6", + "@docusaurus/utils": "2.0.0-beta.6", + "@docusaurus/utils-validation": "2.0.0-beta.6", "algoliasearch": "^4.8.4", "algoliasearch-helper": "^3.3.4", "clsx": "^1.1.1", @@ -1706,9 +1736,9 @@ } }, "@docusaurus/types": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.0.0-beta.3.tgz", - "integrity": "sha512-ivQ6L1ahju06ldTvFsZLQxcN6DP32iIB7DscxWVRqP0eyuyX2xAy+jrASqih3lB8lyw0JJaaDEeVE5fjroAQ/Q==", + "version": "2.0.0-beta.6", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.0.0-beta.6.tgz", + "integrity": "sha512-TrwxyI93XTZEhOmdEI8FPKDbGV61zE9PzXCdE1alwz1NOV+YXwcv+9sRTZEVLqBpr+TIja+IeeS6mxnyen/Ptg==", "requires": { "commander": "^5.1.0", "joi": "^17.4.0", @@ -1718,17 +1748,19 @@ } }, "@docusaurus/utils": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.0.0-beta.3.tgz", - "integrity": "sha512-DApc6xcb3CvvsBCfRU6Zk3KoZa4mZfCJA4XRv5zhlhaSb0GFuAo7KQ353RUu6d0eYYylY3GGRABXkxRE1SEClA==", + "version": "2.0.0-beta.6", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.0.0-beta.6.tgz", + "integrity": "sha512-S72/o7VDaTvrXJy+NpfuctghGGoMW30m94PMkrL3I6V+o5eE2Uzax7dbM++moclmHvi0/Khv+TXmRIQs6ZvwgQ==", "requires": { - "@docusaurus/types": "2.0.0-beta.3", + "@docusaurus/types": "2.0.0-beta.6", "@types/github-slugger": "^1.3.0", "chalk": "^4.1.1", "escape-string-regexp": "^4.0.0", "fs-extra": "^10.0.0", + "globby": "^11.0.4", "gray-matter": "^4.0.3", "lodash": "^4.17.20", + "micromatch": "^4.0.4", "resolve-pathname": "^3.0.0", "tslib": "^2.2.0" }, @@ -1741,20 +1773,20 @@ } }, "@docusaurus/utils-common": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.0.0-beta.3.tgz", - "integrity": "sha512-KJgDN4G2MzJcHy+OR2e/xgEwRy+vX26pzwtjPkRjNf24CPa0BwFbRmR5apbltCgTB10vT6xroStc8Quv/286Cg==", + "version": "2.0.0-beta.6", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.0.0-beta.6.tgz", + "integrity": "sha512-MKm6bJxvsYWRl072jLR60z+71tTWSxoERh2eTmCYlegFnu3Tby3HOC8I3jDcC6VpVuoDGsBGNoQbOgy2LqQbXQ==", "requires": { - "@docusaurus/types": "2.0.0-beta.3", + "@docusaurus/types": "2.0.0-beta.6", "tslib": "^2.2.0" } }, "@docusaurus/utils-validation": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.0.0-beta.3.tgz", - "integrity": "sha512-jGX78NNrxDZFgDjLaa6wuJ/eKDoHdZFG2CVX3uCaIGe1x8eTMG2/e/39GzbZl+W7VHYpW0bzdf/5dFhaKLfQbQ==", + "version": "2.0.0-beta.6", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.0.0-beta.6.tgz", + "integrity": "sha512-v0nk9bpawUd2JFDFyiHDmZuMG+/O1UvxtxvcRbvrxrul+rlzD7Q9CGxMgW3Grp2OCKQ4yFXRidBIccwqON5AVw==", "requires": { - "@docusaurus/utils": "2.0.0-beta.3", + "@docusaurus/utils": "2.0.0-beta.6", "chalk": "^4.1.1", "joi": "^17.4.0", "tslib": "^2.1.0" @@ -1830,10 +1862,28 @@ "@babel/helper-plugin-utils": "^7.10.4" } }, + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" + }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "unified": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz", + "integrity": "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==", + "requires": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + } } } }, @@ -1871,9 +1921,9 @@ } }, "@polka/url": { - "version": "1.0.0-next.15", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.15.tgz", - "integrity": "sha512-15spi3V28QdevleWBNXE4pIls3nFZmBbUGrW9IVPwiQczuSb9n76TCB4bsk8TSel+I1OkHEdPhu5QKMfY6rQHA==" + "version": "1.0.0-next.20", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.20.tgz", + "integrity": "sha512-88p7+M0QGxKpmnkfXjS4V26AnoC/eiqZutE8GLdaI5X12NY75bXSdTY9NkmYb2Xyk1O+MmkuO6Frmsj84V6I8Q==" }, "@sideway/address": { "version": "4.1.2", @@ -2191,9 +2241,9 @@ } }, "@types/hast": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.2.tgz", - "integrity": "sha512-Op5W7jYgZI7AWKY5wQ0/QNMzQM7dGQPyW1rXKNiymVCy5iTfdPuGu4HhYNOM2sIv8gUfIuIdcYlXmAepwaowow==", + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz", + "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==", "requires": { "@types/unist": "*" } @@ -2204,14 +2254,14 @@ "integrity": "sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==" }, "@types/json-schema": { - "version": "7.0.8", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.8.tgz", - "integrity": "sha512-YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg==" + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==" }, "@types/mdast": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.7.tgz", - "integrity": "sha512-YwR7OK8aPmaBvMMUi+pZXBNoW2unbVbfok4YRqGMJBe1dpDlzpRkJrYEYmvjxgs5JhuQmKfDexrN98u941Zasg==", + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz", + "integrity": "sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==", "requires": { "@types/unist": "*" } @@ -2222,9 +2272,9 @@ "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" }, "@types/node": { - "version": "16.3.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.3.3.tgz", - "integrity": "sha512-8h7k1YgQKxKXWckzFCMfsIwn0Y61UK6tlD6y2lOb3hTOIMlK3t9/QwHOhc81TwU+RMf0As5fj7NPjroERCnejQ==" + "version": "16.9.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.9.1.tgz", + "integrity": "sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==" }, "@types/parse-json": { "version": "4.0.0", @@ -2405,14 +2455,19 @@ } }, "acorn": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz", - "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==" + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz", + "integrity": "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==" + }, + "acorn-import-assertions": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.7.6.tgz", + "integrity": "sha512-FlVvVFA1TX6l3lp8VjDnYYq7R1nyW6x3svAt4nDgrWQ9SBaSh9CnbwgSUTasgfNfOG5HlM1ehugCvM+hjo56LA==" }, "acorn-walk": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.1.1.tgz", - "integrity": "sha512-FbJdceMlPHEAWJOILDk1fXD8lnTlEIWFkqtfk+MvmL5q/qlHfN7GEHcsFZWt/Tea9jRNPWUZG4G976nqAAmU9w==" + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" }, "address": { "version": "1.1.2", @@ -2450,30 +2505,30 @@ "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" }, "algoliasearch": { - "version": "4.10.3", - "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.10.3.tgz", - "integrity": "sha512-OLY0AWlPKGLbSaw14ivMB7BT5fPdp8VdzY4L8FtzZnqmLKsyes24cltGlf7/X96ACkYEcT390SReCDt/9SUIRg==", - "requires": { - "@algolia/cache-browser-local-storage": "4.10.3", - "@algolia/cache-common": "4.10.3", - "@algolia/cache-in-memory": "4.10.3", - "@algolia/client-account": "4.10.3", - "@algolia/client-analytics": "4.10.3", - "@algolia/client-common": "4.10.3", - "@algolia/client-personalization": "4.10.3", - "@algolia/client-search": "4.10.3", - "@algolia/logger-common": "4.10.3", - "@algolia/logger-console": "4.10.3", - "@algolia/requester-browser-xhr": "4.10.3", - "@algolia/requester-common": "4.10.3", - "@algolia/requester-node-http": "4.10.3", - "@algolia/transporter": "4.10.3" + "version": "4.10.5", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.10.5.tgz", + "integrity": "sha512-KmH2XkiN+8FxhND4nWFbQDkIoU6g2OjfeU9kIv4Lb+EiOOs3Gpp7jvd+JnatsCisAZsnWQdjd7zVlW7I/85QvQ==", + "requires": { + "@algolia/cache-browser-local-storage": "4.10.5", + "@algolia/cache-common": "4.10.5", + "@algolia/cache-in-memory": "4.10.5", + "@algolia/client-account": "4.10.5", + "@algolia/client-analytics": "4.10.5", + "@algolia/client-common": "4.10.5", + "@algolia/client-personalization": "4.10.5", + "@algolia/client-search": "4.10.5", + "@algolia/logger-common": "4.10.5", + "@algolia/logger-console": "4.10.5", + "@algolia/requester-browser-xhr": "4.10.5", + "@algolia/requester-common": "4.10.5", + "@algolia/requester-node-http": "4.10.5", + "@algolia/transporter": "4.10.5" } }, "algoliasearch-helper": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.5.4.tgz", - "integrity": "sha512-t+FLhXYnPZiwjYe5ExyN962HQY8mi3KwRju3Lyf6OBgtRdx30d6mqvtClXf5NeBihH45Xzj6t4Y5YyvAI432XA==", + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.5.5.tgz", + "integrity": "sha512-JDH14gMpSj8UzEaKwVkrqKOeAOyK0dDWsFlKvWhk0Xl5yw9FyafYf1xZPb4uSXaPBAFQtUouFlR1Zt68BCY0/w==", "requires": { "events": "^1.1.1" }, @@ -2566,9 +2621,9 @@ } }, "arg": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.0.tgz", - "integrity": "sha512-4P8Zm2H+BRS+c/xX1LrHw0qKpEhdlZjLCgWy+d78T9vqa2Z2SiD2wMrYuWIAFy5IZUD7nnNXroRttz+0RzlrzQ==" + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.1.tgz", + "integrity": "sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==" }, "argparse": { "version": "1.0.10", @@ -2641,30 +2696,35 @@ "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" + }, "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" }, "autoprefixer": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.3.1.tgz", - "integrity": "sha512-L8AmtKzdiRyYg7BUXJTzigmhbQRCXFKz6SA1Lqo0+AR2FBbQ4aTAPFSDlOutnFkjhiz8my4agGXog1xlMjPJ6A==", + "version": "10.3.4", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.3.4.tgz", + "integrity": "sha512-EKjKDXOq7ug+jagLzmnoTRpTT0q1KVzEJqrJd0hCBa7FiG0WbFOBCcJCy2QkW1OckpO3qgttA1aWjVbeIPAecw==", "requires": { - "browserslist": "^4.16.6", - "caniuse-lite": "^1.0.30001243", - "colorette": "^1.2.2", + "browserslist": "^4.16.8", + "caniuse-lite": "^1.0.30001252", + "colorette": "^1.3.0", "fraction.js": "^4.1.1", "normalize-range": "^0.1.2", "postcss-value-parser": "^4.1.0" } }, "axios": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", - "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", "requires": { - "follow-redirects": "^1.10.0" + "follow-redirects": "^1.14.0" } }, "babel-loader": { @@ -2765,9 +2825,9 @@ } }, "babel-plugin-polyfill-corejs3": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.3.tgz", - "integrity": "sha512-rCOFzEIJpJEAU14XCcV/erIf/wZQMmMT5l5vXOpL5uoznyOGfDIjPj6FVytMvtzaKSTSVKouOCTPJ5OMUZH30g==", + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.4.tgz", + "integrity": "sha512-z3HnJE5TY/j4EFEa/qpQMSbcUJZ5JQi+3UFjXzn6pQCmIKc5Ug5j98SuYyH+m4xQnvKlMDIW4plLfgyVnd0IcQ==", "requires": { "@babel/helper-define-polyfill-provider": "^0.2.2", "core-js-compat": "^3.14.0" @@ -2956,21 +3016,21 @@ } }, "browserslist": { - "version": "4.16.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", - "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.0.tgz", + "integrity": "sha512-g2BJ2a0nEYvEFQC208q8mVAhfNwpZ5Mu8BwgtCdZKO3qx98HChmeg448fPdUzld8aFmfLgVh7yymqV+q1lJZ5g==", "requires": { - "caniuse-lite": "^1.0.30001219", - "colorette": "^1.2.2", - "electron-to-chromium": "^1.3.723", + "caniuse-lite": "^1.0.30001254", + "colorette": "^1.3.0", + "electron-to-chromium": "^1.3.830", "escalade": "^3.1.1", - "node-releases": "^1.1.71" + "node-releases": "^1.1.75" } }, "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, "buffer-indexof": { "version": "1.1.1", @@ -3077,9 +3137,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001245", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001245.tgz", - "integrity": "sha512-768fM9j1PKXpOCKws6eTo3RHmvTUsG9UrpT4WoREFeZgJBTi4/X9g565azS/rVUGtqb8nt7FjLeF5u4kukERnA==" + "version": "1.0.30001256", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001256.tgz", + "integrity": "sha512-QirrvMLmB4txNnxiaG/xbm6FSzv9LqOZ3Jp9VtCYb3oPIfCHpr/oGn38pFq0udwlkctvXQgPthaXqJ76DaYGnA==" }, "ccount": { "version": "1.1.0", @@ -3087,9 +3147,9 @@ "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==" }, "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -3270,9 +3330,9 @@ } }, "clean-css": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.1.3.tgz", - "integrity": "sha512-qGXzUCDpLwAlPx0kYeU4QXjzQIcIYZbJjD4FNm7NnSjoP0hYMVZhHOpUYJ6AwfkMX2cceLRq54MeCgHy/va1cA==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.1.5.tgz", + "integrity": "sha512-9dr/cU/LjMpU57PXlSvDkVRh0rPxJBXiBtD0+SgYt8ahTCsXtfKjCkNYgIoTC6mBg8CFr5EKhW3DKCaGMUbUfQ==", "requires": { "source-map": "~0.6.0" }, @@ -3407,14 +3467,14 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "colord": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.1.0.tgz", - "integrity": "sha512-H5sDP9XDk2uP+x/xSGkgB9SEFc1bojdI5DMKU0jmSXQtml2GIe48dj1DcSS0e53QQAHn+JKqUXbGeGX24xWD7w==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.7.0.tgz", + "integrity": "sha512-pZJBqsHz+pYyw3zpX6ZRXWoCHM1/cvFikY9TV8G3zcejCaKE0lhankoj8iScyrrePA8C7yJ5FStfA9zbcOnw7Q==" }, "colorette": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==" }, "combine-promises": { "version": "1.1.0", @@ -3567,9 +3627,9 @@ }, "dependencies": { "glob-parent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.0.tgz", - "integrity": "sha512-Hdd4287VEJcZXUwv1l8a+vXC1GjOQqXe+VS30w/ypihpcnu9M1n3xeYeJu5CBpeEQj2nAab2xxz28GuA3vp4Ww==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.1.tgz", + "integrity": "sha512-kEVjS71mQazDBHKcsq4E9u/vUzaLcw1A8EtUeydawvIWQCJM0qQ08G1H7/XTjFUulla6XQiDOG6MXSaG0HDKog==", "requires": { "is-glob": "^4.0.1" } @@ -3577,16 +3637,16 @@ } }, "core-js": { - "version": "3.15.2", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.15.2.tgz", - "integrity": "sha512-tKs41J7NJVuaya8DxIOCnl8QuPHx5/ZVbFo1oKgVl1qHFBBrDctzQGtuLjPpRdNTWmKPH6oEvgN/MUID+l485Q==" + "version": "3.17.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.17.3.tgz", + "integrity": "sha512-lyvajs+wd8N1hXfzob1LdOCCHFU4bGMbqqmLn1Q4QlCpDqWPpGf+p0nj+LNrvDDG33j0hZXw2nsvvVpHysxyNw==" }, "core-js-compat": { - "version": "3.15.2", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.15.2.tgz", - "integrity": "sha512-Wp+BJVvwopjI+A1EFqm2dwUmWYXrvucmtIB2LgXn/Rb+gWPKYxtmb4GKHGKG/KGF1eK9jfjzT38DITbTOCX/SQ==", + "version": "3.17.3", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.17.3.tgz", + "integrity": "sha512-+in61CKYs4hQERiADCJsdgewpdl/X0GhEX77pjKgbeibXviIt2oxEjTc8O2fqHX8mDdBrDvX8MYD/RYsBv4OiA==", "requires": { - "browserslist": "^4.16.6", + "browserslist": "^4.17.0", "semver": "7.0.0" }, "dependencies": { @@ -3598,19 +3658,19 @@ } }, "core-js-pure": { - "version": "3.15.2", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.15.2.tgz", - "integrity": "sha512-D42L7RYh1J2grW8ttxoY1+17Y4wXZeKe7uyplAI3FkNQyI5OgBIAjUfFiTPfL1rs0qLpxaabITNbjKl1Sp82tA==" + "version": "3.17.3", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.17.3.tgz", + "integrity": "sha512-YusrqwiOTTn8058JDa0cv9unbXdIiIgcgI9gXso0ey4WgkFLd3lYlV9rp9n7nDCsYxXsMDTjA4m1h3T348mdlQ==" }, "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, "cosmiconfig": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", - "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", "requires": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.2.1", @@ -3648,9 +3708,9 @@ "integrity": "sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA==" }, "css-declaration-sorter": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.0.3.tgz", - "integrity": "sha512-52P95mvW1SMzuRZegvpluT6yEv0FqQusydKQPZsNN5Q7hh8EwQvN8E2nwuJ16BBvNN6LcoIZXu/Bk58DAhrrxw==", + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.3.tgz", + "integrity": "sha512-SvjQjNRZgh4ULK1LDJ2AduPKUKxIqmtU7ZAyi47BTV+M90Qvxr9AB6lKlLbDUfXqI9IQeYA8LbAsCZPpJEV3aA==", "requires": { "timsort": "^0.3.0" } @@ -3737,22 +3797,23 @@ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" }, "cssnano": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.6.tgz", - "integrity": "sha512-NiaLH/7yqGksFGsFNvSRe2IV/qmEBAeDE64dYeD8OBrgp6lE8YoMeQJMtsv5ijo6MPyhuoOvFhI94reahBRDkw==", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.8.tgz", + "integrity": "sha512-Lda7geZU0Yu+RZi2SGpjYuQz4HI4/1Y+BhdD0jL7NXAQ5larCzVn+PUGuZbDMYz904AXXCOgO5L1teSvgu7aFg==", "requires": { - "cosmiconfig": "^7.0.0", - "cssnano-preset-default": "^5.1.3", - "is-resolvable": "^1.1.0" + "cssnano-preset-default": "^5.1.4", + "is-resolvable": "^1.1.0", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" } }, "cssnano-preset-advanced": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-5.1.3.tgz", - "integrity": "sha512-pS4+Q2Hoo/FevZs2JqA2BG8Vn5o5VeXgj+z6kGndKTq3RFYvlKeJ1ZPnLXo9zyYKwmSqWW0rWqtGxxmigIte0Q==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-5.1.4.tgz", + "integrity": "sha512-pFtIM15OzryDk09RcK+bBBtwSl80+g/POTAf/sVPqPmnOAleK6vBkY5wTmPjqGyV5/UTPjEzWMtbOQ3Z0kCBXA==", "requires": { "autoprefixer": "^10.2.0", - "cssnano-preset-default": "^5.1.3", + "cssnano-preset-default": "^5.1.4", "postcss-discard-unused": "^5.0.1", "postcss-merge-idents": "^5.0.1", "postcss-reduce-idents": "^5.0.1", @@ -3760,9 +3821,9 @@ } }, "cssnano-preset-default": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.3.tgz", - "integrity": "sha512-qo9tX+t4yAAZ/yagVV3b+QBKeLklQbmgR3wI7mccrDcR+bEk9iHgZN1E7doX68y9ThznLya3RDmR+nc7l6/2WQ==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.4.tgz", + "integrity": "sha512-sPpQNDQBI3R/QsYxQvfB4mXeEcWuw0wGtKtmS5eg8wudyStYMgKOQT39G07EbW1LB56AOYrinRS9f0ig4Y3MhQ==", "requires": { "css-declaration-sorter": "^6.0.3", "cssnano-utils": "^2.0.1", @@ -3776,7 +3837,7 @@ "postcss-merge-longhand": "^5.0.2", "postcss-merge-rules": "^5.0.2", "postcss-minify-font-values": "^5.0.1", - "postcss-minify-gradients": "^5.0.1", + "postcss-minify-gradients": "^5.0.2", "postcss-minify-params": "^5.0.1", "postcss-minify-selectors": "^5.1.0", "postcss-normalize-charset": "^5.0.1", @@ -4032,17 +4093,17 @@ "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==" }, "domhandler": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz", - "integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz", + "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==", "requires": { "domelementtype": "^2.2.0" } }, "domutils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.7.0.tgz", - "integrity": "sha512-8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", "requires": { "dom-serializer": "^1.0.1", "domelementtype": "^2.2.0", @@ -4082,9 +4143,9 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, "electron-to-chromium": { - "version": "1.3.779", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.779.tgz", - "integrity": "sha512-nreave0y/1Qhmo8XtO6C/LpawNyC6U26+q7d814/e+tIqUK073pM+4xW7WUXyqCRa5K4wdxHmNMBAi8ap9nEew==" + "version": "1.3.836", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.836.tgz", + "integrity": "sha512-Ney3pHOJBWkG/AqYjrW0hr2AUCsao+2uvq9HUlRP8OlpSdk/zOHOUJP7eu0icDvePC9DlgffuelP4TnOJmMRUg==" }, "emoji-regex": { "version": "7.0.3", @@ -4145,21 +4206,23 @@ } }, "es-abstract": { - "version": "1.18.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.3.tgz", - "integrity": "sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw==", + "version": "1.18.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.6.tgz", + "integrity": "sha512-kAeIT4cku5eNLNuUKhlmtuk1/TRZvQoYccn6TO0cSVdf1kzB0T7+dYuVK9MWM7l+/53W2Q8M7N2c6MQvhXFcUQ==", "requires": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", "has": "^1.0.3", "has-symbols": "^1.0.2", - "is-callable": "^1.2.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.3", - "is-string": "^1.0.6", - "object-inspect": "^1.10.3", + "is-regex": "^1.1.4", + "is-string": "^1.0.7", + "object-inspect": "^1.11.0", "object-keys": "^1.1.1", "object.assign": "^4.1.2", "string.prototype.trimend": "^1.0.4", @@ -4527,9 +4590,9 @@ } }, "fastq": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.1.tgz", - "integrity": "sha512-HOnr8Mc60eNYl1gzwp6r5RoUyAn5/glBolUzP/Ez6IFVPMPirxn/9phgL6zhOtaTy7ISwPvQ+wT+hfcRZh/bzw==", + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", "requires": { "reusify": "^1.0.4" } @@ -4637,9 +4700,9 @@ } }, "find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "requires": { "commondir": "^1.0.1", "make-dir": "^3.0.2", @@ -4665,9 +4728,9 @@ } }, "follow-redirects": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz", - "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==" + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.3.tgz", + "integrity": "sha512-3MkHxknWMUtb23apkgz/83fDoe+y+qr0TdgacGIA7bew+QLBo3vdgEN2xEsuXNivpFy4CyDhBBZnNZOtalmenw==" }, "for-in": { "version": "1.0.2", @@ -4906,25 +4969,24 @@ "pump": "^3.0.0" } }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" }, "github-slugger": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.3.0.tgz", - "integrity": "sha512-gwJScWVNhFYSRDvURk/8yhcFBee6aFjye2a7Lhb2bUyRulpIoek9p0I9Kt7PT67d/nUlZbFu8L9RLiA0woQN8Q==", - "requires": { - "emoji-regex": ">=6.0.0 <=6.1.1" - }, - "dependencies": { - "emoji-regex": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.1.tgz", - "integrity": "sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4=" - } - } + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.4.0.tgz", + "integrity": "sha512-w0dzqw/nt51xMVmlaV1+JRzN+oCa1KfcgGEWhxUG16wbdA+Xnt/yoFO8Z8x/V82ZcZ0wy6ln9QDup5avbhiDhQ==" }, "glob": { "version": "7.1.7", @@ -5032,9 +5094,9 @@ } }, "graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", + "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" }, "gray-matter": { "version": "4.0.3", @@ -5084,6 +5146,14 @@ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "requires": { + "has-symbols": "^1.0.2" + } + }, "has-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", @@ -5151,16 +5221,15 @@ } }, "hast-util-from-parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz", - "integrity": "sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-5.0.3.tgz", + "integrity": "sha512-gOc8UB99F6eWVWFtM9jUikjN7QkWxB3nY0df5Z0Zq1/Nkwl5V4hAAsl0tmwlgWl/1shlTF8DnNYLO8X6wRV9pA==", "requires": { - "@types/parse5": "^5.0.0", - "hastscript": "^6.0.0", + "ccount": "^1.0.3", + "hastscript": "^5.0.0", "property-information": "^5.0.0", - "vfile": "^4.0.0", - "vfile-location": "^3.2.0", - "web-namespaces": "^1.0.0" + "web-namespaces": "^1.1.2", + "xtend": "^4.0.1" } }, "hast-util-parse-selector": { @@ -5183,6 +5252,38 @@ "web-namespaces": "^1.0.0", "xtend": "^4.0.0", "zwitch": "^1.0.0" + }, + "dependencies": { + "hast-util-from-parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz", + "integrity": "sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==", + "requires": { + "@types/parse5": "^5.0.0", + "hastscript": "^6.0.0", + "property-information": "^5.0.0", + "vfile": "^4.0.0", + "vfile-location": "^3.2.0", + "web-namespaces": "^1.0.0" + } + }, + "hastscript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz", + "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==", + "requires": { + "@types/hast": "^2.0.0", + "comma-separated-tokens": "^1.0.0", + "hast-util-parse-selector": "^2.0.0", + "property-information": "^5.0.0", + "space-separated-tokens": "^1.0.0" + } + }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + } } }, "hast-util-to-parse5": { @@ -5198,11 +5299,10 @@ } }, "hastscript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz", - "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-5.1.2.tgz", + "integrity": "sha512-WlztFuK+Lrvi3EggsqOkQ52rKbxkXL3RwB6t5lwoa8QLMemoWfBuL43eDrwOamJyR7uKQKdmKYaBH1NZBiIRrQ==", "requires": { - "@types/hast": "^2.0.0", "comma-separated-tokens": "^1.0.0", "hast-util-parse-selector": "^2.0.0", "property-information": "^5.0.0", @@ -5214,11 +5314,6 @@ "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" }, - "hex-color-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", - "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" - }, "history": { "version": "4.10.1", "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", @@ -5275,16 +5370,6 @@ } } }, - "hsl-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", - "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=" - }, - "hsla-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", - "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=" - }, "html-entities": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", @@ -5707,9 +5792,9 @@ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" }, "infima": { - "version": "0.2.0-alpha.26", - "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.26.tgz", - "integrity": "sha512-0/Dt+89mf8xW+9/hKGmynK+WOAsiy0QydVJL0qie6WK57yGIQv+SjJrhMybKndnmkZBQ+Vlt0tWPnTakx8X2Qw==" + "version": "0.2.0-alpha.33", + "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.33.tgz", + "integrity": "sha512-iLZI8/vGTbbhbeFhlWv1zwvrqfNDLAayuEdqZqNqCyGuh0IW469dRIRm0FLZ98YyLikt2njzuKfy6xUrBWRXcg==" }, "inflight": { "version": "1.0.6", @@ -5744,6 +5829,16 @@ "ipaddr.js": "^1.9.0" } }, + "internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "requires": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, "interpret": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", @@ -5802,11 +5897,12 @@ } }, "is-arguments": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", - "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", "requires": { - "call-bind": "^1.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" } }, "is-arrayish": { @@ -5815,9 +5911,12 @@ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" }, "is-bigint": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", - "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "requires": { + "has-bigints": "^1.0.1" + } }, "is-binary-path": { "version": "2.1.0", @@ -5828,11 +5927,12 @@ } }, "is-boolean-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz", - "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "requires": { - "call-bind": "^1.0.2" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" } }, "is-buffer": { @@ -5841,9 +5941,9 @@ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, "is-callable": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", - "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==" + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==" }, "is-ci": { "version": "2.0.0", @@ -5860,30 +5960,10 @@ } } }, - "is-color-stop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", - "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", - "requires": { - "css-color-names": "^0.0.4", - "hex-color-regex": "^1.1.0", - "hsl-regex": "^1.0.0", - "hsla-regex": "^1.0.0", - "rgb-regex": "^1.0.1", - "rgba-regex": "^1.0.0" - }, - "dependencies": { - "css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=" - } - } - }, "is-core-module": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz", - "integrity": "sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz", + "integrity": "sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==", "requires": { "has": "^1.0.3" } @@ -5907,9 +5987,12 @@ } }, "is-date-object": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz", - "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "requires": { + "has-tostringtag": "^1.0.0" + } }, "is-decimal": { "version": "1.0.4", @@ -5991,9 +6074,12 @@ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, "is-number-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", - "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", + "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", + "requires": { + "has-tostringtag": "^1.0.0" + } }, "is-obj": { "version": "2.0.0", @@ -6042,12 +6128,12 @@ } }, "is-regex": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", - "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "requires": { "call-bind": "^1.0.2", - "has-symbols": "^1.0.2" + "has-tostringtag": "^1.0.0" } }, "is-regexp": { @@ -6071,9 +6157,12 @@ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" }, "is-string": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz", - "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==" + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "requires": { + "has-tostringtag": "^1.0.0" + } }, "is-symbol": { "version": "1.0.4", @@ -6132,9 +6221,9 @@ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" }, "jest-worker": { - "version": "27.0.6", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.6.tgz", - "integrity": "sha512-qupxcj/dRuA3xHPMUd40gr2EaAurFbkwzOh7wfPaeE9id7hyjURRQoqNfHifHK3XjJU6YJJUQKILGUnwGPEOCA==", + "version": "27.1.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.1.1.tgz", + "integrity": "sha512-XJKCL7tu+362IUYTWvw8+3S75U7qMiYiRU6u5yqscB48bTvzwN6i8L/7wVTXiFLwkRsxARNM7TISnTvcgv9hxA==", "requires": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -6157,9 +6246,9 @@ } }, "joi": { - "version": "17.4.1", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.4.1.tgz", - "integrity": "sha512-gDPOwQ5sr+BUxXuPDGrC1pSNcVR/yGGcTI0aCnjYxZEa3za60K/iCQ+OFIkEHWZGVCUcUlXlFKvMmrlmxrG6UQ==", + "version": "17.4.2", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.4.2.tgz", + "integrity": "sha512-Lm56PP+n0+Z2A2rfRvsfWVDXGEWjXxatPopkQ8qQ5mxCEhwHG+Ettgg5o98FFaxilOxozoa14cFhrE/hOzh/Nw==", "requires": { "@hapi/hoek": "^9.0.0", "@hapi/topo": "^5.0.0", @@ -6270,6 +6359,11 @@ "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" }, + "lilconfig": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.3.tgz", + "integrity": "sha512-EHKqr/+ZvdKCifpNrJCKxBTgk5XupZA3y/aCPY9mxfgBzmgh93Mt/WqjjQ38oMxXuvDokaKiM3lAgvSH2sjtHg==" + }, "lines-and-columns": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", @@ -6383,11 +6477,6 @@ "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=" }, - "lodash.toarray": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", - "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=" - }, "lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", @@ -6584,16 +6673,16 @@ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" }, "mime-db": { - "version": "1.48.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz", - "integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==" + "version": "1.49.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", + "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==" }, "mime-types": { - "version": "2.1.31", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz", - "integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==", + "version": "2.1.32", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", + "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", "requires": { - "mime-db": "1.48.0" + "mime-db": "1.49.0" } }, "mimic-fn": { @@ -6711,9 +6800,9 @@ "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=" }, "nanoid": { - "version": "3.1.23", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz", - "integrity": "sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==" + "version": "3.1.25", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz", + "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==" }, "nanomatch": { "version": "1.2.13", @@ -6777,11 +6866,11 @@ } }, "node-emoji": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.10.0.tgz", - "integrity": "sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", "requires": { - "lodash.toarray": "^4.4.0" + "lodash": "^4.17.21" } }, "node-fetch": { @@ -6795,9 +6884,9 @@ "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" }, "node-releases": { - "version": "1.1.73", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz", - "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==" + "version": "1.1.75", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.75.tgz", + "integrity": "sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw==" }, "normalize-path": { "version": "3.0.0", @@ -7129,14 +7218,14 @@ } }, "parse-numeric-range": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.2.0.tgz", - "integrity": "sha512-1q2tXpAOplPxcl8vrIGPWz1dJxxfmdRkCFcpxxMBerDnGuuHalOWF/xj9L8Nn5XoTUoB/6F0CeQBp2fMgkOYFg==" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", + "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==" }, "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==" }, "parseurl": { "version": "1.3.3", @@ -7302,9 +7391,9 @@ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" }, "postcss": { - "version": "8.3.5", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.5.tgz", - "integrity": "sha512-NxTuJocUhYGsMiMFHDUkmjSKT3EdH4/WbGF6GCi1NDGk+vbcUTun4fpbOqaPtD8IIsztA2ilZm2DhYCuyN58gA==", + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.6.tgz", + "integrity": "sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==", "requires": { "colorette": "^1.2.2", "nanoid": "^3.1.23", @@ -7417,12 +7506,12 @@ } }, "postcss-minify-gradients": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.1.tgz", - "integrity": "sha512-odOwBFAIn2wIv+XYRpoN2hUV3pPQlgbJ10XeXPq8UY2N+9ZG42xu45lTn/g9zZ+d70NKSQD6EOi6UiCMu3FN7g==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.2.tgz", + "integrity": "sha512-7Do9JP+wqSD6Prittitt2zDLrfzP9pqKs2EcLX7HJYxsxCOwrrcLt4x/ctQTsiOw+/8HYotAoqNkrzItL19SdQ==", "requires": { + "colord": "^2.6", "cssnano-utils": "^2.0.1", - "is-color-stop": "^1.1.0", "postcss-value-parser": "^4.1.0" } }, @@ -8013,11 +8102,11 @@ } }, "react-router": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.0.tgz", - "integrity": "sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.1.tgz", + "integrity": "sha512-lIboRiOtDLFdg1VTemMwud9vRVuOCZmUIT/7lUoZiSpPODiiH1UQlfXy+vPLC/7IWdFYnhRwAyNqA/+I7wnvKQ==", "requires": { - "@babel/runtime": "^7.1.2", + "@babel/runtime": "^7.12.13", "history": "^4.9.0", "hoist-non-react-statics": "^3.1.0", "loose-envify": "^1.3.1", @@ -8053,15 +8142,15 @@ } }, "react-router-dom": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.2.0.tgz", - "integrity": "sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.0.tgz", + "integrity": "sha512-ObVBLjUZsphUUMVycibxgMdh5jJ1e3o+KpAZBVeHcNQZ4W+uUGGWsokurzlF4YOldQYRQL4y6yFRWM4m3svmuQ==", "requires": { - "@babel/runtime": "^7.1.2", + "@babel/runtime": "^7.12.13", "history": "^4.9.0", "loose-envify": "^1.3.1", "prop-types": "^15.6.2", - "react-router": "5.2.0", + "react-router": "5.2.1", "tiny-invariant": "^1.0.2", "tiny-warning": "^1.0.0" } @@ -8100,9 +8189,9 @@ } }, "reading-time": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.3.0.tgz", - "integrity": "sha512-RJ8J5O6UvrclfZpcPSPuKusrdRfoY7uXXoYOOdeswZNtSkQaewT3919yz6RyloDBR+iwcUyz5zGOUjhgvfuv3g==" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz", + "integrity": "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==" }, "rechoir": { "version": "0.6.2", @@ -8134,9 +8223,9 @@ } }, "regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" }, "regenerator-transform": { "version": "0.14.5", @@ -8240,36 +8329,6 @@ "hast-util-from-parse5": "^5.0.0", "parse5": "^5.0.0", "xtend": "^4.0.0" - }, - "dependencies": { - "hast-util-from-parse5": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-5.0.3.tgz", - "integrity": "sha512-gOc8UB99F6eWVWFtM9jUikjN7QkWxB3nY0df5Z0Zq1/Nkwl5V4hAAsl0tmwlgWl/1shlTF8DnNYLO8X6wRV9pA==", - "requires": { - "ccount": "^1.0.3", - "hastscript": "^5.0.0", - "property-information": "^5.0.0", - "web-namespaces": "^1.1.2", - "xtend": "^4.0.1" - } - }, - "hastscript": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-5.1.2.tgz", - "integrity": "sha512-WlztFuK+Lrvi3EggsqOkQ52rKbxkXL3RwB6t5lwoa8QLMemoWfBuL43eDrwOamJyR7uKQKdmKYaBH1NZBiIRrQ==", - "requires": { - "comma-separated-tokens": "^1.0.0", - "hast-util-parse-selector": "^2.0.0", - "property-information": "^5.0.0", - "space-separated-tokens": "^1.0.0" - } - }, - "parse5": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", - "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==" - } } }, "relateurl": { @@ -8285,20 +8344,6 @@ "rehype-parse": "^6.0.2", "unified": "^8.4.2", "unist-util-visit": "^2.0.1" - }, - "dependencies": { - "unified": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-8.4.2.tgz", - "integrity": "sha512-JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA==", - "requires": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-plain-obj": "^2.0.0", - "trough": "^1.0.0", - "vfile": "^4.0.0" - } - } } }, "remark-emoji": { @@ -8377,10 +8422,28 @@ "@babel/helper-plugin-utils": "^7.10.4" } }, + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" + }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "unified": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz", + "integrity": "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==", + "requires": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + } } } }, @@ -8399,7 +8462,7 @@ "parse-entities": "^2.0.0", "repeat-string": "^1.5.4", "state-toggle": "^1.0.0", - "trim": ">=0.0.3", + "trim": "0.0.1", "trim-trailing-lines": "^1.0.0", "unherit": "^1.0.4", "unist-util-remove-position": "^2.0.0", @@ -8550,16 +8613,6 @@ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" }, - "rgb-regex": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", - "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=" - }, - "rgba-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", - "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" - }, "rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -8678,11 +8731,11 @@ } }, "schema-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz", - "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "requires": { - "@types/json-schema": "^7.0.7", + "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } @@ -8955,17 +9008,27 @@ "rechoir": "^0.6.2" } }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, "signal-exit": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" }, "sirv": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.12.tgz", - "integrity": "sha512-+jQoCxndz7L2tqQL4ZyzfDhky0W/4ZJip3XoOuxyQWnAwMxindLl3Xv1qT4x1YX/re0leShvTm8Uk0kQspGhBg==", + "version": "1.0.17", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.17.tgz", + "integrity": "sha512-qx9go5yraB7ekT7bCMqUHJ5jEaOC/GXBxUWv+jeWnb7WzHUFdcQPGWk7YmAwFBaQBrogpuSqd/azbC2lZRqqmw==", "requires": { - "@polka/url": "^1.0.0-next.15", + "@polka/url": "^1.0.0-next.20", "mime": "^2.3.1", "totalist": "^1.0.0" }, @@ -8994,9 +9057,9 @@ }, "dependencies": { "@types/node": { - "version": "15.14.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-15.14.2.tgz", - "integrity": "sha512-dvMUE/m2LbXPwlvVuzCyslTEtQ2ZwuuFClDrOQ6mp2CenCg971719PTILZ4I6bTP27xfFFc+o7x2TkLuun/MPw==" + "version": "15.14.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-15.14.9.tgz", + "integrity": "sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A==" } } }, @@ -9118,16 +9181,16 @@ } }, "sockjs-client": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.1.tgz", - "integrity": "sha512-VnVAb663fosipI/m6pqRXakEOw7nvd7TUgdr3PlR/8V2I95QIdwT8L4nMxhyU8SmDBHYXU1TOElaKOmKLfYzeQ==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.2.tgz", + "integrity": "sha512-ZzRxPBISQE7RpzlH4tKJMQbHM9pabHluk0WBaxAQ+wm/UieeBVBou0p4wVnSQGN9QmpAZygQ0cDIypWuqOFmFQ==", "requires": { "debug": "^3.2.6", "eventsource": "^1.0.7", "faye-websocket": "^0.11.3", "inherits": "^2.0.4", "json3": "^3.3.3", - "url-parse": "^1.5.1" + "url-parse": "^1.5.3" }, "dependencies": { "debug": { @@ -9173,9 +9236,9 @@ } }, "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "version": "0.5.20", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz", + "integrity": "sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==", "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -9435,15 +9498,15 @@ "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" }, "svgo": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.3.1.tgz", - "integrity": "sha512-riDDIQgXpEnn0BEl9Gvhh1LNLIyiusSpt64IR8upJu7MwxnzetmF/Y57pXQD2NMX2lVyMRzXt5f2M5rO4wG7Dw==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.5.0.tgz", + "integrity": "sha512-FSdBOOo271VyF/qZnOn1PgwCdt1v4Dx0Sey+U1jgqm1vqRYjPGdip0RGrFW6ItwtkBB8rHgHk26dlVr0uCs82Q==", "requires": { "@trysound/sax": "0.1.1", - "chalk": "^4.1.0", - "commander": "^7.1.0", + "colorette": "^1.3.0", + "commander": "^7.2.0", "css-select": "^4.1.3", - "css-tree": "^1.1.2", + "css-tree": "^1.1.3", "csso": "^4.2.0", "stable": "^0.1.8" }, @@ -9461,9 +9524,9 @@ "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==" }, "terser": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.1.tgz", - "integrity": "sha512-b3e+d5JbHAe/JSjwsC3Zn55wsBIM7AsHLjKxT31kGCldgbpFePaFo+PiddtO6uwRZWRw7sPXmAN8dTW61xmnSg==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.2.tgz", + "integrity": "sha512-0Omye+RD4X7X69O0eql3lC4Heh/5iLj3ggxR/B5ketZLOtLiOqukUgjw3q4PDnNQbsrkKr3UMypqStQG3XKRvw==", "requires": { "commander": "^2.20.0", "source-map": "~0.7.2", @@ -9483,16 +9546,16 @@ } }, "terser-webpack-plugin": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.4.tgz", - "integrity": "sha512-C2WkFwstHDhVEmsmlCxrXUtVklS+Ir1A7twrYzrDrQQOIMOaVAYykaoo/Aq1K0QRkMoY2hhvDQY1cm4jnIMFwA==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.2.4.tgz", + "integrity": "sha512-E2CkNMN+1cho04YpdANyRrn8CyN4yMy+WdFKZIySFZrGXZxJwJP6PMNGGc/Mcr6qygQHUUqRxnAPmi0M9f00XA==", "requires": { - "jest-worker": "^27.0.2", + "jest-worker": "^27.0.6", "p-limit": "^3.1.0", - "schema-utils": "^3.0.0", + "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.0", "source-map": "^0.6.1", - "terser": "^5.7.0" + "terser": "^5.7.2" }, "dependencies": { "source-map": { @@ -9624,9 +9687,9 @@ "integrity": "sha512-3IVX4nI6B5cc31/GFFE+i8ey/N2eA0CZDbo6n0yrz0zDX8ZJ8djmU1p+XRz7G3is0F3bB3pu2pAroFdAWQKU3w==" }, "tslib": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", - "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" }, "type-fest": { "version": "0.20.2", @@ -9700,23 +9763,15 @@ "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==" }, "unified": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz", - "integrity": "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==", + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-8.4.2.tgz", + "integrity": "sha512-JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA==", "requires": { "bail": "^1.0.0", "extend": "^3.0.0", - "is-buffer": "^2.0.0", "is-plain-obj": "^2.0.0", "trough": "^1.0.0", "vfile": "^4.0.0" - }, - "dependencies": { - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" - } } }, "union-value": { @@ -10083,9 +10138,9 @@ "integrity": "sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==" }, "webpack": { - "version": "5.45.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.45.1.tgz", - "integrity": "sha512-68VT2ZgG9EHs6h6UxfV2SEYewA9BA3SOLSnC2NEbJJiEwbAiueDL033R1xX0jzjmXvMh0oSeKnKgbO2bDXIEyQ==", + "version": "5.52.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.52.1.tgz", + "integrity": "sha512-wkGb0hLfrS7ML3n2xIKfUIwHbjB6gxwQHyLmVHoAqEQBw+nWo+G6LoHL098FEXqahqximsntjBLuewStrnJk0g==", "requires": { "@types/eslint-scope": "^3.7.0", "@types/estree": "^0.0.50", @@ -10093,6 +10148,7 @@ "@webassemblyjs/wasm-edit": "1.11.1", "@webassemblyjs/wasm-parser": "1.11.1", "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^5.8.0", @@ -10109,7 +10165,7 @@ "tapable": "^2.1.1", "terser-webpack-plugin": "^5.1.3", "watchpack": "^2.2.0", - "webpack-sources": "^2.3.0" + "webpack-sources": "^3.2.0" } }, "webpack-bundle-analyzer": { @@ -10543,20 +10599,9 @@ } }, "webpack-sources": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.0.tgz", - "integrity": "sha512-WyOdtwSvOML1kbgtXbTDnEW0jkJ7hZr/bDByIwszhWd/4XX1A3XMkrbFMsuH4+/MfLlZCUzlAdg4r7jaGKEIgQ==", - "requires": { - "source-list-map": "^2.0.1", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.0.tgz", + "integrity": "sha512-fahN08Et7P9trej8xz/Z7eRu8ltyiygEo/hnRi9KqBUs80KeDcnf96ZJo++ewWd84fEf3xSX9bp4ZS9hbw0OBw==" }, "webpackbar": { "version": "5.0.0-3", @@ -10684,9 +10729,9 @@ } }, "ws": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz", - "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==" + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz", + "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==" }, "xdg-basedir": { "version": "4.0.0", diff --git a/website/package.json b/website/package.json index 195a13f2..4c93fb4f 100644 --- a/website/package.json +++ b/website/package.json @@ -14,8 +14,8 @@ "write-heading-ids": "docusaurus write-heading-ids" }, "dependencies": { - "@docusaurus/core": "^2.0.0-beta.3", - "@docusaurus/preset-classic": "^2.0.0-beta.3", + "@docusaurus/core": "^2.0.0-beta.6", + "@docusaurus/preset-classic": "^2.0.0-beta.6", "@mdx-js/react": "^1.6.21", "clsx": "^1.1.1", "react": "^16.8.4", From bdc76585c193f0a2450d7739d414097abafd7288 Mon Sep 17 00:00:00 2001 From: hiron Date: Sat, 11 Sep 2021 19:16:52 +0900 Subject: [PATCH 149/162] Fix test build setting to run pullreq --- .github/workflows/test-build-document.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-build-document.yml b/.github/workflows/test-build-document.yml index 52126a86..f7a42c2b 100644 --- a/.github/workflows/test-build-document.yml +++ b/.github/workflows/test-build-document.yml @@ -1,7 +1,7 @@ name: test build document site on: - push: + pull_request: branches: [develop] paths: - "website/**" From 03f358c2bb446baa0c4e8a234df3546de92226ff Mon Sep 17 00:00:00 2001 From: hiron Date: Fri, 17 Sep 2021 20:13:17 +0900 Subject: [PATCH 150/162] Update top page --- website/docusaurus.config.js | 4 ++++ website/src/css/custom.css | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/website/docusaurus.config.js b/website/docusaurus.config.js index 361f85ff..9ad80ee5 100644 --- a/website/docusaurus.config.js +++ b/website/docusaurus.config.js @@ -103,6 +103,10 @@ module.exports = { label: 'Twitter', href: 'https://twitter.com/hiron_rgkr', }, + { + label: 'Discussion', + href: 'https://github.com/hrntsm/HoaryFox/discussions', + } ], }, { diff --git a/website/src/css/custom.css b/website/src/css/custom.css index 74ba0f27..e1d2e031 100644 --- a/website/src/css/custom.css +++ b/website/src/css/custom.css @@ -7,7 +7,7 @@ /* You can override the default Infima variables here. */ :root { - --ifm-color-primary: #25c2a0; + --ifm-color-primary: #ffae00; --ifm-color-primary-dark: rgb(33, 175, 144); --ifm-color-primary-darker: rgb(31, 165, 136); --ifm-color-primary-darkest: rgb(26, 136, 112); From 294cc7ca08b960ddb0f0a8f86e0d32a45bd6321c Mon Sep 17 00:00:00 2001 From: hiron Date: Fri, 17 Sep 2021 20:13:41 +0900 Subject: [PATCH 151/162] Update instalation page --- website/docs/Usage/HowToInstall.md | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/website/docs/Usage/HowToInstall.md b/website/docs/Usage/HowToInstall.md index 85581af1..148529a5 100644 --- a/website/docs/Usage/HowToInstall.md +++ b/website/docs/Usage/HowToInstall.md @@ -8,13 +8,28 @@ title: How to install HoaryFox のインストール方法について紹介します。 1. Food4Rhino の [HoaryFox](https://www.food4rhino.com/app/hoaryfox) のサイトからファイルをダウンロード + - HoaryFox のバージョン 2 以降は ST-Bridge のバージョン 2 のみの対応となります。 + - ST-Bridge のバージョン 1 のデータを扱う場合は HoaryFox のバージョン 1.3 を使用してください。 1. ダウンロードした zip ファイルを右クリックしプロパティから全般のタブの中にあるセキュリティの項目を「許可する」にし、zip を解凍する 1. Grasshopper を起動して File > Special Folders > Components folder を選択することで表示されるフォルダに、1. でダウンロードしたファイルの中にある 「HoaryFox」 という名前のフォルダを入れる 1. Rhino を再起動する +## 動作環境 + +対応OS +- Windows +- Mac + - Apple silicon での動作は未確認 + - Karamba3D 連携については、Mac 版の Karamba3D がないため動きません + +対応バージョン +- Rhino6 +- Rhino7 + ## Karamba3D との連携 -Karamba3D との連携機能を使う場合は Karamba.gha を管理者権限のないフォルダに移動してください。Karamba3D のフォルダは通常 Program flies > Rhino > Plug-ins にあります。 +Karamba3D との連携機能を使う場合は Karamba.gha と同じフォルダに HoaryFox のフォルダを移動してください。 +Karamba.gha はデフォルトでは C:\Program Files\Rhino xx\Plugins\Karamba にあります。 :::note 連携が必要ない場合は、HoaryFoxのフォルダ内にある karambaConnect.gha ファイルを削除するとコンポーネントの読み込みエラーを回避できます。 From b212e8c78405e5cbfdca1af5cc30306f44378a76 Mon Sep 17 00:00:00 2001 From: hiron Date: Fri, 17 Sep 2021 20:26:22 +0900 Subject: [PATCH 152/162] Update ShowSTBModel --- website/docs/Usage/ShowSTBModel.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/website/docs/Usage/ShowSTBModel.md b/website/docs/Usage/ShowSTBModel.md index 925784ca..c22ec011 100644 --- a/website/docs/Usage/ShowSTBModel.md +++ b/website/docs/Usage/ShowSTBModel.md @@ -7,7 +7,7 @@ STB のモデルを Grasshopper に読み込んで表示する方法について ## STB ファイルを読み込み -ファイルを開くと以下のようになっているため、path コンポーネントを右クリックし Select one existing file を選択し可視化したいstbファイルを選択してください。 +ファイルを開くと以下のようになっているため、path コンポーネントを右クリックし Select one existing file を選択し可視化したい stb ファイルを選択してください。 読み込みにエラーがない場合、その隣にある Load STB data コンポーネントでデータの変換が行われます。この出力を各可視化コンポーネントにつなぐことで Rhino のビューポート上に情報が可視化されます。 ![](../../images/ShowStbModel/input.png) @@ -17,15 +17,20 @@ STB のモデルを Grasshopper に読み込んで表示する方法について ### 部材の表示 [Geometry](../Component/Geometry) のカテゴリのコンポーネントを使用します。 -躯体のデータをラインで表示したい場合は **"Stb to Line"** コンポーネント、大きさを含めて Brep で表現したい場合は **"Stb to Brep"** コンポーネントを使用してください。 +躯体のデータをラインで表示したい場合は **"Stb to Line"** コンポーネント、大きさを含めて Brep で表現したい場合は **"Stb to Brep"** コンポーネントを使用してください。 +これらのコンポーネントの Bake 機能を使用することで、ST-Bridge の情報を UserText として持った状態で部材ごとにレイヤー分けされて Rhino に Bake することができます。 +階、軸の表示をしたい場合は **"Axis"** コンポーネントを使用してください。 ### 部材符号の表示 [NameTag](../Component/NameTag) のカテゴリのコンポーネントを使用します。 -柱、間柱、大梁、小梁、ブレースそれぞれに可視化コンポーネントを用意しているので、可視化したいもののコンポーネントに対して、Load STB data コンポーネントの出力をつなげてください。符号のサイズは Size の入力で変更できます。 +柱、間柱、大梁、小梁、ブレースそれぞれに可視化コンポーネントを用意しているので、可視化したいもののコンポーネントに対して、Load STB data コンポーネントの出力をつなげてください。 +符号のサイズは Size の入力で変更できます。 +部材の断面名をテキストとしてビューポート上に表示します。 ### 断面情報の表示 [SectionTag](../Component/SectionTag) のカテゴリのコンポーネントを使用します。 -柱、間柱、大梁、小梁、ブレースそれぞれに可視化コンポーネントを用意しているので、可視化したいもののコンポーネントに対して、Load STB data コンポーネントの出力をつなげてください。符号のサイズは Size の入力で変更できます。 +柱、間柱、大梁、小梁、ブレース、床、壁それぞれに可視化コンポーネントを用意しているので、可視化したいもののコンポーネントに対して、Load STB data コンポーネントの出力をつなげてください。 +符号のサイズは Size の入力で変更できます。 部材の断面サイズをテキストとしてビューポート上に出力します。 From ed85234b25e34d1bc4d79bedcc3a8d580f0d5ef2 Mon Sep 17 00:00:00 2001 From: hiron Date: Fri, 17 Sep 2021 20:42:46 +0900 Subject: [PATCH 153/162] Update ConvertToKaramba --- website/docs/Usage/ConvertToKaramba.md | 46 +++++++++++++++----------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/website/docs/Usage/ConvertToKaramba.md b/website/docs/Usage/ConvertToKaramba.md index 402a9b36..1487fd0d 100644 --- a/website/docs/Usage/ConvertToKaramba.md +++ b/website/docs/Usage/ConvertToKaramba.md @@ -3,19 +3,18 @@ id: ConvertToKaramba title: Convert to Karamba3D --- -STB のデータを使って Karamba3D のモデルを作成する方法を説明します。こちらの内容は Samples フォルダーの Convert_to_Karamba.gh のモデルを参照してください。 +ST-Bridge のデータを使って Karamba3D のモデルを作成する方法を説明します。こちらの内容は Samples フォルダーの Convert_to_Karamba.gh のモデルを参照してください。 ## データの変換 -[Show ST-Bridge model](./ShowSTBModel) で説明したように STB のデータを Grasshopper で読み込めるようにしてください。 -読み込んだ結果を以下のように Convert to Karamba コンポーネントに入力することでデータの変換が行われます。 +[Show ST-Bridge model](./ShowSTBModel) で説明したように ST-Bridge のデータを Load STB File コンポーネントで読み込んでください。 +読み込んだ結果を以下のように Convert to Karamba コンポーネントに入力することでデータの変換が行われます。 -要素と断面が変換対象です。変換したものはそのまま Karamba の Assmeble Model(Karamba3D) コンポーネントの入力にすることができるため、後は Load と Support の設定を行うだけで Karamba で解析が実行可能です。 -材料(Material) の情報は CrossSection の出力に含まれているため、別途設定する必要はありません。 +要素と断面が変換対象です。変換したものはそのまま Karamba3D の Assemble Model(Karamba3D) コンポーネントの入力にすることができるため、後は Load と Support の設定を行うだけで Karamba3D で解析が実行可能です。 +材料 (Material) の情報は CrossSection の出力に含まれているため、別途設定する必要はありません。 断面のファミリー名は以下のように形状ごとに SetFamilyName コンポーネントで任意に設定できます。設定しない場合は "HF-Box" のように "HF-" から始まるファミリー名になります。 - ![](../../images/ConvertToKaramba/gh.png) ## 変換の仕様 @@ -28,7 +27,7 @@ STB のデータを使って Karamba3D のモデルを作成する方法を説 ### 部材名称 -- 簡便のために、STB で持っているIDを名前として変換しています。(例 "Id15" のような名前) +- 簡便のために、STB で持っている ID を名前として変換しています。(例 "Id15" のような名前) - そのため、部材符号は失われます。 ### 断面形状 @@ -44,27 +43,34 @@ STB のデータを使って Karamba3D のモデルを作成する方法を説 - T 断面: I-Section として変換 - フラットバー: Trapezoid として変換 - 箱型断面: []-Section として変換 - - L 断面, C断面, 丸鋼: Karamba3D に対応断面がないこと、かつ基本的にはブレースとして仕様される部材と思われるので、軸断面積を合わせる形で正方形の Trapezoid として変換 - - 背中合わせや2丁づかいには対応していないため、STB 上でそのように設定されていても単独の断面として変換されます。 + - L 断面, C 断面, 丸鋼: Karamba3D に対応断面がないこと、かつ基本的にはブレースとして仕様される部材と思われるので、軸断面積を合わせる形で正方形の Trapezoid として変換 + - 背中合わせや 2 丁づかいには対応していないため、STB 上でそのように設定されていても単独の断面として変換されます。 ### 材料 -- RC - - 断面(StbSections) の設定で StbSecColumn_RC, および StbSecBeam_RC で出力されているものを RC として変換しています。 - - 材料は STB で指定可能ですが、材料名の文字列であり、特定の形式で記述されているかわけではないためすべて FC21 相当の材料特性を持つものとしています。 - - ヤング率: 21860 N/mm2 - - ポアソン比: 0.2 - - 密度: 24 kN/m3 - - Karamba の fy: 14 N/mm2 -- S + +- 鉄筋コンクリート部材 + - 断面(StbSections) の設定で StbSecColumn_RC、StbSecColumn_SRC、StbSecBeam_RC および StbSecBeam_SRC で出力されているものを RC として変換しています。 + - 材料は ST-Bridge 内で指定されたものを設定します。ただし、材料名の文字列でありヤング率などの値が直接指定されているわけではないため以下の条件の下で変換しています。 + - 対応している材料名 : Fc18, Fc21, Fc24, Fc27, Fc30, Fc33, Fc36, Fc40, Fc42, Fc45, Fc50, Fc55, Fc60 + - これに該当しない場合、または変換に失敗した場合は Fc21 をとして材料が割り当てられます。 + - 日本建築学会の RC 規準の式により値を計算します。 + - Fc21 での変換結果は以下になります。 + - ヤング率: 21860 N/mm2 + - ポアソン比: 0.2 + - 密度: 24 kN/m3 + - fy: 14 N/mm2 +- 鉄骨部材 - 上記以外の断面に対して、鉄の材料を与えています。 - - RC の材料指定と同じ理由で、すべて SN400 相当の材料特性を持つものとしています。 + - RC とは異なり材質によって fy を除き値が変わらないため、すべて SN400 相当の材料特性を持つものとしています。 - ヤング率: 205000 N/mm2 - ポアソン比: 0.3 - 密度: 78.5 kN/m3 - - Karamba の fy: 235 N/mm2 + - fy: 235 N/mm2 +- 木部材 + - ST-Bridge が木に非対応なため本機能では扱いません。 :::note 非対応機能も要望があれば適宜対応しますので、Contact よりご連絡ください。 -::: \ No newline at end of file +::: From 8c18802dab5616116f153a2e0886eecc3ba7d0cd Mon Sep 17 00:00:00 2001 From: hiron Date: Fri, 17 Sep 2021 20:59:23 +0900 Subject: [PATCH 154/162] Update ExportSTB --- website/docs/Usage/ExportSTB.md | 43 ++++++++++++++++----------------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/website/docs/Usage/ExportSTB.md b/website/docs/Usage/ExportSTB.md index 06f60a2e..f40fdf85 100644 --- a/website/docs/Usage/ExportSTB.md +++ b/website/docs/Usage/ExportSTB.md @@ -4,16 +4,17 @@ title: Export ST-Bridge file --- Karamba3D のデータから ST-Bridge のデータを作成する方法を説明します。こちらの内容は Samples フォルダーの ExportSTB.gh のモデルを参照してください。 -ST-Bridge の version 1.4 の形式で出力を行います。 +ST-Bridge の version 2.0.3 の形式で出力を行います。 ## Karamba3D モデルの変換 Karamba3D で作成したモデルから以下を作成します。 + - 節点(StbNodes) - 部材情報(StbMembers) - 断面情報(StbSections) -以下のように Karamba3D の AssmebleModel コンポーネントなどから出力される Model のデータを FrameBuilder by angle コンポーネントと NodeBuilder に入力することでデータを変換します。 +以下のように Karamba3D の AssembleModel コンポーネントなどから出力される Model のデータを FrameBuilder by angle コンポーネントと NodeBuilder に入力することでデータを変換します。 変換された部材が、柱・梁・ブレースのどれに変換されたかがテキストで Rhino のビューポートに表示されます。柱と梁は部材の角度で分類しているため、想定の区分でなかった場合は Angle の入力に適切な角度を入力してください。 ![](../../images/ExportStb/FrameBuilder.png) @@ -26,9 +27,10 @@ Karamba3D からの出力に際して、モデル化の注意点については AxisBuilder コンポーネントで軸(StbAxes)のデータを作成します。 基本的な挙動の考えとしては、Distance で指定した軸から Range の幅(Dist ± Range)にある節点を軸に属する節点として処理します。 -コンポーネントの出力を見ることで、軸の方向、原点からの距離、所属節点数の確認をすることができます。 -入力の仕様は以下です。わかりづらいので今後改良予定です。リストで入力し、同一のインデックスでの入力をマッチさせて変換します。 +入力の仕様は以下です。 +リストで入力し、同一のインデックスでの入力をマッチさせて変換します。 + - Node: 節点情報です。NodeBuilder の出力の Node を入れてください - Distance: 原点からの軸の距離を指定してください。 - 軸の方向は全体座標系での X 軸または Y 軸に平行になります。 @@ -45,7 +47,6 @@ AxisBuilder コンポーネントで軸(StbAxes)のデータを作成しま StoryBuilder コンポーネントで階(StbStories)のデータを作成します。 基本的な挙動は AxisBuilder コンポーネントと同様です。 -コンポーネントの出力を見ることで、階名、階高、所属節点数の確認をすることができます。 - Node: 節点情報です。NodeBuilder の出力の Node を入れてください。 - Height: 階高の情報です。原点からの高さを入力してください。 @@ -56,9 +57,9 @@ StoryBuilder コンポーネントで階(StbStories)のデータを作成し ## データの出力 -上記の3つで変換したデータを全て Export STB file コンポーネントに入力することでデータをまとめて1つの ST-Bridge ファイルを作成します。 -Path で指定したパスに STB ファイルを出力します。指定しない場合、デスクトップに model.stb というファイルで出力されます。 -Out? の値を True にするとファイルが出力されます。出力を確認することでデータの変換状況の概略を確認することができます。 +上記の 3 つで変換したデータを全て Export STB file コンポーネントに入力することでデータをまとめて 1 つの ST-Bridge ファイルを作成します。 +Path で指定したパスに ST-Bridge ファイルを出力します。指定しない場合、デスクトップに model.stb というファイルで出力されます。 +Out? の値を True にするとファイルが出力されます。 ![](../../images/ExportStb/ExportStbfile.png) @@ -66,15 +67,15 @@ Out? の値を True にするとファイルが出力されます。出力を確 ## 変換の仕様 -以下の仕様により ST-Brige データの作成を行います。 +以下の仕様により ST-Bridge データの作成を行います。 ### 対象 -- ST-Bridge version 1.4 の形式で出力します。 +- ST-Bridge version 2.0.3 の形式で出力します。 - 柱、梁、ブレースを変換し、床壁のような面材は変換しません :::note -ST-Bridge version 2 の形式での出力には今後対応予定です。 +ST-Bridge v2.0.3 の計算編の出力には非対応です。 ::: ### 部材の判別 @@ -83,11 +84,11 @@ ST-Bridge version 2 の形式での出力には今後対応予定です。 - Karamba3D でトラス要素として扱っているものはブレースとして変換 - 全体座標系の Z 軸に対しての FrameBuilder の Angle に入力された部材の角度未満である部材は柱、それ以上の場合は梁として変換 - 部材の判別は ST-Bridge における StbMember 内での各表現に対応します(例えば StbColumn など) -- STB の梁部材には、部材が基礎部材かのフラグ(isFoundation)があるが全て False で出力します +- ST-Bridge の梁部材には、部材が基礎部材かのフラグ(isFoundation)があるが全て False で出力します ### 材質の判別 -- Karamba3D の 材料を作成する際に設定する Family の名前が "Steel" の場合は S 部材、"Concrete" の場合は RC 部材とします +- Karamba3D の 材料を作成する際に設定する Family の名前が "Steel" の場合は鉄骨部材、"Concrete" の場合は 鉄筋コンクリート部材とします - 材質の判別は ST-Bridge における StbSections 内での各表現に対応します(例えば StbSecColumn_RC など) :::important @@ -104,19 +105,17 @@ ST-Bridge version 2 の形式での出力には今後対応予定です。 - Karamba3D の Cross Section コンポーネントの Name で設定した名称で断面を作成します :::important -Name の設定ごとに STB ファイルに出力しているため、必ず Name を設定するようにしてください -Name が重複している場合、HoaryFox のコンバーターでは同一断面として処理するため、1つの断面しか出力されません。 +Name の設定ごとに ST-Bridge ファイルに出力しているため、必ず Name を設定するようにしてください +Name が重複している場合、HoaryFox のコンバーターでは同一断面として処理するため、1 つの断面しか出力されません。 ::: ### 断面形状 -- Karamba3D で設定した断面の形状に合わせてSTBに出力します -- 変換にエラーがある時は、10mmの角材として出力します -- RC 断面は Karamba3D では配筋情報を持たないため以下で出力します - - 主筋: 梁ならば 上端も下端も 3-D22、柱ならば 8-D22 - - せん断補強筋: 2-D10@100 -- S 断面の場合、材質は フランジ、ウェブともに SN400 として出力します +- Karamba3D で設定した断面の形状に合わせて ST-Bridge に出力します +- 変換にエラーがある時は、10mm の角材として出力します +- RC 断面は Karamba3D では配筋情報を持たないため鉄筋情報はありません。 +- S 断面の場合、材質はフランジ、ウェブともに SN400 として出力します :::note 非対応機能も要望があれば適宜対応しますので、Contact よりご連絡ください。 -::: \ No newline at end of file +::: From be7888c0c87021d34c11c4943e915df6239cfeba Mon Sep 17 00:00:00 2001 From: hiron Date: Fri, 17 Sep 2021 21:02:35 +0900 Subject: [PATCH 155/162] Update BakeGeometry --- website/docs/Usage/BakeGeometry.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/website/docs/Usage/BakeGeometry.md b/website/docs/Usage/BakeGeometry.md index 266e30b5..3a0355cb 100644 --- a/website/docs/Usage/BakeGeometry.md +++ b/website/docs/Usage/BakeGeometry.md @@ -3,9 +3,10 @@ id: BakeGeometry title: Bake Geometry --- -STB のモデルを Grasshopper に読み込んで、Rhino へ Bake する方法について説明します。こちらの内容は Samples フォルダーの ShowStbModel.gh のモデルを参照してください。 +ST-Bridge のモデルを Grasshopper に読み込んで、Rhino へ Bake する方法について説明します。 +こちらの内容は Samples フォルダーの ShowStbModel.gh のモデルを参照してください。 -## STB ファイルを読み込み +## ST-Bridge ファイルを読み込み ファイルを開くと以下のようになっているため、path コンポーネントを右クリックし Select one existing file を選択し可視化したいstbファイルを選択してください。 読み込みにエラーがない場合、その隣にある Load STB data コンポーネントでデータの変換が行われます。この出力を各可視化コンポーネントにつなぐことで Rhino のビューポート上に情報が可視化されます。 @@ -19,6 +20,8 @@ Bake の入力に Button などを使用して True を入力すると Rhino へ レイヤーは、Column、Girder、Post、Beam、Brace、Slab、Wall にわかれ、その中でさらに部材符号ごとのサブレイヤーに分かれます。 -Bake されたジオメトリには、メタ情報を追加しています。ジオメトリを選択し、Properties の Attribure User Text を確認すると、断面サイズなどの値を確認することができるような BIM 的な機能になっています。 +Bake されたジオメトリには、メタ情報を追加しています。 +ジオメトリを選択し、Properties の Attribute User Text を確認すると、断面サイズなどの値を確認することができるような BIM 的な機能になっています。 +なお、Rhino 側で UserText を編集してもモデルを Grasshopper 側へ反映することはできません。 ![](../../images/BakeGeometry/Bake.png) From 184363c69c19bd476c50459e385bd11ab6e69cad Mon Sep 17 00:00:00 2001 From: hiron Date: Fri, 17 Sep 2021 21:15:31 +0900 Subject: [PATCH 156/162] Update Geometry --- website/docs/Component/Geometry.md | 48 ++++++++++++++++++++--------- website/images/Component/Axis.png | Bin 0 -> 11558 bytes 2 files changed, 33 insertions(+), 15 deletions(-) create mode 100644 website/images/Component/Axis.png diff --git a/website/docs/Component/Geometry.md b/website/docs/Component/Geometry.md index 6a16e872..b269f95a 100644 --- a/website/docs/Component/Geometry.md +++ b/website/docs/Component/Geometry.md @@ -3,7 +3,7 @@ id: Geometry title: Geometry --- -読み込んだ STB データから部材を可視化、Bake するコンポーネントのカテゴリ +読み込んだ ST-Bridge データから部材を可視化、Bake するコンポーネントのカテゴリ --- @@ -21,11 +21,11 @@ title: Geometry |出力|説明| |---|:---:| |Nodes| 節点の Point3d のリストを出力| -|Columns| 柱の Line のリストを出力| -|Girders| 大梁の Line のリストを出力| -|Posts| 間柱の Line のリストを出力| -|Beams| 小梁の Line のリストを出力| -|Braces| ブレースの Line のリストを出力| +|Columns| 柱の Line のツリーを出力| +|Girders| 大梁の Line のツリーを出力| +|Posts| 間柱の Line のツリーを出力| +|Beams| 小梁の Line のツリーを出力| +|Braces| ブレースの Line のツリーを出力| --- @@ -42,15 +42,33 @@ title: Geometry |出力|説明| |---|:---:| -|Columns| 柱形状を表す Brep のリストを出力| -|Girders| 大梁形状を表す Brep のリストを出力| -|Posts| 間柱形状を表す Brep のリストを出力| -|Beams| 小梁形状を表す Brep のリストを出力| -|Braces| ブレース形状を表す Brep のリストを出力| -|Slabs| スラブ形状を表す Brep のリストを出力| -|Walls| 壁形状を表す Brep のリストを出力| +|Columns| 柱形状を表す Brep のツリーを出力| +|Girders| 大梁形状を表す Brep のツリーを出力| +|Posts| 間柱形状を表す Brep のツリーを出力| +|Beams| 小梁形状を表す Brep のツリーを出力| +|Braces| ブレース形状を表す Brep のツリーを出力| +|Slabs| スラブ形状を表す Brep のツリーを出力| +|Walls| 壁形状を表す Brep のツリーを出力| ### 表示仕様 -- 壁は開口を含めて出力します -- スラブは凹形状の場合うまく出力されないことがあります +- 床、壁の開口は反映されません。 +- 平面でないスラブでは近似した面を張るため処理が重い場合があります。 + +--- + +## Axis + +![](../../images/Component/Axis.png) + +階と軸をラインで表示する + +|入力|説明| +|---|:---:| +|Data|Load STB file コンポーネントの Data 出力を入力| +|Factor|各 Brep を断面符号ごとにレイヤー分けして Bake する| +|Size|各 Brep を断面符号ごとにレイヤー分けして Bake する| + +|出力|説明| +|---|:---:| +|Axis| 軸と階を示す Line の出力| \ No newline at end of file diff --git a/website/images/Component/Axis.png b/website/images/Component/Axis.png new file mode 100644 index 0000000000000000000000000000000000000000..e6d54f6846293abf7ee222a24ad709ba399f4069 GIT binary patch literal 11558 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 Ye`D`m-YIxwIsgCw07*qoM6N<$f<%3Fv;Y7A literal 0 HcmV?d00001 From e6d8aa193500435487d780d69ce49fa234668829 Mon Sep 17 00:00:00 2001 From: hiron Date: Fri, 17 Sep 2021 21:19:55 +0900 Subject: [PATCH 157/162] Update IO --- website/docs/Component/IO.md | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/website/docs/Component/IO.md b/website/docs/Component/IO.md index 9d94de0d..031c96e5 100644 --- a/website/docs/Component/IO.md +++ b/website/docs/Component/IO.md @@ -11,7 +11,7 @@ title: IO ![](../../images/Component/LoadStbFile.png) -STB データの読み込み +ST-Bridge データの読み込み |入力|説明| |---|:---:| @@ -27,7 +27,7 @@ STB データの読み込み ![](../../images/Component/ExportStbFile.png) -STB データの書き出し +ST-Bridge データの書き出し |入力|説明| |---|:---:| @@ -36,27 +36,29 @@ STB データの書き出し |Story|階情報, StoryBuilder コンポーネントの Story 出力を入力| |Member|部材情報, FrameBuilder コンポーネントの Member 出力を入力| |Section|断面情報, FrameBuilder コンポーネントの Section 出力を入力| -|Path|作成した ST-Bridge データの出力先を指定。デフォルト値はデスクトップです| +|Path|作成した ST-Bridge データの出力先を指定。デフォルト値はデスクトップ| |Out?|出力を行うかのブール値。True にすると出力します| |出力|説明| |---|:---:| |Stb|作成した ST-Bridge データ| -こちらのコンポーネントの細かいの使い方・変換仕様は、Usage の [Export ST-Bridge file](../Usage/ExportSTB) の記事も参照してください。 +:::important +細かいの使い方・変換仕様は、Usage の [Export ST-Bridge file](../Usage/ExportSTB) の記事も参照してください。 +::: --- -## Convert to karamba +## Convert to karamba3D ![](../../images/Component/ConvertToKaramba.png) -読み込んだ STB データを 構造解析を行うコンポーネント [Karamba3D](https://www.karamba3d.com/) のデータに変換 +読み込んだ ST-Bridge データを 構造解析を行うコンポーネントの [Karamba3D](https://www.karamba3d.com/) のデータに変換 |入力|説明| |---|:---:| |Data|Load STB file コンポーネントの Data 出力を入力| -|FamilyName|断面のファミリー名の指定。入力しない場合、SetCroSecFamilyName コンポーネントのデフォルト値が入る| +|FamilyName|断面のファミリー名の指定。
入力しない場合、SetCroSecFamilyName コンポーネントのデフォルト値が入る| |出力|説明| |---|:---:| @@ -86,4 +88,6 @@ Karamba3D 内の断面につけるファミリー名の設定を行うコンポ |---|:---:| |FamilyName|Karamba3D での断面のファミリー名の設定| -こちらのコンポーネントの細かいの使い方・変換仕様は、Usage の [Convert to Karamba3D](../Usage/ConvertToKaramba) の記事も参照してください。 \ No newline at end of file +:::important +細かいの使い方・変換仕様は、Usage の [Convert to Karamba3D](../Usage/ConvertToKaramba) の記事も参照してください。 +::: From ec33b4e7ae77233735b8c1b51a760ccdab839161 Mon Sep 17 00:00:00 2001 From: hiron Date: Fri, 17 Sep 2021 21:30:40 +0900 Subject: [PATCH 158/162] Update NameTag --- website/docs/Component/NameTag.md | 54 ++++++++++++++++++----- website/images/Component/SlabNameTag.png | Bin 0 -> 11489 bytes website/images/Component/WallNameTag.png | Bin 0 -> 11055 bytes 3 files changed, 44 insertions(+), 10 deletions(-) create mode 100644 website/images/Component/SlabNameTag.png create mode 100644 website/images/Component/WallNameTag.png diff --git a/website/docs/Component/NameTag.md b/website/docs/Component/NameTag.md index 9ced2d4f..904ba56d 100644 --- a/website/docs/Component/NameTag.md +++ b/website/docs/Component/NameTag.md @@ -16,11 +16,11 @@ title: NameTag |入力|説明| |---|:---:| |Data|Load STB file コンポーネントの Data 出力を入力| -|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは12です| +|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは12| |出力|説明| |---|:---:| -|NameTag|符号のリスト| +|NameTag|符号のツリー| --- @@ -33,11 +33,11 @@ title: NameTag |入力|説明| |---|:---:| |Data|Load STB file コンポーネントの Data 出力を入力| -|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは12です| +|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは 12| |出力|説明| |---|:---:| -|NameTag|符号のリスト| +|NameTag|符号のツリー| --- @@ -50,11 +50,11 @@ title: NameTag |入力|説明| |---|:---:| |Data|Load STB file コンポーネントの Data 出力を入力| -|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは12です| +|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは 12| |出力|説明| |---|:---:| -|NameTag|符号のリスト| +|NameTag|符号のツリー| --- @@ -67,11 +67,11 @@ title: NameTag |入力|説明| |---|:---:| |Data|Load STB file コンポーネントの Data 出力を入力| -|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは12です| +|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは 12| |出力|説明| |---|:---:| -|NameTag|符号のリスト| +|NameTag|符号のツリー| --- @@ -84,8 +84,42 @@ title: NameTag |入力|説明| |---|:---:| |Data|Load STB file コンポーネントの Data 出力を入力| -|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは12です| +|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは 12| |出力|説明| |---|:---:| -|NameTag|符号のリスト| +|NameTag|符号のツリー| + +--- + +## Slab Name Tag + +![](../../images/Component/SlabNameTag.png) + +ブレースの部材符号表示 + +|入力|説明| +|---|:---:| +|Data|Load STB file コンポーネントの Data 出力を入力| +|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは 12| + +|出力|説明| +|---|:---:| +|NameTag|符号のツリー| + +--- + +## Wall Name Tag + +![](../../images/Component/WallNameTag.png) + +ブレースの部材符号表示 + +|入力|説明| +|---|:---:| +|Data|Load STB file コンポーネントの Data 出力を入力| +|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは 12| + +|出力|説明| +|---|:---:| +|NameTag|符号のツリー| diff --git a/website/images/Component/SlabNameTag.png b/website/images/Component/SlabNameTag.png new file mode 100644 index 0000000000000000000000000000000000000000..00147bbc714de7954762a076258f052004eb768c GIT binary patch literal 11489 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 Hu0mjf!zpQq literal 0 HcmV?d00001 diff --git a/website/images/Component/WallNameTag.png b/website/images/Component/WallNameTag.png new file mode 100644 index 0000000000000000000000000000000000000000..bfc36301bab86bc64f892903221910c76a9783a2 GIT binary patch literal 11055 zcmV+~E6~)5P)PyA07*naRCr$Pod=i})%C{T`O5YJC?bkrH#SgFnqom?j3p+v#1u>Xn;6t+6bl%o z7b$`z#*)M|6E%rREZ7T3w@^eZfPkP_D8d$Y_bc;%erLYB%r3j^;sP#Y@AE9|e)G-D zoqOMT&$;KEdye<^>}kH5&^9^Q%Y5QVzV9nye|k;0!?r!OtgO`fS5S~||I_E4x%qxt zkw{dMFW+a9qVjCce5L)Ayy~fnG-(*T7oK^%Nh4YFWY0R5Os1rW+n*C@hc%u$p^^8}(G1`I5ajp1eqAZqlCO@tBgSgd!2hAe|wCrjda+ZSr$lW$J^A zczXBU_w?jb&&Z2JluiS#rjEq6JwK7CGVsT<;=xPM+&kRF;oxNtSlO4KPV2N&zo{d- zbT-!V1*jYxn#fr5=S*)Ru!1*0enh?((YUeWHS3Kx)wSy}N~crS)$P$3tFMX)H`p5o zeS7ry>$!(}#%MIEd2{FLfPFe@;J{lHiNMzB%oxH3O=ARas{jjGZDJ&%(PQpVn_b%K zjyom<1Q79*P9x8Qw*mQHTaV!(Q>j#Dq-#Eq>1jN)@5}Rei+sBtpV5Nj5hasJ`+v&^ zgzLKNBg*M7dPvakEx%sV0At!iM$Zdg6xTOCZ@Ru3TwnHlg9i=P+jHK~&>^>)3J{4f zPtAd`V2J=e^5rS5h{lW^uU4&h(b%zfR7(~ntGv8S(P&IrSy?J6DOG-cp3Ojc`34mh z7F2_!w(iV8l$Dhka5#pN4G`Ug!;0(Im)M)ewR3ZW>o&I0FIrAct^t$3v$Jy)jYjN# zrYCO4#`BbxmWIFuu+sKyd3pI6a5cR{Jl4=5Lo|QxTRR4@Mvon@)~(xU%-C@@`Mmu+ z#8p>arQW@J>w*g|P+?)AUU}seb?DGR=bn46rcRw|6Ih=p`pHjzqL*KO*#`W@7hhDj zZrw81^)!3-Y@K!1Sq8kGJ$vfk|Ni$Djr#Y#_dR|2<(JkU-qv%@IY+nLa*K{R=9sT# zh4|^GpQ>xuuJ#N(Z#*7Xc6PS<^y#C&{`Ie0txt^g@L|I=f9~uZ2Ux9Iwbt#U$7IA; z0GL~Ez10Tjvdblq}dv0#7^6~=qajXFd`uFc& zJ?UW}zV+5y8a{lu9)JAtEdthg=bfkd^XKb{C!Wwj2OXsEe)qf9*CUTS(ymikS!sRZ z1-0nmJ2RaIr*Z`G<*_5C?-!-fs^H|O!ah8ijXVB)&Ggx~-E_w|Dx z{J`$dF<6y*0XjZoObZGMs>g`$tY5$0j&V=E*QQOIjG9pM?juGF*MfO->jst|Qr^D; zX*W&BGEo=_RudloqGOF$QSmOi{r1~4LNa)m`|i6>OP4OS!TQsm{-nM4-dhJAc%U)G zm@#7vRCnBQhXI2LV=%A3{(1vfpz}nG-2fJEv;$k9dwF`}jW;xM#n;R$N>~UyZPpu4ZMj&LJvOpp#J#BKWg>r)jIRcGc|DFK(%h&TL1djzx0oP z{6ou@Ez`HZ{cX*iJ6CJhuGPee6AeH-56|To^yfeSxqkZ7pBiX3*EZ^S!Snv`hd(qH zbuSUXdF-*rbk9Ba2zEQ=lv6Zl&>*#I*UrZ1%{Sjv-@bhf(AQpjt**J|8h!A=2WsEG z{U#ED@p@-Iz`9MI>8+-;h72ws$|iY>+g1QpRK8LfV0jundV&gz+t?%{16k5CD2TF0 zAAMA(opzeNc>n=mty!~1{rdIOQ%^mmhaY~}00>yV^{sE|h8u3MiFOST0IZ{qI%<
Ynz)@aXO4+*CK6V-_~MJzqelj2K~{x; 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 literal 0 HcmV?d00001 From 76e69f2c7aa65fa472e3f86e5761bd87dcba4f3e Mon Sep 17 00:00:00 2001 From: hiron Date: Fri, 17 Sep 2021 21:35:53 +0900 Subject: [PATCH 159/162] Update SectionTag --- website/docs/Component/Geometry.md | 4 +- website/docs/Component/SectionTag.md | 54 ++++++++++++++++---- website/images/Component/SlabSectionTag.png | Bin 0 -> 10680 bytes website/images/Component/WallSectionTag.png | Bin 0 -> 12597 bytes 4 files changed, 46 insertions(+), 12 deletions(-) create mode 100644 website/images/Component/SlabSectionTag.png create mode 100644 website/images/Component/WallSectionTag.png diff --git a/website/docs/Component/Geometry.md b/website/docs/Component/Geometry.md index b269f95a..435856be 100644 --- a/website/docs/Component/Geometry.md +++ b/website/docs/Component/Geometry.md @@ -66,8 +66,8 @@ title: Geometry |入力|説明| |---|:---:| |Data|Load STB file コンポーネントの Data 出力を入力| -|Factor|各 Brep を断面符号ごとにレイヤー分けして Bake する| -|Size|各 Brep を断面符号ごとにレイヤー分けして Bake する| +|Factor|軸線の長さの比率| +|Size|軸名、階名の文字のサイズ。デフォルトは 12| |出力|説明| |---|:---:| diff --git a/website/docs/Component/SectionTag.md b/website/docs/Component/SectionTag.md index 8f221dd5..c007e444 100644 --- a/website/docs/Component/SectionTag.md +++ b/website/docs/Component/SectionTag.md @@ -16,11 +16,11 @@ title: SectionTag |入力|説明| |---|:---:| |Data|Load STB file コンポーネントの Data 出力を入力| -|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは12です| +|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは 12| |出力|説明| |---|:---:| -|SecTag|符号のリスト| +|SecTag|符号のツリー| --- @@ -33,11 +33,11 @@ title: SectionTag |入力|説明| |---|:---:| |Data|Load STB file コンポーネントの Data 出力を入力| -|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは12です| +|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは 12| |出力|説明| |---|:---:| -|SecTag|符号のリスト| +|SecTag|符号のツリー| --- @@ -50,11 +50,11 @@ title: SectionTag |入力|説明| |---|:---:| |Data|Load STB file コンポーネントの Data 出力を入力| -|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは12です| +|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは 12| |出力|説明| |---|:---:| -|SecTag|符号のリスト| +|SecTag|符号のツリー| --- @@ -67,11 +67,11 @@ title: SectionTag |入力|説明| |---|:---:| |Data|Load STB file コンポーネントの Data 出力を入力| -|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは12です| +|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは 12| |出力|説明| |---|:---:| -|SecTag|符号のリスト| +|SecTag|符号のツリー| --- @@ -84,8 +84,42 @@ title: SectionTag |入力|説明| |---|:---:| |Data|Load STB file コンポーネントの Data 出力を入力| -|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは12です| +|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは 12| |出力|説明| |---|:---:| -|SecTag|符号のリスト| +|SecTag|符号のツリー| + +--- + +## Slab Section Tag + +![](../../images/Component/SlabSectionTag.png) + +ブレースの断面情報表示 + +|入力|説明| +|---|:---:| +|Data|Load STB file コンポーネントの Data 出力を入力| +|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは 12| + +|出力|説明| +|---|:---:| +|SecTag|符号のツリー| + +--- + +## Wall Section Tag + +![](../../images/Component/WallSectionTag.png) + +ブレースの断面情報表示 + +|入力|説明| +|---|:---:| +|Data|Load STB file コンポーネントの Data 出力を入力| +|Size|Rhino のビューポートに表示する文字サイズ。デフォルトは 12| + +|出力|説明| +|---|:---:| +|SecTag|符号のツリー| diff --git a/website/images/Component/SlabSectionTag.png b/website/images/Component/SlabSectionTag.png new file mode 100644 index 0000000000000000000000000000000000000000..4fa4e326ea63f8448a95389db580710c349a11dc GIT binary patch literal 10680 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 X)2v@o;E++i00000NkvXXu0mjf6o1#A literal 0 HcmV?d00001 From 5410dcb66468944e204933e40dcf5bf306ac6193 Mon Sep 17 00:00:00 2001 From: hiron Date: Fri, 17 Sep 2021 21:38:53 +0900 Subject: [PATCH 160/162] Update StbBuilder --- website/docs/Component/StbBuilder.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/docs/Component/StbBuilder.md b/website/docs/Component/StbBuilder.md index 435133f0..c8aa5734 100644 --- a/website/docs/Component/StbBuilder.md +++ b/website/docs/Component/StbBuilder.md @@ -3,10 +3,10 @@ id: StbBuilder title: StbBuilder --- -STB 書き出しのための情報を作成するコンポーネントのカテゴリ +ST-Bridge 書き出しのための情報を作成するコンポーネントのカテゴリ :::note -このコンポーネントの使用方法や注意点は [Export ST-Bridge file](../Usage/ExportSTB) にも詳しく書いていますので、そちらも参照してください。 +使用方法や注意点は [Export ST-Bridge file](../Usage/ExportSTB) にも詳しく書いていますので、そちらも参照してください。 ::: --- @@ -58,7 +58,7 @@ STB 書き出しのための情報を作成するコンポーネントのカテ |Distance|原点からの軸の距離(mm)| |Range|軸の幅(mm)| |Name|軸の名前| -|Direcrion|軸の方向| +|Direction|軸の方向| |出力|説明| |---|:---:| From 65454696955cdf06b1d42d53b00ce9a9facdc4e9 Mon Sep 17 00:00:00 2001 From: hiron Date: Fri, 17 Sep 2021 22:03:13 +0900 Subject: [PATCH 161/162] Add ExportSTB to optimized building sample --- ...edOfficeBuilding.stb => SampleBuilding.stb} | 0 website/docs/Usage/ExportSTB.md | 11 +++++++++++ .../images/ExportStb/OptimizedModel2STB.png | Bin 0 -> 308801 bytes 3 files changed, 11 insertions(+) rename Samples/{OptimizedOfficeBuilding.stb => SampleBuilding.stb} (100%) create mode 100644 website/images/ExportStb/OptimizedModel2STB.png diff --git a/Samples/OptimizedOfficeBuilding.stb b/Samples/SampleBuilding.stb similarity index 100% rename from Samples/OptimizedOfficeBuilding.stb rename to Samples/SampleBuilding.stb diff --git a/website/docs/Usage/ExportSTB.md b/website/docs/Usage/ExportSTB.md index f40fdf85..656d4309 100644 --- a/website/docs/Usage/ExportSTB.md +++ b/website/docs/Usage/ExportSTB.md @@ -65,6 +65,17 @@ Out? の値を True にするとファイルが出力されます。 --- +## Karamba3D を使った構造最適化を行ったモデルの出力 + +本機能を使った Karamba3D との連携の参考に Samples のフォルダに以下のようなオフィスビルの構造最適化を行い、その結果を ST-Bridge で出力するデータ ExportOptimizedOfficeBuilding2STB.gh を入れています。 +このデータで最適化した建物の ST-Bridge データは SampleBuilding.stb として Samples のフォルダに含まれています。 + +最適化は Karamba3D のフル版の機能を使用するため、フリー版、トライアル版では試すことはできません。 + +![](../../images/ExportStb/OptimizedModel2STB.png) + +--- + ## 変換の仕様 以下の仕様により ST-Bridge データの作成を行います。 diff --git a/website/images/ExportStb/OptimizedModel2STB.png b/website/images/ExportStb/OptimizedModel2STB.png new file mode 100644 index 0000000000000000000000000000000000000000..e9fd4c7588fce2aef427fd000afcc219fd611582 GIT binary patch literal 308801 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%0AgV;(?V;637$k4@2>q6J@pSd=H-&rXFOTmj-jAi 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%0D{?lp*&0?z1I`{6~OZ)a6&ePkiVzwHSki+s{ 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∨aXqm*GQAMHW~7}(a~Ux!Hkh*I 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Р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 literal 0 HcmV?d00001 From aef2e769ee978de946125c84af026a6c96e7edbe Mon Sep 17 00:00:00 2001 From: hiron Date: Fri, 17 Sep 2021 22:09:47 +0900 Subject: [PATCH 162/162] Update Sample --- Samples/ShowStbModel.gh | Bin 12939 -> 12658 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Samples/ShowStbModel.gh b/Samples/ShowStbModel.gh index 02bedb2bce7d4e2b4bcc7f1cdeefd5082e69bf3f..69ca8cdf9a52c0d4459bdd290ad0a1cc3136204e 100644 GIT binary patch literal 12658 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

J(>g4R|AGWrZz6DM&bSANj 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%0A@pWY=Mh&wX2$=2BsDZi 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 BWq<$x literal 0 HcmV?d00001 diff --git a/website/i18n/en/docusaurus-plugin-content-docs/images/Component/AxisBuilder.png b/website/i18n/en/docusaurus-plugin-content-docs/images/Component/AxisBuilder.png new file mode 100644 index 0000000000000000000000000000000000000000..fe46f0ce1af5202610eb441e083de04689b2b5fd GIT binary patch literal 10727 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 H@HhVhvwqqV literal 0 HcmV?d00001 diff --git a/website/i18n/en/docusaurus-plugin-content-docs/images/Component/BeamNameTag.png b/website/i18n/en/docusaurus-plugin-content-docs/images/Component/BeamNameTag.png new file mode 100644 index 0000000000000000000000000000000000000000..47de2188ebbc59e83b81fe4641a0c081edde3359 GIT binary patch literal 6288 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