diff --git a/.eslintrc.js b/.eslintrc.js
new file mode 100644
index 00000000..2306e61d
--- /dev/null
+++ b/.eslintrc.js
@@ -0,0 +1,156 @@
+/** JS 和 TS 公用的规则 */
+const publicConfig = {
+ plugins: ['prettier'],
+ rules: {
+ // 启用 prettier
+ 'prettier/prettier': ['warn', { singleQuote: true, trailingComma: 'all' }],
+
+ // 允许在顶层外使用 require
+ 'global-require': 'off',
+ // eslint-plugin-jsdoc 还无法识别出 TS 定义的接口
+ 'jsdoc/no-undefined-types': 'off',
+ // 不强制要求 jsdoc
+ 'jsdoc/require-jsdoc': 'off',
+ // TS 不需要写明类型注释
+ 'jsdoc/require-param-type': 'off',
+ 'jsdoc/require-returns-type': 'off',
+ // 允许使用其他的 jsdoc 标签,以便使用 typescript-json-schema
+ 'jsdoc/check-tag-names': 'off',
+ // 禁用将对象参数解构为多行
+ 'jsdoc/require-param': ['warn', { checkDestructured: false }],
+ 'jsdoc/check-param-names': ['warn', { checkDestructured: false }],
+ // 允许不写返回值的描述
+ 'jsdoc/require-returns': 'off',
+
+ // 允许使用下划线命名
+ 'no-underscore-dangle': 'off',
+ // 允许 console
+ 'no-console': 'off',
+
+ // 允许 any 类型的分配
+ 'no-unsafe-assignment': 'off',
+ // 允许在 while 的条件语句里使用括号来赋值
+ 'no-cond-assign': ['off', '"except-parens"'],
+
+ // 不检查导入模块的扩展名
+ 'import/extensions': 'off',
+ // 禁止提醒将唯一 export 改为 default export
+ 'import/prefer-default-export': 'off',
+ // 允许使用 require
+ 'import/no-dynamic-require': 'off',
+ },
+};
+
+// eslint-disable-next-line jsdoc/require-param
+/** 与公用规则合并 */
+const buildConfig = ({ plugins = [], rules = {}, ...otherConfig }) => ({
+ ...otherConfig,
+ plugins: [...publicConfig.plugins, ...plugins],
+ rules: { ...publicConfig.rules, ...rules },
+});
+
+module.exports = {
+ root: true,
+ env: {
+ es2021: true,
+ node: true,
+ },
+ ignorePatterns: ['dist', 'node_modules'],
+ overrides: [
+ buildConfig({
+ files: ['*.ts', '*.tsx'],
+ parser: '@typescript-eslint/parser',
+ parserOptions: {
+ tsconfigRootDir: __dirname,
+ project: ['./packages/*/tsconfig.json'],
+ },
+ plugins: ['@typescript-eslint', 'jsdoc'],
+ extends: [
+ 'airbnb',
+ 'airbnb/hooks',
+ 'plugin:jsdoc/recommended',
+ 'plugin:import/typescript',
+ // 'plugin:react/recommended',
+ 'plugin:react/jsx-runtime',
+ // 'plugin:react-hooks/recommended',
+ 'plugin:@typescript-eslint/eslint-recommended',
+ 'plugin:@typescript-eslint/recommended',
+ 'plugin:@typescript-eslint/recommended-requiring-type-checking',
+ 'plugin:prettier/recommended',
+ ],
+ rules: {
+ // 使用 TS 的规则
+ 'no-use-before-define': 'off',
+ '@typescript-eslint/no-use-before-define': ['error'],
+ 'no-shadow': 'off',
+ '@typescript-eslint/no-shadow': ['error'],
+ 'no-unused-vars': 'off',
+ '@typescript-eslint/no-unused-vars': [
+ 'warn',
+ { varsIgnorePattern: 'React' },
+ ],
+
+ // 自动将直接 import 的类型改为用 import type 导入
+ '@typescript-eslint/consistent-type-imports': ['warn', {}],
+
+ // 允许使用 require 导入模块。方便 Bluebird 对其进行包装
+ '@typescript-eslint/no-var-requires': 'off',
+ // 允许不声明函数返回类型
+ '@typescript-eslint/explicit-function-return-type': 'off',
+ // 允许使用未注释的空函数
+ '@typescript-eslint/no-empty-function': 'off',
+ // 允许匿名的异步立即执行函数
+ '@typescript-eslint/no-floating-promises': [
+ 'warn',
+ { ignoreIIFE: true },
+ ],
+ // 允许不显式写出导出函数的返回类型
+ '@typescript-eslint/explicit-module-boundary-types': 'off',
+ // 禁止提醒非空断言
+ '@typescript-eslint/no-non-null-assertion': 'off',
+ // 禁止提醒在模板表达式中使用了非字符串类型
+ '@typescript-eslint/restrict-template-expressions': 'off',
+ // 禁用 TS 的 camelcase,用 JS 的就够了
+ '@typescript-eslint/camelcase': 'off',
+ // 允许在 TS 允许且我已经正确处理的地方使用 Promise
+ '@typescript-eslint/no-misused-promises': 'off',
+
+ // 禁止提醒使用了 any
+ '@typescript-eslint/no-explicit-any': 'off',
+ '@typescript-eslint/no-unsafe-argument': 'off',
+ // 允许访问 any 类型属性
+ '@typescript-eslint/no-unsafe-member-access': 'off',
+ // 允许调用 any 类型变量
+ '@typescript-eslint/no-unsafe-call': 'off',
+ // 允许分配 any 类型变量
+ '@typescript-eslint/no-unsafe-assignment': 'off',
+
+ //
+ // React 适配
+ //
+
+ // 使此规则支持 TS
+ 'react/jsx-filename-extension': [
+ 'warn',
+ { extensions: ['.tsx', '.jsx'] },
+ ],
+ 'react/function-component-definition': [
+ 'warn',
+ { namedComponents: 'arrow-function' },
+ ],
+ // 有 TS 不需要这个
+ 'react/prop-types': 'off',
+ // 允许使用对象解构来传输 props
+ 'react/jsx-props-no-spreading': 'off',
+ },
+ }),
+ buildConfig({
+ files: ['*.js'],
+ extends: ['eslint:recommended', 'airbnb', 'plugin:prettier/recommended'],
+ rules: {
+ // 禁止提醒使用了 dev 的包
+ 'import/no-extraneous-dependencies': 'off',
+ },
+ }),
+ ],
+};
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00000000..de4d1f00
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+dist
+node_modules
diff --git a/ComicReadScript.code-workspace b/ComicReadScript.code-workspace
new file mode 100644
index 00000000..85b2ee07
--- /dev/null
+++ b/ComicReadScript.code-workspace
@@ -0,0 +1,16 @@
+{
+ "folders": [
+ {
+ "path": ".",
+ "name": "root"
+ },
+ {
+ "path": "packages/userscript",
+ "name": "userscript"
+ },
+ {
+ "path": "packages/ui-component",
+ "name": "ui-component"
+ },
+ ],
+}
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 00000000..0ad25db4
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,661 @@
+ GNU AFFERO GENERAL PUBLIC LICENSE
+ Version 3, 19 November 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU Affero General Public License is a free, copyleft license for
+software and other kinds of works, specifically designed to ensure
+cooperation with the community in the case of network server software.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+our General Public Licenses are intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ Developers that use our General Public Licenses protect your rights
+with two steps: (1) assert copyright on the software, and (2) offer
+you this License which gives you legal permission to copy, distribute
+and/or modify the software.
+
+ A secondary benefit of defending all users' freedom is that
+improvements made in alternate versions of the program, if they
+receive widespread use, become available for other developers to
+incorporate. Many developers of free software are heartened and
+encouraged by the resulting cooperation. However, in the case of
+software used on network servers, this result may fail to come about.
+The GNU General Public License permits making a modified version and
+letting the public access it on a server without ever releasing its
+source code to the public.
+
+ The GNU Affero General Public License is designed specifically to
+ensure that, in such cases, the modified source code becomes available
+to the community. It requires the operator of a network server to
+provide the source code of the modified version running there to the
+users of that server. Therefore, public use of a modified version, on
+a publicly accessible server, gives the public access to the source
+code of the modified version.
+
+ An older license, called the Affero General Public License and
+published by Affero, was designed to accomplish similar goals. This is
+a different license, not a version of the Affero GPL, but Affero has
+released a new version of the Affero GPL which permits relicensing under
+this license.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU Affero General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Remote Network Interaction; Use with the GNU General Public License.
+
+ Notwithstanding any other provision of this License, if you modify the
+Program, your modified version must prominently offer all users
+interacting with it remotely through a computer network (if your version
+supports such interaction) an opportunity to receive the Corresponding
+Source of your version by providing access to the Corresponding Source
+from a network server at no charge, through some standard or customary
+means of facilitating copying of software. This Corresponding Source
+shall include the Corresponding Source for any work covered by version 3
+of the GNU General Public License that is incorporated pursuant to the
+following paragraph.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the work with which it is combined will remain governed by version
+3 of the GNU General Public License.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU Affero General Public License from time to time. Such new versions
+will be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU Affero General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU Affero General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU Affero General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published
+ by the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If your software can interact with users remotely through a computer
+network, you should also make sure that it provides a way for users to
+get its source. For example, if your program is a web application, its
+interface could display a "Source" link that leads users to an archive
+of the code. There are many ways you could offer source, and different
+solutions will be better for different programs; see section 13 for the
+specific requirements.
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU AGPL, see
+ .
diff --git a/README.md b/README.md
new file mode 100644
index 00000000..e69de29b
diff --git a/package.json b/package.json
new file mode 100644
index 00000000..3dbff56e
--- /dev/null
+++ b/package.json
@@ -0,0 +1,33 @@
+{
+ "name": "comic-read-script",
+ "version": "0.0.1",
+ "scripts": {
+ "test": "echo \"Error: no test specified\" && exit 1"
+ },
+ "author": "hymbz",
+ "license": "AGPL-3.0-or-later",
+ "private": "true",
+ "workspaces": [
+ "packages/*"
+ ],
+ "dependencies": {
+ "lodash": "^4.17.21",
+ "react": "^18.0.0",
+ "react-dom": "^18.0.0"
+ },
+ "devDependencies": {
+ "@typescript-eslint/eslint-plugin": "^5.20.0",
+ "@typescript-eslint/parser": "^5.20.0",
+ "eslint": "^8.13.0",
+ "eslint-config-airbnb": "^19.0.4",
+ "eslint-config-prettier": "^8.5.0",
+ "eslint-plugin-import": "^2.26.0",
+ "eslint-plugin-jsdoc": "^39.2.3",
+ "eslint-plugin-jsx-a11y": "^6.5.1",
+ "eslint-plugin-prettier": "^4.0.0",
+ "eslint-plugin-react": "^7.29.4",
+ "eslint-plugin-react-hooks": "^4.4.0",
+ "prettier": "^2.6.2",
+ "typescript": "^4.6.3"
+ }
+}
diff --git a/packages/ui-component/index.html b/packages/ui-component/index.html
new file mode 100644
index 00000000..38f38611
--- /dev/null
+++ b/packages/ui-component/index.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ Vite App
+
+
+
+
+
+
diff --git a/packages/ui-component/package.json b/packages/ui-component/package.json
new file mode 100644
index 00000000..59f8611a
--- /dev/null
+++ b/packages/ui-component/package.json
@@ -0,0 +1,37 @@
+{
+ "name": "@crs/ui-component",
+ "private": true,
+ "type": "module",
+ "scripts": {
+ "serve": "vite",
+ "build": "tsc && vite build",
+ "preview": "vite preview"
+ },
+ "dependencies": {
+ "react": "^18.0.0",
+ "react-dom": "^18.0.0"
+ },
+ "devDependencies": {
+ "@ladle/react": "^0.12.1",
+ "@types/node": "^17.0.25",
+ "@types/react": "^18.0.0",
+ "@types/react-dom": "^18.0.0",
+ "@typescript-eslint/eslint-plugin": "^5.20.0",
+ "@typescript-eslint/parser": "^5.20.0",
+ "@unocss/preset-wind": "^0.31.5",
+ "@vitejs/plugin-react": "^1.3.0",
+ "eslint": "^8.13.0",
+ "eslint-config-airbnb": "^19.0.4",
+ "eslint-config-prettier": "^8.5.0",
+ "eslint-plugin-import": "^2.26.0",
+ "eslint-plugin-jsdoc": "^39.2.3",
+ "eslint-plugin-jsx-a11y": "^6.5.1",
+ "eslint-plugin-prettier": "^4.0.0",
+ "eslint-plugin-react": "^7.29.4",
+ "eslint-plugin-react-hooks": "^4.4.0",
+ "prettier": "^2.6.2",
+ "typescript": "^4.6.3",
+ "unocss": "^0.31.5",
+ "vite": "^2.9.5"
+ }
+}
diff --git a/packages/ui-component/src/App.tsx b/packages/ui-component/src/App.tsx
new file mode 100644
index 00000000..e6838363
--- /dev/null
+++ b/packages/ui-component/src/App.tsx
@@ -0,0 +1,13 @@
+import { useState } from 'react';
+
+const App = () => {
+ const [count, setCount] = useState(0);
+
+ return (
+
+ );
+};
+
+export default App;
diff --git a/packages/ui-component/src/component/Button/Button.stories.tsx b/packages/ui-component/src/component/Button/Button.stories.tsx
new file mode 100644
index 00000000..53964de3
--- /dev/null
+++ b/packages/ui-component/src/component/Button/Button.stories.tsx
@@ -0,0 +1,6 @@
+import component from '..';
+
+export default {
+ title: 'Level / Sub level',
+};
+export const Button = component.Button();
diff --git a/packages/ui-component/src/component/Button/index.tsx b/packages/ui-component/src/component/Button/index.tsx
new file mode 100644
index 00000000..5e58e4dd
--- /dev/null
+++ b/packages/ui-component/src/component/Button/index.tsx
@@ -0,0 +1,23 @@
+import { useState, useRef } from 'react';
+
+export default () => {
+ console.log('import Button');
+
+ const Button: React.FC = () => {
+ const [open, setOpen] = useState(false);
+
+ const ref = useRef() as React.MutableRefObject;
+ // const arrowRef = useRef() as React.MutableRefObject;
+ const [arrowRef, setArrowRef] =
+ useState | null>(null);
+
+ return (
+ <>
+ Button
+ Button
+ >
+ );
+ };
+
+ return Button;
+};
diff --git a/packages/ui-component/src/component/Manga/index.tsx b/packages/ui-component/src/component/Manga/index.tsx
new file mode 100644
index 00000000..4005f4db
--- /dev/null
+++ b/packages/ui-component/src/component/Manga/index.tsx
@@ -0,0 +1,23 @@
+import { useState, useRef } from 'react';
+
+export default () => {
+ console.log('import Manga');
+
+ const Manga: React.FC = () => {
+ const [open, setOpen] = useState(false);
+
+ const ref = useRef() as React.MutableRefObject;
+ // const arrowRef = useRef() as React.MutableRefObject;
+ const [arrowRef, setArrowRef] =
+ useState | null>(null);
+
+ return (
+ <>
+ Manga
+ Manga
+ >
+ );
+ };
+
+ return Manga;
+};
diff --git a/packages/ui-component/src/component/index.ts b/packages/ui-component/src/component/index.ts
new file mode 100644
index 00000000..f0d93f50
--- /dev/null
+++ b/packages/ui-component/src/component/index.ts
@@ -0,0 +1,5 @@
+import Button from './Button';
+
+export default {
+ Button,
+};
diff --git a/packages/ui-component/src/main.tsx b/packages/ui-component/src/main.tsx
new file mode 100644
index 00000000..9aa52ffd
--- /dev/null
+++ b/packages/ui-component/src/main.tsx
@@ -0,0 +1,10 @@
+import React from 'react';
+import ReactDOM from 'react-dom/client';
+import App from './App';
+import './index.css';
+
+ReactDOM.createRoot(document.getElementById('root')!).render(
+
+
+ ,
+);
diff --git a/packages/ui-component/src/vite-env.d.ts b/packages/ui-component/src/vite-env.d.ts
new file mode 100644
index 00000000..11f02fe2
--- /dev/null
+++ b/packages/ui-component/src/vite-env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/packages/ui-component/tsconfig.json b/packages/ui-component/tsconfig.json
new file mode 100644
index 00000000..efe0ff89
--- /dev/null
+++ b/packages/ui-component/tsconfig.json
@@ -0,0 +1,28 @@
+{
+ "compilerOptions": {
+ "target": "ESNext",
+ "useDefineForClassFields": true,
+ "lib": [
+ "DOM",
+ "DOM.Iterable",
+ "ESNext"
+ ],
+ "composite": true,
+ "allowJs": false,
+ "skipLibCheck": true,
+ "esModuleInterop": false,
+ "allowSyntheticDefaultImports": true,
+ "strict": true,
+ "forceConsistentCasingInFileNames": true,
+ "module": "ESNext",
+ "moduleResolution": "Node",
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "noEmit": true,
+ "jsx": "react-jsx",
+ },
+ "include": [
+ "src",
+ "vite.config.ts"
+ ]
+}
diff --git a/packages/ui-component/tsconfig.tsbuildinfo b/packages/ui-component/tsconfig.tsbuildinfo
new file mode 100644
index 00000000..b450d587
--- /dev/null
+++ b/packages/ui-component/tsconfig.tsbuildinfo
@@ -0,0 +1 @@
+{"program":{"fileNames":["../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.esnext.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/.pnpm/typescript@4.6.3/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/.pnpm/@types+react@18.0.5/node_modules/@types/react/global.d.ts","../../node_modules/.pnpm/csstype@3.0.11/node_modules/csstype/index.d.ts","../../node_modules/.pnpm/@types+prop-types@15.7.5/node_modules/@types/prop-types/index.d.ts","../../node_modules/.pnpm/@types+scheduler@0.16.2/node_modules/@types/scheduler/tracing.d.ts","../../node_modules/.pnpm/@types+react@18.0.5/node_modules/@types/react/index.d.ts","../../node_modules/.pnpm/@types+react@18.0.5/node_modules/@types/react/jsx-runtime.d.ts","./src/app.tsx","../../node_modules/.pnpm/@types+react-dom@18.0.1/node_modules/@types/react-dom/client.d.ts","./src/main.tsx","../../node_modules/.pnpm/vite@2.9.5/node_modules/vite/types/hmrpayload.d.ts","../../node_modules/.pnpm/vite@2.9.5/node_modules/vite/types/customevent.d.ts","../../node_modules/.pnpm/vite@2.9.5/node_modules/vite/types/hot.d.ts","../../node_modules/.pnpm/vite@2.9.5/node_modules/vite/types/importmeta.d.ts","../../node_modules/.pnpm/vite@2.9.5/node_modules/vite/client.d.ts","./src/vite-env.d.ts","./src/component/button/index.tsx","./src/component/index.ts","./src/component/button/button.stories.tsx","./src/component/manga/index.tsx","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/assert.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/assert/strict.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/globals.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/async_hooks.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/buffer.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/child_process.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/cluster.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/console.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/constants.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/crypto.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/dgram.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/dns.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/dns/promises.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/domain.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/events.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/fs.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/fs/promises.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/http.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/http2.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/https.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/inspector.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/module.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/net.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/os.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/path.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/perf_hooks.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/process.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/punycode.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/querystring.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/readline.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/repl.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/stream.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/stream/promises.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/stream/consumers.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/stream/web.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/string_decoder.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/timers.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/timers/promises.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/tls.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/trace_events.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/tty.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/url.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/util.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/v8.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/vm.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/wasi.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/worker_threads.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/zlib.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/globals.global.d.ts","../../node_modules/.pnpm/@types+node@17.0.25/node_modules/@types/node/index.d.ts","../../node_modules/.pnpm/esbuild@0.14.36/node_modules/esbuild/lib/main.d.ts","../../node_modules/.pnpm/rollup@2.70.2/node_modules/rollup/dist/rollup.d.ts","../../node_modules/.pnpm/source-map-js@1.0.2/node_modules/source-map-js/source-map.d.ts","../../node_modules/.pnpm/postcss@8.4.12/node_modules/postcss/lib/comment.d.ts","../../node_modules/.pnpm/postcss@8.4.12/node_modules/postcss/lib/at-rule.d.ts","../../node_modules/.pnpm/postcss@8.4.12/node_modules/postcss/lib/rule.d.ts","../../node_modules/.pnpm/postcss@8.4.12/node_modules/postcss/lib/container.d.ts","../../node_modules/.pnpm/postcss@8.4.12/node_modules/postcss/lib/declaration.d.ts","../../node_modules/.pnpm/postcss@8.4.12/node_modules/postcss/lib/previous-map.d.ts","../../node_modules/.pnpm/postcss@8.4.12/node_modules/postcss/lib/input.d.ts","../../node_modules/.pnpm/postcss@8.4.12/node_modules/postcss/lib/css-syntax-error.d.ts","../../node_modules/.pnpm/postcss@8.4.12/node_modules/postcss/lib/warning.d.ts","../../node_modules/.pnpm/postcss@8.4.12/node_modules/postcss/lib/document.d.ts","../../node_modules/.pnpm/postcss@8.4.12/node_modules/postcss/lib/root.d.ts","../../node_modules/.pnpm/postcss@8.4.12/node_modules/postcss/lib/lazy-result.d.ts","../../node_modules/.pnpm/postcss@8.4.12/node_modules/postcss/lib/no-work-result.d.ts","../../node_modules/.pnpm/postcss@8.4.12/node_modules/postcss/lib/processor.d.ts","../../node_modules/.pnpm/postcss@8.4.12/node_modules/postcss/lib/result.d.ts","../../node_modules/.pnpm/postcss@8.4.12/node_modules/postcss/lib/node.d.ts","../../node_modules/.pnpm/postcss@8.4.12/node_modules/postcss/lib/list.d.ts","../../node_modules/.pnpm/postcss@8.4.12/node_modules/postcss/lib/postcss.d.ts","../../node_modules/.pnpm/vite@2.9.5/node_modules/vite/dist/node/index.d.ts","../../node_modules/.pnpm/@vitejs+plugin-react@1.3.1/node_modules/@vitejs/plugin-react/dist/index.d.ts","../../node_modules/.pnpm/@antfu+utils@0.5.1/node_modules/@antfu/utils/index.d.ts","../../node_modules/.pnpm/unconfig@0.3.3/node_modules/unconfig/dist/types-6886c41e.d.ts","../../node_modules/.pnpm/unconfig@0.3.3/node_modules/unconfig/dist/index.d.ts","../../node_modules/.pnpm/magic-string@0.25.9/node_modules/magic-string/index.d.ts","../../node_modules/.pnpm/@unocss+core@0.31.6/node_modules/@unocss/core/dist/index.d.ts","../../node_modules/.pnpm/@unocss+vite@0.31.6_vite@2.9.5/node_modules/@unocss/vite/dist/index.d.ts","../../node_modules/.pnpm/unocss@0.31.6_vite@2.9.5/node_modules/unocss/dist/vite.d.ts","../../node_modules/.pnpm/unocss@0.31.6_vite@2.9.5/node_modules/unocss/vite.d.ts","../../node_modules/.pnpm/@unocss+preset-mini@0.31.6/node_modules/@unocss/preset-mini/dist/types-f7b2c653.d.ts","../../node_modules/.pnpm/@unocss+preset-mini@0.31.6/node_modules/@unocss/preset-mini/dist/default-e6d1b2e8.d.ts","../../node_modules/.pnpm/@unocss+preset-mini@0.31.6/node_modules/@unocss/preset-mini/dist/colors-ce2fecb8.d.ts","../../node_modules/.pnpm/@unocss+preset-mini@0.31.6/node_modules/@unocss/preset-mini/dist/utilities-a7351781.d.ts","../../node_modules/.pnpm/@unocss+preset-mini@0.31.6/node_modules/@unocss/preset-mini/dist/index.d.ts","../../node_modules/.pnpm/@unocss+preset-wind@0.31.6/node_modules/@unocss/preset-wind/dist/index.d.ts","./vite.config.ts","../../node_modules/.pnpm/@types+react-dom@18.0.1/node_modules/@types/react-dom/index.d.ts","../../node_modules/.pnpm/@types+estree@0.0.39/node_modules/@types/estree/index.d.ts","../../node_modules/.pnpm/@types+json-schema@7.0.11/node_modules/@types/json-schema/index.d.ts","../../node_modules/.pnpm/@types+json5@0.0.29/node_modules/@types/json5/index.d.ts","../../node_modules/.pnpm/@types+resolve@1.17.1/node_modules/@types/resolve/index.d.ts","../../node_modules/.pnpm/@types+scheduler@0.16.2/node_modules/@types/scheduler/index.d.ts"],"fileInfos":[{"version":"3ac1b83264055b28c0165688fda6dfcc39001e9e7828f649299101c23ad0a0c3","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940","746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","2f93dda35dafec68ec217c9ce67f0f4fbbbb030c055ac312641565ad60dd7e26","aea179452def8a6152f98f63b191b84e7cbd69b0e248c91e61fb2e52328abe8c",{"version":"72704b10d97777e15f1a581b73f88273037ef752d2e50b72287bd0a90af64fe6","affectsGlobalScope":true},{"version":"dbb73d4d99be496175cb432c74c2615f78c76f4272f1d83cba11ee0ed6dbddf0","affectsGlobalScope":true},{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"5075b36ab861c8c0c45377cb8c96270d7c65f0eeaf105d53fac6850da61f1027","affectsGlobalScope":true},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"e8c9f4e445a489991ca1a4232667de3ac36b07ba75ea335971fbeacf2d26fe67","affectsGlobalScope":true},{"version":"34478567f8a80171f88f2f30808beb7da15eac0538ae91282dd33dce928d98ed","affectsGlobalScope":true},{"version":"6ea9ab679ea030cf46c16a711a316078e9e02619ebaf07a7fcd16964aba88f2d","affectsGlobalScope":true},{"version":"aedb8de1abb2ff1095c153854a6df7deae4a5709c37297f9d6e9948b6806fa66","affectsGlobalScope":true},{"version":"11ffe3c281f375fff9ffdde8bbec7669b4dd671905509079f866f2354a788064","affectsGlobalScope":true},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true},{"version":"bbdf156fea2fabed31a569445835aeedcc33643d404fcbaa54541f06c109df3f","affectsGlobalScope":true},"ea0aa24a32c073b8639aa1f3130ba0add0f0f2f76b314d9ba988a5cb91d7e3c4","6a386ff939f180ae8ef064699d8b7b6e62bc2731a62d7fbf5e02589383838dea","f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5",{"version":"841f34bcd947688df52cf04918b4def20032a4887c4e808ecf1e15ad717de05e","affectsGlobalScope":true},"af7fd2870746deed40e130fc0a3966de74e8f52a97ec114d0fbb35876ab05ca9","7f922cba4b5031550e679de74458dab91cf60a89a943d5229bdb7d93db78bce2","fd1374da6f974fb39feedf3dfc5d6215554bd386b73a12f980591a59e002f103","2ed12a1457cd60b31c0f44f3ea59b8bbc2ddd4a49add3165228d093878fb7c24","774044ef136a0988fcf57b36fd0985caa98fe385b5f9ee68a1731b7340b6aff4","a0b0a059575ca62004fb85797f078a0a1d044da2d5c29993f11e7ce08a1ed3b4","6527fbb9e589f6c5b3e6f45d240284d044d5530205dd7662b4a514a3bad427ce",{"version":"f62613ebe5136a0ed8c8828bdbe5c717aff2c9fed072c99d457cad4a70215070","affectsGlobalScope":true},{"version":"a5189085a767ea0ba85994cd7551ebefc7564c670b67d2de4be1f44d1a85d462","affectsGlobalScope":true},"65996936fbb042915f7b74a200fcdde7e410f32a669b1ab9597cfaa4b0faddb5","d58071662bc09b802d5060eec76c4ac52ae228a1a45d3fc1e765af55084776d3","5497b79398f9a76faa139f0ef93750384bdab07b1385e282cd204cc5a9f29560","2573e8ec108d08d0dcf22fb5a3b7b715d04bdeda78484e8c5f6bcb6bf36d6b79","f6e4a71d70eaa6591a726e9a01534dc6efb0672c847ba0d8946d397f0918cb61","0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"c2ab70bbc7a24c42a790890739dd8a0ba9d2e15038b40dff8163a97a5d148c00","affectsGlobalScope":true},"422dbb183fdced59425ca072c8bd09efaa77ce4e2ab928ec0d8a1ce062d2a45a",{"version":"fcdcb42da18dd98dc286b1876dd425791772036012ae61263c011a76b13a190f","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","98a3ebfa494b46265634a73459050befba5da8fdc6ca0ef9b7269421780f4ff3","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","cc0b61316c4f37393f1f9595e93b673f4184e9d07f4c127165a490ec4a928668","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true},"b8aca9d0c81abb02bec9b7621983ae65bde71da6727580070602bd2500a9ce2a","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","ad41bb744149e92adb06eb953da195115620a3f2ad48e7d3ae04d10762dae197","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"287b21dc1d1b9701c92e15e7dd673dfe6044b15812956377adffb6f08825b1bc","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"4cd4cff679c9b3d9239fd7bf70293ca4594583767526916af8e5d5a47d0219c7","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"3345c276cab0e76dda86c0fb79104ff915a4580ba0f3e440870e183b1baec476","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","103d70bfbeb3cd3a3f26d1705bf986322d8738c2c143f38ebb743b1e228d7444","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7",{"version":"3a2da34079a2567161c1359316a32e712404b56566c45332ac9dcee015ecce9f","affectsGlobalScope":true},"28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"9cafe917bf667f1027b2bb62e2de454ecd2119c80873ad76fc41d941089753b8","e5d6f7e77a44f7f4d3b8a08a8cfb0439aff330da22d5a78a0a9121244a23531e","54b857d9c72896e21740ad8478ffdd460a88020b5be67635ef12104afe6845d4","858d0d831826c6eb563df02f7db71c90e26deadd0938652096bea3cc14899700","d1c89db652113258e4ba4bbdf5cc7a2a3a600403d4d864a2087b95186253cd5b","11a90d2cb2eaf7fdf931a63b58279e8161f1477a1bd1e914ae026c1bbf9afed3","af18e30f3ba06e9870b61dfa4a109215caabdaa337590c51b4a044a9f338ce96","ace603f7b60599f2dcdbd71c07137b60a747dd33be540f4a294b890f9e0b89dc","7658fbdd425c656fb1849b44932ae7431e8c3198d22c65ce1490deb582743b52","7786c75c1b46e93b33c63dccf689143a5f47ff451a6b3bd9b10e4801cdeadcc2","615b7264db151461b896cd79719414d63f7b2b2100b275828e53cab95a356e2f","31491a01ed7466e0b3b0ef8407f2524683055eceb955b1d5ccf7096129468b39","f4b12f7dde4fc0e386648318481bdcfe861b566be246bebf0e8a11ebd909adf9","e8966f7c424780bb0b9d411ebe13eda8555ca15aa675603316c2952bc027b0e3","df0e5f3c4a518111d160cf3bebc9a3ac7d39c6e3bfb7a21d43c304896c3015e2","df4e2f161f74870708c2cc5e1036a6405b878496408fda1ee50d5b10e50d6601","bf791da347fb1c0ffc1e2fcd35867e64bb8355270ae26278198c521bdcf94569","0502b601548860d9eb0c7e3e591e288d0ddda9c391bf7ab00b65321a4e8a83a1","fde91356172e35b9ea68bbdf33721f7c80307a4ce65b82105eac800e9e744995","9bd5e5a4a1e66b35efe3c48ddac1116537ef86e041717f3a9b9f1e060c74efa6","d7e4a5f4ccfb749c3033fafc233073b4d1dcca0249785186c589602a81f9d86f","68161b6f3004fc10f8bb47a4986cef13c3b0728fb1ca3e1dc7316227d09b2c8d","11092a53ab654df480d5755b4425225be300ba06d05b70b9d3b7daf5e145b3dd","02d6dd49dd3cfded8ea7e3fddb6659f56bebcc5590e444517702ceb9e717af68","fb42260bbc7c430c5f09676befbb6a95a541ffa787e33c9eb70e8250a8098607","d2848ca7ad9bbfe5cfc8869e54b9df5d4af251fe965056a6e1bc9e947ca6d55c","d55e671f7befbee5c77cf04982776bbed07548b1fa243a8492a820e70e8bbe38","dd6a4b050f1016c0318291b42c98ab068e07e208b1ae8e4e27167c2b8007406f","fae67bfa22ab617e98bb4c5823c4ffe4f1aff334bb33cb0b6fadf8b07440079a","555a641c63033bd94d9717fa89bc5e4a352d6bd98e6b023aebfd63cf3496757b","fd2842d027049d4d8545df35c986e7fa376e2fb17c61f6bb63cd8613ff612c32","ecf26f77c28a2d18d0c0aeccc4c1c3db6046688e65733bae21100ee4a280af58","50f1c48f91f0a49700701081946522b12feefd584e79636ca08c7057076ca252","4d2c1a5497ce9c763319abf95a2dd6b51a1c8d327c8890812efd93b4f4ff4b75","ba2356af0767c46e945d5d215ef621b6a58ccdad32a6c80893a73f80d2fade88","4fcd1970e9e32196c1d0792337035178a77d1ae16ffb48322af5db354469fc14","67337ff6165a5224f5f9554b2bd2c0b202da4f0e3578fb9efb45cdf8842498f8","1f6f408f7ff832d9380e503def00c1b31c5898b2be7087275fb9b88c1e4c6d8c","4ac858a1cdfe24f05bada2b978cd2b74df7685de0f64fe79e67559af44a88569","ca579f66ab81fbb94022268fcb98f8eab6ad5ba3b283ef65eba4bbd7df16e9e0","89ccbe04e737ce613f5f04990271cfa84901446350b8551b0555ddf19319723b","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","8a19491eba2108d5c333c249699f40aff05ad312c04a17504573b27d91f0aede","74b0245c42990ed8a849df955db3f4362c81b13f799ebc981b7bec2d5b414a57"],"options":{"allowSyntheticDefaultImports":true,"composite":true,"esModuleInterop":false,"jsx":4,"module":99,"skipLibCheck":true,"strict":true,"target":99,"useDefineForClassFields":true},"fileIdsList":[[114],[71,114],[74,114],[75,80,114],[76,86,87,94,103,113,114],[76,77,86,94,114],[78,114],[79,80,87,95,114],[80,103,110,114],[81,83,86,94,114],[82,114],[83,84,114],[85,86,114],[86,114],[86,87,88,103,113,114],[86,87,88,103,114],[89,94,103,113,114],[86,87,89,90,94,103,110,113,114],[89,91,103,110,113,114],[71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120],[86,92,114],[93,113,114],[83,86,94,103,114],[95,114],[96,114],[74,97,114],[98,112,114,118],[99,114],[100,114],[86,101,114],[101,102,114,116],[86,103,104,105,114],[103,105,114],[103,104,114],[106,114],[107,114],[86,108,109,114],[108,109,114],[80,94,103,110,114],[111,114],[94,112,114],[75,89,100,113,114],[80,114],[103,114,115],[114,116],[114,117],[75,80,86,88,97,103,113,114,116,118],[103,114,119],[56,114],[52,53,54,55,114],[114,121],[114,147,148],[114,153],[114,149,153,154,155,156],[114,149,153],[114,149,157],[114,143,149],[114,143],[114,128],[114,128,140],[114,125,126,127,129,140],[114,131],[114,128,135,139,142],[114,130,142],[114,133,135,138,139,142],[114,133,135,136,138,139,142],[114,125,126,127,128,129,131,132,133,134,135,139,142],[114,124,125,126,127,128,129,131,132,133,134,135,136,138,139,140,141],[114,124,142],[114,135,136,137,139,142],[114,138,142],[114,128,134,139,142],[114,132,140],[114,124],[114,145,146],[114,145],[114,143,150],[114,151],[64,114],[86,87,89,91,94,103,110,113,114,119,121,122,123,142],[61,114],[62,114],[63,114],[56,57,114],[57,68,114],[57,67,114],[56,57,58,59,65,114],[65,114],[57,96,114,143,144,152,158]],"referencedMap":[[145,1],[161,1],[162,1],[163,1],[71,2],[72,2],[74,3],[75,4],[76,5],[77,6],[78,7],[79,8],[80,9],[81,10],[82,11],[83,12],[84,12],[85,13],[86,14],[87,15],[88,16],[73,1],[120,1],[89,17],[90,18],[91,19],[121,20],[92,21],[93,22],[94,23],[95,24],[96,25],[97,26],[98,27],[99,28],[100,29],[101,30],[102,31],[103,32],[105,33],[104,34],[106,35],[107,36],[108,37],[109,38],[110,39],[111,40],[112,41],[113,42],[114,43],[115,44],[116,45],[117,46],[118,47],[119,48],[54,1],[59,49],[160,49],[52,1],[56,50],[57,49],[164,51],[165,1],[55,1],[149,52],[155,53],[154,53],[157,54],[153,1],[156,55],[158,56],[150,57],[144,58],[53,1],[122,1],[148,1],[126,59],[125,60],[128,61],[132,62],[129,60],[134,63],[131,64],[136,65],[141,1],[137,66],[140,67],[142,68],[130,69],[138,70],[139,71],[135,72],[127,59],[133,73],[123,1],[124,74],[11,1],[12,1],[14,1],[13,1],[2,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[22,1],[3,1],[4,1],[26,1],[23,1],[24,1],[25,1],[27,1],[28,1],[29,1],[5,1],[30,1],[31,1],[32,1],[33,1],[6,1],[34,1],[35,1],[36,1],[37,1],[7,1],[42,1],[38,1],[39,1],[40,1],[41,1],[8,1],[46,1],[43,1],[44,1],[45,1],[47,1],[9,1],[48,1],[49,1],[50,1],[1,1],[10,1],[51,1],[147,75],[146,76],[151,77],[152,78],[65,79],[143,80],[62,81],[61,1],[63,82],[64,83],[58,84],[69,85],[67,84],[68,86],[70,84],[60,87],[66,88],[159,89]],"exportedModulesMap":[[145,1],[161,1],[162,1],[163,1],[71,2],[72,2],[74,3],[75,4],[76,5],[77,6],[78,7],[79,8],[80,9],[81,10],[82,11],[83,12],[84,12],[85,13],[86,14],[87,15],[88,16],[73,1],[120,1],[89,17],[90,18],[91,19],[121,20],[92,21],[93,22],[94,23],[95,24],[96,25],[97,26],[98,27],[99,28],[100,29],[101,30],[102,31],[103,32],[105,33],[104,34],[106,35],[107,36],[108,37],[109,38],[110,39],[111,40],[112,41],[113,42],[114,43],[115,44],[116,45],[117,46],[118,47],[119,48],[54,1],[59,49],[160,49],[52,1],[56,50],[57,49],[164,51],[165,1],[55,1],[149,52],[155,53],[154,53],[157,54],[153,1],[156,55],[158,56],[150,57],[144,58],[53,1],[122,1],[148,1],[126,59],[125,60],[128,61],[132,62],[129,60],[134,63],[131,64],[136,65],[141,1],[137,66],[140,67],[142,68],[130,69],[138,70],[139,71],[135,72],[127,59],[133,73],[123,1],[124,74],[11,1],[12,1],[14,1],[13,1],[2,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[22,1],[3,1],[4,1],[26,1],[23,1],[24,1],[25,1],[27,1],[28,1],[29,1],[5,1],[30,1],[31,1],[32,1],[33,1],[6,1],[34,1],[35,1],[36,1],[37,1],[7,1],[42,1],[38,1],[39,1],[40,1],[41,1],[8,1],[46,1],[43,1],[44,1],[45,1],[47,1],[9,1],[48,1],[49,1],[50,1],[1,1],[10,1],[51,1],[147,75],[146,76],[151,77],[152,78],[65,79],[143,80],[62,81],[61,1],[63,82],[64,83],[58,84],[69,85],[67,84],[68,86],[70,84],[60,87],[66,88],[159,89]],"semanticDiagnosticsPerFile":[145,161,162,163,71,72,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,73,120,89,90,91,121,92,93,94,95,96,97,98,99,100,101,102,103,105,104,106,107,108,109,110,111,112,113,114,115,116,117,118,119,54,59,160,52,56,57,164,165,55,149,155,154,157,153,156,158,150,144,53,122,148,126,125,128,132,129,134,131,136,141,137,140,142,130,138,139,135,127,133,123,124,11,12,14,13,2,15,16,17,18,19,20,21,22,3,4,26,23,24,25,27,28,29,5,30,31,32,33,6,34,35,36,37,7,42,38,39,40,41,8,46,43,44,45,47,9,48,49,50,1,10,51,147,146,151,152,65,143,62,61,63,64,58,69,67,68,70,60,66,159],"affectedFilesPendingEmit":[[145,1],[161,1],[162,1],[163,1],[71,1],[72,1],[74,1],[75,1],[76,1],[77,1],[78,1],[79,1],[80,1],[81,1],[82,1],[83,1],[84,1],[85,1],[86,1],[87,1],[88,1],[73,1],[120,1],[89,1],[90,1],[91,1],[121,1],[92,1],[93,1],[94,1],[95,1],[96,1],[97,1],[98,1],[99,1],[100,1],[101,1],[102,1],[103,1],[105,1],[104,1],[106,1],[107,1],[108,1],[109,1],[110,1],[111,1],[112,1],[113,1],[114,1],[115,1],[116,1],[117,1],[118,1],[119,1],[54,1],[59,1],[160,1],[52,1],[56,1],[57,1],[164,1],[165,1],[55,1],[149,1],[155,1],[154,1],[157,1],[153,1],[156,1],[158,1],[150,1],[144,1],[53,1],[122,1],[148,1],[126,1],[125,1],[128,1],[132,1],[129,1],[134,1],[131,1],[136,1],[141,1],[137,1],[140,1],[142,1],[130,1],[138,1],[139,1],[135,1],[127,1],[133,1],[123,1],[124,1],[2,1],[3,1],[4,1],[5,1],[6,1],[7,1],[8,1],[9,1],[10,1],[147,1],[146,1],[151,1],[152,1],[65,1],[143,1],[62,1],[61,1],[63,1],[64,1],[58,1],[69,1],[67,1],[68,1],[70,1],[60,1],[66,1],[159,1]]},"version":"4.6.3"}
\ No newline at end of file
diff --git a/packages/ui-component/vite.config.ts b/packages/ui-component/vite.config.ts
new file mode 100644
index 00000000..d47baf19
--- /dev/null
+++ b/packages/ui-component/vite.config.ts
@@ -0,0 +1,45 @@
+/* eslint-disable import/no-extraneous-dependencies */
+
+import { defineConfig } from 'vite';
+import react from '@vitejs/plugin-react';
+// eslint-disable-next-line import/no-unresolved
+import Unocss from 'unocss/vite';
+import presetWind from '@unocss/preset-wind';
+import * as path from 'path';
+
+export default defineConfig({
+ plugins: [
+ react({
+ // TODO:之后再尝试改为新版
+ jsxRuntime: 'classic',
+ }),
+
+ Unocss({
+ presets: [presetWind()],
+ mode: 'dist-chunk',
+ }),
+ ],
+
+ build: {
+ target: 'esnext',
+ cssCodeSplit: true,
+ // watch: {},
+ lib: {
+ entry: path.resolve(__dirname, 'src/App.tsx'),
+ formats: ['es'],
+ },
+ rollupOptions: {
+ input: {
+ Button: path.resolve(__dirname, 'src/component/Button/index.tsx'),
+ Manga: path.resolve(__dirname, 'src/component/Manga/index.tsx'),
+ },
+ output: {
+ globals: {
+ react: 'react',
+ },
+ entryFileNames: '[name].js',
+ },
+ external: ['react'],
+ },
+ },
+});
diff --git a/packages/userscript/README.md b/packages/userscript/README.md
new file mode 100644
index 00000000..83a9332e
--- /dev/null
+++ b/packages/userscript/README.md
@@ -0,0 +1,14 @@
+### dev
+
+通过向开发服务器请求 bundle.user.js 代码,然后用 eval 执行,来实现每次刷新都是最新的代码,也不用复制粘贴到油猴,只需要将 dev.user.js 的代码添加到油猴离去就行了。
+但如果有修改 @resource 或 @grant 之类的还是得手动更新。
+
+### 动态导入外部库
+
+`src\helper\import.ts` 在这个文件的 `getLib` 对象里提前声明好外部库,就能用 ``const React = await getLib.React();` 的形式来动态导入 @resource 声明的外部库了。
+
+### 使用 React
+
+不知道为什么,就是没法使用新的 `react/jsx-runtime`,暂时就先用 `React.createElement` 吧。所以现在还需要用 `const React = await getLib.React();` 来手动把 React 导入进作用域内,再使用 JSX 语法。
+
+另外为了能实现动态导入,`src\component` 内的组件不能直接 `export`,需要导出一个返回函数组件的异步函数来 `() => Promise>`。另外为了方便调用时命名(可以直接用 import 的组件名来声明变量),再在 `src\component\index.ts` 中重新声明一下。
diff --git a/packages/userscript/package.json b/packages/userscript/package.json
new file mode 100644
index 00000000..d5ba8158
--- /dev/null
+++ b/packages/userscript/package.json
@@ -0,0 +1,40 @@
+{
+ "name": "@crs/userscript",
+ "private": "true",
+ "description": "",
+ "main": "index.js",
+ "type": "module",
+ "scripts": {
+ "build": "rollup --config",
+ "watch": "rollup --config --watch --environment NODE_ENV:development"
+ },
+ "author": "hymbz",
+ "license": "AGPL-3.0-or-later",
+ "dependencies": {
+ "@babel/runtime": "^7.17.9",
+ "@crs/ui-component": "workspace:*",
+ "axios": "^0.26.1",
+ "axios-userscript-adapter": "^0.1.11",
+ "core-js": "^3.22.0"
+ },
+ "devDependencies": {
+ "@babel/core": "^7.17.9",
+ "@babel/plugin-transform-runtime": "^7.17.0",
+ "@babel/preset-env": "^7.16.11",
+ "@babel/preset-react": "^7.16.7",
+ "@rollup/plugin-babel": "^5.3.1",
+ "@rollup/plugin-commonjs": "^21.1.0",
+ "@rollup/plugin-node-resolve": "^13.2.1",
+ "@rollup/plugin-replace": "^4.0.0",
+ "@types/react": "^18.0.5",
+ "@types/react-dom": "^18.0.1",
+ "babel": "^6.23.0",
+ "esbuild": "^0.14.36",
+ "rollup": "^2.70.2",
+ "rollup-plugin-esbuild": "^4.9.1",
+ "rollup-plugin-import-css": "^3.0.3",
+ "rollup-plugin-serve": "^1.1.0",
+ "rollup-plugin-userscript-metablock": "^0.3.1",
+ "utility-types": "^3.10.0"
+ }
+}
diff --git a/packages/userscript/rollup.config.js b/packages/userscript/rollup.config.js
new file mode 100644
index 00000000..a2cb29a6
--- /dev/null
+++ b/packages/userscript/rollup.config.js
@@ -0,0 +1,111 @@
+import resolve from '@rollup/plugin-node-resolve';
+import commonjs from '@rollup/plugin-commonjs';
+import esbuild from 'rollup-plugin-esbuild';
+import serve from 'rollup-plugin-serve';
+import replace from '@rollup/plugin-replace';
+import { babel } from '@rollup/plugin-babel';
+import css from 'rollup-plugin-import-css';
+
+import metablock from 'rollup-plugin-userscript-metablock';
+
+const pkg = require('./package.json');
+
+const meta = {
+ // include: '*://localhost*',
+ include: '*',
+ connect: '*',
+ noframes: true,
+ grant: [
+ 'GM.xmlHttpRequest',
+ 'GM.getResourceText',
+ 'GM.addElement',
+ 'unsafeWindow',
+ ],
+ resource: {
+ React: 'https://unpkg.com/react@18/umd/react.development.js',
+ ReactDOM: 'https://unpkg.com/react-dom@18/umd/react-dom.development.js',
+ },
+
+ name: pkg.name,
+ namespace: pkg.name,
+ version: pkg.version,
+ description: pkg.description,
+ author: pkg.author,
+ license: pkg.license,
+};
+
+const isDevMode = process.env.NODE_ENV === 'development';
+/** 开发服务器的端口 */
+const DEV_PORT = 2405;
+
+const buildConfig = (config, handleMeta = (e) => e) => ({
+ plugins: [
+ replace({
+ DEV_PORT,
+ preventAssignment: true,
+ }),
+ resolve({
+ browser: true,
+ }),
+ commonjs(),
+ css(),
+ esbuild({
+ target: 'esnext',
+ }),
+ babel({
+ targets: ['last 5 Chrome versions', 'last 5 Firefox versions'],
+ babelHelpers: 'runtime',
+ extensions: ['.ts', '.tsx', '.js'],
+ presets: [['@babel/preset-env'], ['@babel/preset-react']],
+ plugins: ['@babel/plugin-transform-runtime'],
+ }),
+ metablock({
+ file: '',
+ override: handleMeta(meta),
+ }),
+ serve({
+ contentBase: './dist',
+ port: DEV_PORT,
+ }),
+ ],
+ external: ['react'],
+ inlineDynamicImports: true,
+
+ ...config,
+});
+
+export default async () => {
+ return [
+ // bundle.user.js
+ buildConfig({
+ input: 'src/index.tsx',
+ output: {
+ file: 'dist/bundle.user.js',
+ // format: 'umd',
+ sourcemap: isDevMode ? 'inline' : false,
+ },
+ }),
+ // dev.user.js
+ buildConfig(
+ {
+ input: 'src/dev.ts',
+ output: { file: 'dist/dev.user.js' },
+
+ // 忽略使用 eval 的警告
+ onwarn(warning, warn) {
+ if (warning.code !== 'EVAL') warn(warning);
+ },
+ },
+ ({ grant = [], ...otherMeta }) => {
+ return {
+ ...otherMeta,
+
+ // 添加 xmlHttpRequest 权限
+ grant: [...new Set([...grant, 'GM.xmlHttpRequest'])],
+ // 允许请求所有域
+ connect: '*',
+ };
+ },
+ ),
+ ];
+};
diff --git a/packages/userscript/src/component/Button/index.tsx b/packages/userscript/src/component/Button/index.tsx
new file mode 100644
index 00000000..e71436f3
--- /dev/null
+++ b/packages/userscript/src/component/Button/index.tsx
@@ -0,0 +1,26 @@
+import { getLib } from '../../helper/import';
+
+export default async () => {
+ const React = await getLib.React();
+ const { useRef, useState } = await getLib.React();
+
+ console.log('import Button');
+
+ const Button: React.FC = () => {
+ const [open, setOpen] = useState(false);
+
+ const ref = useRef() as React.MutableRefObject;
+ // const arrowRef = useRef() as React.MutableRefObject;
+ const [arrowRef, setArrowRef] =
+ useState | null>(null);
+
+ return (
+ <>
+ Button
+ Button
+ >
+ );
+ };
+
+ return Button;
+};
diff --git a/packages/userscript/src/component/Manga/index.tsx b/packages/userscript/src/component/Manga/index.tsx
new file mode 100644
index 00000000..70ff9b8c
--- /dev/null
+++ b/packages/userscript/src/component/Manga/index.tsx
@@ -0,0 +1,26 @@
+import { getLib } from '../../helper/import';
+
+export default async () => {
+ const React = await getLib.React();
+ const { useRef, useState } = await getLib.React();
+
+ console.log('import Manga');
+
+ const Manga: React.FC = () => {
+ const [open, setOpen] = useState(false);
+
+ const ref = useRef() as React.MutableRefObject;
+ // const arrowRef = useRef() as React.MutableRefObject;
+ const [arrowRef, setArrowRef] =
+ useState | null>(null);
+
+ return (
+ <>
+ Manga
+ Manga
+ >
+ );
+ };
+
+ return Manga;
+};
diff --git a/packages/userscript/src/component/index.ts b/packages/userscript/src/component/index.ts
new file mode 100644
index 00000000..f0d93f50
--- /dev/null
+++ b/packages/userscript/src/component/index.ts
@@ -0,0 +1,5 @@
+import Button from './Button';
+
+export default {
+ Button,
+};
diff --git a/packages/userscript/src/dev.ts b/packages/userscript/src/dev.ts
new file mode 100644
index 00000000..91c4bdf8
--- /dev/null
+++ b/packages/userscript/src/dev.ts
@@ -0,0 +1,16 @@
+GM.xmlHttpRequest({
+ method: 'GET',
+ url: `http://localhost:${DEV_PORT as any}/bundle.user.js?${Date.now()}`,
+ timeout: 1000 * 5,
+ onload(r) {
+ if (r.status !== 200) throw new Error(`${r.status} ${r.statusText}`);
+ // eslint-disable-next-line no-eval
+ eval(`(async () => {${r.responseText}})();`);
+ },
+ onerror: (e) => {
+ if (e.status === 0) throw new Error('dev server not running');
+ throw new Error(String(e));
+ },
+}).catch((error) => {
+ console.error(GM.info.script.name, error);
+});
diff --git a/packages/userscript/src/helper/import.ts b/packages/userscript/src/helper/import.ts
new file mode 100644
index 00000000..f1327073
--- /dev/null
+++ b/packages/userscript/src/helper/import.ts
@@ -0,0 +1,44 @@
+/* eslint-disable @typescript-eslint/consistent-type-imports */
+
+const selfLibName = 'selfLib';
+Reflect.set(unsafeWindow, selfLibName, {});
+
+/**
+ * 通过 Resource 导入外部模块
+ *
+ * @param name \@resource 引用的资源名
+ */
+const selfImport = async (name: string) => {
+ const code = await GM.getResourceText(name);
+ // 导入 umd 模块,同时用 call 将模块导入到 selfLib,防止污染全局作用域
+ return GM.addElement('script', {
+ textContent: `console.log('导入:${name}');(function () {${code}}).call(window.${selfLibName});`,
+ });
+};
+
+/**
+ * 获取外部模块的变量
+ *
+ * 如果外部模块未导入,则会自动导入
+ *
+ * @param varName 模块导入后增加的变量名
+ * @param libName resource 引用的资源名
+ */
+const create =
+ (varName: string, libName?: string): (() => Promise) =>
+ async () => {
+ if (!unsafeWindow[selfLibName][varName])
+ await selfImport(libName ?? varName);
+ return unsafeWindow[selfLibName][varName] as T;
+ };
+
+/**
+ * 获取提前定义好的外部模块
+ */
+export const getLib = {
+ React: create('React'),
+ ReactDOM: create('ReactDOM'),
+};
+
+export const React = create('React');
+export const ReactDOM = create('ReactDOM');
diff --git a/packages/userscript/src/helper/index.ts b/packages/userscript/src/helper/index.ts
new file mode 100644
index 00000000..5f68171c
--- /dev/null
+++ b/packages/userscript/src/helper/index.ts
@@ -0,0 +1,21 @@
+/* eslint-disable @typescript-eslint/no-unsafe-return */
+import raxios from 'axios';
+import type { AxiosAdapter } from 'axios';
+import axiosGmxhrAdapter from 'axios-userscript-adapter';
+
+export const axios = raxios.create({
+ adapter: axiosGmxhrAdapter as AxiosAdapter,
+ timeout: 10 * 1000,
+});
+
+/**
+ * 对 document.querySelector 的封装
+ * 将默认返回类型改为 HTMLElement
+ *
+ * @param selector *
+ * @returns *
+ */
+export const querySelector = (
+ selector: string,
+) => document.querySelector(selector);
+
diff --git a/packages/userscript/src/index.tsx b/packages/userscript/src/index.tsx
new file mode 100644
index 00000000..03fb97f3
--- /dev/null
+++ b/packages/userscript/src/index.tsx
@@ -0,0 +1,12 @@
+import rButton from '@crs/ui-component/dist/Button';
+
+import { getLib } from './helper/import';
+
+// import component from './component';
+
+const React = await getLib.React();
+const ReactDOM = await getLib.ReactDOM();
+const root = ReactDOM.createRoot(document.getElementById('ssr-top')!);
+
+const Button = await rButton();
+root.render( );
diff --git a/packages/userscript/src/types/tampermonkey.d.ts b/packages/userscript/src/types/tampermonkey.d.ts
new file mode 100644
index 00000000..478454f2
--- /dev/null
+++ b/packages/userscript/src/types/tampermonkey.d.ts
@@ -0,0 +1,715 @@
+/* eslint-disable camelcase */
+// Type definitions for non-npm package Tampermonkey 4.x
+// Project: https://tampermonkey.net
+// Definitions by: Steven Wang
+// Nikolay Borzov
+// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
+
+// This definition is based on the API reference of Tampermonkey
+// https://tampermonkey.net/documentation.php
+// TypeScript Version: 3.3
+
+declare namespace Tampermonkey {
+ type ValueChangeListener = (
+ name: string,
+ oldValue: any,
+ newValue: any,
+ remote: boolean,
+ ) => void;
+
+ // Response
+
+ enum ReadyState {
+ Unsent = 0,
+ Opened = 1,
+ HeadersReceived = 2,
+ Loading = 3,
+ Done = 4,
+ }
+
+ interface ResponseBase {
+ readonly responseHeaders: string;
+ readonly readyState: ReadyState;
+ readonly response: any;
+ readonly responseText: string;
+ readonly responseXML: Document | null;
+ readonly status: number;
+ readonly statusText: string;
+ }
+
+ interface ProgressResponseBase {
+ done: number;
+ lengthComputable: boolean;
+ loaded: number;
+ position: number;
+ total: number;
+ totalSize: number;
+ }
+
+ interface ErrorResponse extends ResponseBase {
+ readonly error: string;
+ }
+
+ interface Response extends ResponseBase {
+ readonly finalUrl: string;
+ readonly context: TContext;
+ }
+
+ interface ProgressResponse
+ extends Response,
+ ProgressResponseBase {}
+
+ // Request
+
+ interface RequestHeaders {
+ readonly [header: string]: string;
+ }
+
+ type RequestEventListener = (
+ this: TResponse,
+ response: TResponse,
+ ) => void;
+
+ interface Request {
+ method?: 'GET' | 'HEAD' | 'POST' | undefined;
+ /** Destination URL */
+ url: string;
+ /**
+ * i.e. user-agent, referer... (some special headers are not supported
+ * by Safari and Android browsers)
+ */
+ headers?: RequestHeaders | undefined;
+ /** String to send via a POST request */
+ data?: string | undefined;
+ /** A cookie to be patched into the sent cookie set */
+ cookie?: string | undefined;
+ /** Send the data string in binary mode */
+ binary?: boolean | undefined;
+ /** Don't cache the resource */
+ nocache?: boolean | undefined;
+ /** Revalidate maybe cached content */
+ revalidate?: boolean | undefined;
+ /** Timeout in ms */
+ timeout?: number | undefined;
+ /** Property which will be added to the response object */
+ context?: TContext | undefined;
+ responseType?: 'arraybuffer' | 'blob' | 'json' | undefined;
+ /** MIME type for the request */
+ overrideMimeType?: string | undefined;
+ /** Don't send cookies with the requests (please see the fetch notes) */
+ anonymous?: boolean | undefined;
+ /**
+ * (Beta) Use a fetch instead of a xhr request(at Chrome this causes
+ * `xhr.abort`, `details.timeout` and `xhr.onprogress` to not work and
+ * makes `xhr.onreadystatechange` receive only readyState 4 events)
+ */
+ fetch?: boolean | undefined;
+ /** Username for authentication */
+ user?: string | undefined;
+ password?: string | undefined;
+
+ // Events
+
+ /** Callback to be executed if the request was aborted */
+ onabort?(): void;
+ /** Callback to be executed if the request ended up with an error */
+ onerror?: RequestEventListener | undefined;
+ /** Callback to be executed if the request started to load */
+ onloadstart?: RequestEventListener> | undefined;
+ /** Callback to be executed if the request made some progress */
+ onprogress?: RequestEventListener> | undefined;
+ /** Callback to be executed if the request's ready state changed */
+ onreadystatechange?: RequestEventListener> | undefined;
+ /** Callback to be executed if the request failed due to a timeout */
+ ontimeout?(): void;
+ /** Callback to be executed if the request was loaded */
+ onload?: RequestEventListener> | undefined;
+ }
+
+ // Download Response
+
+ interface DownloadProgressResponse extends ProgressResponseBase {
+ readonly finalUrl: string;
+ }
+
+ interface DownloadErrorResponse {
+ /**
+ * Error reason
+ * - `not_enabled` - the download feature isn't enabled by the user
+ * - `not_whitelisted` - the requested file extension is not
+ * whitelisted
+ * - `not_permitted` - the user enabled the download feature, but did
+ * not give the downloads permission
+ * - `not_supported` - the download feature isn't supported by the
+ * browser/version
+ * - `not_succeeded` - the download wasn't started or failed, the
+ * details attribute may provide more information
+ */
+ error:
+ | 'not_enabled'
+ | 'not_whitelisted'
+ | 'not_permitted'
+ | 'not_supported'
+ | 'not_succeeded';
+ /** Detail about that error */
+ details?: string | undefined;
+ }
+
+ // Download Request
+
+ interface DownloadRequest {
+ /** URL from where the data should be downloaded */
+ url: string;
+ /**
+ * Filename - for security reasons the file extension needs to be
+ * whitelisted at Tampermonkey options page
+ */
+ name: string;
+ headers?: RequestHeaders | undefined;
+ /** Show 'Save As' dialog */
+ saveAs?: boolean | undefined;
+ timeout?: number | undefined;
+ /** Callback to be executed if this download ended up with an error */
+ onerror?: RequestEventListener | undefined;
+ /** Callback to be executed if this download finished */
+ ontimeout?(): void;
+ /** Callback to be executed if this download finished */
+ onload?(): void;
+ /** Callback to be executed if this download failed due to a timeout */
+ onprogress?: RequestEventListener | undefined;
+ }
+
+ interface AbortHandle {
+ abort(): TReturn;
+ }
+
+ interface OpenTabOptions {
+ /** Decides whether the new tab should be focused */
+ active?: boolean | undefined;
+ /** Inserts the new tab after the current one */
+ insert?: boolean | undefined;
+ /** Makes the browser re-focus the current tab on close */
+ setParent?: boolean | undefined;
+ }
+
+ interface OpenTabObject {
+ /** Closes tab */
+ close(): void;
+ /** Set closed listener */
+ onclose?(): void;
+ closed: boolean;
+ }
+
+ interface NotificationThis extends Notification {
+ id: string;
+ }
+
+ type NotificationOnClick = (this: NotificationThis) => void;
+ /** `clicked` is `true` when `text` was set */
+ type NotificationOnDone = (this: NotificationThis, clicked: boolean) => void;
+
+ interface Notification {
+ /** Text of the notification (optional if highlight is set) */
+ text?: string | undefined;
+ /** Notification title. If not specified the script name is used */
+ title?: string | undefined;
+ image?: string | undefined;
+ /** Flag whether to highlight the tab that sends the notification */
+ highlight?: boolean | undefined;
+ /** Whether to play or not play a sound */
+ silent?: boolean | undefined;
+ /** Time after that the notification will be hidden. `0` = disabled */
+ timeout?: number | undefined;
+ /**
+ * Called when the notification is closed (no matter if this was
+ * triggered by a timeout or a click) or the tab was highlighted
+ */
+ onclick?: NotificationOnClick | undefined;
+ /** Called in case the user clicks the notification */
+ ondone?: NotificationOnDone | undefined;
+ }
+
+ interface TextNotification extends Notification {
+ /** Text of the notification (optional if highlight is set) */
+ text: string;
+ }
+
+ interface HighlightNotification extends Notification {
+ text?: undefined;
+ highlight: true;
+ }
+
+ type NotificationDetails = TextNotification | HighlightNotification;
+
+ // Interfaces for GM_info
+
+ /**
+ * The metadata that the user can override in the settings
+ * for example run-at or excludes
+ */
+ interface ScriptMetadataOverrides {
+ merge_connects: boolean;
+ merge_excludes: boolean;
+ merge_includes: boolean;
+ merge_matches: boolean;
+ orig_connects: string[];
+ orig_excludes: string[];
+ orig_includes: string[];
+ orig_matches: string[];
+ orig_noframes: string | null;
+ orig_run_at: string | null;
+ use_blockers: string[];
+ use_connects: string[];
+ use_excludes: string[];
+ use_includes: string[];
+ use_matches: string[];
+ }
+
+ /**
+ * The options that the user of the userscript
+ * can set in the settings (!== overrides)
+ */
+ interface ScriptSettings {
+ check_for_updates: boolean;
+ comment: string | null;
+ compat_foreach: boolean;
+ compat_metadata: boolean;
+ compat_prototypes: boolean;
+ compat_wrappedjsobject: boolean;
+ compatopts_for_requires: boolean;
+ noframes: boolean | null;
+ run_at: string;
+ override: ScriptMetadataOverrides;
+ }
+
+ /**
+ * The resources from the metadata block (@resources)
+ * that tampermonkey should preload
+ */
+ interface ScriptResource {
+ name: string;
+ url: string;
+ content: string;
+ meta: string;
+ }
+
+ /**
+ * `.. | null` means if it was not explicitely set in the metadata
+ * block it is null
+ */
+ interface ScriptMetadata {
+ antifeatures: Record>;
+ author: string | null;
+
+ /**
+ * Idk what this is, nothing I did changed this from any empty array
+ * and it's not documented anywhere
+ */
+ blockers: any[];
+
+ copyright: string | null;
+ description: string | null;
+ description_i18n: Record;
+ downloadURL: string | null;
+ evilness: number;
+ excludes: string[];
+ grant: string[];
+ header: string;
+ homepage: string | null;
+ icon: string | null;
+ icon64: string | null;
+ includes: string[];
+ lastModified: number;
+ matches: string[];
+ name: string;
+ name_i18n: Record;
+ namespace: string | null;
+ options: ScriptSettings;
+
+ position: number;
+ resources: ScriptResource[];
+
+ /**
+ * Never null, defaults to document-idle
+ */
+ 'run-at': string;
+
+ supportURL: string | null;
+ sync: {
+ imported: boolean;
+ };
+ unwrap: boolean;
+ updateURL: string | null;
+ uuid: string;
+ version: string;
+ webRequest: string[];
+ }
+
+ interface ScriptInfo {
+ downloadMode: 'native' | 'browser' | 'disabled';
+ isFirstPartyIsolation: boolean | undefined;
+ isIncognito: boolean;
+ script: ScriptMetadata;
+
+ /**
+ * In tampermonkey it's "Tampermonkey"
+ * but I'll leave it as string so this can be used
+ * for other managers
+ */
+ scriptHandler: string;
+
+ scriptMetaStr: string;
+ scriptSource: string;
+ scriptUpdateURL: string | undefined;
+ scriptWillUpdate: boolean;
+
+ /** This refers to tampermonkey's version */
+ version: string;
+ }
+
+ type ContentType =
+ | string
+ | { type?: string | undefined; mimetype?: string | undefined };
+}
+
+/**
+ * The unsafeWindow object provides full access to the pages javascript
+ * functions and variables
+ */
+declare let unsafeWindow: Window & { [key: string]: any };
+
+// Styles
+
+/**
+ * Adds the given style to the document and returns the injected style element.
+ */
+declare function GM_addStyle(css: string): HTMLStyleElement;
+
+// Storage
+
+/** Sets the value of `name` to the storage */
+declare function GM_setValue(name: string, value: any): void;
+
+/**
+ * Adds a change listener to the storage and returns the listener ID.
+ * The `remote` argument of the callback function shows whether this value was
+ * modified from the instance of another tab (`true`) or within this script
+ * instance (`false`). Therefore this functionality can be used by scripts of
+ * different browser tabs to communicate with each other.
+ *
+ * @param name Name of the observed variable
+ */
+declare function GM_addValueChangeListener(
+ name: string,
+ listener: Tampermonkey.ValueChangeListener,
+): number;
+
+/** Removes a change listener by its ID */
+declare function GM_removeValueChangeListener(listenerId: number): void;
+
+/** Gets the value of 'name' from storage */
+declare function GM_getValue(
+ name: string,
+ defaultValue?: TValue,
+): TValue;
+
+/** Deletes 'name' from storage */
+declare function GM_deleteValue(name: string): void;
+
+/** Lists all names of the storage */
+declare function GM_listValues(): string[];
+
+// Resources
+
+/** Get the content of a predefined `@resource` tag at the script header */
+declare function GM_getResourceText(name: string): string;
+
+/**
+ * Get the base64 encoded URI of a predefined `@resource` tag at the script
+ * header
+ */
+declare function GM_getResourceURL(name: string): string;
+
+// Menu commands
+
+/**
+ * Register a menu to be displayed at the Tampermonkey menu at pages where this
+ * script runs and returns a menu command ID.
+ */
+declare function GM_registerMenuCommand(
+ name: string,
+ onClick: () => void,
+ accessKey?: string,
+): number;
+
+/**
+ * Unregister a menu command that was previously registered by
+ * `GM_registerMenuCommand` or `GM.registerMenuCommand` with the given menu command ID.
+ */
+declare function GM_unregisterMenuCommand(menuCommandId: number): void;
+
+// Requests
+
+/** Makes an xmlHttpRequest */
+declare function GM_xmlhttpRequest(
+ details: Tampermonkey.Request, // tslint:disable-line:no-unnecessary-generics
+): Tampermonkey.AbortHandle;
+
+/** Downloads a given URL to the local disk */
+declare function GM_download(
+ details: Tampermonkey.DownloadRequest,
+): Tampermonkey.AbortHandle;
+declare function GM_download(
+ url: string,
+ name: string,
+): Tampermonkey.AbortHandle;
+
+// Tabs
+
+/** Saves the tab object to reopen it after a page unload */
+declare function GM_saveTab(obj: object): void;
+
+/** Gets a object that is persistent as long as this tab is open */
+declare function GM_getTab(callback: (obj: any) => void): void;
+
+/** Gets all tab objects as a hash to communicate with other script instances */
+declare function GM_getTabs(
+ callback: (tabsMap: { [tabId: number]: any }) => void,
+): void;
+
+// Utils
+
+declare const GM_info: Tampermonkey.ScriptInfo;
+
+/** Log a message to the console */
+declare function GM_log(...message: any[]): void;
+
+/**
+ * Opens a new tab with this url.
+ * The options object can have the following properties:
+ * - `active` decides whether the new tab should be focused,
+ * - `insert` that inserts the new tab after the current one and
+ * - `setParent` makes the browser re-focus the current tab on close.
+ *
+ * Otherwise the new tab is just appended.
+ * If `options` is boolean (loadInBackground) it has the opposite meaning of
+ * active and was added to achieve Greasemonkey 3.x compatibility.
+ *
+ * If neither active nor loadInBackground is given, then the tab will not be
+ * focused.
+ *
+ * @returns Object with the function `close`, the listener `onclose` and a flag
+ * called `closed`.
+ */
+declare function GM_openInTab(
+ url: string,
+ options?: Tampermonkey.OpenTabOptions | boolean,
+): Tampermonkey.OpenTabObject;
+
+/**
+ * Shows a HTML5 Desktop notification and/or highlight the current tab.
+ *
+ * @param ondone If specified used instead of `details.ondone`
+ */
+declare function GM_notification(
+ details: Tampermonkey.NotificationDetails,
+ ondone?: Tampermonkey.NotificationOnDone,
+): void;
+
+/**
+ * Shows a HTML5 Desktop notification and/or highlight the current tab.
+ *
+ * @param text Text of the notification
+ * @param title Notification title. If not specified the script name is used
+ * @param onclick Called in case the user clicks the notification
+ */
+declare function GM_notification(
+ text: string,
+ title?: string,
+ image?: string,
+ onclick?: Tampermonkey.NotificationOnClick,
+): void;
+
+/**
+ * Copies data into the clipboard.
+ * The parameter 'info' can be an object like
+ * `{ type: 'text', mimetype: 'text/plain'}` or just a string expressing the
+ * type ("text" or "html").
+ */
+declare function GM_setClipboard(
+ data: string,
+ info?: Tampermonkey.ContentType,
+): void;
+
+// GM.*
+
+/**
+ * `GM` has all the `GM_*` apis in promisified form
+ */
+declare const GM: Readonly<{
+ // Styles
+
+ /**
+ * Adds the given style to the document and returns the injected style element.
+ */
+ addStyle(css: string): Promise;
+
+ // Storage
+
+ /** Sets the value of `name` to the storage */
+ setValue(name: string, value: any): Promise;
+
+ /** Gets the value of 'name' from storage */
+ getValue(name: string, defaultValue?: TValue): Promise;
+
+ /** Deletes 'name' from storage */
+ deleteValue(name: string): Promise;
+
+ /** Lists all names of the storage */
+ listValues(): Promise;
+
+ /**
+ * Adds a change listener to the storage and returns the listener ID.
+ * The `remote` argument of the callback function shows whether this value was
+ * modified from the instance of another tab (`true`) or within this script
+ * instance (`false`). Therefore this functionality can be used by scripts of
+ * different browser tabs to communicate with each other.
+ *
+ * @param name Name of the observed variable
+ */
+ addValueChangeListener(
+ name: string,
+ listener: Tampermonkey.ValueChangeListener,
+ ): Promise;
+
+ /** Removes a change listener by its ID */
+ removeValueChangeListener(listenerId: number): Promise;
+
+ // Resources
+
+ /** Get the content of a predefined `@resource` tag at the script header */
+ getResourceText(name: string): Promise;
+
+ /**
+ * Get the base64 encoded URI of a predefined `@resource` tag at the script
+ * header
+ */
+ getResourceUrl(name: string): Promise;
+
+ // Menu commands
+
+ /**
+ * Register a menu to be displayed at the Tampermonkey menu at pages where this
+ * script runs and returns a menu command ID.
+ *
+ * @param accessKey The key to use for keyboard shortcuts
+ */
+ registerMenuCommand(
+ name: string,
+ onClick: () => void,
+ accessKey?: string,
+ ): Promise;
+ /**
+ * Unregister a menu command that was previously registered by
+ * `GM_registerMenuCommand` or `GM.registerMenuCommand` with the given menu command ID.
+ */
+ unregisterMenuCommand(menuCommandId: number): Promise;
+
+ // Requests
+
+ /**
+ * Makes an xmlHttpRequest
+ *
+ * @throws {Tampermonkey.ErrorResponse}
+ */
+ xmlHttpRequest(
+ // onload and the like still work
+ details: Tampermonkey.Request, // tslint:disable-line:no-unnecessary-generics
+ ): Promise>;
+
+ // GM_download has two signatures, GM.download has one
+ /**
+ * Downloads a given URL to the local disk
+ *
+ * @throws {Tampermonkey.DownloadErrorResponse}
+ */
+ download(details: Tampermonkey.DownloadRequest): Promise;
+
+ // Tabs
+
+ /** Saves the tab object to reopen it after a page unload */
+ saveTab(obj: any): Promise;
+
+ /** Gets a object that is persistent as long as this tab is open */
+ getTab(): Promise;
+
+ /** Gets all tab objects as a hash to communicate with other script instances */
+ getTabs(): Promise<{ [tabId: number]: any }>;
+
+ // Utils
+ info: Tampermonkey.ScriptInfo;
+
+ /** Log a message to the console */
+ log(...message: any[]): Promise;
+
+ /**
+ * Opens a new tab with this url.
+ * The options object can have the following properties:
+ * - `active` decides whether the new tab should be focused,
+ * - `insert` that inserts the new tab after the current one and
+ * - `setParent` makes the browser re-focus the current tab on close.
+ *
+ * Otherwise the new tab is just appended.
+ * If `options` is boolean (loadInBackground) it has the opposite meaning of
+ * active and was added to achieve Greasemonkey 3.x compatibility.
+ *
+ * If neither active nor loadInBackground is given, then the tab will not be
+ * focused.
+ *
+ * @returns Object with the function `close`, the listener `onclose` and a flag
+ * called `closed`.
+ */
+ openInTab(
+ url: string,
+ options?: Tampermonkey.OpenTabOptions | boolean,
+ ): Promise;
+
+ /**
+ * Shows a HTML5 Desktop notification and/or highlight the current tab.
+ *
+ * @param ondone If specified used instead of `details.ondone`
+ * @returns True if the notification was clicked
+ */
+ notification(
+ details: Tampermonkey.NotificationDetails,
+ ondone?: Tampermonkey.NotificationOnDone,
+ ): Promise;
+
+ /**
+ * Shows a HTML5 Desktop notification and/or highlight the current tab.
+ *
+ * @param text Text of the notification
+ * @param title Notification title. If not specified the script name is used
+ * @param onclick Called in case the user clicks the notification
+ * @returns True if the notification was clicked
+ */
+ notification(
+ text: string,
+ title?: string,
+ image?: string,
+ onclick?: Tampermonkey.NotificationOnClick,
+ ): Promise;
+
+ /**
+ * Copies data into the clipboard.
+ * The parameter 'info' can be an object like
+ * `{ type: 'text', mimetype: 'text/plain'}` or just a string expressing the
+ * type ("text" or "html").
+ */
+ setClipboard(data: string, info?: Tampermonkey.ContentType): Promise;
+
+ addElement: (
+ tag_name: string,
+ attributes: { textContent: string },
+ ) => Promise;
+}>;
diff --git a/packages/userscript/tsconfig.json b/packages/userscript/tsconfig.json
new file mode 100644
index 00000000..3a68242d
--- /dev/null
+++ b/packages/userscript/tsconfig.json
@@ -0,0 +1,72 @@
+{
+ "compilerOptions": {
+ /* Basic Options */
+ // "incremental": true, /* Enable incremental compilation */
+ "target": "ESNext", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */
+ "module": "ESNext", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
+ "lib": ["ESNext", "dom"], /* Specify library files to be included in the compilation. */
+ "allowJs": true, /* Allow javascript files to be compiled. */
+ // "checkJs": true, /* Report errors in .js files. */
+ "jsx": "react-jsx", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
+ // "declaration": true, /* Generates corresponding '.d.ts' file. */
+ // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */
+ // "sourceMap": true, /* Generates corresponding '.map' file. */
+ // "outFile": "./", /* Concatenate and emit output to single file. */
+ // "outDir": "./dist/", /* Redirect output structure to the directory. */
+ "rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
+ // "composite": true, /* Enable project compilation */
+ // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */
+ // "removeComments": true, /* Do not emit comments to output. */
+ "noEmit": true, /* Do not emit outputs. */
+ // "importHelpers": true, /* Import emit helpers from 'tslib'. */
+ // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
+ // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */
+
+ /* Strict Type-Checking Options */
+ "strict": true, /* Enable all strict type-checking options. */
+ "noImplicitAny": false, /* Raise error on expressions and declarations with an implied 'any' type. */
+ // "strictNullChecks": true, /* Enable strict null checks. */
+ // "strictFunctionTypes": true, /* Enable strict checking of function types. */
+ // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */
+ // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */
+ // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */
+ // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */
+
+ /* Additional Checks */
+ // "noUnusedLocals": true, /* Report errors on unused locals. */
+ // "noUnusedParameters": true, /* Report errors on unused parameters. */
+ // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
+ // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
+
+ /* Module Resolution Options */
+ "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
+ // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */
+ // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
+ // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */
+ // "typeRoots": [], /* List of folders to include type definitions from. */
+ // "types": [], /* Type declaration files to be included in compilation. */
+ // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
+ "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
+ // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */
+ // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */
+
+ /* Source Map Options */
+ // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
+ // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
+ // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */
+ // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
+
+ /* Experimental Options */
+ "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */
+ "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */
+
+ /* Advanced Options */
+ "forceConsistentCasingInFileNames": true, /* Disallow inconsistently-cased references to the same file. */
+ "paths": {
+ "~/*": ["./packages/*"]
+ }
+ },
+ "include": [
+ "src"
+ ]
+}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
new file mode 100644
index 00000000..d5dda3b6
--- /dev/null
+++ b/pnpm-lock.yaml
@@ -0,0 +1,5091 @@
+lockfileVersion: 5.3
+
+importers:
+
+ .:
+ specifiers:
+ '@typescript-eslint/eslint-plugin': ^5.20.0
+ '@typescript-eslint/parser': ^5.20.0
+ eslint: ^8.13.0
+ eslint-config-airbnb: ^19.0.4
+ eslint-config-prettier: ^8.5.0
+ eslint-plugin-import: ^2.26.0
+ eslint-plugin-jsdoc: ^39.2.3
+ eslint-plugin-jsx-a11y: ^6.5.1
+ eslint-plugin-prettier: ^4.0.0
+ eslint-plugin-react: ^7.29.4
+ eslint-plugin-react-hooks: ^4.4.0
+ lodash: ^4.17.21
+ prettier: ^2.6.2
+ react: ^18.0.0
+ react-dom: ^18.0.0
+ typescript: ^4.6.3
+ dependencies:
+ lodash: 4.17.21
+ react: 18.0.0
+ react-dom: 18.0.0_react@18.0.0
+ devDependencies:
+ '@typescript-eslint/eslint-plugin': 5.20.0_b9ac9b5656ce5dffade639fcf5e491bf
+ '@typescript-eslint/parser': 5.20.0_eslint@8.13.0+typescript@4.6.3
+ eslint: 8.13.0
+ eslint-config-airbnb: 19.0.4_98153b3cb1eb5f851029189077e45ffc
+ eslint-config-prettier: 8.5.0_eslint@8.13.0
+ eslint-plugin-import: 2.26.0_eslint@8.13.0
+ eslint-plugin-jsdoc: 39.2.4_eslint@8.13.0
+ eslint-plugin-jsx-a11y: 6.5.1_eslint@8.13.0
+ eslint-plugin-prettier: 4.0.0_1815ac95b7fb26c13c7d48a8eef62d0f
+ eslint-plugin-react: 7.29.4_eslint@8.13.0
+ eslint-plugin-react-hooks: 4.4.0_eslint@8.13.0
+ prettier: 2.6.2
+ typescript: 4.6.3
+
+ packages/ui-component:
+ specifiers:
+ '@ladle/react': ^0.12.1
+ '@types/node': ^17.0.25
+ '@types/react': ^18.0.0
+ '@types/react-dom': ^18.0.0
+ '@typescript-eslint/eslint-plugin': ^5.20.0
+ '@typescript-eslint/parser': ^5.20.0
+ '@unocss/preset-wind': ^0.31.5
+ '@vitejs/plugin-react': ^1.3.0
+ eslint: ^8.13.0
+ eslint-config-airbnb: ^19.0.4
+ eslint-config-prettier: ^8.5.0
+ eslint-plugin-import: ^2.26.0
+ eslint-plugin-jsdoc: ^39.2.3
+ eslint-plugin-jsx-a11y: ^6.5.1
+ eslint-plugin-prettier: ^4.0.0
+ eslint-plugin-react: ^7.29.4
+ eslint-plugin-react-hooks: ^4.4.0
+ prettier: ^2.6.2
+ react: ^18.0.0
+ react-dom: ^18.0.0
+ typescript: ^4.6.3
+ unocss: ^0.31.5
+ vite: ^2.9.5
+ dependencies:
+ react: 18.0.0
+ react-dom: 18.0.0_react@18.0.0
+ devDependencies:
+ '@ladle/react': 0.12.2_4ba69c7787dfd9a3579e23e97d93e7b4
+ '@types/node': 17.0.25
+ '@types/react': 18.0.5
+ '@types/react-dom': 18.0.1
+ '@typescript-eslint/eslint-plugin': 5.20.0_b9ac9b5656ce5dffade639fcf5e491bf
+ '@typescript-eslint/parser': 5.20.0_eslint@8.13.0+typescript@4.6.3
+ '@unocss/preset-wind': 0.31.6
+ '@vitejs/plugin-react': 1.3.1
+ eslint: 8.13.0
+ eslint-config-airbnb: 19.0.4_98153b3cb1eb5f851029189077e45ffc
+ eslint-config-prettier: 8.5.0_eslint@8.13.0
+ eslint-plugin-import: 2.26.0_eslint@8.13.0
+ eslint-plugin-jsdoc: 39.2.4_eslint@8.13.0
+ eslint-plugin-jsx-a11y: 6.5.1_eslint@8.13.0
+ eslint-plugin-prettier: 4.0.0_1815ac95b7fb26c13c7d48a8eef62d0f
+ eslint-plugin-react: 7.29.4_eslint@8.13.0
+ eslint-plugin-react-hooks: 4.4.0_eslint@8.13.0
+ prettier: 2.6.2
+ typescript: 4.6.3
+ unocss: 0.31.6_vite@2.9.5
+ vite: 2.9.5
+
+ packages/userscript:
+ specifiers:
+ '@babel/core': ^7.17.9
+ '@babel/plugin-transform-runtime': ^7.17.0
+ '@babel/preset-env': ^7.16.11
+ '@babel/preset-react': ^7.16.7
+ '@babel/runtime': ^7.17.9
+ '@crs/ui-component': workspace:*
+ '@rollup/plugin-babel': ^5.3.1
+ '@rollup/plugin-commonjs': ^21.1.0
+ '@rollup/plugin-node-resolve': ^13.2.1
+ '@rollup/plugin-replace': ^4.0.0
+ '@types/react': ^18.0.5
+ '@types/react-dom': ^18.0.1
+ axios: ^0.26.1
+ axios-userscript-adapter: ^0.1.11
+ babel: ^6.23.0
+ core-js: ^3.22.0
+ esbuild: ^0.14.36
+ rollup: ^2.70.2
+ rollup-plugin-esbuild: ^4.9.1
+ rollup-plugin-import-css: ^3.0.3
+ rollup-plugin-serve: ^1.1.0
+ rollup-plugin-userscript-metablock: ^0.3.1
+ utility-types: ^3.10.0
+ dependencies:
+ '@babel/runtime': 7.17.9
+ '@crs/ui-component': link:../ui-component
+ axios: 0.26.1
+ axios-userscript-adapter: 0.1.11_axios@0.26.1
+ core-js: 3.22.1
+ devDependencies:
+ '@babel/core': 7.17.9
+ '@babel/plugin-transform-runtime': 7.17.0_@babel+core@7.17.9
+ '@babel/preset-env': 7.16.11_@babel+core@7.17.9
+ '@babel/preset-react': 7.16.7_@babel+core@7.17.9
+ '@rollup/plugin-babel': 5.3.1_@babel+core@7.17.9+rollup@2.70.2
+ '@rollup/plugin-commonjs': 21.1.0_rollup@2.70.2
+ '@rollup/plugin-node-resolve': 13.2.1_rollup@2.70.2
+ '@rollup/plugin-replace': 4.0.0_rollup@2.70.2
+ '@types/react': 18.0.5
+ '@types/react-dom': 18.0.1
+ babel: 6.23.0
+ esbuild: 0.14.36
+ rollup: 2.70.2
+ rollup-plugin-esbuild: 4.9.1_esbuild@0.14.36+rollup@2.70.2
+ rollup-plugin-import-css: 3.0.3_rollup@2.70.2
+ rollup-plugin-serve: 1.1.0
+ rollup-plugin-userscript-metablock: 0.3.1
+ utility-types: 3.10.0
+
+packages:
+
+ /@ampproject/remapping/2.1.2:
+ resolution: {integrity: sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.7
+ dev: true
+
+ /@antfu/install-pkg/0.1.0:
+ resolution: {integrity: sha512-VaIJd3d1o7irZfK1U0nvBsHMyjkuyMP3HKYVV53z8DKyulkHKmjhhtccXO51WSPeeSHIeoJEoNOKavYpS7jkZw==}
+ dependencies:
+ execa: 5.1.1
+ find-up: 5.0.0
+ dev: true
+
+ /@antfu/utils/0.5.1:
+ resolution: {integrity: sha512-8Afo0+xvYe1K8Wm4xHTymfTkpzy36aaqDvhXIayUwl+mecMG9Xzl3XjXa6swG6Bk8FBeQ646RyvmsYt6+2Be9g==}
+ dev: true
+
+ /@babel/code-frame/7.16.7:
+ resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/highlight': 7.17.9
+ dev: true
+
+ /@babel/compat-data/7.17.7:
+ resolution: {integrity: sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==}
+ engines: {node: '>=6.9.0'}
+ dev: true
+
+ /@babel/core/7.17.9:
+ resolution: {integrity: sha512-5ug+SfZCpDAkVp9SFIZAzlW18rlzsOcJGaetCjkySnrXXDUw9AR8cDUm1iByTmdWM6yxX6/zycaV76w3YTF2gw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@ampproject/remapping': 2.1.2
+ '@babel/code-frame': 7.16.7
+ '@babel/generator': 7.17.9
+ '@babel/helper-compilation-targets': 7.17.7_@babel+core@7.17.9
+ '@babel/helper-module-transforms': 7.17.7
+ '@babel/helpers': 7.17.9
+ '@babel/parser': 7.17.9
+ '@babel/template': 7.16.7
+ '@babel/traverse': 7.17.9
+ '@babel/types': 7.17.0
+ convert-source-map: 1.8.0
+ debug: 4.3.4
+ gensync: 1.0.0-beta.2
+ json5: 2.2.1
+ semver: 6.3.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/generator/7.17.9:
+ resolution: {integrity: sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.17.0
+ jsesc: 2.5.2
+ source-map: 0.5.7
+ dev: true
+
+ /@babel/helper-annotate-as-pure/7.16.7:
+ resolution: {integrity: sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.17.0
+ dev: true
+
+ /@babel/helper-builder-binary-assignment-operator-visitor/7.16.7:
+ resolution: {integrity: sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-explode-assignable-expression': 7.16.7
+ '@babel/types': 7.17.0
+ dev: true
+
+ /@babel/helper-compilation-targets/7.17.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/compat-data': 7.17.7
+ '@babel/core': 7.17.9
+ '@babel/helper-validator-option': 7.16.7
+ browserslist: 4.20.2
+ semver: 6.3.0
+ dev: true
+
+ /@babel/helper-create-class-features-plugin/7.17.9_@babel+core@7.17.9:
+ resolution: {integrity: sha512-kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-annotate-as-pure': 7.16.7
+ '@babel/helper-environment-visitor': 7.16.7
+ '@babel/helper-function-name': 7.17.9
+ '@babel/helper-member-expression-to-functions': 7.17.7
+ '@babel/helper-optimise-call-expression': 7.16.7
+ '@babel/helper-replace-supers': 7.16.7
+ '@babel/helper-split-export-declaration': 7.16.7
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/helper-create-regexp-features-plugin/7.17.0_@babel+core@7.17.9:
+ resolution: {integrity: sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-annotate-as-pure': 7.16.7
+ regexpu-core: 5.0.1
+ dev: true
+
+ /@babel/helper-define-polyfill-provider/0.3.1_@babel+core@7.17.9:
+ resolution: {integrity: sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==}
+ peerDependencies:
+ '@babel/core': ^7.4.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-compilation-targets': 7.17.7_@babel+core@7.17.9
+ '@babel/helper-module-imports': 7.16.7
+ '@babel/helper-plugin-utils': 7.16.7
+ '@babel/traverse': 7.17.9
+ debug: 4.3.4
+ lodash.debounce: 4.0.8
+ resolve: 1.22.0
+ semver: 6.3.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/helper-environment-visitor/7.16.7:
+ resolution: {integrity: sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.17.0
+ dev: true
+
+ /@babel/helper-explode-assignable-expression/7.16.7:
+ resolution: {integrity: sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.17.0
+ dev: true
+
+ /@babel/helper-function-name/7.17.9:
+ resolution: {integrity: sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/template': 7.16.7
+ '@babel/types': 7.17.0
+ dev: true
+
+ /@babel/helper-hoist-variables/7.16.7:
+ resolution: {integrity: sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.17.0
+ dev: true
+
+ /@babel/helper-member-expression-to-functions/7.17.7:
+ resolution: {integrity: sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.17.0
+ dev: true
+
+ /@babel/helper-module-imports/7.16.7:
+ resolution: {integrity: sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.17.0
+ dev: true
+
+ /@babel/helper-module-transforms/7.17.7:
+ resolution: {integrity: sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-environment-visitor': 7.16.7
+ '@babel/helper-module-imports': 7.16.7
+ '@babel/helper-simple-access': 7.17.7
+ '@babel/helper-split-export-declaration': 7.16.7
+ '@babel/helper-validator-identifier': 7.16.7
+ '@babel/template': 7.16.7
+ '@babel/traverse': 7.17.9
+ '@babel/types': 7.17.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/helper-optimise-call-expression/7.16.7:
+ resolution: {integrity: sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.17.0
+ dev: true
+
+ /@babel/helper-plugin-utils/7.16.7:
+ resolution: {integrity: sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==}
+ engines: {node: '>=6.9.0'}
+ dev: true
+
+ /@babel/helper-remap-async-to-generator/7.16.8:
+ resolution: {integrity: sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-annotate-as-pure': 7.16.7
+ '@babel/helper-wrap-function': 7.16.8
+ '@babel/types': 7.17.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/helper-replace-supers/7.16.7:
+ resolution: {integrity: sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-environment-visitor': 7.16.7
+ '@babel/helper-member-expression-to-functions': 7.17.7
+ '@babel/helper-optimise-call-expression': 7.16.7
+ '@babel/traverse': 7.17.9
+ '@babel/types': 7.17.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/helper-simple-access/7.17.7:
+ resolution: {integrity: sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.17.0
+ dev: true
+
+ /@babel/helper-skip-transparent-expression-wrappers/7.16.0:
+ resolution: {integrity: sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.17.0
+ dev: true
+
+ /@babel/helper-split-export-declaration/7.16.7:
+ resolution: {integrity: sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.17.0
+ dev: true
+
+ /@babel/helper-validator-identifier/7.16.7:
+ resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==}
+ engines: {node: '>=6.9.0'}
+ dev: true
+
+ /@babel/helper-validator-option/7.16.7:
+ resolution: {integrity: sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==}
+ engines: {node: '>=6.9.0'}
+ dev: true
+
+ /@babel/helper-wrap-function/7.16.8:
+ resolution: {integrity: sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-function-name': 7.17.9
+ '@babel/template': 7.16.7
+ '@babel/traverse': 7.17.9
+ '@babel/types': 7.17.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/helpers/7.17.9:
+ resolution: {integrity: sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/template': 7.16.7
+ '@babel/traverse': 7.17.9
+ '@babel/types': 7.17.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/highlight/7.17.9:
+ resolution: {integrity: sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-validator-identifier': 7.16.7
+ chalk: 2.4.2
+ js-tokens: 4.0.0
+ dev: true
+
+ /@babel/parser/7.17.9:
+ resolution: {integrity: sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+ dev: true
+
+ /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.13.0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ '@babel/helper-skip-transparent-expression-wrappers': 7.16.0
+ '@babel/plugin-proposal-optional-chaining': 7.16.7_@babel+core@7.17.9
+ dev: true
+
+ /@babel/plugin-proposal-async-generator-functions/7.16.8_@babel+core@7.17.9:
+ resolution: {integrity: sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ '@babel/helper-remap-async-to-generator': 7.16.8
+ '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.17.9
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-proposal-class-properties/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-create-class-features-plugin': 7.17.9_@babel+core@7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-proposal-class-static-block/7.17.6_@babel+core@7.17.9:
+ resolution: {integrity: sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.12.0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-create-class-features-plugin': 7.17.9_@babel+core@7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.17.9
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-proposal-dynamic-import/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.17.9
+ dev: true
+
+ /@babel/plugin-proposal-export-namespace-from/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.17.9
+ dev: true
+
+ /@babel/plugin-proposal-json-strings/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.17.9
+ dev: true
+
+ /@babel/plugin-proposal-logical-assignment-operators/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.17.9
+ dev: true
+
+ /@babel/plugin-proposal-nullish-coalescing-operator/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.17.9
+ dev: true
+
+ /@babel/plugin-proposal-numeric-separator/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.17.9
+ dev: true
+
+ /@babel/plugin-proposal-object-rest-spread/7.17.3_@babel+core@7.17.9:
+ resolution: {integrity: sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/compat-data': 7.17.7
+ '@babel/core': 7.17.9
+ '@babel/helper-compilation-targets': 7.17.7_@babel+core@7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.17.9
+ '@babel/plugin-transform-parameters': 7.16.7_@babel+core@7.17.9
+ dev: true
+
+ /@babel/plugin-proposal-optional-catch-binding/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.17.9
+ dev: true
+
+ /@babel/plugin-proposal-optional-chaining/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ '@babel/helper-skip-transparent-expression-wrappers': 7.16.0
+ '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.17.9
+ dev: true
+
+ /@babel/plugin-proposal-private-methods/7.16.11_@babel+core@7.17.9:
+ resolution: {integrity: sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-create-class-features-plugin': 7.17.9_@babel+core@7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-proposal-private-property-in-object/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-annotate-as-pure': 7.16.7
+ '@babel/helper-create-class-features-plugin': 7.17.9_@babel+core@7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.17.9
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-proposal-unicode-property-regex/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-create-regexp-features-plugin': 7.17.0_@babel+core@7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.17.9:
+ resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.17.9:
+ resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.17.9:
+ resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.17.9:
+ resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.17.9:
+ resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.17.9:
+ resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-syntax-jsx/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.17.9:
+ resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.17.9:
+ resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.17.9:
+ resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.17.9:
+ resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.17.9:
+ resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.17.9:
+ resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.17.9:
+ resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.17.9:
+ resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-syntax-typescript/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-transform-arrow-functions/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-transform-async-to-generator/7.16.8_@babel+core@7.17.9:
+ resolution: {integrity: sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-module-imports': 7.16.7
+ '@babel/helper-plugin-utils': 7.16.7
+ '@babel/helper-remap-async-to-generator': 7.16.8
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-transform-block-scoped-functions/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-transform-block-scoping/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-transform-classes/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-annotate-as-pure': 7.16.7
+ '@babel/helper-environment-visitor': 7.16.7
+ '@babel/helper-function-name': 7.17.9
+ '@babel/helper-optimise-call-expression': 7.16.7
+ '@babel/helper-plugin-utils': 7.16.7
+ '@babel/helper-replace-supers': 7.16.7
+ '@babel/helper-split-export-declaration': 7.16.7
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-transform-computed-properties/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-transform-destructuring/7.17.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-transform-dotall-regex/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-create-regexp-features-plugin': 7.17.0_@babel+core@7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-transform-duplicate-keys/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-transform-exponentiation-operator/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-builder-binary-assignment-operator-visitor': 7.16.7
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-transform-for-of/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-transform-function-name/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-compilation-targets': 7.17.7_@babel+core@7.17.9
+ '@babel/helper-function-name': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-transform-literals/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-transform-member-expression-literals/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-transform-modules-amd/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-module-transforms': 7.17.7
+ '@babel/helper-plugin-utils': 7.16.7
+ babel-plugin-dynamic-import-node: 2.3.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-transform-modules-commonjs/7.17.9_@babel+core@7.17.9:
+ resolution: {integrity: sha512-2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-module-transforms': 7.17.7
+ '@babel/helper-plugin-utils': 7.16.7
+ '@babel/helper-simple-access': 7.17.7
+ babel-plugin-dynamic-import-node: 2.3.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-transform-modules-systemjs/7.17.8_@babel+core@7.17.9:
+ resolution: {integrity: sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-hoist-variables': 7.16.7
+ '@babel/helper-module-transforms': 7.17.7
+ '@babel/helper-plugin-utils': 7.16.7
+ '@babel/helper-validator-identifier': 7.16.7
+ babel-plugin-dynamic-import-node: 2.3.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-transform-modules-umd/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-module-transforms': 7.17.7
+ '@babel/helper-plugin-utils': 7.16.7
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-transform-named-capturing-groups-regex/7.16.8_@babel+core@7.17.9:
+ resolution: {integrity: sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-create-regexp-features-plugin': 7.17.0_@babel+core@7.17.9
+ dev: true
+
+ /@babel/plugin-transform-new-target/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-transform-object-super/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ '@babel/helper-replace-supers': 7.16.7
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-transform-parameters/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-transform-property-literals/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-transform-react-display-name/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-qgIg8BcZgd0G/Cz916D5+9kqX0c7nPZyXaP8R2tLNN5tkyIZdG5fEwBrxwplzSnjC1jvQmyMNVwUCZPcbGY7Pg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-transform-react-jsx-development/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-RMvQWvpla+xy6MlBpPlrKZCMRs2AGiHOGHY3xRwl0pEeim348dDyxeH4xBsMPbIMhujeq7ihE702eM2Ew0Wo+A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/plugin-transform-react-jsx': 7.17.3_@babel+core@7.17.9
+ dev: true
+
+ /@babel/plugin-transform-react-jsx-self/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-oe5VuWs7J9ilH3BCCApGoYjHoSO48vkjX2CbA5bFVhIuO2HKxA3vyF7rleA4o6/4rTDbk6r8hBW7Ul8E+UZrpA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-transform-react-jsx-source/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-rONFiQz9vgbsnaMtQlZCjIRwhJvlrPET8TabIUK2hzlXw9B9s2Ieaxte1SCOOXMbWRHodbKixNf3BLcWVOQ8Bw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-transform-react-jsx/7.17.3_@babel+core@7.17.9:
+ resolution: {integrity: sha512-9tjBm4O07f7mzKSIlEmPdiE6ub7kfIe6Cd+w+oQebpATfTQMAgW+YOuWxogbKVTulA+MEO7byMeIUtQ1z+z+ZQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-annotate-as-pure': 7.16.7
+ '@babel/helper-module-imports': 7.16.7
+ '@babel/helper-plugin-utils': 7.16.7
+ '@babel/plugin-syntax-jsx': 7.16.7_@babel+core@7.17.9
+ '@babel/types': 7.17.0
+ dev: true
+
+ /@babel/plugin-transform-react-pure-annotations/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-hs71ToC97k3QWxswh2ElzMFABXHvGiJ01IB1TbYQDGeWRKWz/MPUTh5jGExdHvosYKpnJW5Pm3S4+TA3FyX+GA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-annotate-as-pure': 7.16.7
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-transform-regenerator/7.17.9_@babel+core@7.17.9:
+ resolution: {integrity: sha512-Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ regenerator-transform: 0.15.0
+ dev: true
+
+ /@babel/plugin-transform-reserved-words/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-transform-runtime/7.17.0_@babel+core@7.17.9:
+ resolution: {integrity: sha512-fr7zPWnKXNc1xoHfrIU9mN/4XKX4VLZ45Q+oMhfsYIaHvg7mHgmhfOy/ckRWqDK7XF3QDigRpkh5DKq6+clE8A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-module-imports': 7.16.7
+ '@babel/helper-plugin-utils': 7.16.7
+ babel-plugin-polyfill-corejs2: 0.3.1_@babel+core@7.17.9
+ babel-plugin-polyfill-corejs3: 0.5.2_@babel+core@7.17.9
+ babel-plugin-polyfill-regenerator: 0.3.1_@babel+core@7.17.9
+ semver: 6.3.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-transform-shorthand-properties/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-transform-spread/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ '@babel/helper-skip-transparent-expression-wrappers': 7.16.0
+ dev: true
+
+ /@babel/plugin-transform-sticky-regex/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-transform-template-literals/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-transform-typeof-symbol/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-transform-typescript/7.16.8_@babel+core@7.17.9:
+ resolution: {integrity: sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-create-class-features-plugin': 7.17.9_@babel+core@7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ '@babel/plugin-syntax-typescript': 7.16.7_@babel+core@7.17.9
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/plugin-transform-unicode-escapes/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/plugin-transform-unicode-regex/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-create-regexp-features-plugin': 7.17.0_@babel+core@7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ dev: true
+
+ /@babel/preset-env/7.16.11_@babel+core@7.17.9:
+ resolution: {integrity: sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/compat-data': 7.17.7
+ '@babel/core': 7.17.9
+ '@babel/helper-compilation-targets': 7.17.7_@babel+core@7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ '@babel/helper-validator-option': 7.16.7
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-proposal-async-generator-functions': 7.16.8_@babel+core@7.17.9
+ '@babel/plugin-proposal-class-properties': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-proposal-class-static-block': 7.17.6_@babel+core@7.17.9
+ '@babel/plugin-proposal-dynamic-import': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-proposal-export-namespace-from': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-proposal-json-strings': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-proposal-logical-assignment-operators': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-proposal-nullish-coalescing-operator': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-proposal-numeric-separator': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-proposal-object-rest-spread': 7.17.3_@babel+core@7.17.9
+ '@babel/plugin-proposal-optional-catch-binding': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-proposal-optional-chaining': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-proposal-private-methods': 7.16.11_@babel+core@7.17.9
+ '@babel/plugin-proposal-private-property-in-object': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-proposal-unicode-property-regex': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.17.9
+ '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.17.9
+ '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.17.9
+ '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.17.9
+ '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.17.9
+ '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.17.9
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.17.9
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.17.9
+ '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.17.9
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.17.9
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.17.9
+ '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.17.9
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.17.9
+ '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.17.9
+ '@babel/plugin-transform-arrow-functions': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-transform-async-to-generator': 7.16.8_@babel+core@7.17.9
+ '@babel/plugin-transform-block-scoped-functions': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-transform-block-scoping': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-transform-classes': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-transform-computed-properties': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-transform-destructuring': 7.17.7_@babel+core@7.17.9
+ '@babel/plugin-transform-dotall-regex': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-transform-duplicate-keys': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-transform-exponentiation-operator': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-transform-for-of': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-transform-function-name': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-transform-literals': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-transform-member-expression-literals': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-transform-modules-amd': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-transform-modules-commonjs': 7.17.9_@babel+core@7.17.9
+ '@babel/plugin-transform-modules-systemjs': 7.17.8_@babel+core@7.17.9
+ '@babel/plugin-transform-modules-umd': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-transform-named-capturing-groups-regex': 7.16.8_@babel+core@7.17.9
+ '@babel/plugin-transform-new-target': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-transform-object-super': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-transform-parameters': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-transform-property-literals': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-transform-regenerator': 7.17.9_@babel+core@7.17.9
+ '@babel/plugin-transform-reserved-words': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-transform-shorthand-properties': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-transform-spread': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-transform-sticky-regex': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-transform-template-literals': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-transform-typeof-symbol': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-transform-unicode-escapes': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-transform-unicode-regex': 7.16.7_@babel+core@7.17.9
+ '@babel/preset-modules': 0.1.5_@babel+core@7.17.9
+ '@babel/types': 7.17.0
+ babel-plugin-polyfill-corejs2: 0.3.1_@babel+core@7.17.9
+ babel-plugin-polyfill-corejs3: 0.5.2_@babel+core@7.17.9
+ babel-plugin-polyfill-regenerator: 0.3.1_@babel+core@7.17.9
+ core-js-compat: 3.22.1
+ semver: 6.3.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/preset-modules/0.1.5_@babel+core@7.17.9:
+ resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ '@babel/plugin-proposal-unicode-property-regex': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-transform-dotall-regex': 7.16.7_@babel+core@7.17.9
+ '@babel/types': 7.17.0
+ esutils: 2.0.3
+ dev: true
+
+ /@babel/preset-react/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-fWpyI8UM/HE6DfPBzD8LnhQ/OcH8AgTaqcqP2nGOXEUV+VKBR5JRN9hCk9ai+zQQ57vtm9oWeXguBCPNUjytgA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ '@babel/helper-validator-option': 7.16.7
+ '@babel/plugin-transform-react-display-name': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-transform-react-jsx': 7.17.3_@babel+core@7.17.9
+ '@babel/plugin-transform-react-jsx-development': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-transform-react-pure-annotations': 7.16.7_@babel+core@7.17.9
+ dev: true
+
+ /@babel/preset-typescript/7.16.7_@babel+core@7.17.9:
+ resolution: {integrity: sha512-WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-plugin-utils': 7.16.7
+ '@babel/helper-validator-option': 7.16.7
+ '@babel/plugin-transform-typescript': 7.16.8_@babel+core@7.17.9
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/runtime-corejs3/7.17.9:
+ resolution: {integrity: sha512-WxYHHUWF2uZ7Hp1K+D1xQgbgkGUfA+5UPOegEXGt2Y5SMog/rYCVaifLZDbw8UkNXozEqqrZTy6bglL7xTaCOw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ core-js-pure: 3.22.1
+ regenerator-runtime: 0.13.9
+ dev: true
+
+ /@babel/runtime/7.17.9:
+ resolution: {integrity: sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ regenerator-runtime: 0.13.9
+
+ /@babel/template/7.16.7:
+ resolution: {integrity: sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/code-frame': 7.16.7
+ '@babel/parser': 7.17.9
+ '@babel/types': 7.17.0
+ dev: true
+
+ /@babel/traverse/7.17.9:
+ resolution: {integrity: sha512-PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/code-frame': 7.16.7
+ '@babel/generator': 7.17.9
+ '@babel/helper-environment-visitor': 7.16.7
+ '@babel/helper-function-name': 7.17.9
+ '@babel/helper-hoist-variables': 7.16.7
+ '@babel/helper-split-export-declaration': 7.16.7
+ '@babel/parser': 7.17.9
+ '@babel/types': 7.17.0
+ debug: 4.3.4
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@babel/types/7.17.0:
+ resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-validator-identifier': 7.16.7
+ to-fast-properties: 2.0.0
+ dev: true
+
+ /@cush/relative/1.0.0:
+ resolution: {integrity: sha512-RpfLEtTlyIxeNPGKcokS+p3BZII/Q3bYxryFRglh5H3A3T8q9fsLYm72VYAMEOOIBLEa8o93kFLiBDUWKrwXZA==}
+ dev: true
+
+ /@es-joy/jsdoccomment/0.27.0:
+ resolution: {integrity: sha512-UgBrTnrcXU3BmXTVR4Jk97aepgEDb/mn+hSVWvRuP/DsZ4b+8TXeISfLGPWipKoXOTGoZlAUs7pfiTZuJAZGPQ==}
+ engines: {node: ^12 || ^14 || ^16 || ^17}
+ dependencies:
+ comment-parser: 1.3.1
+ esquery: 1.4.0
+ jsdoc-type-pratt-parser: 3.0.1
+ dev: true
+
+ /@eslint/eslintrc/1.2.1:
+ resolution: {integrity: sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ ajv: 6.12.6
+ debug: 4.3.4
+ espree: 9.3.1
+ globals: 13.13.0
+ ignore: 5.2.0
+ import-fresh: 3.3.0
+ js-yaml: 4.1.0
+ minimatch: 3.1.2
+ strip-json-comments: 3.1.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@humanwhocodes/config-array/0.9.5:
+ resolution: {integrity: sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==}
+ engines: {node: '>=10.10.0'}
+ dependencies:
+ '@humanwhocodes/object-schema': 1.2.1
+ debug: 4.3.4
+ minimatch: 3.1.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@humanwhocodes/object-schema/1.2.1:
+ resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
+ dev: true
+
+ /@iconify/types/1.1.0:
+ resolution: {integrity: sha512-Jh0llaK2LRXQoYsorIH8maClebsnzTcve+7U3rQUSnC11X4jtPnFuyatqFLvMxZ8MLG8dB4zfHsbPfuvxluONw==}
+ dev: true
+
+ /@iconify/utils/1.0.32:
+ resolution: {integrity: sha512-m+rnw7qKHq/XF7DAi4BcFoEAcXBfqqMgQJh8brGEHeqE/RUvgDMjmxsHgWnVpFsG+VmjGyAiI7nwXdliCwEU0Q==}
+ dependencies:
+ '@antfu/install-pkg': 0.1.0
+ '@antfu/utils': 0.5.1
+ '@iconify/types': 1.1.0
+ debug: 4.3.4
+ kolorist: 1.5.1
+ local-pkg: 0.4.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@jridgewell/resolve-uri/3.0.5:
+ resolution: {integrity: sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==}
+ engines: {node: '>=6.0.0'}
+ dev: true
+
+ /@jridgewell/sourcemap-codec/1.4.11:
+ resolution: {integrity: sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==}
+ dev: true
+
+ /@jridgewell/trace-mapping/0.3.7:
+ resolution: {integrity: sha512-8XC0l0PwCbdg2Uc8zIIf6djNX3lYiz9GqQlC1LJ9WQvTYvcfP8IA9K2IKRnPm5tAX6X/+orF+WwKZ0doGcgJlg==}
+ dependencies:
+ '@jridgewell/resolve-uri': 3.0.5
+ '@jridgewell/sourcemap-codec': 1.4.11
+ dev: true
+
+ /@ladle/react/0.12.2_4ba69c7787dfd9a3579e23e97d93e7b4:
+ resolution: {integrity: sha512-BtPx1do6yUMGUdlZfBgeBfQeDgWqICzDAXqNy1bKjbERitd87UCAgtIZB8hJ2KfKM7btJWbkX83nw16mYkkw3g==}
+ hasBin: true
+ peerDependencies:
+ react: '>=16.14.0'
+ react-dom: '>=16.14.0'
+ dependencies:
+ '@babel/code-frame': 7.16.7
+ '@babel/core': 7.17.9
+ '@babel/generator': 7.17.9
+ '@babel/parser': 7.17.9
+ '@babel/plugin-proposal-class-properties': 7.16.7_@babel+core@7.17.9
+ '@babel/preset-env': 7.16.11_@babel+core@7.17.9
+ '@babel/preset-react': 7.16.7_@babel+core@7.17.9
+ '@babel/preset-typescript': 7.16.7_@babel+core@7.17.9
+ '@babel/runtime': 7.17.9
+ '@babel/template': 7.16.7
+ '@babel/traverse': 7.17.9
+ '@babel/types': 7.17.0
+ '@reach/dialog': 0.16.2_4ba69c7787dfd9a3579e23e97d93e7b4
+ '@vitejs/plugin-react': 1.3.1
+ boxen: 5.1.2
+ classnames: 2.3.1
+ commander: 8.3.0
+ debug: 4.3.4
+ express: 4.17.3
+ flow-remove-types: 2.176.2
+ get-port: 5.1.1
+ globby: 11.1.0
+ history: 5.3.0
+ lodash.merge: 4.6.2
+ micromatch: 4.0.5
+ open: 8.4.0
+ query-string: 7.1.1
+ react: 18.0.0
+ react-dom: 18.0.0_react@18.0.0
+ rollup-pluginutils: 2.8.2
+ vite: 2.9.5
+ vite-tsconfig-paths: 3.4.1_vite@2.9.5
+ transitivePeerDependencies:
+ - '@types/react'
+ - less
+ - sass
+ - stylus
+ - supports-color
+ dev: true
+
+ /@nodelib/fs.scandir/2.1.5:
+ resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
+ engines: {node: '>= 8'}
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ run-parallel: 1.2.0
+ dev: true
+
+ /@nodelib/fs.stat/2.0.5:
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
+ engines: {node: '>= 8'}
+ dev: true
+
+ /@nodelib/fs.walk/1.2.8:
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
+ engines: {node: '>= 8'}
+ dependencies:
+ '@nodelib/fs.scandir': 2.1.5
+ fastq: 1.13.0
+ dev: true
+
+ /@polka/url/1.0.0-next.21:
+ resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==}
+ dev: true
+
+ /@reach/dialog/0.16.2_4ba69c7787dfd9a3579e23e97d93e7b4:
+ resolution: {integrity: sha512-qq8oX0cROgTb8LjOKWzzNm4SqaN9b89lJHr7UyVo2aQ6WbeNzZBxqXhGywFP7dkR+hNqOJnrA59PXFWhfttA9A==}
+ peerDependencies:
+ react: ^16.8.0 || 17.x
+ react-dom: ^16.8.0 || 17.x
+ dependencies:
+ '@reach/portal': 0.16.2_react-dom@18.0.0+react@18.0.0
+ '@reach/utils': 0.16.0_react-dom@18.0.0+react@18.0.0
+ prop-types: 15.8.1
+ react: 18.0.0
+ react-dom: 18.0.0_react@18.0.0
+ react-focus-lock: 2.8.1_@types+react@18.0.5+react@18.0.0
+ react-remove-scroll: 2.5.1_@types+react@18.0.5+react@18.0.0
+ tslib: 2.3.1
+ transitivePeerDependencies:
+ - '@types/react'
+ dev: true
+
+ /@reach/portal/0.16.2_react-dom@18.0.0+react@18.0.0:
+ resolution: {integrity: sha512-9ur/yxNkuVYTIjAcfi46LdKUvH0uYZPfEp4usWcpt6PIp+WDF57F/5deMe/uGi/B/nfDweQu8VVwuMVrCb97JQ==}
+ peerDependencies:
+ react: ^16.8.0 || 17.x
+ react-dom: ^16.8.0 || 17.x
+ dependencies:
+ '@reach/utils': 0.16.0_react-dom@18.0.0+react@18.0.0
+ react: 18.0.0
+ react-dom: 18.0.0_react@18.0.0
+ tiny-warning: 1.0.3
+ tslib: 2.3.1
+ dev: true
+
+ /@reach/utils/0.16.0_react-dom@18.0.0+react@18.0.0:
+ resolution: {integrity: sha512-PCggBet3qaQmwFNcmQ/GqHSefadAFyNCUekq9RrWoaU9hh/S4iaFgf2MBMdM47eQj5i/Bk0Mm07cP/XPFlkN+Q==}
+ peerDependencies:
+ react: ^16.8.0 || 17.x
+ react-dom: ^16.8.0 || 17.x
+ dependencies:
+ react: 18.0.0
+ react-dom: 18.0.0_react@18.0.0
+ tiny-warning: 1.0.3
+ tslib: 2.3.1
+ dev: true
+
+ /@rollup/plugin-babel/5.3.1_@babel+core@7.17.9+rollup@2.70.2:
+ resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==}
+ engines: {node: '>= 10.0.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ '@types/babel__core': ^7.1.9
+ rollup: ^1.20.0||^2.0.0
+ peerDependenciesMeta:
+ '@types/babel__core':
+ optional: true
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-module-imports': 7.16.7
+ '@rollup/pluginutils': 3.1.0_rollup@2.70.2
+ rollup: 2.70.2
+ dev: true
+
+ /@rollup/plugin-commonjs/21.1.0_rollup@2.70.2:
+ resolution: {integrity: sha512-6ZtHx3VHIp2ReNNDxHjuUml6ur+WcQ28N1yHgCQwsbNkQg2suhxGMDQGJOn/KuDxKtd1xuZP5xSTwBA4GQ8hbA==}
+ engines: {node: '>= 8.0.0'}
+ peerDependencies:
+ rollup: ^2.38.3
+ dependencies:
+ '@rollup/pluginutils': 3.1.0_rollup@2.70.2
+ commondir: 1.0.1
+ estree-walker: 2.0.2
+ glob: 7.2.0
+ is-reference: 1.2.1
+ magic-string: 0.25.9
+ resolve: 1.22.0
+ rollup: 2.70.2
+ dev: true
+
+ /@rollup/plugin-node-resolve/13.2.1_rollup@2.70.2:
+ resolution: {integrity: sha512-btX7kzGvp1JwShQI9V6IM841YKNPYjKCvUbNrQ2EcVYbULtUd/GH6wZ/qdqH13j9pOHBER+EZXNN2L8RSJhVRA==}
+ engines: {node: '>= 10.0.0'}
+ peerDependencies:
+ rollup: ^2.42.0
+ dependencies:
+ '@rollup/pluginutils': 3.1.0_rollup@2.70.2
+ '@types/resolve': 1.17.1
+ builtin-modules: 3.2.0
+ deepmerge: 4.2.2
+ is-module: 1.0.0
+ resolve: 1.22.0
+ rollup: 2.70.2
+ dev: true
+
+ /@rollup/plugin-replace/4.0.0_rollup@2.70.2:
+ resolution: {integrity: sha512-+rumQFiaNac9y64OHtkHGmdjm7us9bo1PlbgQfdihQtuNxzjpaB064HbRnewUOggLQxVCCyINfStkgmBeQpv1g==}
+ peerDependencies:
+ rollup: ^1.20.0 || ^2.0.0
+ dependencies:
+ '@rollup/pluginutils': 3.1.0_rollup@2.70.2
+ magic-string: 0.25.9
+ rollup: 2.70.2
+ dev: true
+
+ /@rollup/pluginutils/3.1.0_rollup@2.70.2:
+ resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==}
+ engines: {node: '>= 8.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0
+ dependencies:
+ '@types/estree': 0.0.39
+ estree-walker: 1.0.1
+ picomatch: 2.3.1
+ rollup: 2.70.2
+ dev: true
+
+ /@rollup/pluginutils/4.2.1:
+ resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==}
+ engines: {node: '>= 8.0.0'}
+ dependencies:
+ estree-walker: 2.0.2
+ picomatch: 2.3.1
+ dev: true
+
+ /@types/estree/0.0.39:
+ resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==}
+ dev: true
+
+ /@types/estree/0.0.51:
+ resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==}
+ dev: true
+
+ /@types/json-schema/7.0.11:
+ resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==}
+ dev: true
+
+ /@types/json5/0.0.29:
+ resolution: {integrity: sha1-7ihweulOEdK4J7y+UnC86n8+ce4=}
+ dev: true
+
+ /@types/node/17.0.25:
+ resolution: {integrity: sha512-wANk6fBrUwdpY4isjWrKTufkrXdu1D2YHCot2fD/DfWxF5sMrVSA+KN7ydckvaTCh0HiqX9IVl0L5/ZoXg5M7w==}
+ dev: true
+
+ /@types/prop-types/15.7.5:
+ resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==}
+ dev: true
+
+ /@types/react-dom/18.0.1:
+ resolution: {integrity: sha512-jCwTXvHtRLiyVvKm9aEdHXs8rflVOGd5Sl913JZrPshfXjn8NYsTNZOz70bCsA31IR0TOqwi3ad+X4tSCBoMTw==}
+ dependencies:
+ '@types/react': 18.0.5
+ dev: true
+
+ /@types/react/18.0.5:
+ resolution: {integrity: sha512-UPxNGInDCIKlfqBrm8LDXYWNfLHwIdisWcsH5GpMyGjhEDLFgTtlRBaoWuCua9HcyuE0rMkmAeZ3FXV1pYLIYQ==}
+ dependencies:
+ '@types/prop-types': 15.7.5
+ '@types/scheduler': 0.16.2
+ csstype: 3.0.11
+ dev: true
+
+ /@types/resolve/1.17.1:
+ resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==}
+ dependencies:
+ '@types/node': 17.0.25
+ dev: true
+
+ /@types/scheduler/0.16.2:
+ resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==}
+ dev: true
+
+ /@typescript-eslint/eslint-plugin/5.20.0_b9ac9b5656ce5dffade639fcf5e491bf:
+ resolution: {integrity: sha512-fapGzoxilCn3sBtC6NtXZX6+P/Hef7VDbyfGqTTpzYydwhlkevB+0vE0EnmHPVTVSy68GUncyJ/2PcrFBeCo5Q==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ '@typescript-eslint/parser': ^5.0.0
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/parser': 5.20.0_eslint@8.13.0+typescript@4.6.3
+ '@typescript-eslint/scope-manager': 5.20.0
+ '@typescript-eslint/type-utils': 5.20.0_eslint@8.13.0+typescript@4.6.3
+ '@typescript-eslint/utils': 5.20.0_eslint@8.13.0+typescript@4.6.3
+ debug: 4.3.4
+ eslint: 8.13.0
+ functional-red-black-tree: 1.0.1
+ ignore: 5.2.0
+ regexpp: 3.2.0
+ semver: 7.3.7
+ tsutils: 3.21.0_typescript@4.6.3
+ typescript: 4.6.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/parser/5.20.0_eslint@8.13.0+typescript@4.6.3:
+ resolution: {integrity: sha512-UWKibrCZQCYvobmu3/N8TWbEeo/EPQbS41Ux1F9XqPzGuV7pfg6n50ZrFo6hryynD8qOTTfLHtHjjdQtxJ0h/w==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/scope-manager': 5.20.0
+ '@typescript-eslint/types': 5.20.0
+ '@typescript-eslint/typescript-estree': 5.20.0_typescript@4.6.3
+ debug: 4.3.4
+ eslint: 8.13.0
+ typescript: 4.6.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/scope-manager/5.20.0:
+ resolution: {integrity: sha512-h9KtuPZ4D/JuX7rpp1iKg3zOH0WNEa+ZIXwpW/KWmEFDxlA/HSfCMhiyF1HS/drTICjIbpA6OqkAhrP/zkCStg==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ '@typescript-eslint/types': 5.20.0
+ '@typescript-eslint/visitor-keys': 5.20.0
+ dev: true
+
+ /@typescript-eslint/type-utils/5.20.0_eslint@8.13.0+typescript@4.6.3:
+ resolution: {integrity: sha512-WxNrCwYB3N/m8ceyoGCgbLmuZwupvzN0rE8NBuwnl7APgjv24ZJIjkNzoFBXPRCGzLNkoU/WfanW0exvp/+3Iw==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: '*'
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/utils': 5.20.0_eslint@8.13.0+typescript@4.6.3
+ debug: 4.3.4
+ eslint: 8.13.0
+ tsutils: 3.21.0_typescript@4.6.3
+ typescript: 4.6.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/types/5.20.0:
+ resolution: {integrity: sha512-+d8wprF9GyvPwtoB4CxBAR/s0rpP25XKgnOvMf/gMXYDvlUC3rPFHupdTQ/ow9vn7UDe5rX02ovGYQbv/IUCbg==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dev: true
+
+ /@typescript-eslint/typescript-estree/5.20.0_typescript@4.6.3:
+ resolution: {integrity: sha512-36xLjP/+bXusLMrT9fMMYy1KJAGgHhlER2TqpUVDYUQg4w0q/NW/sg4UGAgVwAqb8V4zYg43KMUpM8vV2lve6w==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/types': 5.20.0
+ '@typescript-eslint/visitor-keys': 5.20.0
+ debug: 4.3.4
+ globby: 11.1.0
+ is-glob: 4.0.3
+ semver: 7.3.7
+ tsutils: 3.21.0_typescript@4.6.3
+ typescript: 4.6.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/utils/5.20.0_eslint@8.13.0+typescript@4.6.3:
+ resolution: {integrity: sha512-lHONGJL1LIO12Ujyx8L8xKbwWSkoUKFSO+0wDAqGXiudWB2EO7WEUT+YZLtVbmOmSllAjLb9tpoIPwpRe5Tn6w==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ dependencies:
+ '@types/json-schema': 7.0.11
+ '@typescript-eslint/scope-manager': 5.20.0
+ '@typescript-eslint/types': 5.20.0
+ '@typescript-eslint/typescript-estree': 5.20.0_typescript@4.6.3
+ eslint: 8.13.0
+ eslint-scope: 5.1.1
+ eslint-utils: 3.0.0_eslint@8.13.0
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /@typescript-eslint/visitor-keys/5.20.0:
+ resolution: {integrity: sha512-1flRpNF+0CAQkMNlTJ6L/Z5jiODG/e5+7mk6XwtPOUS3UrTz3UOiAg9jG2VtKsWI6rZQfy4C6a232QNRZTRGlg==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ '@typescript-eslint/types': 5.20.0
+ eslint-visitor-keys: 3.3.0
+ dev: true
+
+ /@unocss/cli/0.31.6:
+ resolution: {integrity: sha512-nfprJphGrn2p19wEPp58g3eEGQ9SAU9Eswx9bWYZytPmvMe15B9372zYNX8eJN1gAZgOUdk5xJGTJiC6Cba0Sw==}
+ engines: {node: '>=14'}
+ hasBin: true
+ dependencies:
+ '@unocss/config': 0.31.6
+ '@unocss/core': 0.31.6
+ '@unocss/preset-uno': 0.31.6
+ cac: 6.7.12
+ chokidar: 3.5.3
+ colorette: 2.0.16
+ consola: 2.15.3
+ fast-glob: 3.2.11
+ pathe: 0.2.0
+ dev: true
+
+ /@unocss/config/0.31.6:
+ resolution: {integrity: sha512-hJwAbLKnVlvteVF0MXZF8+1qYF9Q8TTUdSbvvbAwpjJRe884xzCmyIFqVENbAPYcY5AkzGpF8KZ4rRK5uihVBQ==}
+ engines: {node: '>=14'}
+ dependencies:
+ '@unocss/core': 0.31.6
+ unconfig: 0.3.3
+ dev: true
+
+ /@unocss/core/0.31.6:
+ resolution: {integrity: sha512-u8V9qiOPw8KALsUwDAWOhIzAtQI40b9fno8EofIEYisDjH/6ty8qrpQ0B0YzrcybMa4fEt6xW/4b53HTB8t02w==}
+ dev: true
+
+ /@unocss/inspector/0.31.6:
+ resolution: {integrity: sha512-+X4PjxZL21t/s3KG9GvEdkpvx5Zw3UrWfniyT4FLdkABcjni1ZqIMtEbSYcFAkb5y9S7Nwobqhp8ehUUYA1HuQ==}
+ dependencies:
+ gzip-size: 6.0.0
+ sirv: 2.0.2
+ dev: true
+
+ /@unocss/preset-attributify/0.31.6:
+ resolution: {integrity: sha512-RICiEVoVguw7JyficRGz4vo4T7FKRX+K7aDzvdvcqgTYP0cgEmGxmwWW4orR1ZxA94ARcZzVhwLbN+47O8B3cA==}
+ dependencies:
+ '@unocss/core': 0.31.6
+ dev: true
+
+ /@unocss/preset-icons/0.31.6:
+ resolution: {integrity: sha512-3G4EeMFsTieHyrj9TMgyIIpVPBoo/8ALvfBXT0KBKO3LeuY8IZkIBX2YMQi4U1b18nfVmqfV+RIqTAcShbVLiA==}
+ dependencies:
+ '@iconify/utils': 1.0.32
+ '@unocss/core': 0.31.6
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@unocss/preset-mini/0.31.6:
+ resolution: {integrity: sha512-BDjNZFaW4jhkV7hGRF4Vp39sG0cft+CqgIQeeDEUBMqs6Xkf5nl4TD3rY+pz0759Qn1fxE/KRUetlRuFbctCsg==}
+ dependencies:
+ '@unocss/core': 0.31.6
+ dev: true
+
+ /@unocss/preset-typography/0.31.6:
+ resolution: {integrity: sha512-YxLpSvccWTXazn2aKSPKy4GX80qoQd1xfOg2iCRPjtJmKjhJWiygAoNgEIizYJGvnaVA4UnaQAFot7mk5/j3gw==}
+ dependencies:
+ '@unocss/core': 0.31.6
+ dev: true
+
+ /@unocss/preset-uno/0.31.6:
+ resolution: {integrity: sha512-48SZ6BEz+V/+1+t6tUC6TFZIxokLGB3xyv7AP1DYgYeviqXQ/2Mjv90jshmc9js+ujnr62FoJlUMz1OQN/I2Ow==}
+ dependencies:
+ '@unocss/core': 0.31.6
+ '@unocss/preset-mini': 0.31.6
+ '@unocss/preset-wind': 0.31.6
+ dev: true
+
+ /@unocss/preset-web-fonts/0.31.6:
+ resolution: {integrity: sha512-icmFEWmdvvSDcbGwZrLgcm2N/NHZH32KyoYfFmS3AnnYWuGsbEgc1jN24i1D8acgTz+FcQTo0rJrblttIa24mg==}
+ dependencies:
+ '@unocss/core': 0.31.6
+ axios: 0.26.1
+ transitivePeerDependencies:
+ - debug
+ dev: true
+
+ /@unocss/preset-wind/0.31.6:
+ resolution: {integrity: sha512-rYccCYY0ZE6B7XfePCl0+kh85KrTZHzBq8BlPThvV7Al1bMrqJFsbVwQywX5D6OunXJUVI7ktpgbAVU6GQjpTA==}
+ dependencies:
+ '@unocss/core': 0.31.6
+ '@unocss/preset-mini': 0.31.6
+ dev: true
+
+ /@unocss/reset/0.31.6:
+ resolution: {integrity: sha512-QJO9OSeGymOBsRevmMeTr9+fjHzyuVG2Ipyt3/VCfpz/+3R7Q7/5dqY8Q6NGG4xYWoW1DWYcmxy4roM/ihf+aQ==}
+ dev: true
+
+ /@unocss/scope/0.31.6:
+ resolution: {integrity: sha512-jzrQI+lLXw05fj/vKU/v7flNWvAAZddUrNoAt7itqM/k9pCRa6n2VqDLFQ8GKPc3gtOgqG8jWX9zYLv7T8yhZQ==}
+ dev: true
+
+ /@unocss/transformer-directives/0.31.6:
+ resolution: {integrity: sha512-L7KPXJJ2krc3FESFzv7JUUJ74EKw0hF6iVMhKJF2NVDkIx4diLEaOgo8sb89RzbSDiR1lRad7QkZoO7VfgLVDw==}
+ dependencies:
+ '@unocss/core': 0.31.6
+ css-tree: 2.1.0
+ dev: true
+
+ /@unocss/transformer-variant-group/0.31.6:
+ resolution: {integrity: sha512-d06rm2jb1qDMpipCT8yFSvCJqJHuB7JJa9Xnvx/7625b3nWu2CTN2l6QOUhH2THOqcYyHCJNrgV/9Wqf4je7tQ==}
+ dependencies:
+ '@unocss/core': 0.31.6
+ dev: true
+
+ /@unocss/vite/0.31.6_vite@2.9.5:
+ resolution: {integrity: sha512-vxyaCSSZXh4hJ+UpvhsDFQlrVKya2gqL4GzOwRz7+Oh0F6DhqhD0FbtEF8PGn0IZbuU9NqjUjoYAIJ5PXnsvlw==}
+ peerDependencies:
+ vite: ^2.9.0
+ dependencies:
+ '@rollup/pluginutils': 4.2.1
+ '@unocss/config': 0.31.6
+ '@unocss/core': 0.31.6
+ '@unocss/inspector': 0.31.6
+ '@unocss/scope': 0.31.6
+ '@unocss/transformer-directives': 0.31.6
+ magic-string: 0.26.1
+ vite: 2.9.5
+ dev: true
+
+ /@vitejs/plugin-react/1.3.1:
+ resolution: {integrity: sha512-qQS8Y2fZCjo5YmDUplEXl3yn+aueiwxB7BaoQ4nWYJYR+Ai8NXPVLlkLobVMs5+DeyFyg9Lrz6zCzdX1opcvyw==}
+ engines: {node: '>=12.0.0'}
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/plugin-transform-react-jsx': 7.17.3_@babel+core@7.17.9
+ '@babel/plugin-transform-react-jsx-development': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-transform-react-jsx-self': 7.16.7_@babel+core@7.17.9
+ '@babel/plugin-transform-react-jsx-source': 7.16.7_@babel+core@7.17.9
+ '@rollup/pluginutils': 4.2.1
+ react-refresh: 0.12.0
+ resolve: 1.22.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /accepts/1.3.8:
+ resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ mime-types: 2.1.35
+ negotiator: 0.6.3
+ dev: true
+
+ /acorn-jsx/5.3.2_acorn@8.7.0:
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ dependencies:
+ acorn: 8.7.0
+ dev: true
+
+ /acorn/8.7.0:
+ resolution: {integrity: sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+ dev: true
+
+ /ajv/6.12.6:
+ resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
+ dependencies:
+ fast-deep-equal: 3.1.3
+ fast-json-stable-stringify: 2.1.0
+ json-schema-traverse: 0.4.1
+ uri-js: 4.4.1
+ dev: true
+
+ /ansi-align/3.0.1:
+ resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==}
+ dependencies:
+ string-width: 4.2.3
+ dev: true
+
+ /ansi-regex/5.0.1:
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /ansi-styles/3.2.1:
+ resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
+ engines: {node: '>=4'}
+ dependencies:
+ color-convert: 1.9.3
+ dev: true
+
+ /ansi-styles/4.3.0:
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
+ engines: {node: '>=8'}
+ dependencies:
+ color-convert: 2.0.1
+ dev: true
+
+ /anymatch/3.1.2:
+ resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==}
+ engines: {node: '>= 8'}
+ dependencies:
+ normalize-path: 3.0.0
+ picomatch: 2.3.1
+ dev: true
+
+ /argparse/2.0.1:
+ resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+ dev: true
+
+ /aria-query/4.2.2:
+ resolution: {integrity: sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==}
+ engines: {node: '>=6.0'}
+ dependencies:
+ '@babel/runtime': 7.17.9
+ '@babel/runtime-corejs3': 7.17.9
+ dev: true
+
+ /array-flatten/1.1.1:
+ resolution: {integrity: sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=}
+ dev: true
+
+ /array-includes/3.1.4:
+ resolution: {integrity: sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.1.4
+ es-abstract: 1.19.5
+ get-intrinsic: 1.1.1
+ is-string: 1.0.7
+ dev: true
+
+ /array-union/2.1.0:
+ resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /array.prototype.flat/1.3.0:
+ resolution: {integrity: sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.1.4
+ es-abstract: 1.19.5
+ es-shim-unscopables: 1.0.0
+ dev: true
+
+ /array.prototype.flatmap/1.3.0:
+ resolution: {integrity: sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.1.4
+ es-abstract: 1.19.5
+ es-shim-unscopables: 1.0.0
+ dev: true
+
+ /ast-types-flow/0.0.7:
+ resolution: {integrity: sha1-9wtzXGvKGlycItmCw+Oef+ujva0=}
+ dev: true
+
+ /axe-core/4.4.1:
+ resolution: {integrity: sha512-gd1kmb21kwNuWr6BQz8fv6GNECPBnUasepcoLbekws23NVBLODdsClRZ+bQ8+9Uomf3Sm3+Vwn0oYG9NvwnJCw==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /axios-userscript-adapter/0.1.11_axios@0.26.1:
+ resolution: {integrity: sha512-6G7DGgxSVvg9yqKyfCLf0SGiT2J3E9nJku85t/OZFLzX+me9TxXl1gQ8Mwfjm0NxCLPRMpmp2PgKyLKctAdfaQ==}
+ peerDependencies:
+ axios: ^0.25.0 || ^0.26.0
+ dependencies:
+ axios: 0.26.1
+ dev: false
+
+ /axios/0.26.1:
+ resolution: {integrity: sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==}
+ dependencies:
+ follow-redirects: 1.14.9
+ transitivePeerDependencies:
+ - debug
+
+ /axobject-query/2.2.0:
+ resolution: {integrity: sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==}
+ dev: true
+
+ /babel-plugin-dynamic-import-node/2.3.3:
+ resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==}
+ dependencies:
+ object.assign: 4.1.2
+ dev: true
+
+ /babel-plugin-polyfill-corejs2/0.3.1_@babel+core@7.17.9:
+ resolution: {integrity: sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/compat-data': 7.17.7
+ '@babel/core': 7.17.9
+ '@babel/helper-define-polyfill-provider': 0.3.1_@babel+core@7.17.9
+ semver: 6.3.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /babel-plugin-polyfill-corejs3/0.5.2_@babel+core@7.17.9:
+ resolution: {integrity: sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-define-polyfill-provider': 0.3.1_@babel+core@7.17.9
+ core-js-compat: 3.22.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /babel-plugin-polyfill-regenerator/0.3.1_@babel+core@7.17.9:
+ resolution: {integrity: sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.17.9
+ '@babel/helper-define-polyfill-provider': 0.3.1_@babel+core@7.17.9
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /babel/6.23.0:
+ resolution: {integrity: sha1-0NHn2APpdHZb7qMjLU4VPA77kPQ=}
+ deprecated: In 6.x, the babel package has been deprecated in favor of babel-cli. Check https://opencollective.com/babel to support the Babel maintainers
+ hasBin: true
+ dev: true
+
+ /balanced-match/1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+ dev: true
+
+ /binary-extensions/2.2.0:
+ resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /body-parser/1.19.2:
+ resolution: {integrity: sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ bytes: 3.1.2
+ content-type: 1.0.4
+ debug: 2.6.9
+ depd: 1.1.2
+ http-errors: 1.8.1
+ iconv-lite: 0.4.24
+ on-finished: 2.3.0
+ qs: 6.9.7
+ raw-body: 2.4.3
+ type-is: 1.6.18
+ dev: true
+
+ /boxen/5.1.2:
+ resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ ansi-align: 3.0.1
+ camelcase: 6.3.0
+ chalk: 4.1.2
+ cli-boxes: 2.2.1
+ string-width: 4.2.3
+ type-fest: 0.20.2
+ widest-line: 3.1.0
+ wrap-ansi: 7.0.0
+ dev: true
+
+ /brace-expansion/1.1.11:
+ resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
+ dependencies:
+ balanced-match: 1.0.2
+ concat-map: 0.0.1
+ dev: true
+
+ /braces/3.0.2:
+ resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
+ engines: {node: '>=8'}
+ dependencies:
+ fill-range: 7.0.1
+ dev: true
+
+ /browserslist/4.20.2:
+ resolution: {integrity: sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+ dependencies:
+ caniuse-lite: 1.0.30001332
+ electron-to-chromium: 1.4.114
+ escalade: 3.1.1
+ node-releases: 2.0.3
+ picocolors: 1.0.0
+ dev: true
+
+ /builtin-modules/3.2.0:
+ resolution: {integrity: sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /bytes/3.1.2:
+ resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
+ engines: {node: '>= 0.8'}
+ dev: true
+
+ /cac/6.7.12:
+ resolution: {integrity: sha512-rM7E2ygtMkJqD9c7WnFU6fruFcN3xe4FM5yUmgxhZzIKJk4uHl9U/fhwdajGFQbQuv43FAUo1Fe8gX/oIKDeSA==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /call-bind/1.0.2:
+ resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
+ dependencies:
+ function-bind: 1.1.1
+ get-intrinsic: 1.1.1
+ dev: true
+
+ /callsites/3.1.0:
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /camelcase/6.3.0:
+ resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /caniuse-lite/1.0.30001332:
+ resolution: {integrity: sha512-10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw==}
+ dev: true
+
+ /chalk/2.4.2:
+ resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
+ engines: {node: '>=4'}
+ dependencies:
+ ansi-styles: 3.2.1
+ escape-string-regexp: 1.0.5
+ supports-color: 5.5.0
+ dev: true
+
+ /chalk/4.1.2:
+ resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
+ engines: {node: '>=10'}
+ dependencies:
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
+ dev: true
+
+ /chokidar/3.5.3:
+ resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
+ engines: {node: '>= 8.10.0'}
+ dependencies:
+ anymatch: 3.1.2
+ braces: 3.0.2
+ glob-parent: 5.1.2
+ is-binary-path: 2.1.0
+ is-glob: 4.0.3
+ normalize-path: 3.0.0
+ readdirp: 3.6.0
+ optionalDependencies:
+ fsevents: 2.3.2
+ dev: true
+
+ /classnames/2.3.1:
+ resolution: {integrity: sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==}
+ dev: true
+
+ /cli-boxes/2.2.1:
+ resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /color-convert/1.9.3:
+ resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
+ dependencies:
+ color-name: 1.1.3
+ dev: true
+
+ /color-convert/2.0.1:
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
+ engines: {node: '>=7.0.0'}
+ dependencies:
+ color-name: 1.1.4
+ dev: true
+
+ /color-name/1.1.3:
+ resolution: {integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=}
+ dev: true
+
+ /color-name/1.1.4:
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+ dev: true
+
+ /colorette/2.0.16:
+ resolution: {integrity: sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==}
+ dev: true
+
+ /commander/8.3.0:
+ resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
+ engines: {node: '>= 12'}
+ dev: true
+
+ /comment-parser/1.3.1:
+ resolution: {integrity: sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA==}
+ engines: {node: '>= 12.0.0'}
+ dev: true
+
+ /commondir/1.0.1:
+ resolution: {integrity: sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=}
+ dev: true
+
+ /concat-map/0.0.1:
+ resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=}
+ dev: true
+
+ /confusing-browser-globals/1.0.11:
+ resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==}
+ dev: true
+
+ /consola/2.15.3:
+ resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==}
+ dev: true
+
+ /content-disposition/0.5.4:
+ resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ safe-buffer: 5.2.1
+ dev: true
+
+ /content-type/1.0.4:
+ resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /convert-source-map/1.8.0:
+ resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==}
+ dependencies:
+ safe-buffer: 5.1.2
+ dev: true
+
+ /cookie-signature/1.0.6:
+ resolution: {integrity: sha1-4wOogrNCzD7oylE6eZmXNNqzriw=}
+ dev: true
+
+ /cookie/0.4.2:
+ resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /core-js-compat/3.22.1:
+ resolution: {integrity: sha512-CWbNqTluLMvZg1cjsQUbGiCM91dobSHKfDIyCoxuqxthdjGuUlaMbCsSehP3CBiVvG0C7P6UIrC1v0hgFE75jw==}
+ dependencies:
+ browserslist: 4.20.2
+ semver: 7.0.0
+ dev: true
+
+ /core-js-pure/3.22.1:
+ resolution: {integrity: sha512-TChjCtgcMDc8t12RiwAsThjqrS/VpBlEvDgL009ot4HESzBo3h2FSZNa6ZS1nWKZEPDoulnszxUll9n0/spflQ==}
+ requiresBuild: true
+ dev: true
+
+ /core-js/3.22.1:
+ resolution: {integrity: sha512-l6CwCLq7XgITOQGhv1dIUmwCFoqFjyQ6zQHUCQlS0xKmb9d6OHIg8jDiEoswhaettT21BSF5qKr6kbvE+aKwxw==}
+ requiresBuild: true
+ dev: false
+
+ /cross-spawn/7.0.3:
+ resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
+ engines: {node: '>= 8'}
+ dependencies:
+ path-key: 3.1.1
+ shebang-command: 2.0.0
+ which: 2.0.2
+ dev: true
+
+ /css-tree/2.1.0:
+ resolution: {integrity: sha512-PcysZRzToBbrpoUrZ9qfblRIRf8zbEAkU0AIpQFtgkFK0vSbzOmBCvdSAx2Zg7Xx5wiYJKUKk0NMP7kxevie/A==}
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
+ dependencies:
+ mdn-data: 2.0.27
+ source-map-js: 1.0.2
+ dev: true
+
+ /csstype/3.0.11:
+ resolution: {integrity: sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==}
+ dev: true
+
+ /damerau-levenshtein/1.0.8:
+ resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
+ dev: true
+
+ /debug/2.6.9:
+ resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
+ dependencies:
+ ms: 2.0.0
+ dev: true
+
+ /debug/3.2.7:
+ resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
+ dependencies:
+ ms: 2.1.3
+ dev: true
+
+ /debug/4.3.4:
+ resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.1.2
+ dev: true
+
+ /decode-uri-component/0.2.0:
+ resolution: {integrity: sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=}
+ engines: {node: '>=0.10'}
+ dev: true
+
+ /deep-is/0.1.4:
+ resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
+ dev: true
+
+ /deepmerge/4.2.2:
+ resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /define-lazy-prop/2.0.0:
+ resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /define-properties/1.1.4:
+ resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-property-descriptors: 1.0.0
+ object-keys: 1.1.1
+ dev: true
+
+ /defu/6.0.0:
+ resolution: {integrity: sha512-t2MZGLf1V2rV4VBZbWIaXKdX/mUcYW0n2znQZoADBkGGxYL8EWqCuCZBmJPJ/Yy9fofJkyuuSuo5GSwo0XdEgw==}
+ dev: true
+
+ /depd/1.1.2:
+ resolution: {integrity: sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /destroy/1.0.4:
+ resolution: {integrity: sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=}
+ dev: true
+
+ /detect-node-es/1.1.0:
+ resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==}
+ dev: true
+
+ /dir-glob/3.0.1:
+ resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
+ engines: {node: '>=8'}
+ dependencies:
+ path-type: 4.0.0
+ dev: true
+
+ /doctrine/2.1.0:
+ resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ esutils: 2.0.3
+ dev: true
+
+ /doctrine/3.0.0:
+ resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ esutils: 2.0.3
+ dev: true
+
+ /duplexer/0.1.2:
+ resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
+ dev: true
+
+ /ee-first/1.1.1:
+ resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=}
+ dev: true
+
+ /electron-to-chromium/1.4.114:
+ resolution: {integrity: sha512-gRwLpVYWHGbERPU6o8pKfR168V6enWEXzZc6zQNNXbgJ7UJna+9qzAIHY94+9KOv71D/CH+QebLA9pChD2q8zA==}
+ dev: true
+
+ /emoji-regex/8.0.0:
+ resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+ dev: true
+
+ /emoji-regex/9.2.2:
+ resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+ dev: true
+
+ /encodeurl/1.0.2:
+ resolution: {integrity: sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=}
+ engines: {node: '>= 0.8'}
+ dev: true
+
+ /es-abstract/1.19.5:
+ resolution: {integrity: sha512-Aa2G2+Rd3b6kxEUKTF4TaW67czBLyAv3z7VOhYRU50YBx+bbsYZ9xQP4lMNazePuFlybXI0V4MruPos7qUo5fA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ 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.3
+ internal-slot: 1.0.3
+ is-callable: 1.2.4
+ is-negative-zero: 2.0.2
+ is-regex: 1.1.4
+ is-shared-array-buffer: 1.0.2
+ is-string: 1.0.7
+ is-weakref: 1.0.2
+ object-inspect: 1.12.0
+ object-keys: 1.1.1
+ object.assign: 4.1.2
+ string.prototype.trimend: 1.0.4
+ string.prototype.trimstart: 1.0.4
+ unbox-primitive: 1.0.1
+ dev: true
+
+ /es-module-lexer/0.9.3:
+ resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==}
+ dev: true
+
+ /es-shim-unscopables/1.0.0:
+ resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==}
+ dependencies:
+ has: 1.0.3
+ dev: true
+
+ /es-to-primitive/1.2.1:
+ resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ is-callable: 1.2.4
+ is-date-object: 1.0.5
+ is-symbol: 1.0.4
+ dev: true
+
+ /esbuild-android-64/0.14.36:
+ resolution: {integrity: sha512-jwpBhF1jmo0tVCYC/ORzVN+hyVcNZUWuozGcLHfod0RJCedTDTvR4nwlTXdx1gtncDqjk33itjO+27OZHbiavw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-android-arm64/0.14.36:
+ resolution: {integrity: sha512-/hYkyFe7x7Yapmfv4X/tBmyKnggUmdQmlvZ8ZlBnV4+PjisrEhAvC3yWpURuD9XoB8Wa1d5dGkTsF53pIvpjsg==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-darwin-64/0.14.36:
+ resolution: {integrity: sha512-kkl6qmV0dTpyIMKagluzYqlc1vO0ecgpviK/7jwPbRDEv5fejRTaBBEE2KxEQbTHcLhiiDbhG7d5UybZWo/1zQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-darwin-arm64/0.14.36:
+ resolution: {integrity: sha512-q8fY4r2Sx6P0Pr3VUm//eFYKVk07C5MHcEinU1BjyFnuYz4IxR/03uBbDwluR6ILIHnZTE7AkTUWIdidRi1Jjw==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-freebsd-64/0.14.36:
+ resolution: {integrity: sha512-Hn8AYuxXXRptybPqoMkga4HRFE7/XmhtlQjXFHoAIhKUPPMeJH35GYEUWGbjteai9FLFvBAjEAlwEtSGxnqWww==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-freebsd-arm64/0.14.36:
+ resolution: {integrity: sha512-S3C0attylLLRiCcHiJd036eDEMOY32+h8P+jJ3kTcfhJANNjP0TNBNL30TZmEdOSx/820HJFgRrqpNAvTbjnDA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-linux-32/0.14.36:
+ resolution: {integrity: sha512-Eh9OkyTrEZn9WGO4xkI3OPPpUX7p/3QYvdG0lL4rfr73Ap2HAr6D9lP59VMF64Ex01LhHSXwIsFG/8AQjh6eNw==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-linux-64/0.14.36:
+ resolution: {integrity: sha512-vFVFS5ve7PuwlfgoWNyRccGDi2QTNkQo/2k5U5ttVD0jRFaMlc8UQee708fOZA6zTCDy5RWsT5MJw3sl2X6KDg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-linux-arm/0.14.36:
+ resolution: {integrity: sha512-NhgU4n+NCsYgt7Hy61PCquEz5aevI6VjQvxwBxtxrooXsxt5b2xtOUXYZe04JxqQo+XZk3d1gcr7pbV9MAQ/Lg==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-linux-arm64/0.14.36:
+ resolution: {integrity: sha512-24Vq1M7FdpSmaTYuu1w0Hdhiqkbto1I5Pjyi+4Cdw5fJKGlwQuw+hWynTcRI/cOZxBcBpP21gND7W27gHAiftw==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-linux-mips64le/0.14.36:
+ resolution: {integrity: sha512-hZUeTXvppJN+5rEz2EjsOFM9F1bZt7/d2FUM1lmQo//rXh1RTFYzhC0txn7WV0/jCC7SvrGRaRz0NMsRPf8SIA==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-linux-ppc64le/0.14.36:
+ resolution: {integrity: sha512-1Bg3QgzZjO+QtPhP9VeIBhAduHEc2kzU43MzBnMwpLSZ890azr4/A9Dganun8nsqD/1TBcqhId0z4mFDO8FAvg==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-linux-riscv64/0.14.36:
+ resolution: {integrity: sha512-dOE5pt3cOdqEhaufDRzNCHf5BSwxgygVak9UR7PH7KPVHwSTDAZHDoEjblxLqjJYpc5XaU9+gKJ9F8mp9r5I4A==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-linux-s390x/0.14.36:
+ resolution: {integrity: sha512-g4FMdh//BBGTfVHjF6MO7Cz8gqRoDPzXWxRvWkJoGroKA18G9m0wddvPbEqcQf5Tbt2vSc1CIgag7cXwTmoTXg==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-netbsd-64/0.14.36:
+ resolution: {integrity: sha512-UB2bVImxkWk4vjnP62ehFNZ73lQY1xcnL5ZNYF3x0AG+j8HgdkNF05v67YJdCIuUJpBuTyCK8LORCYo9onSW+A==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-openbsd-64/0.14.36:
+ resolution: {integrity: sha512-NvGB2Chf8GxuleXRGk8e9zD3aSdRO5kLt9coTQbCg7WMGXeX471sBgh4kSg8pjx0yTXRt0MlrUDnjVYnetyivg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-sunos-64/0.14.36:
+ resolution: {integrity: sha512-VkUZS5ftTSjhRjuRLp+v78auMO3PZBXu6xl4ajomGenEm2/rGuWlhFSjB7YbBNErOchj51Jb2OK8lKAo8qdmsQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-windows-32/0.14.36:
+ resolution: {integrity: sha512-bIar+A6hdytJjZrDxfMBUSEHHLfx3ynoEZXx/39nxy86pX/w249WZm8Bm0dtOAByAf4Z6qV0LsnTIJHiIqbw0w==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-windows-64/0.14.36:
+ resolution: {integrity: sha512-+p4MuRZekVChAeueT1Y9LGkxrT5x7YYJxYE8ZOTcEfeUUN43vktSn6hUNsvxzzATrSgq5QqRdllkVBxWZg7KqQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild-windows-arm64/0.14.36:
+ resolution: {integrity: sha512-fBB4WlDqV1m18EF/aheGYQkQZHfPHiHJSBYzXIo8yKehek+0BtBwo/4PNwKGJ5T0YK0oc8pBKjgwPbzSrPLb+Q==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /esbuild/0.14.36:
+ resolution: {integrity: sha512-HhFHPiRXGYOCRlrhpiVDYKcFJRdO0sBElZ668M4lh2ER0YgnkLxECuFe7uWCf23FrcLc59Pqr7dHkTqmRPDHmw==}
+ engines: {node: '>=12'}
+ hasBin: true
+ requiresBuild: true
+ optionalDependencies:
+ esbuild-android-64: 0.14.36
+ esbuild-android-arm64: 0.14.36
+ esbuild-darwin-64: 0.14.36
+ esbuild-darwin-arm64: 0.14.36
+ esbuild-freebsd-64: 0.14.36
+ esbuild-freebsd-arm64: 0.14.36
+ esbuild-linux-32: 0.14.36
+ esbuild-linux-64: 0.14.36
+ esbuild-linux-arm: 0.14.36
+ esbuild-linux-arm64: 0.14.36
+ esbuild-linux-mips64le: 0.14.36
+ esbuild-linux-ppc64le: 0.14.36
+ esbuild-linux-riscv64: 0.14.36
+ esbuild-linux-s390x: 0.14.36
+ esbuild-netbsd-64: 0.14.36
+ esbuild-openbsd-64: 0.14.36
+ esbuild-sunos-64: 0.14.36
+ esbuild-windows-32: 0.14.36
+ esbuild-windows-64: 0.14.36
+ esbuild-windows-arm64: 0.14.36
+ dev: true
+
+ /escalade/3.1.1:
+ resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /escape-html/1.0.3:
+ resolution: {integrity: sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=}
+ dev: true
+
+ /escape-string-regexp/1.0.5:
+ resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=}
+ engines: {node: '>=0.8.0'}
+ dev: true
+
+ /escape-string-regexp/4.0.0:
+ resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /eslint-config-airbnb-base/15.0.0_25dbcfb8cfecb7418ebda712664abe37:
+ resolution: {integrity: sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==}
+ engines: {node: ^10.12.0 || >=12.0.0}
+ peerDependencies:
+ eslint: ^7.32.0 || ^8.2.0
+ eslint-plugin-import: ^2.25.2
+ dependencies:
+ confusing-browser-globals: 1.0.11
+ eslint: 8.13.0
+ eslint-plugin-import: 2.26.0_eslint@8.13.0
+ object.assign: 4.1.2
+ object.entries: 1.1.5
+ semver: 6.3.0
+ dev: true
+
+ /eslint-config-airbnb/19.0.4_98153b3cb1eb5f851029189077e45ffc:
+ resolution: {integrity: sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew==}
+ engines: {node: ^10.12.0 || ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^7.32.0 || ^8.2.0
+ eslint-plugin-import: ^2.25.3
+ eslint-plugin-jsx-a11y: ^6.5.1
+ eslint-plugin-react: ^7.28.0
+ eslint-plugin-react-hooks: ^4.3.0
+ dependencies:
+ eslint: 8.13.0
+ eslint-config-airbnb-base: 15.0.0_25dbcfb8cfecb7418ebda712664abe37
+ eslint-plugin-import: 2.26.0_eslint@8.13.0
+ eslint-plugin-jsx-a11y: 6.5.1_eslint@8.13.0
+ eslint-plugin-react: 7.29.4_eslint@8.13.0
+ eslint-plugin-react-hooks: 4.4.0_eslint@8.13.0
+ object.assign: 4.1.2
+ object.entries: 1.1.5
+ dev: true
+
+ /eslint-config-prettier/8.5.0_eslint@8.13.0:
+ resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==}
+ hasBin: true
+ peerDependencies:
+ eslint: '>=7.0.0'
+ dependencies:
+ eslint: 8.13.0
+ dev: true
+
+ /eslint-import-resolver-node/0.3.6:
+ resolution: {integrity: sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==}
+ dependencies:
+ debug: 3.2.7
+ resolve: 1.22.0
+ dev: true
+
+ /eslint-module-utils/2.7.3:
+ resolution: {integrity: sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==}
+ engines: {node: '>=4'}
+ dependencies:
+ debug: 3.2.7
+ find-up: 2.1.0
+ dev: true
+
+ /eslint-plugin-import/2.26.0_eslint@8.13.0:
+ resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
+ dependencies:
+ array-includes: 3.1.4
+ array.prototype.flat: 1.3.0
+ debug: 2.6.9
+ doctrine: 2.1.0
+ eslint: 8.13.0
+ eslint-import-resolver-node: 0.3.6
+ eslint-module-utils: 2.7.3
+ has: 1.0.3
+ is-core-module: 2.9.0
+ is-glob: 4.0.3
+ minimatch: 3.1.2
+ object.values: 1.1.5
+ resolve: 1.22.0
+ tsconfig-paths: 3.14.1
+ dev: true
+
+ /eslint-plugin-jsdoc/39.2.4_eslint@8.13.0:
+ resolution: {integrity: sha512-JiVDGPRWK2SK96awi2RM0AmCwtkM5ierwGWq7JHfsnUkFHAMlDWycLJZqQstRQ620AG3nWWrKqtRmWmcRgtQ1w==}
+ engines: {node: ^14 || ^16 || ^17}
+ peerDependencies:
+ eslint: ^7.0.0 || ^8.0.0
+ dependencies:
+ '@es-joy/jsdoccomment': 0.27.0
+ comment-parser: 1.3.1
+ debug: 4.3.4
+ escape-string-regexp: 4.0.0
+ eslint: 8.13.0
+ esquery: 1.4.0
+ semver: 7.3.7
+ spdx-expression-parse: 3.0.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /eslint-plugin-jsx-a11y/6.5.1_eslint@8.13.0:
+ resolution: {integrity: sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g==}
+ engines: {node: '>=4.0'}
+ peerDependencies:
+ eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
+ dependencies:
+ '@babel/runtime': 7.17.9
+ aria-query: 4.2.2
+ array-includes: 3.1.4
+ ast-types-flow: 0.0.7
+ axe-core: 4.4.1
+ axobject-query: 2.2.0
+ damerau-levenshtein: 1.0.8
+ emoji-regex: 9.2.2
+ eslint: 8.13.0
+ has: 1.0.3
+ jsx-ast-utils: 3.2.2
+ language-tags: 1.0.5
+ minimatch: 3.1.2
+ dev: true
+
+ /eslint-plugin-prettier/4.0.0_1815ac95b7fb26c13c7d48a8eef62d0f:
+ resolution: {integrity: sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==}
+ engines: {node: '>=6.0.0'}
+ peerDependencies:
+ eslint: '>=7.28.0'
+ eslint-config-prettier: '*'
+ prettier: '>=2.0.0'
+ peerDependenciesMeta:
+ eslint-config-prettier:
+ optional: true
+ dependencies:
+ eslint: 8.13.0
+ eslint-config-prettier: 8.5.0_eslint@8.13.0
+ prettier: 2.6.2
+ prettier-linter-helpers: 1.0.0
+ dev: true
+
+ /eslint-plugin-react-hooks/4.4.0_eslint@8.13.0:
+ resolution: {integrity: sha512-U3RVIfdzJaeKDQKEJbz5p3NW8/L80PCATJAfuojwbaEL+gBjfGdhUcGde+WGUW46Q5sr/NgxevsIiDtNXrvZaQ==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
+ dependencies:
+ eslint: 8.13.0
+ dev: true
+
+ /eslint-plugin-react/7.29.4_eslint@8.13.0:
+ resolution: {integrity: sha512-CVCXajliVh509PcZYRFyu/BoUEz452+jtQJq2b3Bae4v3xBUWPLCmtmBM+ZinG4MzwmxJgJ2M5rMqhqLVn7MtQ==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
+ dependencies:
+ array-includes: 3.1.4
+ array.prototype.flatmap: 1.3.0
+ doctrine: 2.1.0
+ eslint: 8.13.0
+ estraverse: 5.3.0
+ jsx-ast-utils: 3.2.2
+ minimatch: 3.1.2
+ object.entries: 1.1.5
+ object.fromentries: 2.0.5
+ object.hasown: 1.1.0
+ object.values: 1.1.5
+ prop-types: 15.8.1
+ resolve: 2.0.0-next.3
+ semver: 6.3.0
+ string.prototype.matchall: 4.0.7
+ dev: true
+
+ /eslint-scope/5.1.1:
+ resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
+ engines: {node: '>=8.0.0'}
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 4.3.0
+ dev: true
+
+ /eslint-scope/7.1.1:
+ resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 5.3.0
+ dev: true
+
+ /eslint-utils/3.0.0_eslint@8.13.0:
+ resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==}
+ engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0}
+ peerDependencies:
+ eslint: '>=5'
+ dependencies:
+ eslint: 8.13.0
+ eslint-visitor-keys: 2.1.0
+ dev: true
+
+ /eslint-visitor-keys/2.1.0:
+ resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /eslint-visitor-keys/3.3.0:
+ resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dev: true
+
+ /eslint/8.13.0:
+ resolution: {integrity: sha512-D+Xei61eInqauAyTJ6C0q6x9mx7kTUC1KZ0m0LSEexR0V+e94K12LmWX076ZIsldwfQ2RONdaJe0re0TRGQbRQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ hasBin: true
+ dependencies:
+ '@eslint/eslintrc': 1.2.1
+ '@humanwhocodes/config-array': 0.9.5
+ ajv: 6.12.6
+ chalk: 4.1.2
+ cross-spawn: 7.0.3
+ debug: 4.3.4
+ doctrine: 3.0.0
+ escape-string-regexp: 4.0.0
+ eslint-scope: 7.1.1
+ eslint-utils: 3.0.0_eslint@8.13.0
+ eslint-visitor-keys: 3.3.0
+ espree: 9.3.1
+ esquery: 1.4.0
+ esutils: 2.0.3
+ fast-deep-equal: 3.1.3
+ file-entry-cache: 6.0.1
+ functional-red-black-tree: 1.0.1
+ glob-parent: 6.0.2
+ globals: 13.13.0
+ ignore: 5.2.0
+ import-fresh: 3.3.0
+ imurmurhash: 0.1.4
+ is-glob: 4.0.3
+ js-yaml: 4.1.0
+ json-stable-stringify-without-jsonify: 1.0.1
+ levn: 0.4.1
+ lodash.merge: 4.6.2
+ minimatch: 3.1.2
+ natural-compare: 1.4.0
+ optionator: 0.9.1
+ regexpp: 3.2.0
+ strip-ansi: 6.0.1
+ strip-json-comments: 3.1.1
+ text-table: 0.2.0
+ v8-compile-cache: 2.3.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /espree/9.3.1:
+ resolution: {integrity: sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ acorn: 8.7.0
+ acorn-jsx: 5.3.2_acorn@8.7.0
+ eslint-visitor-keys: 3.3.0
+ dev: true
+
+ /esquery/1.4.0:
+ resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==}
+ engines: {node: '>=0.10'}
+ dependencies:
+ estraverse: 5.3.0
+ dev: true
+
+ /esrecurse/4.3.0:
+ resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
+ engines: {node: '>=4.0'}
+ dependencies:
+ estraverse: 5.3.0
+ dev: true
+
+ /estraverse/4.3.0:
+ resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
+ engines: {node: '>=4.0'}
+ dev: true
+
+ /estraverse/5.3.0:
+ resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
+ engines: {node: '>=4.0'}
+ dev: true
+
+ /estree-walker/0.6.1:
+ resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==}
+ dev: true
+
+ /estree-walker/1.0.1:
+ resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==}
+ dev: true
+
+ /estree-walker/2.0.2:
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+ dev: true
+
+ /esutils/2.0.3:
+ resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /etag/1.8.1:
+ resolution: {integrity: sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /execa/5.1.1:
+ resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
+ engines: {node: '>=10'}
+ dependencies:
+ cross-spawn: 7.0.3
+ get-stream: 6.0.1
+ human-signals: 2.1.0
+ is-stream: 2.0.1
+ merge-stream: 2.0.0
+ npm-run-path: 4.0.1
+ onetime: 5.1.2
+ signal-exit: 3.0.7
+ strip-final-newline: 2.0.0
+ dev: true
+
+ /express/4.17.3:
+ resolution: {integrity: sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==}
+ engines: {node: '>= 0.10.0'}
+ dependencies:
+ accepts: 1.3.8
+ array-flatten: 1.1.1
+ body-parser: 1.19.2
+ content-disposition: 0.5.4
+ content-type: 1.0.4
+ cookie: 0.4.2
+ 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.7
+ qs: 6.9.7
+ range-parser: 1.2.1
+ safe-buffer: 5.2.1
+ send: 0.17.2
+ serve-static: 1.14.2
+ setprototypeof: 1.2.0
+ statuses: 1.5.0
+ type-is: 1.6.18
+ utils-merge: 1.0.1
+ vary: 1.1.2
+ dev: true
+
+ /fast-deep-equal/3.1.3:
+ resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+ dev: true
+
+ /fast-diff/1.2.0:
+ resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==}
+ dev: true
+
+ /fast-glob/3.2.11:
+ resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==}
+ engines: {node: '>=8.6.0'}
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ '@nodelib/fs.walk': 1.2.8
+ glob-parent: 5.1.2
+ merge2: 1.4.1
+ micromatch: 4.0.5
+ dev: true
+
+ /fast-json-stable-stringify/2.1.0:
+ resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
+ dev: true
+
+ /fast-levenshtein/2.0.6:
+ resolution: {integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=}
+ dev: true
+
+ /fastq/1.13.0:
+ resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==}
+ dependencies:
+ reusify: 1.0.4
+ dev: true
+
+ /file-entry-cache/6.0.1:
+ resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
+ engines: {node: ^10.12.0 || >=12.0.0}
+ dependencies:
+ flat-cache: 3.0.4
+ dev: true
+
+ /fill-range/7.0.1:
+ resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ to-regex-range: 5.0.1
+ dev: true
+
+ /filter-obj/1.1.0:
+ resolution: {integrity: sha1-mzERErxsYSehbgFsbF1/GeCAXFs=}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /finalhandler/1.1.2:
+ resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==}
+ engines: {node: '>= 0.8'}
+ 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
+ dev: true
+
+ /find-up/2.1.0:
+ resolution: {integrity: sha1-RdG35QbHF93UgndaK3eSCjwMV6c=}
+ engines: {node: '>=4'}
+ dependencies:
+ locate-path: 2.0.0
+ dev: true
+
+ /find-up/5.0.0:
+ resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
+ engines: {node: '>=10'}
+ dependencies:
+ locate-path: 6.0.0
+ path-exists: 4.0.0
+ dev: true
+
+ /flat-cache/3.0.4:
+ resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==}
+ engines: {node: ^10.12.0 || >=12.0.0}
+ dependencies:
+ flatted: 3.2.5
+ rimraf: 3.0.2
+ dev: true
+
+ /flatted/3.2.5:
+ resolution: {integrity: sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==}
+ dev: true
+
+ /flow-parser/0.176.2:
+ resolution: {integrity: sha512-unqoh60i18C67h2rvK0SCFUBac/waUcx7CF1a5E4D0Cwj1NErTP42RF7yb7+dy25Tpyzt7uwVtXw13Wr17VzWA==}
+ engines: {node: '>=0.4.0'}
+ dev: true
+
+ /flow-remove-types/2.176.2:
+ resolution: {integrity: sha512-PFP2h3+u+zDPNyheVEvLuG1LWFDsS2BOSy1XLaUNf6Dauv7zMLSj+1FOZYDrGEOHru3gbvstTcIxrfCdOVpLTg==}
+ engines: {node: '>=4'}
+ hasBin: true
+ dependencies:
+ flow-parser: 0.176.2
+ pirates: 3.0.2
+ vlq: 0.2.3
+ dev: true
+
+ /focus-lock/0.10.2:
+ resolution: {integrity: sha512-DSaI/UHZ/02sg1P616aIWgToQcrKKBmcCvomDZ1PZvcJFj350PnWhSJxJ76T3e5/GbtQEARIACtbrdlrF9C5kA==}
+ engines: {node: '>=10'}
+ dependencies:
+ tslib: 2.3.1
+ dev: true
+
+ /follow-redirects/1.14.9:
+ resolution: {integrity: sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==}
+ engines: {node: '>=4.0'}
+ peerDependencies:
+ debug: '*'
+ peerDependenciesMeta:
+ debug:
+ optional: true
+
+ /forwarded/0.2.0:
+ resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /fresh/0.5.2:
+ resolution: {integrity: sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /fs.realpath/1.0.0:
+ resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=}
+ dev: true
+
+ /fsevents/2.3.2:
+ resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /function-bind/1.1.1:
+ resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
+ dev: true
+
+ /functional-red-black-tree/1.0.1:
+ resolution: {integrity: sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=}
+ dev: true
+
+ /functions-have-names/1.2.3:
+ resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
+ dev: true
+
+ /gensync/1.0.0-beta.2:
+ resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
+ engines: {node: '>=6.9.0'}
+ dev: true
+
+ /get-intrinsic/1.1.1:
+ resolution: {integrity: sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==}
+ dependencies:
+ function-bind: 1.1.1
+ has: 1.0.3
+ has-symbols: 1.0.3
+ dev: true
+
+ /get-nonce/1.0.1:
+ resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /get-port/5.1.1:
+ resolution: {integrity: sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /get-stream/6.0.1:
+ resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /get-symbol-description/1.0.0:
+ resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ get-intrinsic: 1.1.1
+ dev: true
+
+ /glob-parent/5.1.2:
+ resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
+ engines: {node: '>= 6'}
+ dependencies:
+ is-glob: 4.0.3
+ dev: true
+
+ /glob-parent/6.0.2:
+ resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
+ engines: {node: '>=10.13.0'}
+ dependencies:
+ is-glob: 4.0.3
+ dev: true
+
+ /glob-regex/0.3.2:
+ resolution: {integrity: sha512-m5blUd3/OqDTWwzBBtWBPrGlAzatRywHameHeekAZyZrskYouOGdNB8T/q6JucucvJXtOuyHIn0/Yia7iDasDw==}
+ dev: true
+
+ /glob/7.2.0:
+ resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==}
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 3.1.2
+ once: 1.4.0
+ path-is-absolute: 1.0.1
+ dev: true
+
+ /globals/11.12.0:
+ resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /globals/13.13.0:
+ resolution: {integrity: sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==}
+ engines: {node: '>=8'}
+ dependencies:
+ type-fest: 0.20.2
+ dev: true
+
+ /globby/11.1.0:
+ resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
+ engines: {node: '>=10'}
+ dependencies:
+ array-union: 2.1.0
+ dir-glob: 3.0.1
+ fast-glob: 3.2.11
+ ignore: 5.2.0
+ merge2: 1.4.1
+ slash: 3.0.0
+ dev: true
+
+ /globrex/0.1.2:
+ resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
+ dev: true
+
+ /gzip-size/6.0.0:
+ resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==}
+ engines: {node: '>=10'}
+ dependencies:
+ duplexer: 0.1.2
+ dev: true
+
+ /has-bigints/1.0.2:
+ resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
+ dev: true
+
+ /has-flag/3.0.0:
+ resolution: {integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=}
+ engines: {node: '>=4'}
+ dev: true
+
+ /has-flag/4.0.0:
+ resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /has-property-descriptors/1.0.0:
+ resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==}
+ dependencies:
+ get-intrinsic: 1.1.1
+ dev: true
+
+ /has-symbols/1.0.3:
+ resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /has-tostringtag/1.0.0:
+ resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-symbols: 1.0.3
+ dev: true
+
+ /has/1.0.3:
+ resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
+ engines: {node: '>= 0.4.0'}
+ dependencies:
+ function-bind: 1.1.1
+ dev: true
+
+ /history/5.3.0:
+ resolution: {integrity: sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==}
+ dependencies:
+ '@babel/runtime': 7.17.9
+ dev: true
+
+ /http-errors/1.8.1:
+ resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ depd: 1.1.2
+ inherits: 2.0.4
+ setprototypeof: 1.2.0
+ statuses: 1.5.0
+ toidentifier: 1.0.1
+ dev: true
+
+ /human-signals/2.1.0:
+ resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
+ engines: {node: '>=10.17.0'}
+ dev: true
+
+ /iconv-lite/0.4.24:
+ resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ safer-buffer: 2.1.2
+ dev: true
+
+ /ignore/5.2.0:
+ resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==}
+ engines: {node: '>= 4'}
+ dev: true
+
+ /import-fresh/3.3.0:
+ resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
+ engines: {node: '>=6'}
+ dependencies:
+ parent-module: 1.0.1
+ resolve-from: 4.0.0
+ dev: true
+
+ /imurmurhash/0.1.4:
+ resolution: {integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o=}
+ engines: {node: '>=0.8.19'}
+ dev: true
+
+ /inflight/1.0.6:
+ resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=}
+ dependencies:
+ once: 1.4.0
+ wrappy: 1.0.2
+ dev: true
+
+ /inherits/2.0.4:
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+ dev: true
+
+ /internal-slot/1.0.3:
+ resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ get-intrinsic: 1.1.1
+ has: 1.0.3
+ side-channel: 1.0.4
+ dev: true
+
+ /invariant/2.2.4:
+ resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==}
+ dependencies:
+ loose-envify: 1.4.0
+ dev: true
+
+ /ipaddr.js/1.9.1:
+ resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
+ engines: {node: '>= 0.10'}
+ dev: true
+
+ /is-bigint/1.0.4:
+ resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
+ dependencies:
+ has-bigints: 1.0.2
+ dev: true
+
+ /is-binary-path/2.1.0:
+ resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
+ engines: {node: '>=8'}
+ dependencies:
+ binary-extensions: 2.2.0
+ dev: true
+
+ /is-boolean-object/1.1.2:
+ resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /is-callable/1.2.4:
+ resolution: {integrity: sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /is-core-module/2.9.0:
+ resolution: {integrity: sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==}
+ dependencies:
+ has: 1.0.3
+ dev: true
+
+ /is-date-object/1.0.5:
+ resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /is-docker/2.2.1:
+ resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
+ engines: {node: '>=8'}
+ hasBin: true
+ dev: true
+
+ /is-extglob/2.1.1:
+ resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /is-fullwidth-code-point/3.0.0:
+ resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /is-glob/4.0.3:
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-extglob: 2.1.1
+ dev: true
+
+ /is-module/1.0.0:
+ resolution: {integrity: sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=}
+ dev: true
+
+ /is-negative-zero/2.0.2:
+ resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /is-number-object/1.0.7:
+ resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /is-number/7.0.0:
+ resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
+ engines: {node: '>=0.12.0'}
+ dev: true
+
+ /is-reference/1.2.1:
+ resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==}
+ dependencies:
+ '@types/estree': 0.0.51
+ dev: true
+
+ /is-regex/1.1.4:
+ resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /is-shared-array-buffer/1.0.2:
+ resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==}
+ dependencies:
+ call-bind: 1.0.2
+ dev: true
+
+ /is-stream/2.0.1:
+ resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /is-string/1.0.7:
+ resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.0
+ dev: true
+
+ /is-symbol/1.0.4:
+ resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-symbols: 1.0.3
+ dev: true
+
+ /is-weakref/1.0.2:
+ resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
+ dependencies:
+ call-bind: 1.0.2
+ dev: true
+
+ /is-wsl/2.2.0:
+ resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
+ engines: {node: '>=8'}
+ dependencies:
+ is-docker: 2.2.1
+ dev: true
+
+ /isexe/2.0.0:
+ resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=}
+ dev: true
+
+ /jiti/1.13.0:
+ resolution: {integrity: sha512-/n9mNxZj/HDSrincJ6RP+L+yXbpnB8FybySBa+IjIaoH9FIxBbrbRT5XUbe8R7zuVM2AQqNMNDDqz0bzx3znOQ==}
+ hasBin: true
+ dev: true
+
+ /joycon/3.1.1:
+ resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /js-tokens/4.0.0:
+ resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+
+ /js-yaml/4.1.0:
+ resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
+ hasBin: true
+ dependencies:
+ argparse: 2.0.1
+ dev: true
+
+ /jsdoc-type-pratt-parser/3.0.1:
+ resolution: {integrity: sha512-vqMCdAFVIiFhVgBYE/X8naf3L/7qiJsaYWTfUJZZZ124dR3OUz9HrmaMUGpYIYAN4VSuodf6gIZY0e8ktPw9cg==}
+ engines: {node: '>=12.0.0'}
+ dev: true
+
+ /jsesc/0.5.0:
+ resolution: {integrity: sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=}
+ hasBin: true
+ dev: true
+
+ /jsesc/2.5.2:
+ resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
+ engines: {node: '>=4'}
+ hasBin: true
+ dev: true
+
+ /json-schema-traverse/0.4.1:
+ resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
+ dev: true
+
+ /json-stable-stringify-without-jsonify/1.0.1:
+ resolution: {integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=}
+ dev: true
+
+ /json5/1.0.1:
+ resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==}
+ hasBin: true
+ dependencies:
+ minimist: 1.2.6
+ dev: true
+
+ /json5/2.2.1:
+ resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==}
+ engines: {node: '>=6'}
+ hasBin: true
+ dev: true
+
+ /jsonc-parser/3.0.0:
+ resolution: {integrity: sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==}
+ dev: true
+
+ /jsx-ast-utils/3.2.2:
+ resolution: {integrity: sha512-HDAyJ4MNQBboGpUnHAVUNJs6X0lh058s6FuixsFGP7MgJYpD6Vasd6nzSG5iIfXu1zAYlHJ/zsOKNlrenTUBnw==}
+ engines: {node: '>=4.0'}
+ dependencies:
+ array-includes: 3.1.4
+ object.assign: 4.1.2
+ dev: true
+
+ /kolorist/1.5.1:
+ resolution: {integrity: sha512-lxpCM3HTvquGxKGzHeknB/sUjuVoUElLlfYnXZT73K8geR9jQbroGlSCFBax9/0mpGoD3kzcMLnOlGQPJJNyqQ==}
+ dev: true
+
+ /language-subtag-registry/0.3.21:
+ resolution: {integrity: sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==}
+ dev: true
+
+ /language-tags/1.0.5:
+ resolution: {integrity: sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=}
+ dependencies:
+ language-subtag-registry: 0.3.21
+ dev: true
+
+ /levn/0.4.1:
+ resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ prelude-ls: 1.2.1
+ type-check: 0.4.0
+ dev: true
+
+ /local-pkg/0.4.1:
+ resolution: {integrity: sha512-lL87ytIGP2FU5PWwNDo0w3WhIo2gopIAxPg9RxDYF7m4rr5ahuZxP22xnJHIvaLTe4Z9P6uKKY2UHiwyB4pcrw==}
+ engines: {node: '>=14'}
+ dev: true
+
+ /locate-path/2.0.0:
+ resolution: {integrity: sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=}
+ engines: {node: '>=4'}
+ dependencies:
+ p-locate: 2.0.0
+ path-exists: 3.0.0
+ dev: true
+
+ /locate-path/6.0.0:
+ resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
+ engines: {node: '>=10'}
+ dependencies:
+ p-locate: 5.0.0
+ dev: true
+
+ /lodash.debounce/4.0.8:
+ resolution: {integrity: sha1-gteb/zCmfEAF/9XiUVMArZyk168=}
+ dev: true
+
+ /lodash.merge/4.6.2:
+ resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
+ dev: true
+
+ /lodash/4.17.21:
+ resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
+ dev: false
+
+ /loose-envify/1.4.0:
+ resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
+ hasBin: true
+ dependencies:
+ js-tokens: 4.0.0
+
+ /lru-cache/6.0.0:
+ resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
+ engines: {node: '>=10'}
+ dependencies:
+ yallist: 4.0.0
+ dev: true
+
+ /magic-string/0.25.9:
+ resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
+ dependencies:
+ sourcemap-codec: 1.4.8
+ dev: true
+
+ /magic-string/0.26.1:
+ resolution: {integrity: sha512-ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg==}
+ engines: {node: '>=12'}
+ dependencies:
+ sourcemap-codec: 1.4.8
+ dev: true
+
+ /mdn-data/2.0.27:
+ resolution: {integrity: sha512-kwqO0I0jtWr25KcfLm9pia8vLZ8qoAKhWZuZMbneJq3jjBD3gl5nZs8l8Tu3ZBlBAHVQtDur9rdDGyvtfVraHQ==}
+ dev: true
+
+ /media-typer/0.3.0:
+ resolution: {integrity: sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /merge-descriptors/1.0.1:
+ resolution: {integrity: sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=}
+ dev: true
+
+ /merge-stream/2.0.0:
+ resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
+ dev: true
+
+ /merge2/1.4.1:
+ resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
+ engines: {node: '>= 8'}
+ dev: true
+
+ /methods/1.1.2:
+ resolution: {integrity: sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /micromatch/4.0.5:
+ resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
+ engines: {node: '>=8.6'}
+ dependencies:
+ braces: 3.0.2
+ picomatch: 2.3.1
+ dev: true
+
+ /mime-db/1.52.0:
+ resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /mime-types/2.1.35:
+ resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ mime-db: 1.52.0
+ dev: true
+
+ /mime/1.6.0:
+ resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
+ engines: {node: '>=4'}
+ hasBin: true
+ dev: true
+
+ /mime/3.0.0:
+ resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==}
+ engines: {node: '>=10.0.0'}
+ hasBin: true
+ dev: true
+
+ /mimic-fn/2.1.0:
+ resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /minimatch/3.1.2:
+ resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+ dependencies:
+ brace-expansion: 1.1.11
+ dev: true
+
+ /minimist/1.2.6:
+ resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==}
+ dev: true
+
+ /mrmime/1.0.0:
+ resolution: {integrity: sha512-a70zx7zFfVO7XpnQ2IX1Myh9yY4UYvfld/dikWRnsXxbyvMcfz+u6UfgNAtH+k2QqtJuzVpv6eLTx1G2+WKZbQ==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /ms/2.0.0:
+ resolution: {integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=}
+ dev: true
+
+ /ms/2.1.2:
+ resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
+ dev: true
+
+ /ms/2.1.3:
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+ dev: true
+
+ /nanoid/3.3.3:
+ resolution: {integrity: sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+ dev: true
+
+ /natural-compare/1.4.0:
+ resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=}
+ dev: true
+
+ /negotiator/0.6.3:
+ resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /node-modules-regexp/1.0.0:
+ resolution: {integrity: sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /node-releases/2.0.3:
+ resolution: {integrity: sha512-maHFz6OLqYxz+VQyCAtA3PTX4UP/53pa05fyDNc9CwjvJ0yEh6+xBwKsgCxMNhS8taUKBFYxfuiaD9U/55iFaw==}
+ dev: true
+
+ /normalize-path/3.0.0:
+ resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /npm-run-path/4.0.1:
+ resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
+ engines: {node: '>=8'}
+ dependencies:
+ path-key: 3.1.1
+ dev: true
+
+ /object-assign/4.1.1:
+ resolution: {integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /object-inspect/1.12.0:
+ resolution: {integrity: sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==}
+ dev: true
+
+ /object-keys/1.1.1:
+ resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /object.assign/4.1.2:
+ resolution: {integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.1.4
+ has-symbols: 1.0.3
+ object-keys: 1.1.1
+ dev: true
+
+ /object.entries/1.1.5:
+ resolution: {integrity: sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.1.4
+ es-abstract: 1.19.5
+ dev: true
+
+ /object.fromentries/2.0.5:
+ resolution: {integrity: sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.1.4
+ es-abstract: 1.19.5
+ dev: true
+
+ /object.hasown/1.1.0:
+ resolution: {integrity: sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg==}
+ dependencies:
+ define-properties: 1.1.4
+ es-abstract: 1.19.5
+ dev: true
+
+ /object.values/1.1.5:
+ resolution: {integrity: sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.1.4
+ es-abstract: 1.19.5
+ dev: true
+
+ /on-finished/2.3.0:
+ resolution: {integrity: sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ ee-first: 1.1.1
+ dev: true
+
+ /once/1.4.0:
+ resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=}
+ dependencies:
+ wrappy: 1.0.2
+ dev: true
+
+ /onetime/5.1.2:
+ resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
+ engines: {node: '>=6'}
+ dependencies:
+ mimic-fn: 2.1.0
+ dev: true
+
+ /open/8.4.0:
+ resolution: {integrity: sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==}
+ engines: {node: '>=12'}
+ dependencies:
+ define-lazy-prop: 2.0.0
+ is-docker: 2.2.1
+ is-wsl: 2.2.0
+ dev: true
+
+ /opener/1.5.2:
+ resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==}
+ hasBin: true
+ dev: true
+
+ /optionator/0.9.1:
+ resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ deep-is: 0.1.4
+ fast-levenshtein: 2.0.6
+ levn: 0.4.1
+ prelude-ls: 1.2.1
+ type-check: 0.4.0
+ word-wrap: 1.2.3
+ dev: true
+
+ /p-limit/1.3.0:
+ resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==}
+ engines: {node: '>=4'}
+ dependencies:
+ p-try: 1.0.0
+ dev: true
+
+ /p-limit/3.1.0:
+ resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ yocto-queue: 0.1.0
+ dev: true
+
+ /p-locate/2.0.0:
+ resolution: {integrity: sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=}
+ engines: {node: '>=4'}
+ dependencies:
+ p-limit: 1.3.0
+ dev: true
+
+ /p-locate/5.0.0:
+ resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
+ engines: {node: '>=10'}
+ dependencies:
+ p-limit: 3.1.0
+ dev: true
+
+ /p-try/1.0.0:
+ resolution: {integrity: sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=}
+ engines: {node: '>=4'}
+ dev: true
+
+ /parent-module/1.0.1:
+ resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
+ engines: {node: '>=6'}
+ dependencies:
+ callsites: 3.1.0
+ dev: true
+
+ /parseurl/1.3.3:
+ resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
+ engines: {node: '>= 0.8'}
+ dev: true
+
+ /path-exists/3.0.0:
+ resolution: {integrity: sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=}
+ engines: {node: '>=4'}
+ dev: true
+
+ /path-exists/4.0.0:
+ resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /path-is-absolute/1.0.1:
+ resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /path-key/3.1.1:
+ resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /path-parse/1.0.7:
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+ dev: true
+
+ /path-to-regexp/0.1.7:
+ resolution: {integrity: sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=}
+ dev: true
+
+ /path-type/4.0.0:
+ resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /pathe/0.2.0:
+ resolution: {integrity: sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==}
+ dev: true
+
+ /picocolors/1.0.0:
+ resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
+ dev: true
+
+ /picomatch/2.3.1:
+ resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
+ engines: {node: '>=8.6'}
+ dev: true
+
+ /pirates/3.0.2:
+ resolution: {integrity: sha512-c5CgUJq6H2k6MJz72Ak1F5sN9n9wlSlJyEnwvpm9/y3WB4E3pHBDT2c6PEiS1vyJvq2bUxUAIu0EGf8Cx4Ic7Q==}
+ engines: {node: '>= 4'}
+ dependencies:
+ node-modules-regexp: 1.0.0
+ dev: true
+
+ /postcss/8.4.12:
+ resolution: {integrity: sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==}
+ engines: {node: ^10 || ^12 || >=14}
+ dependencies:
+ nanoid: 3.3.3
+ picocolors: 1.0.0
+ source-map-js: 1.0.2
+ dev: true
+
+ /prelude-ls/1.2.1:
+ resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
+ engines: {node: '>= 0.8.0'}
+ dev: true
+
+ /prettier-linter-helpers/1.0.0:
+ resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==}
+ engines: {node: '>=6.0.0'}
+ dependencies:
+ fast-diff: 1.2.0
+ dev: true
+
+ /prettier/2.6.2:
+ resolution: {integrity: sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+ dev: true
+
+ /prop-types/15.8.1:
+ resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
+ dependencies:
+ loose-envify: 1.4.0
+ object-assign: 4.1.1
+ react-is: 16.13.1
+ dev: true
+
+ /proxy-addr/2.0.7:
+ resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
+ engines: {node: '>= 0.10'}
+ dependencies:
+ forwarded: 0.2.0
+ ipaddr.js: 1.9.1
+ dev: true
+
+ /punycode/2.1.1:
+ resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /qs/6.9.7:
+ resolution: {integrity: sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==}
+ engines: {node: '>=0.6'}
+ dev: true
+
+ /query-string/7.1.1:
+ resolution: {integrity: sha512-MplouLRDHBZSG9z7fpuAAcI7aAYjDLhtsiVZsevsfaHWDS2IDdORKbSd1kWUA+V4zyva/HZoSfpwnYMMQDhb0w==}
+ engines: {node: '>=6'}
+ dependencies:
+ decode-uri-component: 0.2.0
+ filter-obj: 1.1.0
+ split-on-first: 1.1.0
+ strict-uri-encode: 2.0.0
+ dev: true
+
+ /queue-microtask/1.2.3:
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+ dev: true
+
+ /range-parser/1.2.1:
+ resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /raw-body/2.4.3:
+ resolution: {integrity: sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ bytes: 3.1.2
+ http-errors: 1.8.1
+ iconv-lite: 0.4.24
+ unpipe: 1.0.0
+ dev: true
+
+ /react-clientside-effect/1.2.5_react@18.0.0:
+ resolution: {integrity: sha512-2bL8qFW1TGBHozGGbVeyvnggRpMjibeZM2536AKNENLECutp2yfs44IL8Hmpn8qjFQ2K7A9PnYf3vc7aQq/cPA==}
+ peerDependencies:
+ react: ^15.3.0 || ^16.0.0 || ^17.0.0
+ dependencies:
+ '@babel/runtime': 7.17.9
+ react: 18.0.0
+ dev: true
+
+ /react-dom/18.0.0_react@18.0.0:
+ resolution: {integrity: sha512-XqX7uzmFo0pUceWFCt7Gff6IyIMzFUn7QMZrbrQfGxtaxXZIcGQzoNpRLE3fQLnS4XzLLPMZX2T9TRcSrasicw==}
+ peerDependencies:
+ react: ^18.0.0
+ dependencies:
+ loose-envify: 1.4.0
+ react: 18.0.0
+ scheduler: 0.21.0
+ dev: false
+
+ /react-focus-lock/2.8.1_@types+react@18.0.5+react@18.0.0:
+ resolution: {integrity: sha512-4kb9I7JIiBm0EJ+CsIBQ+T1t5qtmwPRbFGYFQ0t2q2qIpbFbYTHDjnjJVFB7oMBtXityEOQehblJPjqSIf3Amg==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ dependencies:
+ '@babel/runtime': 7.17.9
+ focus-lock: 0.10.2
+ prop-types: 15.8.1
+ react: 18.0.0
+ react-clientside-effect: 1.2.5_react@18.0.0
+ use-callback-ref: 1.3.0_@types+react@18.0.5+react@18.0.0
+ use-sidecar: 1.1.2_@types+react@18.0.5+react@18.0.0
+ transitivePeerDependencies:
+ - '@types/react'
+ dev: true
+
+ /react-is/16.13.1:
+ resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
+ dev: true
+
+ /react-refresh/0.12.0:
+ resolution: {integrity: sha512-suLIhrU2IHKL5JEKR/fAwJv7bbeq4kJ+pJopf77jHwuR+HmJS/HbrPIGsTBUVfw7tXPOmYv7UJ7PCaN49e8x4A==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /react-remove-scroll-bar/2.3.0_@types+react@18.0.5+react@18.0.0:
+ resolution: {integrity: sha512-v2vf8kgrRph5FQeLVZjSOmM0g3ZiBxwMk98VXhsiJDSPeRDUaXJrzYDk2Hhoe6qLggrhWtAXJZVxUwXmRXa93g==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@types/react': 18.0.5
+ react: 18.0.0
+ react-style-singleton: 2.2.0_@types+react@18.0.5+react@18.0.0
+ tslib: 2.3.1
+ dev: true
+
+ /react-remove-scroll/2.5.1_@types+react@18.0.5+react@18.0.0:
+ resolution: {integrity: sha512-Lzam+uvyTLlSCqxGeEe5fLadZQkAYYWurr7P+9kgJfgBcBhs04T181D3yqmUzML63W0FLW/oqSd6dnaE0IIisQ==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@types/react': 18.0.5
+ react: 18.0.0
+ react-remove-scroll-bar: 2.3.0_@types+react@18.0.5+react@18.0.0
+ react-style-singleton: 2.2.0_@types+react@18.0.5+react@18.0.0
+ tslib: 2.3.1
+ use-callback-ref: 1.3.0_@types+react@18.0.5+react@18.0.0
+ use-sidecar: 1.1.2_@types+react@18.0.5+react@18.0.0
+ dev: true
+
+ /react-style-singleton/2.2.0_@types+react@18.0.5+react@18.0.0:
+ resolution: {integrity: sha512-nK7mN92DMYZEu3cQcAhfwE48NpzO5RpxjG4okbSqRRbfal9Pk+fG2RdQXTMp+f6all1hB9LIJSt+j7dCYrU11g==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@types/react': 18.0.5
+ get-nonce: 1.0.1
+ invariant: 2.2.4
+ react: 18.0.0
+ tslib: 2.3.1
+ dev: true
+
+ /react/18.0.0:
+ resolution: {integrity: sha512-x+VL6wbT4JRVPm7EGxXhZ8w8LTROaxPXOqhlGyVSrv0sB1jkyFGgXxJ8LVoPRLvPR6/CIZGFmfzqUa2NYeMr2A==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ loose-envify: 1.4.0
+ dev: false
+
+ /readdirp/3.6.0:
+ resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
+ engines: {node: '>=8.10.0'}
+ dependencies:
+ picomatch: 2.3.1
+ dev: true
+
+ /recrawl-sync/2.2.2:
+ resolution: {integrity: sha512-E2sI4F25Fu2nrfV+KsnC7/qfk/spQIYXlonfQoS4rwxeNK5BjxnLPbWiRXHVXPwYBOTWtPX5765kTm/zJiL+LQ==}
+ dependencies:
+ '@cush/relative': 1.0.0
+ glob-regex: 0.3.2
+ slash: 3.0.0
+ tslib: 1.14.1
+ dev: true
+
+ /regenerate-unicode-properties/10.0.1:
+ resolution: {integrity: sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==}
+ engines: {node: '>=4'}
+ dependencies:
+ regenerate: 1.4.2
+ dev: true
+
+ /regenerate/1.4.2:
+ resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==}
+ dev: true
+
+ /regenerator-runtime/0.13.9:
+ resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==}
+
+ /regenerator-transform/0.15.0:
+ resolution: {integrity: sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==}
+ dependencies:
+ '@babel/runtime': 7.17.9
+ dev: true
+
+ /regexp.prototype.flags/1.4.3:
+ resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.1.4
+ functions-have-names: 1.2.3
+ dev: true
+
+ /regexpp/3.2.0:
+ resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /regexpu-core/5.0.1:
+ resolution: {integrity: sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==}
+ engines: {node: '>=4'}
+ dependencies:
+ regenerate: 1.4.2
+ regenerate-unicode-properties: 10.0.1
+ regjsgen: 0.6.0
+ regjsparser: 0.8.4
+ unicode-match-property-ecmascript: 2.0.0
+ unicode-match-property-value-ecmascript: 2.0.0
+ dev: true
+
+ /regjsgen/0.6.0:
+ resolution: {integrity: sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==}
+ dev: true
+
+ /regjsparser/0.8.4:
+ resolution: {integrity: sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==}
+ hasBin: true
+ dependencies:
+ jsesc: 0.5.0
+ dev: true
+
+ /resolve-from/4.0.0:
+ resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /resolve/1.22.0:
+ resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==}
+ hasBin: true
+ dependencies:
+ is-core-module: 2.9.0
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+ dev: true
+
+ /resolve/2.0.0-next.3:
+ resolution: {integrity: sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==}
+ dependencies:
+ is-core-module: 2.9.0
+ path-parse: 1.0.7
+ dev: true
+
+ /reusify/1.0.4:
+ resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
+ engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+ dev: true
+
+ /rimraf/3.0.2:
+ resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
+ hasBin: true
+ dependencies:
+ glob: 7.2.0
+ dev: true
+
+ /rollup-plugin-esbuild/4.9.1_esbuild@0.14.36+rollup@2.70.2:
+ resolution: {integrity: sha512-qn/x7Wz9p3Xnva99qcb+nopH0d2VJwVnsxJTGEg+Sh2Z3tqQl33MhOwzekVo1YTKgv+yAmosjcBRJygMfGrtLw==}
+ engines: {node: '>=12'}
+ peerDependencies:
+ esbuild: '>=0.10.1'
+ rollup: ^1.20.0 || ^2.0.0
+ dependencies:
+ '@rollup/pluginutils': 4.2.1
+ debug: 4.3.4
+ es-module-lexer: 0.9.3
+ esbuild: 0.14.36
+ joycon: 3.1.1
+ jsonc-parser: 3.0.0
+ rollup: 2.70.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /rollup-plugin-import-css/3.0.3_rollup@2.70.2:
+ resolution: {integrity: sha512-0JE1UVigYqhbbbwNalxcYCnYAD70JgJIqnaSYeBgCOO60ASx9hpJubfA8toxEv6ceZrRPnLF1cnr0vsskH1Uiw==}
+ peerDependencies:
+ rollup: ^2.x.x
+ dependencies:
+ '@rollup/pluginutils': 4.2.1
+ rollup: 2.70.2
+ dev: true
+
+ /rollup-plugin-serve/1.1.0:
+ resolution: {integrity: sha512-pYkSsuA0/psKqhhictkJw1c2klya5b+LlCvipWqI9OE1aG2M97mRumZCbBlry5CMEOzYBBgSDgd1694sNbmyIw==}
+ dependencies:
+ mime: 3.0.0
+ opener: 1.5.2
+ dev: true
+
+ /rollup-plugin-userscript-metablock/0.3.1:
+ resolution: {integrity: sha512-FwGgBQ8oD9MYkUI2CRPD4TJr3hV0UP4YCOGFQDK8PqMZLD6IbPvuraG3qhMCFhukzeTgfEs6uGsUO0xujeJEFw==}
+ dependencies:
+ chalk: 4.1.2
+ debug: 4.3.4
+ js-yaml: 4.1.0
+ magic-string: 0.25.9
+ semver: 7.3.7
+ valid-url: 1.0.9
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /rollup-pluginutils/2.8.2:
+ resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==}
+ dependencies:
+ estree-walker: 0.6.1
+ dev: true
+
+ /rollup/2.70.2:
+ resolution: {integrity: sha512-EitogNZnfku65I1DD5Mxe8JYRUCy0hkK5X84IlDtUs+O6JRMpRciXTzyCUuX11b5L5pvjH+OmFXiQ3XjabcXgg==}
+ engines: {node: '>=10.0.0'}
+ hasBin: true
+ optionalDependencies:
+ fsevents: 2.3.2
+ dev: true
+
+ /run-parallel/1.2.0:
+ resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+ dependencies:
+ queue-microtask: 1.2.3
+ dev: true
+
+ /safe-buffer/5.1.2:
+ resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
+ dev: true
+
+ /safe-buffer/5.2.1:
+ resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
+ dev: true
+
+ /safer-buffer/2.1.2:
+ resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
+ dev: true
+
+ /scheduler/0.21.0:
+ resolution: {integrity: sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ==}
+ dependencies:
+ loose-envify: 1.4.0
+ dev: false
+
+ /semver/6.3.0:
+ resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==}
+ hasBin: true
+ dev: true
+
+ /semver/7.0.0:
+ resolution: {integrity: sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==}
+ hasBin: true
+ dev: true
+
+ /semver/7.3.7:
+ resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ lru-cache: 6.0.0
+ dev: true
+
+ /send/0.17.2:
+ resolution: {integrity: sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==}
+ engines: {node: '>= 0.8.0'}
+ 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.8.1
+ mime: 1.6.0
+ ms: 2.1.3
+ on-finished: 2.3.0
+ range-parser: 1.2.1
+ statuses: 1.5.0
+ dev: true
+
+ /serve-static/1.14.2:
+ resolution: {integrity: sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ parseurl: 1.3.3
+ send: 0.17.2
+ dev: true
+
+ /setprototypeof/1.2.0:
+ resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
+ dev: true
+
+ /shebang-command/2.0.0:
+ resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
+ engines: {node: '>=8'}
+ dependencies:
+ shebang-regex: 3.0.0
+ dev: true
+
+ /shebang-regex/3.0.0:
+ resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /side-channel/1.0.4:
+ resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
+ dependencies:
+ call-bind: 1.0.2
+ get-intrinsic: 1.1.1
+ object-inspect: 1.12.0
+ dev: true
+
+ /signal-exit/3.0.7:
+ resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
+ dev: true
+
+ /sirv/2.0.2:
+ resolution: {integrity: sha512-4Qog6aE29nIjAOKe/wowFTxOdmbEZKb+3tsLljaBRzJwtqto0BChD2zzH0LhgCSXiI+V7X+Y45v14wBZQ1TK3w==}
+ engines: {node: '>= 10'}
+ dependencies:
+ '@polka/url': 1.0.0-next.21
+ mrmime: 1.0.0
+ totalist: 3.0.0
+ dev: true
+
+ /slash/3.0.0:
+ resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /source-map-js/1.0.2:
+ resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /source-map/0.5.7:
+ resolution: {integrity: sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /sourcemap-codec/1.4.8:
+ resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
+ dev: true
+
+ /spdx-exceptions/2.3.0:
+ resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==}
+ dev: true
+
+ /spdx-expression-parse/3.0.1:
+ resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==}
+ dependencies:
+ spdx-exceptions: 2.3.0
+ spdx-license-ids: 3.0.11
+ dev: true
+
+ /spdx-license-ids/3.0.11:
+ resolution: {integrity: sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==}
+ dev: true
+
+ /split-on-first/1.1.0:
+ resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /statuses/1.5.0:
+ resolution: {integrity: sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=}
+ engines: {node: '>= 0.6'}
+ dev: true
+
+ /strict-uri-encode/2.0.0:
+ resolution: {integrity: sha1-ucczDHBChi9rFC3CdLvMWGbONUY=}
+ engines: {node: '>=4'}
+ dev: true
+
+ /string-width/4.2.3:
+ resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
+ engines: {node: '>=8'}
+ dependencies:
+ emoji-regex: 8.0.0
+ is-fullwidth-code-point: 3.0.0
+ strip-ansi: 6.0.1
+ dev: true
+
+ /string.prototype.matchall/4.0.7:
+ resolution: {integrity: sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.1.4
+ es-abstract: 1.19.5
+ get-intrinsic: 1.1.1
+ has-symbols: 1.0.3
+ internal-slot: 1.0.3
+ regexp.prototype.flags: 1.4.3
+ side-channel: 1.0.4
+ dev: true
+
+ /string.prototype.trimend/1.0.4:
+ resolution: {integrity: sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.1.4
+ dev: true
+
+ /string.prototype.trimstart/1.0.4:
+ resolution: {integrity: sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.1.4
+ dev: true
+
+ /strip-ansi/6.0.1:
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
+ engines: {node: '>=8'}
+ dependencies:
+ ansi-regex: 5.0.1
+ dev: true
+
+ /strip-bom/3.0.0:
+ resolution: {integrity: sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=}
+ engines: {node: '>=4'}
+ dev: true
+
+ /strip-final-newline/2.0.0:
+ resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /strip-json-comments/3.1.1:
+ resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /supports-color/5.5.0:
+ resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
+ engines: {node: '>=4'}
+ dependencies:
+ has-flag: 3.0.0
+ dev: true
+
+ /supports-color/7.2.0:
+ resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
+ engines: {node: '>=8'}
+ dependencies:
+ has-flag: 4.0.0
+ dev: true
+
+ /supports-preserve-symlinks-flag/1.0.0:
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /text-table/0.2.0:
+ resolution: {integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=}
+ dev: true
+
+ /tiny-warning/1.0.3:
+ resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==}
+ dev: true
+
+ /to-fast-properties/2.0.0:
+ resolution: {integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=}
+ engines: {node: '>=4'}
+ dev: true
+
+ /to-regex-range/5.0.1:
+ resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
+ engines: {node: '>=8.0'}
+ dependencies:
+ is-number: 7.0.0
+ dev: true
+
+ /toidentifier/1.0.1:
+ resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
+ engines: {node: '>=0.6'}
+ dev: true
+
+ /totalist/3.0.0:
+ resolution: {integrity: sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /tsconfig-paths/3.14.1:
+ resolution: {integrity: sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==}
+ dependencies:
+ '@types/json5': 0.0.29
+ json5: 1.0.1
+ minimist: 1.2.6
+ strip-bom: 3.0.0
+ dev: true
+
+ /tslib/1.14.1:
+ resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
+ dev: true
+
+ /tslib/2.3.1:
+ resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==}
+ dev: true
+
+ /tsutils/3.21.0_typescript@4.6.3:
+ resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
+ engines: {node: '>= 6'}
+ peerDependencies:
+ typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
+ dependencies:
+ tslib: 1.14.1
+ typescript: 4.6.3
+ dev: true
+
+ /type-check/0.4.0:
+ resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
+ engines: {node: '>= 0.8.0'}
+ dependencies:
+ prelude-ls: 1.2.1
+ dev: true
+
+ /type-fest/0.20.2:
+ resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /type-is/1.6.18:
+ resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
+ engines: {node: '>= 0.6'}
+ dependencies:
+ media-typer: 0.3.0
+ mime-types: 2.1.35
+ dev: true
+
+ /typescript/4.6.3:
+ resolution: {integrity: sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==}
+ engines: {node: '>=4.2.0'}
+ hasBin: true
+ dev: true
+
+ /unbox-primitive/1.0.1:
+ resolution: {integrity: sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==}
+ dependencies:
+ function-bind: 1.1.1
+ has-bigints: 1.0.2
+ has-symbols: 1.0.3
+ which-boxed-primitive: 1.0.2
+ dev: true
+
+ /unconfig/0.3.3:
+ resolution: {integrity: sha512-BavyYUbMTk5s7jypXdcS5ZkoqFAzzVt1AT7T9xFjNDCizqdb0YI6yRYRCGBeNp8tK7xnLl2vo7enG+2GxN0+2Q==}
+ dependencies:
+ '@antfu/utils': 0.5.1
+ defu: 6.0.0
+ jiti: 1.13.0
+ dev: true
+
+ /unicode-canonical-property-names-ecmascript/2.0.0:
+ resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /unicode-match-property-ecmascript/2.0.0:
+ resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==}
+ engines: {node: '>=4'}
+ dependencies:
+ unicode-canonical-property-names-ecmascript: 2.0.0
+ unicode-property-aliases-ecmascript: 2.0.0
+ dev: true
+
+ /unicode-match-property-value-ecmascript/2.0.0:
+ resolution: {integrity: sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /unicode-property-aliases-ecmascript/2.0.0:
+ resolution: {integrity: sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /unocss/0.31.6_vite@2.9.5:
+ resolution: {integrity: sha512-l11KyUWtOEuXibulA4Xf4pcnGByzv7jLSN6oSVF9gW6bcQFt6oO+23jg36G9eckV17FzRmMbdJMRXSq6RyrRjg==}
+ engines: {node: '>=14'}
+ dependencies:
+ '@unocss/cli': 0.31.6
+ '@unocss/core': 0.31.6
+ '@unocss/preset-attributify': 0.31.6
+ '@unocss/preset-icons': 0.31.6
+ '@unocss/preset-mini': 0.31.6
+ '@unocss/preset-typography': 0.31.6
+ '@unocss/preset-uno': 0.31.6
+ '@unocss/preset-web-fonts': 0.31.6
+ '@unocss/preset-wind': 0.31.6
+ '@unocss/reset': 0.31.6
+ '@unocss/transformer-directives': 0.31.6
+ '@unocss/transformer-variant-group': 0.31.6
+ '@unocss/vite': 0.31.6_vite@2.9.5
+ transitivePeerDependencies:
+ - debug
+ - supports-color
+ - vite
+ dev: true
+
+ /unpipe/1.0.0:
+ resolution: {integrity: sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=}
+ engines: {node: '>= 0.8'}
+ dev: true
+
+ /uri-js/4.4.1:
+ resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+ dependencies:
+ punycode: 2.1.1
+ dev: true
+
+ /use-callback-ref/1.3.0_@types+react@18.0.5+react@18.0.0:
+ resolution: {integrity: sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@types/react': 18.0.5
+ react: 18.0.0
+ tslib: 2.3.1
+ dev: true
+
+ /use-sidecar/1.1.2_@types+react@18.0.5+react@18.0.0:
+ resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': ^16.9.0 || ^17.0.0 || ^18.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ dependencies:
+ '@types/react': 18.0.5
+ detect-node-es: 1.1.0
+ react: 18.0.0
+ tslib: 2.3.1
+ dev: true
+
+ /utility-types/3.10.0:
+ resolution: {integrity: sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==}
+ engines: {node: '>= 4'}
+ dev: true
+
+ /utils-merge/1.0.1:
+ resolution: {integrity: sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=}
+ engines: {node: '>= 0.4.0'}
+ dev: true
+
+ /v8-compile-cache/2.3.0:
+ resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==}
+ dev: true
+
+ /valid-url/1.0.9:
+ resolution: {integrity: sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA=}
+ dev: true
+
+ /vary/1.1.2:
+ resolution: {integrity: sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=}
+ engines: {node: '>= 0.8'}
+ dev: true
+
+ /vite-tsconfig-paths/3.4.1_vite@2.9.5:
+ resolution: {integrity: sha512-SgK3/pnTuJ3i+gMSAWLR6VCPSw26bnxawrmXGvCDjJgk8MAQgmbCrFrAzfwbwZBXSqSuvWEuX04Wt73qJKx8fQ==}
+ peerDependencies:
+ vite: '>2.0.0-0'
+ dependencies:
+ debug: 4.3.4
+ globrex: 0.1.2
+ recrawl-sync: 2.2.2
+ tsconfig-paths: 3.14.1
+ vite: 2.9.5
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /vite/2.9.5:
+ resolution: {integrity: sha512-dvMN64X2YEQgSXF1lYabKXw3BbN6e+BL67+P3Vy4MacnY+UzT1AfkHiioFSi9+uiDUiaDy7Ax/LQqivk6orilg==}
+ engines: {node: '>=12.2.0'}
+ hasBin: true
+ peerDependencies:
+ less: '*'
+ sass: '*'
+ stylus: '*'
+ peerDependenciesMeta:
+ less:
+ optional: true
+ sass:
+ optional: true
+ stylus:
+ optional: true
+ dependencies:
+ esbuild: 0.14.36
+ postcss: 8.4.12
+ resolve: 1.22.0
+ rollup: 2.70.2
+ optionalDependencies:
+ fsevents: 2.3.2
+ dev: true
+
+ /vlq/0.2.3:
+ resolution: {integrity: sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==}
+ dev: true
+
+ /which-boxed-primitive/1.0.2:
+ resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
+ dependencies:
+ is-bigint: 1.0.4
+ is-boolean-object: 1.1.2
+ is-number-object: 1.0.7
+ is-string: 1.0.7
+ is-symbol: 1.0.4
+ dev: true
+
+ /which/2.0.2:
+ resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
+ engines: {node: '>= 8'}
+ hasBin: true
+ dependencies:
+ isexe: 2.0.0
+ dev: true
+
+ /widest-line/3.1.0:
+ resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==}
+ engines: {node: '>=8'}
+ dependencies:
+ string-width: 4.2.3
+ dev: true
+
+ /word-wrap/1.2.3:
+ resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /wrap-ansi/7.0.0:
+ resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
+ engines: {node: '>=10'}
+ dependencies:
+ ansi-styles: 4.3.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ dev: true
+
+ /wrappy/1.0.2:
+ resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=}
+ dev: true
+
+ /yallist/4.0.0:
+ resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
+ dev: true
+
+ /yocto-queue/0.1.0:
+ resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
+ engines: {node: '>=10'}
+ dev: true
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
new file mode 100644
index 00000000..9c9be4ba
--- /dev/null
+++ b/pnpm-workspace.yaml
@@ -0,0 +1,2 @@
+packages:
+ - "packages/**"