From 0202d31abeb87065b33f3e41ad571623f560bfef Mon Sep 17 00:00:00 2001 From: Artemy Egorov Date: Sat, 26 Aug 2023 20:40:35 +0300 Subject: [PATCH] delete all --- .env.example | 4 - .eslintrc.cjs | 17 - .gitignore | 130 - LICENSE | 674 -- README.md | 66 - changelog.md | 49 - core.js | 107 - docs/imgs/Logo With Name.png | Bin 191044 -> 0 bytes docs/imgs/ai_completion.gif | Bin 118411 -> 0 bytes index.html | 34 - index.js | 131 - note_validator.js | 32 - package-lock.json | 13940 ---------------------------- package.json | 57 - postcss.config.cjs | 6 - public/ico.png | Bin 13909 -> 0 bytes public/localisation/en/about.md | 19 - public/localisation/ru/about.md | 19 - src/App.css | 33 - src/App.jsx | 106 - src/components/button.jsx | 82 - src/components/checkbox.jsx | 40 - src/components/copytocb.jsx | 83 - src/components/markdown.jsx | 74 - src/components/menu.jsx | 72 - src/components/note.jsx | 47 - src/components/openai.js | 45 - src/components/settingsInputs.jsx | 194 - src/components/socket.js | 49 - src/components/styles.js | 22 - src/components/utils.js | 117 - src/index.css | 118 - src/localisation/en.js | 81 - src/localisation/eo.js | 80 - src/localisation/es.js | 80 - src/localisation/ja.js | 80 - src/localisation/main.js | 61 - src/localisation/ru.js | 83 - src/localisation/zh.js | 78 - src/main.jsx | 30 - src/pages/create.jsx | 167 - src/pages/note.jsx | 145 - src/pages/notes.jsx | 127 - src/pages/pubError.jsx | 51 - src/pages/pubNote.jsx | 89 - src/pages/pubNoteSafe.jsx | 80 - src/pages/publish.jsx | 81 - src/pages/save-local.jsx | 51 - src/pages/settings.jsx | 160 - tailwind.config.cjs | 8 - vite.config.js | 11 - 51 files changed, 17910 deletions(-) delete mode 100644 .env.example delete mode 100644 .eslintrc.cjs delete mode 100644 .gitignore delete mode 100644 LICENSE delete mode 100644 README.md delete mode 100644 changelog.md delete mode 100644 core.js delete mode 100644 docs/imgs/Logo With Name.png delete mode 100644 docs/imgs/ai_completion.gif delete mode 100644 index.html delete mode 100644 index.js delete mode 100644 note_validator.js delete mode 100644 package-lock.json delete mode 100644 package.json delete mode 100644 postcss.config.cjs delete mode 100644 public/ico.png delete mode 100644 public/localisation/en/about.md delete mode 100644 public/localisation/ru/about.md delete mode 100644 src/App.css delete mode 100644 src/App.jsx delete mode 100644 src/components/button.jsx delete mode 100644 src/components/checkbox.jsx delete mode 100644 src/components/copytocb.jsx delete mode 100644 src/components/markdown.jsx delete mode 100644 src/components/menu.jsx delete mode 100644 src/components/note.jsx delete mode 100644 src/components/openai.js delete mode 100644 src/components/settingsInputs.jsx delete mode 100644 src/components/socket.js delete mode 100644 src/components/styles.js delete mode 100644 src/components/utils.js delete mode 100644 src/index.css delete mode 100644 src/localisation/en.js delete mode 100644 src/localisation/eo.js delete mode 100644 src/localisation/es.js delete mode 100644 src/localisation/ja.js delete mode 100644 src/localisation/main.js delete mode 100644 src/localisation/ru.js delete mode 100644 src/localisation/zh.js delete mode 100644 src/main.jsx delete mode 100644 src/pages/create.jsx delete mode 100644 src/pages/note.jsx delete mode 100644 src/pages/notes.jsx delete mode 100644 src/pages/pubError.jsx delete mode 100644 src/pages/pubNote.jsx delete mode 100644 src/pages/pubNoteSafe.jsx delete mode 100644 src/pages/publish.jsx delete mode 100644 src/pages/save-local.jsx delete mode 100644 src/pages/settings.jsx delete mode 100644 tailwind.config.cjs delete mode 100644 vite.config.js diff --git a/.env.example b/.env.example deleted file mode 100644 index c2238d2..0000000 --- a/.env.example +++ /dev/null @@ -1,4 +0,0 @@ -PORT=80 # port to listen on -MONGO_URI="your mongo uri" # "mongodb+srv://xxxx:yyyy@domain/zzzz?retryWrites=true&w=majority" -MONGO_DB="anopaper" # database name -ENC_KEY="test" # encryption key \ No newline at end of file diff --git a/.eslintrc.cjs b/.eslintrc.cjs deleted file mode 100644 index 2da6303..0000000 --- a/.eslintrc.cjs +++ /dev/null @@ -1,17 +0,0 @@ -module.exports = { - env: { browser: true, es2020: true }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", - "plugin:react/jsx-runtime", - "plugin:react-hooks/recommended", - ], - parserOptions: { ecmaVersion: "latest", sourceType: "module" }, - settings: { react: { version: "18.2" } }, - plugins: ["react-refresh"], - rules: { - "react-refresh/only-export-components": "warn", - "react/prop-types": 0, - "no-undef": 0, - }, -}; diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 37fd133..0000000 --- a/.gitignore +++ /dev/null @@ -1,130 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-debug.log* -.pnpm-debug.log* - -# Diagnostic reports (https://nodejs.org/api/report.html) -report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage -*.lcov - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# Snowpack dependency directory (https://snowpack.dev/) -web_modules/ - -# TypeScript cache -*.tsbuildinfo - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional stylelint cache -.stylelintcache - -# Microbundle cache -.rpt2_cache/ -.rts2_cache_cjs/ -.rts2_cache_es/ -.rts2_cache_umd/ - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variable files -.env -.env.development.local -.env.test.local -.env.production.local -.env.local - -# parcel-bundler cache (https://parceljs.org/) -.cache -.parcel-cache - -# Next.js build output -.next -out - -# Nuxt.js build / generate output -.nuxt -dist - -# Gatsby files -.cache/ -# Comment in the public line in if your project uses Gatsby and not Next.js -# https://nextjs.org/blog/next-9-1#public-directory-support -# public - -# vuepress build output -.vuepress/dist - -# vuepress v2.x temp and cache directory -.temp -.cache - -# Serverless directories -.serverless/ - -# FuseBox cache -.fusebox/ - -# DynamoDB Local files -.dynamodb/ - -# TernJS port file -.tern-port - -# Stores VSCode versions used for testing VSCode extensions -.vscode-test - -# yarn v2 -.yarn/cache -.yarn/unplugged -.yarn/build-state.yml -.yarn/install-state.gz -.pnp.* - -notes/ -.vscode/ diff --git a/LICENSE b/LICENSE deleted file mode 100644 index f288702..0000000 --- a/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 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 General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is 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. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - 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. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - 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 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. Use with the GNU Affero General Public License. - - 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 Affero 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 special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU 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 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 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 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 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - 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 GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/README.md b/README.md deleted file mode 100644 index cbcd4ff..0000000 --- a/README.md +++ /dev/null @@ -1,66 +0,0 @@ - - -![Anopaper logo with text](docs/imgs/Logo%20With%20Name.png) - -[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fartegoser%2FAnoPaper.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fartegoser%2FAnoPaper?ref=badge_shield) - -**AnoPaper is a notes service** that allows you to save notes locally, complete notes using OpenAI API, collaborate on notes with other users and more. The notes supports markdown, MathJax, and GFM syntax. - -Running on: - -## Features - -- Save notes locally -- Edit local notes -- Publish one-time notes (when read, the note is deleted from the server and saved locally) -- Use OpenAI API to complete notes (with your own api key) -- Collaborate with other users on notes -- Synchronize data across devices -- Support markdown, MathJax, and GFM syntax - -See [changelog](/changelog.md) for more information - -![AI completion gif](docs/imgs/ai_completion.gif) - -## Local installation - -- Setup repository - -```bash -git clone https://github.com/artegoser/AnoPaper.git -npm install -npm run build -``` - -- Look at .env.example and create your .env file - -- Start server - -```bash -npm start -``` - -## Contributing - -Contributions are welcome! If you would like to contribute to this project, please create a pull request. - -## License - -This project is licensed under the GNU General Public License v3.0. See the LICENSE file for more information. - -[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fartegoser%2FAnoPaper.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fartegoser%2FAnoPaper?ref=badge_large) diff --git a/changelog.md b/changelog.md deleted file mode 100644 index 78b3426..0000000 --- a/changelog.md +++ /dev/null @@ -1,49 +0,0 @@ - - -# Anopaper vSomeday - -- [ ] Api for upload photos -- [ ] Inserting a photo in a note -- [ ] Cloud sync - -# AnoPaper v1.2.0 (coming) - -- [ ] Settings for publish notes, such as: delete after reading, number of reads before deleting, adding your own data (name, picture, status in the settings) to the note. - -# Anopaper v1.1.0 (current) - -- [x] Local notes editing (0a0f0f950ae95afb78d3fe71815b351f77f01eb9) -- [x] Publish local notes (3963e435e8faca9b93b2e481ac799d78ed863f8c) -- [x] Migration notes storage to mongodb (#3) -- [x] Maintaining statistics on sent notes, the number of notes received, number of deleted notes (#8) -- [x] Encrypting notes in the database (#26) -- [x] Local notes ids is ~~incremental~~ `Date.now()` instead of uuidv4 (238af9ad6957f72439a1a39f32662145dd2bdce8) - -# AnoPaper v1.0.0 - -- [x] MD Support (43d7601ea6ca7838f41beefc1d57dd4774e74add) -- [x] Local notes (7e7b336d56e89ccc9874766e7752e358a2ce9ca7) -- [x] Publish notes (0f35ab45157ebbd5014f01378b63f509df95f586) -- [x] Delete local notes (df877c6aa59a03cb2d53858c320ee718b50d56c9) -- [x] MathJax support (866181e48a1ef6db9cb00548f82f3386c29a288c) -- [x] GFM support (697439f7b4fa306968cfc8b2a7df5572a3530030) -- [x] OpenAi completion support (2c07e71349eea62e201b7c58ea0e9c251cb0d133) -- [x] Collaborative editing (536c847375a406571a2d7f5fb3f708f4e80c4a6d) -- [x] Sync (6af0bfacb22c55aa92b688c1307109a2f1220d66) -- [x] Local notes search (a34ae82215c1baa68978c39519fe851684070efb) -- [x] Limit for publish notes (a07ea54631d2eff1d148f8d2bd27009ba768fd26) diff --git a/core.js b/core.js deleted file mode 100644 index e81a8ad..0000000 --- a/core.js +++ /dev/null @@ -1,107 +0,0 @@ -// Copyright (c) 2023 artegoser (Artemy Egorov) -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU 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 General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -const mongoClient = require("mongodb").MongoClient; -const sha3 = require("js-sha3").sha3_512; -const AES = require("crypto-js/aes"); -const cryptojs = require("crypto-js"); - -class NotesCore { - constructor() {} - async connect() { - let connection = await mongoClient.connect(process.env.MONGO_URI, { - useNewUrlParser: true, - }); - - let db = connection.db(process.env.MONGO_DB); - - this.notes = db.collection("notes"); - this.stats = db.collection("stats"); - } - - async getNote(_id) { - try { - let note = await this.notes.findOne({ _id }); - if (note !== null) await this.incStats("receivedNotes"); - note = await this.decryptNote(note); - return note; - } catch { - return null; - } - } - - async getStats(_id) { - try { - return await this.stats.findOne({ _id }); - } catch { - return null; - } - } - - async deleteNote(_id) { - try { - await this.incStats("deletedNotes"); - return await this.notes.deleteOne({ _id }); - } catch { - return null; - } - } - - async publishNote(note) { - try { - note._id = sha3(JSON.stringify(note)); - note.time = Date.now(); - note.pub = true; - note = await this.encryptNote(note); - await this.notes.updateOne( - { _id: note._id }, - { $set: note }, - { upsert: true } - ); - await this.incStats("sentNotes"); - return note._id; - } catch { - return null; - } - } - - async encryptNote(note) { - note.name = AES.encrypt(note.name, process.env.ENC_KEY).toString(); - note.text = AES.encrypt(note.text, process.env.ENC_KEY).toString(); - return note; - } - - async decryptNote(note) { - note.name = AES.decrypt(note.name, process.env.ENC_KEY).toString( - cryptojs.enc.Utf8 - ); - note.text = AES.decrypt(note.text, process.env.ENC_KEY).toString( - cryptojs.enc.Utf8 - ); - return note; - } - - async incStats(_id) { - await this.stats.updateOne( - { _id }, - { $inc: { value: 1 } }, - { upsert: true } - ); - } -} - -module.exports = { - NotesCore, -}; diff --git a/docs/imgs/Logo With Name.png b/docs/imgs/Logo With Name.png deleted file mode 100644 index eebba08775fd0421bf14091614ff20da86d80a30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 191044 zcma%k30#fY|Nm(rMoPA#)JRCEC@orv2+3AasY?_}i_*Sa%M{v1n531)R#HilwmU;Y z>6Wz6cGYmB?dGO#`~P#E8{_+%p4ab>auyC8$#1&;s5cWYq1h=lh19}ruFE4nbc?a z7eV`V#_JHuh?q8XU=rg0{LW~@x;GR?Yb|qr)FCFp57;I?)y>f zioI47a$UT4AQ zBzobq(@HkrtD3^|Ob2gn>q2wZYYWZc)`n>0f)eIbOXLa$15r}P(#vAgsJMiTU9 zDcV~Har9FRHntP|;FJW4Yk^skC_gQ&ypo-_kp8kNarsmIX^219=9*5ht z%lKR2ANQ`9*83FE)Z z(y_oQzv%S=w%?TN+10l=DxBT0J{nJEZ8YTbP;rsY{$M-T%I&!|wX$6-?y;xlnRV zW*rtRhq*m^vFSQnrnAvBOBmU?NenM>dfIB$)k_sx!7dhpcw3e$+ zK}tatO%X9ZT{Yy-rJo_jthTaKY*BL`89uhVRf_ShUNp(3=(vPG_EzIx)Rjx{7N;*+ z?Y7EpUiL+{%%{}k{`@JZ`lYeMagiHM4Qc*U#(xyvIc&~#gwcg=_0a=3wnMlj_SnB?WxGsea<=p!RA!KMM2kCs`)} zre^0!)7M=a5p5v%XzFXR9^KAk^(VV{xe2bTN_SiBHV@{Uht;iC+HJ=0ldS6Eg06fU zSPjWV6Cmu669_RqdZpkM-(nq6mzJy< zpy(xn`tF@>t!cUc{IzjU49Tc)doQu`Y8F^oy+)osK9g)Q8L@V_3B#m&of;blXOlil zE1QY;N9|QUqrc625}l7>w5`R*AvGd@<_6N~QX2?Ib}!46HT3%NaPnFSSSBOKI5n#+ zBdVpbuQ820)YV$xeWh85X$w)qT=dQbRPl;GweyKzhrBA)bkPkiv!TnRfJxA9ML+*m zZ6Ugj+}GB65f6gDrmHxeVG5mQqVy~GnGUJ>l6Ap6M5z{pT^;LBv%lEGuFhb*!iZ8+ zx~fOFx53IllvIqARKm$cD5@|)j;=zcYYN5rQ2K)l*KNXczwlC;bTjN}sLp>xyD^3+ z^=--5%vn;1v#auP!G#<2bv?^S$E1oc#@<4^R>7-4uhZD{0*8bH9Sy!vx&#qP+ zm_a&G+9g7{M*ui=TeAGZ6O{N7#W<^a;40hIJim{}3O5n{P)jkGv(l$P7*Sul=l^n} zu+4yUC}d-d!<)x8JH_Wxp}zY~*@`e$ZhdHOp7@5ssie;_LalmUR7@qNmdX* zl;C^oTOrmP@PJ30-B`=gZ=N{Ubc0y}UPmpfy7OSG4(T{lJuC|9%8St1}3uAeC)TCyyGrFGPXgvN^JBb+S z)`_dPlN&=Dz+S5Vk}~MBRpJ?JEjQz(RlnHZ<5ypYT^DL|gt!$XfsyC18#FG1u@+4XIPR>Xz{2EIKdtR=AF%`#JnohK4a9LA0xG`Y}gEpX`3D2$1lM9`7 z6$`!AJEhe-Tx%vMHDy*-wPLYVZzK35va8@CjtN@JgI75xe{pG-1v_UOLy+vaAxf@n zHtRsysBw|eZmmOJV`}Y~b~mfHveuL5!lq$Ql>QBjRmyXZ={#^RwiXWlrQTh`Ffhr* zu)*6)armhG$=Gy3_S# zWGK*tIamQ7trxKkhe?9_LZYsX7P+nDUOAmjNPREftca8^@*C)&_^YeVMC+;(A^(?X768_Dkj%_q4i4#XoKfb>5-P7Z$#{siq+-|f(GqMgobgKHJAk=zTD zdLFyS6ntH}nAyS}-fNnJ*W|VH=QTMd-_7z^+ndbGQ%G*bDky&O>D44a6&xwpv=VQg zT1$J5ktE~Yp-)n41GPFSb94a%KB{|bp|t> zSrz;@6ZB6dXP)Of3$0n}VFSj$ymawULt8aNHSc2YM~#}m3R!<*HRAkPY89#}(PxH5 zuy+yY>%+bPEX46I?WuTU1MKJM>fKLH%E0EZ*FPcsHK%8!+u(`JX z4yy+ZEw+twO4Cj?s}rXl3{{}a$NNRNK0zd zgd54x1`$(NUVeHt+w>%+HvL}Z@R-wW;^h}%PJbo?{6?IaZc~PNL?SK)VyTb!n^E@= zP`AoL*iw=UPbF-LA7&w1K{!WwMIDdJ;GSudUzI*hUOSJDeKKqISx~X@FKQf4SJD?^ ze|g+=K`;vfJpf+B6uz9Z{oF&PLuCr`WkE^ z*5?Q@n9U>?gIYWmgUT%IifehT|2YP2UQ3AeYZ*-;h4!@?*w9S2VTGX1;4$zyJn$?r zJTPMxk0oa<#Y=ucESbX(&LO|Aa{N7lyL(me=n)%;(bJTJ%T0J$ZTb={CFyl`Wgpm= zW)L%Jn?ern91I{hFeDFs`k>$k`63vH2M>h_nFRvl{Gz$1N{QH4S|tx@SchV12$X(c zkNGEL;w*AqrmwMS64_d5Dma>Q_=z3K`?K0YhTX@Di!s6Z3B%;jr;)2NzhSl9JByi` z#lu<|%dju-TW_aW9J{CL0L+6nz{8;8i6!X#3?opRF}b36x#O+kipDU;!aL^don)KmZh$%wt#~4ztBaX8$19qCx}Ui2 zpBnfPNWN@ddbJ$yjMQ96ZNtth2r7D{QUfwqt_Zq!A$xk3xpi6e#gX!wFd;z#EUg(pA8O~ zVteS*gX91y`WaXiipS{o9uGvEJ`21FH7n|8>`2SB+*ocxnx)tJVBuL{wH}LcNa^^o z)Hq%VBSCS}EM6TbH6n5<)b?qDEuvLp-LBpO5|1^j+KCs_)|r>(v4lJz)qOODEaH5r z_Wk6*QaXM@?XQu?XC@T%91wI~x>WL);>TgPz{jANqsLN*Q~Lr);|0wStAjOAYUUr< zgrFZ4O(f`x){_uz+KbZ4S!G8Lt|rOp-JUiQf=7luoBd4vq%aHGoJ`K0p(rTw-Envyo;KJF^2XNz?}UV z$s+i*jLI_J%my{gf-CmBMJMkn#@Fex4bEMc?xwfGl2EJ$?4;Fy2FaHimtvS~2j9=xjeWm`=_W$-r=K^O4D~d4HVv;J zH%5~-P$)k`JLx@m&(eqo|F&=loadIFo$aY&TseqmJ?<61VH%=F90C$hiQqU;di+Eh zvgsRWNaxGamgIr1?jgeV_u6nZQV_@&+Jp)WG>=@soaA1drO zN`7VY{>{ka`>U$=vemW!nM~z4aQxO3u#;cmfom1r96IjwVW>9##VVT1huZV8@h$I$ z3<*)Trar&lJ>t=Vjd$FO5t4;aubGJHw_yz;fKk*-Q?rs92LZv3f6?s0p;C1&N0)TR znNYW|me3>L?~hVGq#a>ypN22OfgYdTeEWFN2 zs6(gl(4zEU5qM@TxDe46zqxp%`s}CO;kS=IiD&lfkxHU>+ce-}e^!gVxfxGmSI!NA zWs%k%sXDmWWhon+yjF$@1`hseGjIKC=K}~->+UXqOuL3v@#EuNlw!yjXp=FV zc_P6brB-kPgKfXFk?49dN&cenjLfe@bl99?e0JKw8qpe zfQF=rG^hkLh;?T*`*CuB1e54nq8>k~(b%nOtj^XhoQ7XA-c@^WB~XtSe{w1m`_O!* zW5(XRFFcxV92deqc?p6V^=p`8OQk7ZvvkN=7!dElg3BY1)V&+gCzrGo>fwMDS4npBajFj?JeuFz4jpxkgU0w@#=B@iKu=KDyu6-VR-E$-{sqTo0>yJo1jXx9 zQ~||X%~d>(eM-iHd>P3%N5>li-=j@F#)s--O0B}W@(6kiF`h!DCWe=lF9a)pEFSG` zWvUm-RwrDkjQyI4wE=-PC`JCH4OF^n@6Akg=SDwCviY%IK+IrFJM<|zS@F3yX8RE9 zHm|YC$%fFP@g$dUcM{;HQmgQ;hsoAZ(E|44PDWr{zBl_*-FUyp z_oyb28qus@mYTwbvX${IO5bbVppJDB47GOy&WuD`tOzjE9{ka3BG|-O1T22K_-gjO zT{3Y5f1~>2*jDU5*kx}h89$tH69Nq@Hw-9!)OmJwK9dN z5%?K#_Dc@^WA2k^us3} zha`+{C8pn&PQc(c?|5!XIo_ITF>~g41*a-(S6za}qr^EaYAuYrb(e?oQ1dJJ(Ib7k z#^-;OC4ccI-Yj~o{e*o;Q8R!u0@{o_oHrgW@8^B;S~0;sX&o0s>3;zhPMM*HT`9Hr z(R|B>k5}6rPmVVPzNgg*J7w@cJ5?)K(mgV&YJ5DNNlMMM%YlNc?XrtEt?D9Fx^_c< z&*#dI-@bh#?U16z0VYw~{1Y~#-SVxo7<|IRkhFlq$2c(9^yI2CNUPzhJIK?J+QXs0 zbMlK)@gF`b{kWNJUG99zCRgJ5asDrT7WfkBeRlC?ReddfGx0BIYEK$^1GJ2H$1rn< zs5H)F$TD>j(vHNw?p|^{@vHP%&l^1-?Og#q69keR?hd+fRKM^LfYE*kNC1a9xm@$ipW8;ld zt02UOMCDXWQoam+S8thmr&ANDcPcat)6Tpotr<&tss5Ku5_I=l+t`dQ8*dzZuht73 zSJ-MdQ&aI4Z6YC{H02*p^>5%|vtdv$q`j{%qAQIdM(XG)o`F@ZMix<~|7#3rr16+z zaFp$O?ug^fO%1o0V2tS`VAx_s1TUIiZdjsCgVT9Zr}bQO3VOUL+S|gEn?loqbz*pX zgfQ?3o$H`Z<7s9}C#;82ndg-1U*}8SlqeksQ?ps2VvY^rDKUADwzH*!O&>Y8z}N{G zj~K-MdCM)HtG5gxO@Bi58ozv1~IH3B1+d`DASY`dvp1^y3b7(4saxj z++8X`l`Eb3v$vpj^ghb!J;@_W(v3lDY0|kN2{z%}1Oeq9;2Adjbotz=I*W<)8nr8v zFIy>n3hLdCk=sLsQ7bR0TS>~Za1KEz_g$i5Qy&!goG5J~YQr~M!C_Ko%#jn~ zqcy(3sW>oo1m{TW%xzd7sAXJf^T~UJG)}N~!WIH5hDhc~SYLWzym2K@&?N+V-+l^= zmmA0_fj3FhC|WVtdaY};x0&e}FG3!JbWg($h?L;CFiHSGs?5h@j|&P$`bd?-J_}B2 zU^pwzCBG4k?p=p@BJv|lft%0*N^$*jddim*vBAWOX=yoNAG|_IAzsD8=$t1Z32EG^ zMeq(KBT=xHa4x1o97l2!*8|orU4TnZpn|L9f{fb;q~&V%4z81BgrquUS7+qhCuTE_ zd?<7fjl-~90MW+)eE(CR_U`nJsEzYm;#Mzo<+~lF$i>M7V{(+|VlHaf;?ra_PP;11a=IMX-K2Muni0__ zm40AMqaFp3YE=3qFnj>l1^2lWJ)%8&QRM=@xQi?Zr!T@!JcHoHO-j;_i)k-o4E8cY ze{3(A=Sla{5*lF{r^fcOeLDGGE{DC;{&j3G^B0lsrQ-tFOCi~@z04-x%Ty2|3yle} zmxmB>H(2#H?oy~)CE58bj4yi-d_FnLBi0R2F2b(?jRhXKpMruU6)I#o%Id||?{ zFr_hjqv?o|>ZKaiOY!d#h$mO02&fJ-RL0aOeF?b)l0X6+;V}ii7frfJM4PPcPRyQi zLpN$WDYU_$H@X$M6yX;*OCxma~mKRG#JzA*BMfE--^Z_WbN(%c z6=lEhsWmf_E5w3+d-Ut?kEe`MCB@DO)G9a{tcYCyh(C8TTJ^{NBd!_KHh0cef4B94 z7-e5E|N2{d^)LNB>D^VU2b-z$^xqwPOugX7EZtJz(Jb!DQBz6~Wik4M5C1j&o3_2( zg)S<&8x{Et_R@T8n#z<5QwH|@aX5kuMlh&DfqeSr*KXbZsy*ue{V5HFIQpY5@dQ^g zUrpl!z~psf$}@LE=y-vPlKysWg6pX6e>b0dM+7uXf77*F+26P4uPgC-fg@&Qzn7vi z`6}D7Pt2L;EMN3(lai9+I@sF*OBq-%wl3k-14otdmWA)d!xtWuXX5Zs8zFmS zr0Q{hCCyt*T_!8NKeM*6F}$d#=ty=Q4AK+!TFyw39C*O;NQU3DktMSlgxFw|2!eZRizHz74V zOF2H}Ki{b4Uu5=6!X$PqyRxPG?`cXKvMf4+UKh^SR2m6Qs&UG08Ti(gk(oIQ_L0)+ z7ZA|$*BK#ag6)Bi6a}|=1qyyn;xqd*Ar!#?Ns#sJrw@X znZ-ttHi!3laBX*-7mdI%XJvQ1Ta)SLEuV^3++eO}o;h&z=rS`iGgy+uHlxVAD~I2O zjq@yVi}MSgJLS%wM}3yj*_M1rze$0gX|vzf)^?}DmD7JM!pP|9b#~6cO(9WfKhiR# z37E6NBI8PncxIng-EI(5#_}7VKAzBAvUF)-XqG=}W8p>Rfn!oZ)&cc=f}Q zfU*GXumo{-`op@8+IR2zEoS6%<{^~d<~PDy?Uf@1%TJxcP_8^i)@el517;l{(sc9O zW}Cu*e95Swe1)>u<>vRLO7^i;&yJ{GP&@}mJ3NgdhZIU4fCm`=3YEfp`sdLByLe_7 z1j442bD}lJvYh-LUj-pkl$;u#%yDpV;LG>w$f`Mb?3lv9Ixzz!v!sgFGS~@lPlaX7 zZr=WW(MIrP@<*>#gSkSj-*3@hZX$2qyxDc{-aWydgHBG0U%vVDEMEsFOYEcMUP2rv zwKqd-u*z>#Q~&V}D9lU+erW$jmfwjJtCOpe8Ja>{VE?Yh#dX|Yw`)VWx|-TSfB$@~ zx(*LORyQ}9$hMLzHXPie{EA)SP=u_PuC8ulSe$s~xrC?dX6f1MO)>o3r}Q_b28 z=^@L!%62ZhQ6>{O`u^4SZUU0?yv%R)4hD<}hmk9$TJpF8)- zrE?y+4Pn>y{5a`a!@2w@$TU*U8C?0Iao-CCzw3Z*dTu^kL}%j{Z%D2>rtUT3zFuzz z?B6qbVUxLSE8#npw?)e3{C<+Gn^D;vY^>nYt)m}}hVsD11@7%pDB^Iu-X6<>&FU-& z3V8Exuu3;CiuU;U>Pn|(apqCA7_J}`5p^L;-YD|!iV`)lOhEz;zv|nFLHwM&UrbQ( zAanQb-K*5pmiTP9$vxR-b}uz`QcrVMjdff6$)5Y?60sB{H#%ooz{(QU5;l~}kVQsi z)qokuUyjah3dRaTdG+xG%-m^;7nlfT#)_3I&nHx7=HzI0vjuk4FDO!&E!HC&WWAxH z2s)toc7OJJ6j-RD^D9X(r_C_pPc(sG2SNt0Noy{yqXJ^kdt$>^wbP(;=R=`qJd@;o6=vK|A_ogf^>}&L`aLN|wO}0`ju1YbF z3-jNG-)9iR%Yg|)S(>pI_C|ru4#vH5Qi~uiuM;!GahZsi8;AT39JsDEPxxRf(wE^K zA{j%!qVVD@Oa_Fn6VpkEjScn5SM(_>$KLQ6U8oW`&)l~99JdA)hDqSS?tAy|Kkw}Y zH!GC^7^chflONfR2rQjSUG&F~ZCzT!-*fGjUKx9+j}N)LxZu?VdbG{h z_lsMFBR)~O(GjKfDJ;fEJ1HHT?IM>UGy)Md*@q6+`W5OLQ-;?K7>y(J?356pn|-- z`sp{aEm9HE(0^y2;P0`JBQ8jk{$9u#OdY*QR>7<#ZG_d;r`R5QCrGNQy ztiHfsD^a|%vT~K4o(wA+Fs951D|oM^CA9pXDeo^}JU=5O+DMjsB&Goy8LVJj>EIn- z2>HPvh}$8{LcQE_L;0z+y8l?8UlidansPnUd_Tc_Hcb#X3a}YoQ#FRy>%q5mq-S3T zJgB>7&74b@F7f$g%5E8I^zGW1+aOY#aw12{Jk7czK8JPh0vcGF;P+-sMy(qo<-{L^ zlZXfnKy}?k{wLHzlLps$r>3o;HRo3)zijZFj~~nHZ!@{T>Hquh^`7g~03p~OKfbcM zrUt&i6Cu6WXf?PwJF@rtLoGn>NNjp<_zDr;42GNm}GIVb-59eN>nvY`{+Hg9e`noY@TIW zO$#`d=G^im*?`6)s{B6P?;X;L06ozTIH<*Ba92=)vtLG?oYB{m6(#q{qG7o@1Qmfx zw?0Qe=d?e(|ID$h`Jjh8Q>vbbxhJZ7cGjOa(HmAx6nArT+nH7)5dI$2^@lC_U4jh# z&;l~x+%pMWuKu4#Enc#R0_-gzXe|Y60&jWk+J%=dU!q?7u{_dem6lfBewSFlVk?xC zJZ+%~A+Tjiz&B_rxgz7NaGoMA@k|&8pdvYEe1>AG^kXn#RKoTGQ!9t6|O?1`(q zZQ@yzc6?N2YY`(r2JsZ&0Tn+w1-xT zLN4i#va?&@=+N}mqT1TMdBeSRd}k8DZ+-oGLj4@UV@T|uAW4yebLWZnM>j!&EPy18 zHn#iO*)6$s`*yCFJA*N26$4_X()$h%n)MuJ5004?!m-Vz4gl6Ap1|4j(EB_$QfeB! zeCZGVC-gFCNoHo|DlD82%bJ-XAtB9$J%64{P+GCVeW~yR*|Py%jrn_RY(x>|AMGuX zhakNo^|;~i(a7>kY$iQW49Fbi)gYN|CMLyi-(F^EO7U@b@xY$gkdl&;j7N{4?{@Q1 zIinK`OCD?@(>tlVz!^pWrBX3Z9E9Psku%g>6w>`ACC#ISdGLt~2L$2A`b(%gs&HsA zCGCRSV3>O2ITiadLE%fyp1EFgqXEcvTBe${cLKwx+*1aQd#Jj)x`E8SgzuS&d;yxl zS(!o^pl~E*WFo+|_|Ka+DZC6kK~lvLK`vZ1ym4SQ#sYX}F{sLxGiro<05oX)YZH9G z%FFJ1Vn{1bHcJ6pk;I-?DqqX9^V#i$fcfPiIXOAtEcuddP5Br5JzY*fY*Ge93clFE zi2lhsDXmiyo_7BTpR?_~GANgiJ32nY!N>^^mc*7A!X=WDdsG7mb=sFyjk}oM@gOf}|+0tdP`=dr=J_uKC?oHCFoQ9k3jDx}|<1 z!}h+uT8(h3k!lU8Xi=SW;R2fH^7XBO1CC1?lPKar(|@;hplT1jc@sG_DBXrU+OcE9?jT zC>+ZT0Dm*fZ$G2I6YX}>*t@-9?iSmvMtp4_P$8FoU zPcBaYgR?3O(DCr_;O|X_eDTV1bL_3DXBNX*$upp+*??Ec=x5p~D3cW|F|OPa&x8;D zC@Y_(A8@J9^Hu@Rt53kxtJkjm!eGJo9%%YLT;4D59Z8Bt6@WC@ZyA?EYj*@TyGQ4P zo5YI$L^_T6c-=0*$3=sIl7axCW+6V-Xr2tXuJS&Z7;7wrY%Ueo3r;!-d(#Qu>;Mw@ zB|DE3ZcA1dp$c3S#AOjKUrQ}m>?d;O?zx0C%>Ufb=nI)7rL@o;NeEBCw)R2>Cg04w zqD_aduO%u?O?b*sIGvO2+$7Rk1PH&BP8TZI1HDKbB>)q7>g6w{A1u}<7r^C^%FQ87 zR`**DlREkz1JMt}3oLllFL!!Go)caU$b1%4hMpOY9_4mQh(mwKYFW4{7zzxS*r_m}>+QehGeG zjp}nf={gAc%kp-t?QlLcH1T`dO0`|&C-U?rK*DcrHMaKlOCjL+GG1L-zDieDnnuBh z4Wb$ZH$Ehli&GQQu-5+4jW0BI%gwI=_J6{UV`P0s2HMh!LzD_6mTr%oLSYTJ6^=MK zIyyqEvDX{i2M8KXwz<3K%ZP70&}fi7YH4ZV2Y1JPD}?G<0Jm-CzgtF&m*We)`~!3r z-!Mxls;{@gEPRp~o(nN21>qb{4KrrCJVGBQg{77Ug3@-qjW`7(WtJMAX)n0b| zt;*{O-#D@np-uNKQlF1`31zE4{`lkI;lqm)#futtte|k_EbNKU9grs=zJ`xc=Kx<}G^ka#1zv5)kqV082Arg$TrZncb!-xH`I9F>#LADKMv>d2a3%0_ zs4Ai^f;vU>6?5zJ5Mt${O8A5mWGRE)#WF%YH>}f&OOy(wXsz=g+($=8cd9f)iceq$ z7rE^xtD{p>Q%4~m8~391%>)bMVg{^p2B33F)_D?X1p~*1SiyS26pcB5y%*IRQce`F zI+o>Yf|5FpPRUP)3Q&ZMo(N);S3x;*+eBRpR>Xi>c=%)|#S*2arKvJ{w6rfx;k2{SlDw<6g9E zSj0llk)eL2wMjFfu5i~ZrMog=MD=-bv4Dir#zYTS*Hsp&W`H`o*-$g+6yz)^(qV)6 zHYHWSsjD4pCWuZ26>faOsgOFmKQDq?4!PPATLS_&gHGuwg2W32$3k=OHP zYeVKia8Dkdo&rc?wmoE40S*prPUB7;ZZ^qJrO1N^;Z~-k9?Ndqw}IaF%?Bl2|6glu z`BIhA%%sJqa)BFxFGQ>(<@8=YXm29R+&EgG>1TgJ0WOIbTD`^elny?kwLbP{+o{eE zqgt<6vEmud8GCNLbM#o$$`$+LiNs!`Elw-HyGNn0D-@Vyp<5QI9s-Y)@_Tm0YPiZ$ zD_ogn3o7>csHv;h8BTAu|NJ zQ3;IZSBL;s1%8@#_V&5mMwEvT=876}Jq3Jr)-MoOvKFSE*`Xa$fcJn|+0oHa+t4r_ zN=JJp*3rv?%Bny7!JwJo64(Jx2wX=Lnwhv>o)7V?h+ks`ct}@BDu~)}yA4k^;fY}R zfz4w~A7&1z{&#^LQdbv;at*cO;gcuxiHHciQ&;066r2j8H{goCz0QuvI(5jnmS4d+ z$p3H-@nHZG>478c$6nnBfrdqfmEZyVI3I%f^6!8tK*lkdwo^WS-|btsuoGn_1WM=T z<^twu2R}u3K7JgeH2wu&JPKNO?N-!R?ZUZ8-{gYJKiJo>+3cN)Q34YCU)!k!uw$B@ zwG>AH5Bk{PzE#dl90aII?qC0Tc{MuvJhUJz92sKjO@sIcgj#>ayG(oa>_?AA$cn7W z&5>v_RKo#0ba_6y0v}Rn2buw!^FzsXLWY(E!2BPklrMa@Yr;w;rDCF(tm6&P3rbTl zWD$E&dk&iX9;Ok(=^yU0jJm9&rB%p z>;xP3{px351yM_vY-=PAfWgrK$yU!B4Md23Z_0Y>Jg*E%J@Mp8zjSzL>2ernI3+eC zGodJv{}ul5CXT-+?$T0|=a8Ow7XEOo(WVnAEmiD_pz`lOl$L%Eg4oTiQ5%k(O3V3= zVP}G${gJw6ZjJnBeKi@-RXz=hi@+mcikeW|E>l4|Fz}O(ohpQUGLF+zX(Hf*HTj#5 z4w_s9T#Wizf*RvK?raS|mLBl?yGc<$``K3V-;<5YZU9p;OOHjcvAYwWj z^CinengepYD(Y5K(nBL6iV4AFWQZYJ-`Xq8ezv8hWurC;uvR_+>a&Hbv2zg36Ean< z?syAwEP+}l0{h0HyuIkmJ)kz4n-3Cxw7_x#KWYdKL&CqS8ZU?DiY|=T{gQUweH-?s z8n6dv$ynnF#*ZZcQIK#5rer!Ba+gA4(bO>khZK5_$uA*sWy{CmvdsdBW0+;J(mHVX z8>cvMs2E-j<*@D#!7`J3Zomeoq!r9ZPyY$l8#>UZ`2+$)Ss4&=O|AW9$;Xc$_b0U~ zS=dwHz;N*xFgc?O*9IYmS><`Hf~bZ3E`fd&_P=&+?rtgO^EItsV}9T2{H&$h1!?Ka z;;)0_cw*o19agYB6=uzv71&T;KV&<;+d#A_oB3OPe`4Pm4p2LWi1|x`KoevXN{Whx zP$j5Mk)4u<(?s<2{$rJ{hTNL{aG-f23pVJ4OtX<|!O?&(_G~z!WK$r;q$flWGtL$x zh}2U%p)H}gNZcmWB6V&;;D|SYiC8z8S}BjRvc8e!QncS^=?CjZLC7iNxFTe8EiNu> zYm{P9w2D1HBNuQA7_exwQegj9z!PE&n~|?k5S2Ht_5OOOw6xT{4|rS9j=QT@t?I6U zHZMIg=1@38j#_Z#*3rduwh}*Toi8aFf=kRYGNM#_SN5mZM^xwYZWMi%!V`5?gi0fQKLj$6Ud4hXkLL|uRC&`B> z@{9R;;>Ie)i=e)HQs5zWIK4N%XQYpPFHE9&T3TCoDuRSCDYTZvEubLym|#z|s<8<$ z*y*?-A@mMV3{i^vFF>&X`DXkSjUxbK!$*ZxV_xs&*5r`#-xK8Dv>D!t)Ph}i_XIRx zuFr4>M2;w%08MM}k5@XSDN2}FeJZLa+`2K<4DT|$eh$4|MMb4y7?>hNJNMnM0c0Hi z3feqVzX=kHU679QL!$x^v=|2g9764;kox@Kbmn-LLk6q<&oq7K3%Oog;EQPTTX=eW zIl=PlP%!?%kV~wB)VN_%`Lw@Gdy}jbJzJPXf|OAph;paF*b{&g34Z#da&d(#uLk2T zPDY`>->!HUW$m*J`79)g!va!yTym%4i0VO4Pjy5&8w>T2en?XQl8k>D{5q9U`vW5{ z`jeYKV5rjy6`%07nl$VO!5;hQz$zEf`9vy!+Vte3L4BWBq+DO4dHYqzlPa&w{EBp z^*eJL|21W?nzPU#fa5rvtF{(F$i_}e7>P7NwHDV@x@!tY)?ktf8Pe`*(-WHBzkeb* zzF?3t4VECm6%FJ{2H4c;0lk?RdlAksfD4h=p6Idj@Ob1a!{_3Dp$|bH10Xot?`cZV zJ_vu;u3qIhW-cNbh@!ukPb%c60BA6VH=bk|P>25qB{Mi+I~-0+1SXu3a1Jz3-g>aY zmozp}t zIYu7q?`as82_fMO+=y0~m32~`Z0-o=p7WhzrEJD{`C~~GXtoe-9n=RR2<`_OFuaDp z)d)~W-a!9apD(UrOPKNWDw9jy_@wTFP)wScx1srE2kbGJw+6%lBz0Cce4wsrL`_;R zK#FL$YvA<5p72vgc0np+XLl>NskU|sEco-YXU{gp#Kep)Aeq0iK5X(iNT9e9S`7(= zA~)cPM^6&j#)ZVA18JiWP@A26*ss-F{&{(cPk$8i^lEBzZTz}762VV6dO}fAfx!^l zLO7ZlSkX4I6?rERSZ<(M4soul5M}f1o$u5ey%s@r4oN)})#dz(r|i=mVlyO5Sf%i-|Kpi9Pw1Hh zAVUh*e-B-=g`n!^ee$I-brP%VzZQwS$0U{BNQ)l7kL%|*H@&)x#098-nE@!lM$YMO z;WURp=nq;qp~w>HQ$b`JzP;_kWg2skGULLO4_H>vu{kP5BwS}6L1VXPS0mK!fLQ?` zA_xtwUi5Al!7#@v95f!6PJ;B;0xYTc^yyO|bP$ev^{nD^*En?ansr;K4A|D=jEoEn zLO?Jm`1<$2doDqI8ufz;P=}*ECZn^#NfKS5{ux z!sjBP+yBoc>@;vLzZ>ejd^FZzLsx)!UuVNKB;n4}4hPxBRv zMx=C7L2&SolN~siO|`}yVhIVN$nYtqEWwl@INK6&h>8=t5zleOf{=a!uuKM#W4Mq; z#efaSB+ds>=#>n<3CVI+)Nt_fQRG>yG(%*8QEe`rQ2HbyL^QI2w8KccBJ>b@zp;gH#_2=f+gN zqVZSJPA!PtxBA?R^Fn1)9d`&yI@Qf;S|k`Xy|cYn&Z%{B&cdl$*SzK(EuTDfrs$T* zPpz}fPBP3^2F*ljJ8N$pM%ECt z&xK$Ry-HhK3T@gr6l)K)Ia*CwyiVOaQP_}X;Mn+(&ZnH-WIZnyW##|8@85q(JOsA> z`^}?I-b#qdZYdHmd1SF zj6x`wmfIdPiu8m24H+^Jwq*laAhPq?Eg+-xjs%8JMm@g+R^)t33tX^h(IP&Vw~c|L z!_X=`we|T}X$k&528AnIFjEK_e)GuiAYREwIU}b-`+5)mJNf_llfF^xFAU}V$I~p3 zeuTX2DcI#WQ$GQztft{k&y1|BIptx7Nn*J6ikd#Qv0wi-O`IS3lpcv^rjX&M#j9u2 zu0xyo!tH$eO2Ce0KpTtPG^rS{idu+4t*4kV6+BT zT}PMx&jkPdmqfwsLab7tAcl1UbmyaTfm^q39rX6r1WJXUp>ZyOy#jjnHSTP=ITH+h zmi}m)%_#h8k@fb-Ln})j6q8MNDI9GQS(j?&o1z1M*F(9$1*#*Y4Ie&yKpG;znT5m2 zfl2PR(2op7NEzg^W24~k%_!?He!yf+LOs+9z)ZeSBrGKJak0vL?p}sOIeWBF0ByN{ zZgiNfH|m!6_0@7d7pnsB%bc3P;TozFa6*`#K(tIK?p-*4{`}*>(SY_Y=)b=FuDraw z#3-`<<$JQ6V|)2s6mJyI92G-5PT=&&kNp~&Q$?sP4{~!QW&Bv{^wlryIF31J4dJ4F zN4&jr+|>A~4;%`0^2v%KE`M(qD$i0iZaNlW4l{Rz_6kS~Z4VuiL*cmix^Lh4O%c+Q zr1ps2-fv;?z?0AA&X@uM_MAghUKXpx%NZTo=RvlqjI&b`4WeLEiGpd*Hyr zpx|Hu#$&$)dQG4m8h4=S$5Bmd780>^Rl5d_3S8k|-m7C2DY@?te=@G#g&$Ilt7Bg3^#O`=Ht zI`e(X2;;9aWZk6HS@6M^{h;j-lr8zt;yoK|L%iBCy)Bj9*A%FSgZ>j&Xa~l*HfWUI z@Mn`G$S9zB5ss6}r&vVF1p=k6N9F~>p|B>kgYW|8bqPr@0wi*?p!sCg>eVw*affH& z;Qpb0I1|}w2wDq4X)-JgOaM|UjO?>AQR3N&ET9;UI*9;xn_ndjaZ)}SKqZdCgb6r7 z7Si1{I?~10Am5t~gxn+)d$w8l8)We(3m~E9M_cSvA-9I614cOsu}jOC{|nw7Xpt>=M(Lhk%)YY~1^`Ti=Swzxvc(tl(Pt!;_SyQLWHgE`U z0Ze7Slg5(SnQGR8yIO!oMH*B8Yr8wG7t4O!E7ktX956-v&mXu!k>Od z1#srmIja~V*wP~h56Z%d&-PMh^}zw9;-|r)0{_};tLc?3i-Ak@12o;;T9JgPvsAC~ z_GjlH-{=E>0FpR1$j*T$R)fJ}wv&+R_BTLa`;GK7`5FMDx%RfdLsVfgWr1!*j#XPI}vIXcpEbvXRB5Prd`#x}3naFUcd>&+3>X9rL1`d>Q@ zPz6Uh$`T!&k>KCE57DOfLsIYg;L(4lO5C9uz~4vI^r19bWz^X>6kJp$C-SwP#%uuw zWGyW%d@gUGD2V%J6D2oJ=_M@n4CTq-KKd)@~)F(igp7)5IBv;6P;i957~8gula zB@>9l@SRZlovT0Zp~cE>w-H3O6hSQT#p(wN*b0kV#Vlg0u{gxgK& zpjSY{gV{5BR8&+89I=K$puR$IJ?_9L)z%<}FZ6Rg$LSkZbpnn_or$_6*RRY2RMHuH zka=CoT;%c$dTR5)U&SG5{eAb+(u#2f`3Y`%hY$_iePOfkW9X~boW)ODB{7@^#0n{} zrnkD&5cD>HYk`KDP4}iWtcfxHODk~?bch493;2%Xoq?z_=6CntMh$=%2Ls`(HbZ{; z^y&GraxdfVk>)d7Z}U&CO9e@&ty(4KT+n}uqq#!?BIsPb+YVrp(COu(4<}jTG7q>K z3R06`22~{cPqlYhi;p_Kf59FCOe}RB(&D{vJOP`8dNU9gb};cb=bRoB|IV}eCk&PDxLl*I@Z&XhAh;d36~^)38whi zqr*bmr$?TV2-}Lu&KEB>L*3O0h$0pET#Uy0B*3;*rPw13tO<6P{!GM zLR+8*(sC&F{v2N`oIxgP<35Jh>P_wKmGCQ2u09VEbEQSBT~J<3BzPk`5p5x7ZGiRN zJ^YD|K;pH$&vL-9ih2gP;|$;wF|mOzm#|naxV5SK^X-IzG$Go7yGxBuEOnUnug3n* zpE%O|tvy*5sl75CtEAyC$g#7tTYI2ZR$FL?8n*@ye>)7nNbK-pmCM*`O5H40#81aZsi4 zfvnRaFy+NOrz~=te*oHHK)vHHf~)oDDj2*EnJ82j=i;~Qj@=oOserUodM)1{yLJnb zoAIwE&;pq)mF{4;QF?rsDeb>&5&2Xdph@JI<>)bNSo{ zw*SOExdX%&pO$zJ8WUSuBJ?2J%)nidiip~{X3d(aXdoN4lYAoOWbF3!l6}UHAt_k? zS&IOz(0T9#j;vqaFQ$jf60Je-f%k!6_~=eBBWI$iO@^sK&jqH%enG8~@+)?D{5RFp zABB&^FlJ1o=z*RJiG^0c4MyTkfT{?tg%d;!B*38NqZ)L6Rwz&3DY;#!=RD!h1Az&g zl%bK>jtj77M0L+CHHjCLdi(6zh82p6&q1dV8a|2x1(7yCVZk}o&O^t^w)Qw^NbxbG zFaC^v>Omb)Wl(qA1oaRNTuM$W9PxoH8a_P|!(NH#vUD~nXbALNn<)Ax4#$3=BGhLe zs1KHplaDD&V9)DDAUrBiljKYj^%MwA6pq@j!LNhK!MQug!cvJWj7B}tI4RMxLp_@m zA3Un$(@`9QcOv@2BCV6gL3NWW;cVAfz@{DHokmj3X97(jv;WK)AHN0T#{g>fv`S<7hp;MWMjUD!)g6uPx0?eI;D98%wBkp=TcAi9Cen z^52+{wMyHQb6XO7!7<$^qD9mD%L7yVOQ^(1c}>g6C7XK>{-sxUn5+ zPiG!NA{14+oAZhPK1R2t5hE1ypawX{F8Y!K5c#N6uTePVG|+;B}j1BK+*c9|-CNF-T9Mcm#VaaO@; zCNefuI2JTl?z`ZI5EdNtb9pi2JfG1&Ux0w_A^{u(F7FW4$pHP8yb>j46Cy&w>Dq50P}NU`hU#v zwzk?)O(3xypB9DI`$S1`MJuAM2WhM*+Ghd!CUbEv3GShuf@ntvl|pP1MhhJ;6eOh84V9EysJMC=XSEQnmS1j zI1e;_rp^R>N8np$d49(zC7W=Z@XBYB+J;nibNevVV4vfDXG|I*ntJFGqpzla91bKt zD?ZMg2deK$@UZUW#e2`83t`vl((yHvBSV_S51HGl@q5Rd_=02#*BZ(6%x$1eM_*qk|mAxn{d zG3Z__#vHFYzb7S9d&VezsCpuFxd>*@4H|w1P#XAujD2}r&DsC|xs?h{QQ;yYqs5YI z43(%GvV=<3Xt|i|Ds5VCcVug!F``B{T}!g>rqFUt%3fKLy-04BREqZcJ$I*-gM7gR_Vi4G(q?L?%gODH?8(~KRuVPLTWZ` z*|H_qaR6y?znE?;FAWtkjU+fo6>T;V{7th{yZf+?>(hf%U>IDA#lSA6~Uy& z^&ZEXb4=u^oSI%NpW8?7yMTqa7(4{4#>KNbcu%MYz;~00$4oEuS-Fv{!rB7O>huz1 z=m~6BOIK_e;Z#CHEQDKQcmd_~Ou!*V~NrWh*6=VDRa-e(>m^1Nbh zQ4enNtbXP5yQB2Fu*#b?R`iJm8z2*-9pdW8pGauMtF5Uv5iNus^3^MAc}Vhs0gaNo zcqKmEu5BAzw?qfDDD#yb(yAB=Fxs!^EX*kL&30^|^`JEEO92VO6BYcoo#*D6_p(>t z@$GmQqFDaVmhQCIn7BP&a|z~!*`Mf$3&9(XsPKw+{9Rbu>4Fk;zzNk&mrA>5N44~} zMpFMC&|!M;M4w*q8_WIcDwm3_P~SsKa#8WDLb#bmdSzQs68Hb{igxC`JikcSb^(L# zJ*6EYsE6a47(1m_wr;axk%nE>6Uq8R<-TTe-mwhBJcLIX#|Wip%8zlZP5b3*(cpsC zaU#=n1*O^`vfG&5y8q2d4RP_B%;u4oiU?99onC_d`hwgUYcDPwN!ZhA$-~*RJ&4;v zS)@LNi%6Yg7;%BW;hhSP2lFFW=h$g+CD+>z1w_>j9PloA0!e~bf*90yX zz2om=Q9FeLp1>YY6cKH?$}5Ep+)KtA03U__h6B|h!d{QXF@ywIe$O_ z$vuAt3F@Y8-P<^S6A4d1!_rawsz}JSlnw~9pIItjeVc-5o{7}O>uqv*LX#89w*Qwd zjG4>2QBlB1h?~3nX^tYq{jf&aedI(Eu9+w((DqqPFu}|JR^El&c!^dT=FA5Dl)1UW}$P33u$7WzI(Sqda7yZ0XB&UK2L0Is)inC z>RZHI_J4X~_JPR?JFTQINWE;;?o?3z2GTP8+Z6_X26IX3WdGM&`X~sl<@3h`50~?X zWnC4@XjNzb@;Ti}gUhAGJHT-Qd~_YW{nM_Q1Aztsx=la*bRBT8ZOQjn`LwKLaeAyN zPs#dK&MgfmV)YnTQIJ6qI;%z3ei7Y;Xx+YT^QpYNi_W7$_{VvQK!Ryw{+BQ3TOEnw zKhNQnc6M<+u(#8b)-x~o3KjU-dA~boSxOw?A*UeJ)Y+l8iU0baErd7daA@dcId$-& z>p014u%Q_yNKt_OgJr(}--b^#=G($H+rUYTfOXe72MwJ&K#??$LUgyivlqheh8hTR zcg=YIWr7`UxZq4-_ASAKs~bwDe){xD$)^Ma6^w}kZ{(YuOR>YGEGT>KGI@G528wUm z`(-4*5Ly|Xgit3aDM}5hb?2JUbT-&4K}=+k9eVanE=$nzA2|xqMOzh}-({dp%_+Sp z2$`6&mfL^{X-|UBawNy0ve0`^Zmjk9HwBpbB0b1t|AYWdQgaI6vHWDG$j7#e&W;l- zuIp7)IT&nGw_or^G9glr?*bNH+Z+_rH!-5su!L&x&R0(0Fn)mNO&MyMpAs?X6D`3c zZeMR1Bwh!-22x1Sa>(0(7xWgAfQVAc-4)olwEV(*e2da<ZYb@11D8@-=7-9RgYcla8it?sBh0&z28aJpn=#<4+@?=4 zJ8sdj!jEs3agV)B-7thH6`J$Oo3RsI55v!fU{u}$5b|PCzgT%8#{<&=o~q2t4IyR2 zQNBT2B&Q@fbQS#4UI(xQF=#@_XVkB2fbe-TQg5^lhABg=*>nHDP)Kn&+&xocWfB5P zF+cd;Zph)%?8p9s9sNxxI|vZuKpG+=(Uz+u%4CA_&iB`F%R^S4;d;cHr-PB4zz8(TkZi;?6*MagM>8dED9uMC1XAI$GLI zVs_M-87u{i*03B@Z*+p*@NlhyBL+q%vw@B$j zh)i>BQ8djb>ZHKyYf{eJKM~y~F-5>?brbmwt7&qTly(35-_=Z%20-#l8G{yXuE%c!1w8!(U-5d{4{dll0I+@bT^SGyp^(P4XN614q;`hsKn`n>&ao837^_*N+1W zNO+xD65wY_R6%oTMBp|2vjr+a&9wykV|#nV$X!23fC#zii51YmkSImbESej6cQ2mh zwqQzr5&Ug{%z}X&upnPnWQj&O$%CnO7Q7cE#~fJ=qT1H`Ey2d5%n@Y?Rp@B`h1~v) z`e4pid()~r!>d5)XquOnK{GiQdlx8FnZwAnJ7F;6%Tf#lkY{+8Zx~kmKB;^x4BJT@ zT&R1Nz5aJ26lh%)1g@lw=A&m*@k;G(^mz&?Tb%`-yAOyhTH+-QXfQ zsujJ}rM9uC)q)`<5qN=t%ZUN>xE1K6TO;SRdycSGY1+=H)7EGrGC&MT@g|zIGK{3P z_bh{xr~<9 za~oUFu1^TsR2w?OUC<@6f4V55ui&4XW5{Lk`Z&EUrdu>7^_si+Y*Egz*&EN4>IDpT z=EYlqC5Aif2xnrX_KNY(3nm?U@a^3=hcVoX*&|QpC?8(dt!rHTrpsJ`u=G&)irqog zHx35eocyJlr9RML!yb0<{^}-ee(jt3Y6+|Q9U7W9czX7LMq3D_@1D}1+`ZUe&USKN zzv^1o*KzNucLA?7$O?z#hvCTasc;<+*VVVQ@WpB4Ei85xp#ZE3T$2dON-0re*tJ0} z8Nq$Y-NUWH<GeLC_;TLV)D+ampOgN0hxlH|Ogur) z=q%c!#M!-fYo5F!dF}zF{CdZL{h|HvU|@6DLkLw_Z6hmkkahk>KR=|_h|NidW7koP zlif}Hsc$aFQeJYo+gDq$9Y!yhJ6&Ok?>+_9D*Z^7z4FSHE2}h6R9J<=0;LfVNOF$f zxpOD2afRKbR>CeKvGv2k%!s1amRkJNdb`5Y&W$fm9FTJcMLj%Jnl3)a-vkdcWzQ9< zIWz@BSty5Di4U4tT7p(~Kxhlzd>t@a96rJcLLZFWcnw{>mSFWOn2>jY@Q#3Lh_*8b zeo2i=OjiAM#Bl^mv>}JUM}6sTf>4QYytfXyce1aX*VCRv5)!|x#@`yBkc&JZ?-|~! zCU9bvH+%eq3EG&+V|WfEL#Zf^#O?$O6~hP7>j*KvpUeBS-oM zgJ^C;aIlUzGpPQHn_AHY@Z}<)DXoqTt&bheRx{3BPwvM2e;lOcU;V_1SIvSKC<^|f zRo0JBEx~?4-$oodbcpa*q0DUm#30mZ$IMNBcsX@Bi+5ziPl>QSonGQ6T}9QPs=-Rf z8Br24nqzth%g`q;(Nd%M#zcOTsk%C5&`w4Qif8DB7 zjH#+sbaV5A2GYn_KCd&s_w6?Rq28mFM)) zTZJO$_mJ@P4_97R?Za6gTjgD~f{i+N!VO5e8jF@oa(C}&Dcvs zG~|dIhdt#?p_b*g(K5j}0Kup$I~1)Tc>0H=K3U#DTa>0XB5lN-1z>tjCZZaLx?sAv zN8Vq^vxo$APjWt@GuP-*Z}b!*sUMx$@-cHKn0>C-*9Q>$z!Oxx+yJ?6^JqD*>OaIo zWlFG4`zNCtCj0*VIV2m+Bhf4K_EW9>pxh7a9ZF=(wNG-20(ojm`Qa1tJd{aN;d>tt zZzzi|0szVeKd7SNW6<4{6c-Po@7Mm(U;5`-$knf};z+}$J5;|yTpeb_FC>ReuA??(~Y9MMBPn^dm8gyCo)L?9;EpgoJELn}a4^iP5J0%OFoNldqfr z4-$*}K13cAOmFjhX#ln=>2F3XJ^Nbrao+kK&OR|rgtMbWO2-Me@HIPq2|}ViCGZAg z27z}f9VWHfcYFeMn>njvA%)J$w_k%pB?9Gu8dWWg6_CJ(;7+J;J_)6SzucU>w(xZG z=K^~<_x5!2P>KA2g;-p$<|}H$Ijdp*1Jn1{nZ@M4e!X-8^dyeOHovPO8@4HO1Hd-1 zTF#v~e{S5gWjC|>XjqJSOuI*!Rzk9yl96UtRc#=pHD5~aXnRDW-;a=4h1BMvZDWJK zKO6tx!=<%_Emhz z6b=1$$J5{bQoW}NE`)zWT+gM^a^x6nsKX?GJR)VLXjM{B#W(Fta2pUMHq&)wL z*sOhjwXad9FGa}0L4pi_cNLNZ+{bvJV8(drN^R>qmaRs$Zf+iMTETn3lJ`-3A$ZUr z&l03+LJUyd3^8~~L_UxKpYaJK?r@tsb@#NkRngO@bReJM@8~?V29iT=uQVMpV5iN6 zBss5Ee5tEw)ZP)qFbTnFB$|^B%S7SAsO-GCN)s{2fyC`^*B%ZwRn>BB^I9#g>mWvs zV{E%6raXrxkGWHKdC@O-HE68nMT?8rJl ztF}`RJedBv8aAC+gJL|Kk1lAVO&J$1&{3kCq3?}>esm$FqlE|jZ2Xs>4;MnZGSB_67w(G%7^hkk_0$%~?yMkys zboDh}4^jkfrP_+3TEwE9E^rAze~nvRhBoZcXn)KbUQAu3$)5;Sj z@(!Bi5P`+Y^COlFFuq54AK;5nURlF`u3h`R&WtmTHexZuo@as6{7d%Bo+Rmyq4LC1 zLsgWQi1gPnIAY8Zfze^ke#tK|9V=H(qo;P01DW`8Fw4GMp}aTJ#i1P&upfQ%k5J=g zZDwvB2_Yox6m82sFcxv($kk*brHt26U-6-xUd1X{qUqy)rHnf_K68a^(RAd2 z?^o2q9^NYRyUOAkQHZP4t0jyy=wML73c{I>pp9yosE1H5E@uq*>a*^`lWucyUV&f< zWN3tUW$T5<|0P6SAd95<%cP2vlTY@|zG^0=b51W^dle-B)Y_MsA@J?fBSzNw8cevm?9`bvt}jNjIP>ql{^To9GvlSS9I;|> zp-GMr47?9pq(%*zPzV9e{(vMBS0P^MW}L7)E)ar;BlBo>1yB&it&N>*PB0-EB$8 zH-xm0&@Xt-k+-fbpyg?=wrpt3Y;8oO%d(zPD zlKLB1jd{a*?ZO?6OC)fhi;u$x3<_$r{HEWiWer~lb$E?w3dGQUJchPUBo9Xmuf383 zL<_pq+Hx*1nxSCWjAtUxoM=lh>`buy4KypBkt_WDg{lER_vtn zz<9a}OunMi$8^F3HFh@60&UZ?Yz(4v2M{l9@bS@h4Q=-2_Qce%x!T6G%7}1W5Pnpl zNPuxQ^xeOrTPQPVth{)zds#Ve0X-3n-xL4r`SVDSG^#}Dm0OqlHD2OZK!>bbzux-N z;-3s}17DT;RwWYSZoK2CAJ2bs2>x6QTxk@2` z6ae;d=d_Dp$)3-L7&I{;>#ubt@-{VwG^pJ^f6|O9NZPrA*Xzc~>4p+?`B`8QKd(FMh^Sx<{Z_%81fdZ2PlIg@f(Vp5 z`fF8Ww(^;FYeSqPWSuE^n=>L^14L?sH%#tYC}1tD+SY=)mPgwK6k!@=QY|@~k>PH4 z$li!=OkFxYb5is@OylJrzd(aHqo?_v^*@t1xPQJ?BS^nyW}M$ZJpi%G}F5c0|iP&@oL^ekeV*1Z2ejtRol$1l{epY$6Hp%SRZ zTj<-@((YqwQaX4|M~V!o1^f6F0A$q+NuBm272X?nIlhs2Q%`Opx&~mFrzD-7*YmX_ zujMD@u*kYIb!LaA&&fK7;#ahcXn|%`WJsY%Bx&G=On4A9iK;LCwWf#Ut`5ERV5|;e zD1CkFm5k9iSX6Q2{rlBoLy#49+mYxxZ2Wn3_+L_^7B#J#C>etUv@X@WJP9iO(cQ(k}a~+%u_+%*yp# z5F{^#?0wVx+AO3A%$!MK(m<=lD%VbwhKgkQ(L zwy=0uyU{#a3Gyl$SFU@&UuAcAI%1F3mXO3mLOhN>$0648l^2Ti7C_hCte()F=<97+ zMbB~CPKplK{WCvlBG7@xWg|~$b6vquX?PolyCx7oJFxQUtlLjA<(1fQ@pNi^av0ar49g>Y=ZenLHHUzD9b~8 z$yow#Taw-cnb+E-caf$OT&6`NCIT>sS_Zm$eaJL8B@Q82(Jrm5^)e1cYkwp2=#VM ziru^Oyta;cfdaBluXjQc7>=O@+!gB!iIAUd|1ao6SIPm+Al|~WEem9=Ckr| zFE*>951t|OwGON-wvxKE3m>-OAK54#TG9D!nYa8CWOQTms)2;PNK;z<`4hZosi-+FML_E?s^`MmzQi23pKf;&fu;Xd%J`3)mWB( z`ZR*-08Yf>Q{z$&R9+12Hr(MbAa<#@n|cr;P21<=w#!TYa*~zu@7#$kRh%X89A4@D zJuf+*X39~&0L&n6;cDGWvGl%~p{*HtONn5(m#s=%)P%gNa-vOo*O{O?j%RTXIK=%; zPeJr$KoWJvPV=8F2ZBH9aX{=p5p?8&HH9c#&L9*@%V>LBL#Hu!&L_!P-?+&*xG`>j z)tMpa;SCo@_f=DVBZ)%Jcf_nVA?wva$oxY-XF%Gs^Wx>b>NYF@FgyFB+DYr_F<8z3 z+e1(aw)iM?Eh=QB9_@q)QM9+76n||KFzz|TByx|}bdtXL%LGIulK{n|p^qjhspl}q z=PJ{uZ;ce2v0hmuJ9MQN7@$DfKu*I|>O!_$l^5rDQ}T`GMTm46%r0|8`XSRqMQwLL%A-18Qn6D{?x@86bgM+Yi|vx2 z5I_85_~6yD(E5#?30BiD6~l7{%3ZY|-R zn6JE<8<*086vLhJ-jWlIBlR<~-V}Ayo+|2HHy1NonBL|n4DbLCz|=|!{BLnD40 zQdrsDfuz%XT6R77nmptMHab|_KCTfO_99^7BsJ!Z1Xd9#Z-vvx!3_lLP)W&kayL<= zXs%4WFj_uw*DGfSbb7sc8{qy}-ZJ;XGT%JE4ii+M5vFu27zeL;I*g>zzU~Y6e2YQu zGjdPiZUttz#&;oWx~R>y!#JyMyOaL%kh2(fyRvG&r1mA+NA9muEl}vA90s^)$jo!x zs_OgTzcGL{zfLDa7RUdWO0`Qr6xb8yVx}ecfr98 zPt5%Nf5q!Y5((^fK+zuR<$|0SjMIV+0MXq&BInJn&L`lg53pK0oI>aK5p zLffWYM&bhPA(~dn_A&>u=`wS+R=mIZRL)JsceS{qwn4ZCJDgm=>jiI7J8R3F!*v0H z>_ntkz%mEG%svJfElxA=DZXLC4LS$Mo_)c!^RMR_tBPW|Od4T3GOE3wVBNiypwe(2dqwsAh|}O30)v~C*l^9IeVp3OC=zKyRH{)1 zL){F^*E;I$_woUVFYArkP@#*G`{aw);UOh)roA83=fC~X&Q zSDAy@sDM!#RCNQN5Z9H0yIxLb)7=TI8lyYZOU$vI(yMo&8?amV*KJ_UGPm;&UZrDd zn0*ZDYygQv09wCNl3i@^KF7UsZMPZ_j)UtA3Hz${DQag%?7zkv1aD*59&}p7(4ox# z601xw-d*+Yqrm&*(3B=`>&76hcm#6ahI2Mm-q+?Wnqagn2>D!2gl)3-xlsFobV$pkOKx`G zB`eZ6JFk%DJdReagt=w-(Q`*}F|Kk^m z^=8(tpNW!834(jOzwnr1Y8xx)}D8e;M;9UNC0J1Oel;w9Gm z2(VH7WbB0zOXQ@H1bqRtbU}1pWnD{_&pWk%4!K%J!TmhT)(JfAON(dQ2ju|D96hxg z@-@-|AMqrNpY5}89f_L1uWNslrgwUcnL$FvL#Zzx8qqDX1g<8cLgax2Cu~M%2GxG1 zIpGyEpM5N^)rR;1vG)jNk>1Z58c@IHw*u%wXP0;u(3?$6<=Q%jyMLoiiPOqBowa%n z)NVyGcI#=(zwK7!u!NN1w3N+4?wwEK&S!xGZ;P}UC1#K9_tR2+47|C9x#7E#LMAl@ zTl}x>I=lVB)wvY^$T@B%>^Ta^VrQ2)3IIsj2*N&rNJ-rE9L_b41H|)<#QQg(ZYW#i z&QaIUSdN@2A-(U@kxU#v6FJ!mUXH5B?iErR>t2PnhFC3GL^O0QqM%G+8>q%UcAAW^u(0NtSBhey^%tgUWx1QY+uhY>)!e$$mqg75Efmipq`owkAzzyVERj}6_MSFg>wi4M z$b+a5p@j`OL-M>YEbDw#c}K8aNarEb(Yq}-R4sY?_Gb&U{|V+iS~GU=r!ISPm49>& zM?`5`QW$~c9Qg|sk)7X}+*M`ObiK6|3)RzfOT7;elXRC+v?jDI_IhP~I66BfS0z_f zCSZvQr1w;se$3I&&I>s!=Y)-!OhUY<+#+9Ztd}AVo>5heBwb|c2pGpch`!1-oRspZ zc8%}~4D5%8;?!DQ*#`RoT@%+=&Uv7>oy3GR=X#9YQa^^Rb{%d<5;}||Du5P;JeYo< z-6=e)iehlW8JP9g2Dx@&GigwQUHH{0_^*j#_Tki1Wtw*r;Q~~7PsOOBq5Ry$r~kHL zf&h#!W~$hh?+P(7m*aG!p|R%HO)M*&CUiFzT^>0MREfz^I9p0h$Fx_?>RE%>#6G4? zzCI^i@MYA%yFht+1uW_oT2G=NPF;EY!>c}_@JVd=U_Y|O3jEtrOg~&S_o%j&CCwBI z0uYGx#(9(jf08l93$0#%nSj8-<0RbdxPNr8OWHf6zF~3fVbul{Dbm_D9!J%1Qf5)6 zY4VZkVMIK^M)Co5FSKw=9N#y0r-yoMt0f_E!@)mo=CpUy>eT9NSsj=6a?`M8S6Xv) z`+Y$zzuCj`OVjJ1Oi2N_fvbM7s4JcD1vWULaFEvA&WzO zK+j%qQ&YE#CSx?G4YC;7@Hc_X3|YBGP!;g;R7y)CXhz=@0kK9IrlSdFsa>0=mRH#7 z?Vr&S+IFtu`e&Jay7OAcZ!CE?t>NkGg&yf&7c7p>X#CjP{4((E%E%5DRPamVeEW+d zi2w3}HS?Qv-d)FlAtQKA`|g1matIX7eN;6TRj6n$WlA#{>v3T?5vR>q`N1a1Yr|(& z@s5{li$vsAya%K9BkWk;mc~rT7hn|r9O+%_ZNvA&*mw|h!|&iuK*|Jb=7kH>ERV!CLY_U$Om=Yid( z?cb}|)29FF-PgJtn0F$!$A`3_9{%hde~4aBYON1GZtKjQwdao0zK6B@gEER1lw>0F zkvY?-`9MFD6ZerwX}<*fx{3-7lOCN`FDJ#bP@T@N>&2BHba9F4!*oB%$ z7QcWOh&C~oVylN0N|oC$k*z}6R~wf2udXrwc%pwv%QD#mlnG73#V=AfOitakxET`=cEAnl zLc~WMDN9@KXY3e~R0|Hi5Reh0LHv>%}mG+yWpuW;)E zn`7&3O+0UJeOV||-Mq9*C(a4ITPBZfF;A*lKh}NkSK|(1MeO1u~4HaPf4b>M}H2lj6H*r6O6MY&o7@xhb-P zE6BWKmb@m|c}E4P^Ao`<)V`90Bo7t1?2d5=Pek-Frk)bpux*EayF#Zr&?!W5@$ub{ zKF9EgH{Z&i>ym2g|7yU!W*-rnV@RR#8z9I6oT5J;*m%u}OEC%+rVS zC^4bD`KYI*#}a`zQx!U927=bJMpf0}JW;8zqCKP7yeQW!)ZEgt)!F8K;Miv!9~m_k z=S642#rxn#M9QHLkOh_++Exe4%rcEfi)%76IEIH~ z_MVt*&hEYJt85V^%P()vpKAl0$*qK#kh+Ww6Mphe^8g{G&z z?904zv~E;5qg{iRt$Q?KGlbs3MoV@&xC1tK40(BKs-i^8 zBn`nB$kVb^4xI=3qh_&!3s*a&?47}*_ic(Le^^C12b^fvW;UdeB zhF_s5DUmr8?Ms}AKc2<}Y%dkY$_}9*au8}|zh6V9lV)M5aJ{XDC-v)dhIQprn{*3eP5=ac86!uG*q%7%5vaf3#AY_RaT73DtA**%C%m{AW-u9Pcx;hc zs7A!am$lT=h1I8IH!nU|zKuEKhdQ1EvArhO($$ERJ*R!uVINV6R)siAz^8eM#f!VK z{qVUoZ~ZUrp^rHVuoicrXcd#zT@iY_s86-}uCBVrdfOJ%x%2rg`+wLcHC^nJ+uT5b z#cW&K&o?&we(fUKO;O#dQ3e)K&8QWJv0dTj4kvJYVfT<5=FG#_0?|jaGip@DqRU!Q zQNjy}25p}uE?t~!W;xR+q$4CI&hLSbx}8o!J^(LKJ3@PBfJ4w?A>m_?vC+8+dj3(! zpLNs}EzlH)(kkK;63`sK+uQF3hK`FG3D1XB!AwhK=@bLv$2v_-Ek+B60G`ueu29y+R&-(}#jhv)}Emx~J2 zZkgYuAXcs@o>2_S*2kxsvyIGF#;=eaM76CDU9|kSINBWhVc*2qH-lqf{Ycupfim2% zN1$H(jid%6v?CJ7^hRU+(t(ptwKNoFG9}4`$3{heb8Q&@!F8Ib6LawuU8mmnvRSPs z`vkW3OJVg!xU0243NfdvC^69v^aDOu0|#=pOZ9}S&8N>W(8%LZgq@~LeV;yi7D1cn ziI~F>)i%7_KZby?+Gym$ZGN2N?(G3u*a|aA(|VW{*^}u{MQhUBbQnxwbWSY^E2T53 zQ2Cc1jc$}|@b!pOfjl?%tidc;!4)**PY2}4?nb#_xS`Mwgrxcuq`?h2e>}0`RLp~R zlgwH5%uKQa(_?~+l76VlQ?!CmKZzPBvK;!y@ZR0RlCICE9JmeOL1Lqgn^p1-+~SyZ zxxTvJn)!NV(Yl!NDzJL|-UpRQ4WPad%-rL!7|tj!W=|cG4{aCEexyX0m=yB^Icf0& zEMZuTgUPFP5naVb;cx%p!Qg5x+`@;{_T`+mQ3^p9JB$X`8TPaUQph5ln>I-LWXz)N zl9ovO7(e{Vds`~>Xm@nN*6B%tSK@43jd3uSJsv*=GlvNH7FWRZa>aSn0gfT&lJu|g zZqVned(4_Wn`!VDjDMLaodQJgzLd$XIiR`07w)66_3^jDxg2%<1dXv3?b-uv?h%PuJ>7O*Ky$EtEHb6EK?Bu4plTbdBq9ZXsI2}%gtQzk>ygw_GNFLnu>5b-I@NNu2bDPsRr5B(*w=nFH}4Pm3h~tF zM+A|+25fV)m6jXZzDw}>L9Uqx%ze>?&v0hjFXOGG;VFuzYYtq`n`zo7bwXP}V~2p| z%xg@2aJlnZ(FRlxO9zXL@gy9Ol1T9*nkb8vz{*1v(RqNkZ-aqW_<$Bl zFFpki8yEqdWdn=L@U*+|m#9ONN2DQ+WW zFb4A;5?j(7<(2!A6wkA1ax(2>oJV=&(efnHMSCQ}L1GJX82Ws(9+v`Z%63s(Vt;#r zKV3M}v9%%=F}6hr61HKZ?35Gs;vG{<7Ub6dTi0HOu7&VE_2=sm(>*lkF`gEFkj`zW zS&r$#Xf9VM%ljc<(PcVI!@wJ?PfRa`BjWr7iRPAjA?1-_K`?cO~76VoxQ znlU%clCf7SR<2Y`T?BTONEMBNN;QYl+#?gS>f;d;A)6|=LfcDWsMCV$e}TM$R}}u) z_|Mjgel=@xE9M?oBFPAEsE_6p z)lo|<2uN=M@hQwx)~7NY8EN}Wl!zi@2lv&aNL+&vt)tp+9my=qL_>0^-QIw z&&LZghXcP90TpO&{8@JRrnY$&cHcdVM`zGY1}3@>UTg$fsk5l~ijQ43_=(s@o3n1* zG&2V(D7~iU@s*k%+F7Do?)xP^rYfpM#v}Q`dmn|PMXz3=n==Hh&3EYh1Dc02Zr2T| zBdCupe*aeJj3C@}rBTxPT~%JrA2N3^^4$S~xrVGfpg!CXo2InuvkvGE<+~_z*pN@) zJ|bfb2#~h1rcMW|P-9^?mgyciI-bT}xrK_hN5{MFo%=mN6W`Rt0cpPk8aT&x5SDZ9 zg?IEHy>AzPPTar5|7YCS)<7bJ-!o<=B$?!l6ixh&6a^e{f6 zPK`9QkU9rMj?_n>Y5G{eYb9c;;xnjxE!OQQpoWBS}HZi z#)s~et(4&0pdU_?rM`e4h>kad$K`&Crmk(iz;O5iRn?$@ZXUv!@PjW9S-fws_*fED z#HeEq1D>&(*Dg%HKdSw>{`>AfMD&FW;f|nk!R`sFeQQ61xU|9HA1@S; zzL9X={;zoZ4y%}RZ!OC+GWqRq>M|HTT3lPGlDYecZ?Q}zGN)QvhuJX*jiz3g24MvZ$Ar} z#6|rjtWJlIF8fIQ{RJVY!9F=-_ycovkz30NEf);XgHhVRjC*Zj&_J8N(qbi zs5XEU0o2^a-#6S~ufrM%V1-<}@4nfFUv>eBb&T%VF~T{5b9Lj$7h(XAa_H@@lEZKY zH)}JY2xU`@+MA^sh)mznJ4gdfVBm`n_V3O!h9vwF%<;oiEzevk?`H%2tsDo(-8I|V?~SlyG)@|AWuw4J=mDH!#SK zERI6A2t&NuOu5N`kdd4$=zVa4DnCk^k`IrT+HT=h8Bo6K+qH>n39%R?8DT$r{qgFL zdoRnP53xV$Jlx7}w!e?5U~?=#vi%CeMa;NX4f>JKd?St zxh}u5$g3eq7oDJ5zQ!NTP5CI>esStP)9oU=jsZp#%CNL(`6kHJ)LxVx;=?d^Axg(CbIc^Avd`cNeO)v8AqKMl$4}mM z2&9t-;LuQd?rF9NnJ-wD$dj<|2C{0sf%3|DKe{~fc zf*O=&DLw$bYy_4kxPVE(a92(aKq4S=_U6l;h-TZLu?U4WuE{@c%n%#W{M$2@SY?lR z1)3#_-%=w#`G77WS%xsY!V5k`vua@YfyoRwfZ|ye@$8*odn2t^@morD$rr5~ND;VH z{|=h->6F}hjSjv!zD3Xz68g)yT`H!(YYtPewQUk!pg9ooYMN3)B!)$YNwX0bXn(9Y z-2WQR?m2T-tmM0Y^7+ac*UZ0nb~v_zUG4XL|NcF(eaF=H)*!}Q(4=E}4#^`robF#z z-|V%%Cp})Dok7{V%VEtz@57~nnGOk|3-1KL>62bjm!=-tFnqqumeF5MMNLcBCsPI% z|3>3XT}oAl!bVk!9Y*vwaaR(rrtqO??g>q+Hux|<#l7$pTcGu2Q&-F@*{EP#^tJ8w zAZRKTw!)6I8yoxq#b0&*zzeBpXp>+u4iu&=Dp&GpZ85<8=IMsQ1px`p5P1Qgj!UIb zk$o(JGdTA;M5GIUj8-~ST4`Y_? zde#sBkV-?EtJJ~2VfFf=dWmGHs!IMDO|C1libuht!R);OsXL2kZzEK{-j=T+YFj(v z{XKRK`yo1?irR{8_f&{31(d~A*YnIGv+4rO6odu;EBY6&I8SsHXsvoN8~7PgZz5xqNzvrt zvDvd{muG4y7dPV&EL9}SM@e-|*rDrrz(w1xDYM=RE85{M{4xq<7aBLIhN-2eW+*BBmtS)4^^3Gt^}WG;DyXy+aJHpghah<@=Bm z{~_~F8pyT=kKvVd6@@M`A^vCF3ug}1NuFXU#RU-xQCHS}n`Ug9)TalqaG#IFO7Y<| z4Q10^@VcYULEFb^jgEWfR`@~oAp)D+dfN_*NT0F2Ij?w;QIdPE8S&4goT>biu=zDw z?Ka;&8A*#z)AB<>ol6;GxdSLPXkb}CgQhfycpI(BD9*Z_{>kM`?F6Ka9)86Dh;gS* zs{_DcF1F5dR>`RWo&ow^xwXejEZY|rf2wB0s;OP8LMjTRV3I&r(^4`5sz*%_>B+W& z@zJtM9!JZD@ovp5QfZN3yRvoPq02^Ml@N!YSU!-S!#25QUDQr{?K|Q!wC$0~Vhmp7 z4-{v7*xPa)E$B55aY|b!AG%++IyXS?)u++(^$N;6PMnNLkQao0nnJ107SIPgFgeEU=g-$xHtr+-GL0 z((w!&RTX8r(lekrL?I*Pe>9C7P=x2v^BT>kI^V8`r~49q0L^i}I`Qzmsz@E_&5v^eR!Bfg++ zSle6EAH18v+B$cRR1w_;%ch9?%QR7{fp9_BYkLQc5W6)Xg-&rOkuiErUqp-I!5mxh zu>4tL_hO~AMGB;(%vM~90)FWwzG<|yhNhBpuv06*dz5!#!=--x3oJcUbcRTRhbKMi z7~QgeQ7F3sbZ+zP64t8|*8^#n9Ka!(1)XDOdJ1X;Ua8>D0ubxKP4%Ts^%jTI?7j`` zTO9UGrS>9PcqcurGm)g}2xAvoow{AWCRcX*Luara3rp-&tZFnTkD61nq%={1zY36c z$J%+`O;wSuU6W3+A{|ykpt|B2)uk3eO)ye5NAJMx$ABaN%NwpZr>rKnB3Ry%k`6vE=0EF@$|*T{ef$qPk0vAj?dcr4t#k42G?uAL?qw|ba?!rp z7hQ8vaangoM?7@rfLU5Ywk}w7Thl??fjAJfu6G0!OyL~lLqs{F&MRCQA{UT zvZwu^`0|HU-Gbr+B1Vtl8dnTmj2K(BfWBiWf;;7I7-YNoAnyEAYOPt*EyYN^z^U zWJ)8#t=coz3Y9KED8yw~w1mm!E@w8j4sdOCw!bR8P%YCjrsuMH1RlDdx;W&@fT+Vr zLU%~V;U&aGiyLYZe_b(c8r*WWiA<*%Ql0iUCif_d4e7uusZv9Ds#o^TnQ)n;QQAWK z)%G^W61;7%1$;=aj!b`bqNHVq_a3NQ>1DbFVx9~(?WVN*t6r!Mu9-9MjRaxM_e&W~ z2v>a-1mum0k;Q2quufB>l1~AO5|AxlFpWx# z9fE=}Orpm60{};bCk{3g7!w!!p8-fPL_g_KuGuIR$?8UMW`uaXu>3Zx;5Cl6Tl{?4 zN38@eK!*FT{aWYk*uk3@^Y!N+KNt0I^m8{tfgGG1wd1>kR{GV;%?$(L*sF(bdIcBh z!+Dh2BEDRX(a~#KCypaGG!f!Wy`NC*1bsQmu5zNQN}p>hWSI)_U$Cm>YhIwT*7A(S zOZBZTx%CTdZawRG!ZFyfVTpqc!sm)Pn!7aP@Pl%-nc znT7UMyLx{A+xCD3e?v?(xviu7&s0de0Y5=(YPjnjYUc!eIwqUKK~Z4{7Jl^R*mfv- zAf~SnQzBE&8NWBI`tk61=fvW87p#Jdy~+25mwcdn=?kIkB?a4_U(3I3R%B!Jw6#N- zyWsaBf|lhFm>Zh?m+2tg8@_H5gAdc9q?}tw8+{v6Hgv1HFD-9Qwo6oo`@)pJ)WQcB zZ@+2gs*yV%D41z>N~`fv=cgyz>t1r_oGHXig15KwymMWZvyNZSJC)eMn(&HMMXig> ziRl8^Dz@7jiO`y+k2pK0lMCx8C&lW&>1{(#URfoi$J+h4FeCjSr7&_ka(288S&w+w%<9Y|9> z=!{@eJ%Xw^r)T_4z1cmv1|H^oN-A`gg&#vOjeNy%jg+vZyH0Az+( zYlo&_d59)zC_mcTZ!@@`?2@FjDUx?#4P8H6BENJOkE{1r-JPe~GMepgCRx(K5hsf9 zO}4G;rr}9RlsPsOJ`4$QMm1DS@iQj9EbfY6x`RI!6;6=|=~)e9xZk zq#WWd^%xfL1<-Nv3I5c_3p#u^r-xF0=qf$pZ?IwT)LRvyt&RRIO#xg>B!s-H% zx}^8Wim!orcLpDI{@UnyM<`2lrmliogKTXW!k!LLrsKnJDdlGt{)BU_l)v=J#E^!0 zIA8Z@5sRX5_b(}F{{vx(%iaTk5T66Yii}K?)2I5T=5z4uZyxh7FC5oj!Q8VXfuUwNb@4{8Tj(a2g%D4kpKh(ZiAiKHKrp%_&QLf=4jg$4V-{GfV z=FftbiSgGIbtcc-zVsUii$$AuZu`3Fz|%dVAI@qK)5ItQ~x;Q8Edp0Sq7de zN@ufPB&k#LU^j<)*uI`UpA}S0>(=%V!OTIMEaHwQ-ty}3RPj()U>9?o%>JMS0^m(g`^&W5<7t1pNKvfHoEmdPJ>uf410TJPhT=0{^N6~V#=vXa z?TXW%aAA)_O1!_m_T%*M%3Ub)^yu@A!%0K!I{H}ZNM@~AzI+He9T*tQ_e==sgQ%*#<>bbipAx0{Nq_CiuGb#W1+94 z7k!14kRDbkF28YnETw*!?9V`_qQI(oQe+868WeJi9987sXL4gkk};NZQdwXA8rpYl{;-15P_#KCf#vYP8SyjG5r| ze1)=iQKaGcJ0I!NhVWnUx0!2FLMOvaGF4eM<=uPmiq&#K{gzbV#|5i3hn~T^*`C)>{ zxVB^y#iMpiJ=Di(b4Tbl_R}FO&hhclzAKjL6Bg%!6 z#L$7Vaz9PF*Mye}=uPKDe|+xGG-yf|sXvGHE8m@}1P?v>+LojI@2Phl!4{mkGdT5E zGl^^wnCJIF%4Y|#_#srN?U8=V9`^nQ92{DN9CoTh7B1^pT8c_>g1!RbojrWk;tXhJ zOYWpjs6A0NELF8U=0STNo=3nm(0}R6n{LC_&N$h(gZEZEsX34B?KV0z_vt3SAO+jl zMeR5cuJHLx;&00Xvh~J;2M_qdK$>?}M-dJ<5c@K#&ND^R3KE`;s6DLvJ={wpt?=X1 zc|8bQ75=l;fWJ?e6*Z^+?3Uqp&)kHT#ESe>S}j|RWJ_%92v^$HC}fX!%X&{o{+t~% zmzcNdQepImS8E#wxVqnXpEjNy+WMkpF8x=JmVQz!+vARfS$Nv1D|^aN{*{aj%wKf1 z(OJ(#kvvs6GNAMl550s^;Ae@$W4wPNY;{06=jsQGuU(PGS&-Xok|LvpQ(XpQAx$kQ@&+|I3 ze7_sYYXur=exKTUmI`nAUSI$GDf9{J4>txxM5P7&zrIKH%BqR$AJOCW9om#r-`a3;h=2UAHP1d&lO}HQd#frv>GBA}51b3!{8>R##dc%oeWn z=jnDr7N5TPS6x--Km(;`KB;_jqWQZlOX3@P5)K3$bD`C^ny*;5xxb^mo$cLoX8^&Y zFp!YA5+k(;p?RaTeA5)`eaLvMX53kZRKC5ujYq^8uPD|VnP*Qztl>u3mplp>?Zum4 z&P4dYvM;U^Z_C)|%g>g=!*=m|y)X8;A7;6&^?3*7O$51%3t;PC^JczEpD&3jLp1;-LQPSy7>eGc+?_#VtnfNw)8gKt#XJA za(OmOz5FuD+_Xz|qj+T}bV$9rXEuG5!t=uFn;A%(l@PNa5I7HibY zBz}BS8NF5QjGxwVUjDNYhx(@PmE_2qH5qIyd~UOtX6FLW3UoKgN; zeI6_#SLTzp`LH29&D}<%-8Xl5={0BA?TA^5q*noQ1zWw;?qcH)5T7w%VMZTPzx`1WfFAZ1(S6j#2naHb8v7TCh6e+aVmdC~Ri) z6n^Y@P;21fuxW&DIN?t$s`4fMvnxm8-s)lvYmM{Ap`XCgy)W$1*;wfFDH!-5@Yw62cOuHDh)%n0Z zO*@B`=>;`1i$3&b{_HC+GlhFUyH;+nXeh2#9~$R+H&C~wHvbTD2g&fvv(oUq1m=TA_0<=LK34Zdr1BPI4!k z_t9^yz;=iLz#(;_MHPmfgA^Svx|Sw=LK*&Dw_YVJ$5jRc5Vze|xevVg?)_6=yZ6&% z5PjBlf}3ih;I0>HyI5~fqqtv_kw*sB&gx@#5C__}C`&iX=tLC$NZ~qOM2=hc!m+Rc9?87tepqg_Zw8#hfj-i*J7Y4_~VKLtg?QL@U=>!g|c2A#ANu4 z+Ty}+#YHGULtYixcrB&DyE^tmX71zl@`9rK_YcFdaa2~AyXRzF#Q$*wJq2Og>K+39 z*a>VHvcya9Q}wFV;@TDkNFx4!>WxZ%G_22bycoY1G&!>P&!$xI3qNKi z9QlhB)`O$#uAA}@fT^w~0dzkeP(3f_IL z_U0N6`JY05{$-9OcF$>V`~&O<0G707?*O!0!Tg0t{y_h(w86M4BIf(SjOmWH5|cEK zjlBX=ia8y;w00JM%~0ngDtpbbLcrVgmAVSV`+;z9=1bt z{KxaN_aBZIUmW=xkNCVD22NKV(7(D)G$Naq{Ae~~=O^m^ei?lSu}RK?Ln7~`wg&<> zqL#3Zq@1=QUetkWKrd73ZcoJFeke@!|LF+scb6JgV`kb+6IMhKW%g68+4%Bwt;czX z9ke|=A1M6n&(mp*r$SbPecr>1_Ga!`^XK?gw--L$nA}4;COrkdmsP8m(G2zWTFy2P z6sdi0;j{k>ruOBZA-nAin^mk}rcapUxH+XnThx^qLlDFV*S?o;)Pe)H+F#O2AV-g( z4|A>Wr7gf9e8FFyeH$CTt3L{Z!e_<+QQu|*`k{}gv37ij^~6h?d}X!vOCx7bJfSDe z8YFh!3u39Ns(JV{smg2cp=aLZL0AYkN7F!wLy9+cziOKr94lBizhU`m`OL-F%clYu zNyl#F-d^5v|K#Z!@I$DlWU{4l=x3?D^35n7(oK(CiD~^CoEAP5m6AWDwLAJt%9$OY z;G^NYd@BK;DCW`~XQXh+!X#w;BdYl9E#{pVsO~27_trn|I!NoscEs!ul~9Ee?AUz_ z95EBB{e~1dhO|;kKV<#6Rved{|Bqt3A@vH8+w<*uGqM6f>TE4<5`dA6Xz)%77Md!9;mC%I&|UBHK$>fVX;d8jW0GlE3{W|!s`zy zpJ@taui2)SGDV&+UoP*`xNlBZEpXn40g-<;JLz_qwg%H5aN9$Eq#TsMKp~61lrMa= zuKV=OkOkA~4_!I)je3{s#fHtPtGb)}5m~)MfV7o_t8lm{pu!_1rjWk?t5!c!emsPk zJo#HwPy3`voV5qA`MMtbtB~Wqu*bAhR(lJijV%w_s6d&s5mBXrDvSrI_kw&#M_mL4 zZq^L_Wae5@wn*6`w|!<5(`X>!!x zLuU`N&yH^-C^KEFHc$6Uc=BZ39TCD)iZtX(eG{^2UFoBpietm`E-bMjLiMF(>#ycY zA7tK1_?nLVK@jt#D>$2|e!gnu@x~3O*Y%uXn|@+r=TJiGByNOJh9t+Q>MKvYu(nxN zac*hi+hggQASOcOQWvR3Xm$t6x7W*QiRTi)`0fOrPo6DcV?dA^rH24KAiP78m83#A zX?nzZ+au^WGuZdEzWC{K=(BlFTQ7uyU8x6>E{-WQQz7FY!hF&#e-FzF|I{0Z912dR zCb&n+vQYGna5cLdH&dv-Yuty)jc;Eg-3Ch!4MjD5XCfu&INUG#F)zH4%4Lw~6cK!o zlair*8*_~%SaT#l_L`FFC~si#l!F67tf`^m_0jAT{B}kz%)Q^3OI1gEXdsT*XIYM%PVuWl2%q#T?wTM zers-gN*>~9e<<1F{fz_J=B1)E&l<5!(Oa9n+ba5r%KK2o1iy;64Dx&y)QKwcQ`QE~ z8Gv_O9?#+f-bw~SQuI$BIq=+JyjhV@>UoG+MQ%^A3ODl z&YW*{(it_;UG6d~&*)Bn9<(~YPg3>ui{e~C$+3@?@Fpv4xBqrSp@xL!)j^I0DWuKd4%_99TP{|Nf)}04Nw&&Hh_rfd(&Uytl*>KY1`TmYl z+mc75A8UO0=QP8-=0A^v$BCI3L$4poFLdd1*6QH%~>?{XFuBd)$ZgSj<(gS~z z77yzQ{m3ztPWH7`D#e3SigoBa9N7#W-p!eAUv;?R{JVnlu%oT6ZFCR#(7`U{FQG7m zy?qfGcX>8B^~)I>$oWaQZoa+BvKtXS8uOE%n5#x|t#f(f4rA{?NMll~JF+eKBLq)7 zUZuERrVjDx^CQD@c3E$eT1A{+db=HhP+`JPa-tTmpbX}oicjV9_Xi<1sq}OI@G2Ea zF7jkU&hJm_yV!COJNlDMDE`^b&eaNv8-UGcz}7{A)_UKcbpWu9{n&7-7=M~UPd)+9DS$tXHoiSLq)nAN z2%*NTKE!1f)3b#WlL1$~Mg^F4l6*Az=Q*3Lg3yz2C@{7}(tuQHh|8btCtGyeXTQC3!Ao0}Uo z`J~qP{ZZ8$<|7I$GcGL0RB{Ar!iQT5o7VdGBh;REaKz>?jm^2E1B>NSZb+CxCGC1m zRfEx$_Cg_MG|^_OA~XGhVR&wpcED!L=xDJh13yXB{yOrOm}sn1M4pG~|NNK_J8~{@ zi}-lJ{g(Gxazqu9s~~DB43a8e8+%PU{)^HEeC1D|AWk;mh#?T+_9Om2clvqhn=C~* zlE{1Zm=udPLOEDM`T?FP8y_n@S`2EU!(u!w7LB=o?;ERmJrte5fUCeW@CH89>3xv0 z5S70UXIe&o=|3g^^pawwYpG$5h>|@ms ztO;N1O+1fGtk@g4Pg45p5@uYktV5aJbY$hJ-&iU|-vS&A&Np|U1uQ|geIO`E`>`n^bu4Q`kVc%0e=I8vt_XXkOZr66_{leYBX$*mv4!I2M#rgFZ+K& z_Y(;{(26(0ZO+!H9R#9hT-&dkK`%2+$dC16`0(&aS(>-^{hp=3w|4iK zzUi8TPo%`@*d4V#5TTu~BWF(A>-ci9s^s2#i4{83=dM|CHc>KO&cLRd&36}piM^on zvD;AvH5#?1NV)oBDdP?{>o`*3Zr}Pl*XfhFHU;WU;%LZ>9ekwh_tc(M*opsof>8~u zYnj`#3|ESXhR9>QIm4)P@e>e_yapkL48VMbao1i~QMEH3cv?~Ii?XL$u4 zT68+JE;LaBNS`|qg4z0U^K!-)zF&GBH?;pXs7}wr2e_Ux`$vpWKw*#LU;c+$o-J9y zRhB$eFkivvF3L$o3{%z#NxJ;Gu4ev8en|USSp$42W~Fm9c8H~PVb0FKp2xeQNqpxC zt9G6+z?89ocjNhYg;cjef5uyrBD6@0CdnxEIev2(7?T`IU0pZZ9ejm&fdVQ8l4A%Q zg>lwA!AZk6PVGD=K^iTMEsQon;Kmll6ZS!mwFlN$_Wp#8k~pLrw@5`Qd^@`v3G0E* zkyFoBSRFqZo}jZGQk!t;?Af);IWMONSy;f{dDG>60#EIHbJ>13)RAhd?DfTjPghgU zJUH3;W%0cC+I(@UI_weCAFq^gqb4$DYJR*I(aIWXw<)ETH)X0ugF3F}Z_8W>A7aU` zyfkC|Qh}gG!JXSwV?gP*XY({hT|5|;gaU4vcN&d}??w3+U%hel^AmYmm-bi2l$l5m zxbR3Fx{fDoOCirX2wl`)qpP%>drCw$o~nS$MU?As{Vr*0Vz0~2cvE4}t7K+);BJq} zXf+2|PsoQQ;+4n1r^F1OGl;d^i!U4sISR0RkT6e?L9s6y(=CSkRw1BZrl-MhlAb(! zuKV46^H`b0JC991yW9A`c%T3p-Yaiz{krTqWl(%pb@f*j3>|NaA)!o$$}j7Uu{7Kt zv)#fsx#BVfsgPbA_DNm7JiQ&uOKX9j?`c^W&S_%ry9@GJ8?!T z^2~@l>k|2FjAS}GMyE^JkBA{~aQ|C&yj@uLQ-3k>DIK9cfg^Rpdf^Jj?gEi#p%?09y`=akG|c93-@jpXR5A+|Ee`+ zEIUyR%+Wym8!H@o7_HGDY4)BCb_sI?>f2%7JYbo$EdUq_ygA>Z8mP+0lt^vzZZs&y zT0vOP$#GBJgC{cCAsuce#jB*4paxW-KiFaE;4mKB=gK1?_proN2EV3z=rkJBYG7;r zn*P8GIJu=J@9pd31qiY6MCyJD?YCjkC448Z>*9wPh>h>sSerWf?Y$)#cBAx^tM&JT zq~oYOlbqlIi8VCGKRR;Er>5i!DeI0`zRut);fE=Dj^UCE;jZRVOuS1xh)uc`VzV)g z;s~ph5Iv3hKCruZ@*aGsD$JiMx}UKXMk(^XD>EJpYug)?ZP)~Vjj(TPsj$5IHZ}cE zOmYcN3hX2Y2|rVeonj(9jIKef|3f_Y%YfQE&^N01UAqvJaY}7mXVe-R;_2kOyRXZ% z%BSZ%P)6?LYe5~IPJbniQ6h~4%-i1YK_pI7)>L&#S)xUz_D5s)ftI!8;Wk7VJt26%y>hx z1~gob_h?|FP}}$*HKm)(4xT2Pwu!u>CM>Ckm!D6vL?h&>A-cDCbTF1KCf_WvO(JEw zD$@8w4jnT7yXIlTDJH8(v3c*+E0JP2Wc$!~+v%nE%H{Spvv*Et;&z{Fe9`3og_23> z(sIY?Bgo)zwLl2ph^uPmWW^sP`+Qg36R5y6J02DAHh=U`i8l|;5aN58F!OfvB{E?3 za@H)4vT$t;7d_?vs~eH_JqcfWyTT|X6sq>|4;9}PgB1lIkGWr``-fq_7(QhS1D*|H z0n&Q!y=cEP07-JWJV3J(cy!yL`AH#*R}~Z#EZW9D-(9;uo~PFc_30HoFf6`c^lavA zG6_XXBNL~AFWRt>Bm1T;P-u;t?gBQf0G(b zd}=qz>0lXq@g&=N{WOle7B+9b`n1ht?M0rsarH6|Nw;na^}03^-S z(ntyD93&=qFMXjxhcYBCi3G|>($1t#3PtnK;iSYyxAF{RShmyPdx{Q3ipf?|K}>{> zU_VNysT?-AuF1CcEZ<{=vT#LZFG5BOHNKV#q_=}AnQ?Qs^da$nu+HM*(SZLjZf*y! zK3vNiSXU78`#}~O?r`+kV8xA4e_E1%*z1cqbQ9Id8lgWyA*ch-vQrZorRmeg91cxl zQir9;n*i1ALgvd@z=IZT*Y5aBulk8n@A+9CZCwxA*rWT9+88ysSk*;j2k+NgIo!z- z&V{>LY+63O`t- z`t}sksfT#?k=PcehEstJIP$@{()LwfQAg-Zs5*E^+43~M%a#fAeAm=o&Q=EgNJ?XL>qGQZbyRbg@uRIP z$T%3H`cJGRS(jy0qa@$UHGMHNzrl#|+}0LGS1?M#T|WThQK`0$QPl;xtl{?Ss=wdvzWwz8+{vM6j`;A=P-Zk|-4sqO)CN11q<^rDR8aJ{-*5jXEsF4Vo(L zhdyvRcc5a5g1UIMetk(&>TYkiw?EniLQIF4 z449ViD8Jb>kn(JA;F5_%{fR7-y>uj(mp&6qm#;dcHdlm{#v@}*Q|bm7k<=0Nol&pw zheh!_*6rp`m2T;;D4<8KfJrYOIkO19@-=e3zI#!{Um5+#ys)64g$3%p59~3iO`~S_ zmfk?oHBe)Fzo|4F-z<>Z!8mQd!DNLDf%ye=%q!*bpZaFy}zMO5=tq)HJu2t zCtk|o8B)VePOju?ZVkj)7dZ3BBVtc&x58Ub6V#2ImP9far?ehVEk?=Ygw73WscQ~= zc0v_C5whjqW%%M>20yu~e8m{+h@Z^u-i zz5F*a;^3G~gOJh~KlTKaTLMFB;WA6-P1ucNwb zH;o8>i{_VftX54v*Ws23Aea5{a4L?ee#FR%SCb-v((hcLBd49j6ku)`hSv>tw8=BB zOA`<^0rp6L1RtsfDr>5*Zi{0ro@)zs2(7zfkVl^^RwQo%5Hxl-8iG-aZN`FgIiGHm z$B{b-*}t|u<8{UAPNteLPAkxb$QLeKcKQY7h zv!4hk0isx;<=D=5W=9=^kt)oD4-rfFOd9kkjy=sN}eu-10cwl@yTu@g@8f3n3~~ zt2QM`-GRE#=8xrqF>DUC}M0+V%Dp zA}fZ;_VD?Fx$f6TrHf%L1eZg4H)*Yt8*VNj)pk~>nAV(hjH=~CS}>mj3W#@ zh$r)s_LaQez*GQNvFnl=i5n55Lz06xu6icH(j|DsyV}Ds#Dkxj{6@mOWJFavqil1j zb7zewYJY|$AC!Xu@%Y6(p|5mW1mXJ;P1i0f!v$;$$~fIS{m9oAluT##$-X)397mP@ zA;>PVsZDqfxlAUBhR0T2+7)|(vhN*#$x~CsIJ0}Y3c=qNtM?jIVIHO?3c9ScL6GQC zg2`neiKrZ}r$;|>KI^A_mHMP6&B5;J*YS_gEronpmb0m}&7J=D894oLH4Kiw{ID%D z*nW%lZ~z}aO+#8oq*O>SQA}JC=@}v|;E{I+RLBy8iY%lyPc1x}2+{I545RdML2}*r zR1pfROc@o4adgpJETLUv{#T7Pl@M+$#a0#G{AqHAj5Iy)J^uVqqB{Mf^6tbgsiO)s ze6;QFiFf`D2Qm^xZIWe7fL5R|6-`t{UnFB;gn{@uPj7v?6FlX zVncQBy1yy6Wvmt%0D8F4PGO$mR3JXL{pb4iJ@I#eKRQR#1H?o69Yf;T;(B_*u9_iS zDI!wB7P|vpb&?Vk;wjP+5)#>$x#-AKVF}7f^m%fTsU3i`kx$T(Z&8!31CGGr`2=#g z2Iqfr`O)9G{Hnh{Tw&<-u$B*1)HA5ldt$Y$$Iv;01kg*3SDM0Nz}iZgL4zC!lizfm z@aJUG+|Gs!nVOrKebYNAYk<=C>s8(6G_8*;%jAGgwZie2jrOQXEpBh}ZaFC*FTq;1 zruX?gs6sboeRlC+ZW=Ed9OGQ4gFQ=EzSsn2PE)ZoBs4U<#YHS%ylBkdYoaYgw}DK=yL|HMj1Za4;zl@#5N6>EKN0z8i{42Nh zE8rnrytj3N90}j>5X)_J%~{;+RMQO-S8P-K``D0A@S)J)tmDhSVCmv^FA|lkE6*AB z@*D|fFmAIg&E*BoI^v{EQ)e(d6rb;72ugqne|0!KYN9hRSTNJYWGet_hUSyS7x{sz z`eyU-sUMl;1W-Owh#Y9bMM`9Ba6-9yNO1rx71J=}qr&{x?5~~Xn$Y?GYpyM>P43;P zcRizg*={;Gyyl9rmgi=6qMv@`uVs-IXH(hya(Xibq11zd>G~IYH@Qr5ULRnqaNNa3 z<(X#odI=bK|DzO3I9ozFyfOAt-0iohIZklib5%vJoZ0=~^B{s<%~CAmcN)4jjHd>4ZFPpiEK^n39w#=e5*WaI>e zhQ#JZdi;4{>gUg&hx$*V>A2R>!Y7NbK-2{RXHMW~zdV6I<>q)J2Ieco(V>TNQ#nl4 z%9TCm$o8?}e%T-YA+^@}q&GgIP+!pr$XBJxKWWYdSIuo|7XEjt^aR5?qYNg3{|CgCXXc<}z)}(l-zIwS zn8(eVv-&*FIl(s$kgn(q45!H4%f75ZhlnS?)zuzG{G!(!{pQZ0=H8LjrIXMcL{Fu) zOy+QJ!XjrngvG@ zKj|3Oi8nYwe8p&(T(05zXM6qesJsvGoT<2&F&LbV1P^scwQcK ztn~qbNx#p>c+GE*EqU_I(a4)n_fD839)X5Y^~`e9JkCH;r@HL66O!o?HZ!cFn>jP3 z9X*tHt2qeini?kM1m~^gH)$b4F#P^2>Wl{QNlCqBwmFjJ8^=$a_;&fnlmBLL)Fau} z#U)|J7O0;A5d9Ibz3w4y?(K7j)(@InPYw7e`jUX}X3%|50&K1_`(@JQo^Qt)Qic33 zT%?hps`$m;KO9Fzv~k%R;()98=T~3k^GZlQ@pt$fW1d{Z&e=qy%C5n^Bs|B1A&QRX z3haUA5mxJccLAC{Y0l<6HnbSC%%c2t{Vf$aIjl6T)dSZfp|)+ZHxOTu|I$bQ?25v5 zfG4nY5)TO?c27mSlLFuD)+TgQpmNBN_nP|)AthJH;s-`zBtpq**vf0t#hsf1y=dEG zvJ9Zpa)Bxs>m6kG)yDw}`dsHy^Bl-|=htmB!S^sgaYVVr#lC58d-B{>ZQWdN#78n$P2yJJ_wK8q^77c?aidk&1eLU8`%ot4Gk+b9a(@8Ep$$ z{Ay8p@jF_wk1(A9+g6i4pdwgt{!H2H9NhPbD)1{C__oh4TcoY!^~C{bcX8-XOp$~< zzvQ_9cFvip(>&@XLBAgDA94#mi7VXz6`D|Y`t_7oF|CjZm&;lt@)wWM1uCd6tZWRU zz+b>_gtJl$8>LYi*mvd&fXq@5qAe}prz(I)9m=N!0;IH3qNTY?u=15rmos@)8w zOZ%LKSCJHOhVp6Z*Qzs+zzk}kalm|t>LW#h&Mty;(tk5MY`WON$pK23Xn(V#NB>O= z{Km=|9LQ(@T5@GEdSot2#S<6wc7Y!9X?srRs5hss9uF7IQK|}wU260~M>Dsf2V8IiQw{t-2swfWaGuHJL)^DSg!KUS;+yCsN_ocm$3k;A#%MxAddAD7 zHceMSlk#Tp9vuM^-={CoGIdF9_#!EtS|0HGnNj`doO+GB!kDA3P(_l?GubqA@2gE@ zD?3j^4%TwL{RoKRpL`837Cb~C229RBf?wSp^~U{tUoh5C?EGSWU^;C>4OdoyFRO4G zeDgCWVDoi_6pGK~BT3LaJ3crAlcL*Q%7}D9=|&#`YAKsRRPpZTjU@mGw}?{QbPrt) zU7-YKoF1rxio^fGj4Sys`fxfz>k_W#YUZ0rEj!dgz6})U^b7r`f%<7y0W7+P3DlB4 z=FBtF^jUkU8m^5Bv`e2w9iou|ZH-b;d~jUI93PsQcS2I9JAF=J#flIj#?{pSt)Rms z={RzQj=-NUic~lO~248%%a%&eOh`25>kl(s&t_epr zLCi-vrp#yB0Gh?=Y9_98Qf@3r)2tK)1v(+y7jH_LhjtMhQf|&fv$>I9&8_@(g^O%V z-y}U==FLXx=2ptd(GR@{2i=~09yen5U89oGfX%kc7oet2OH4x)zPjoK444$H4J9%1 zkoG;Am_Zn}j4&-+I7vr-Hn#?m8|8q8q|4Yz@k0g}iUN>gJ;ZqacxEyL;G!_ub* zs8TcGHCCTmLN#jp?sxKiYG~yQPPGFVtbug3vniBkN?f6Men#Qi-~DrgVp08DPR5yN z>gR}HTXy+3ffZ9t@mQ;;2U?@u(tg~rqB&)DSbsM=4gBrhPQ|T_mu$1B0DWsEM7|w1<2p}6Dm2ZtLGdXi0)}^zpta1!a--CeZ#$#TQbMt-};23;|>z@L#8-$;!|p+k&$}jnKJ9qB9SN3N~fRRRqyQb>-Da z1DHXGJh;I})SlP}FmzIyvQxC=#hQ<>;Y7-`6siUbCQ__HC{9M}V#RJm@JTVr<F2U)V{zJM>sG3^5*ITxS`_Hm8T@@IVzMOUw^I?q2dd_Or`M6btv2QJ8x1c|uHpm0QIyxjO z2#1aycH5htAhT^IGPHssV>Mh{U*uswyE;92^&Aj}Jk=(tD)ddqn2A5{BvI?eKpy2$ zUs0$?gbFqFV5D?gi#>YuQh3X6)C(V)vcGSX`kb7uF(9RKpkv#`hqS z{R;R|T=nw$7ucR3s{4)5qe&360K!8sRmi=PXftZUntHG$A1lcsKSN2De;?xbtHyRW zu}H&{L8O{9R$VTJq5H;xPod}QK0UAj_*?@gPpdwqoGM-zLRSi#3pF8&V}0LK3ROGr zJdP~m<-7?!+cTMZc_t=iz$cK0;-4}Kfu9$r8!_WbIyX4ned}Z1 zeq=9Hx7WMcpAIeQj~te|sjvZ}{XBML{LGt;9NhT698!bFKLP|~uL;!(6I3hr{+l*Y zZu!eOaEM^o#Bqp!Fyr>r(jyT@!g$L>ImVDdW;9t4S9`&|_aeGfjgY?qApwAOBq6 zC#FY&2Dv8-(AYkBe(lx;W)IK`bg`iH2PbIB+lr`NXd!K%7TmRbHV?5VYFJ$$BLD)b zL9~FWR&mx|Aid}+@sfsnc0rzdhagsu{kN8ifA?=Kr45Lx31LOS;7HM|22Ww;I(4MM zog@oJWTFAzgfQU8qgyLQy36K|mpY&5PHn(swSK1i0}|36Ih^ZUzm1v`;0@AdW_`@Y zfSg0u83`8~sMxVE;N98Pg%zuV$Kanw&7ZK|^j7)$6~bkIP)EFXAHRSIdoOPz&q$jg z)S!AY=*&*3Y9zCO3;P3 zW~F1tJWfl{gWpBK-q)eUzzk@Ag3waRr8H&CXu_&d*;2MtoCXv5m6p2U)c1Fls4z({;(hJfoE)K?7)PQoFJC_RbuZ5;S>)CDoETh4Y% z)Xh-DAuRxqkxcmNmRm~F@-lAXu{&J(J{8zD^aK8nlF$Yp`2i<1xpmPs3mofG#9L5C zL4A<0T8PN*E}jP$W2zWnIk;dhSDOB_u-^iAZ$*IPfOy8l{ydnGjIah?osuN$ehBIP z7D+=f1;15V{c;FsfyXN|yY<`brDUt$A7_9I0urq&lg!O#%d7LlMF;+|!5Qp58El)| zkMEgot^DcTne+k2Vt9xAi70gms6%_P7PnI4PWK=?uUPvL8{EWQ>v|bXi~9*0FN;f`)GRpQCR(u|+q9Ds_HUHb zV6Ebz|Fnu@N9m2ARdiCK@dJ4SnR(McKuLTFtQ{DUZD5JeD-Wvnq5WJa|4-=MTXo+n zgUVGlz6cO;-K512qj_cQy0tEAj{{P@P9Qx)nS3=tnIAVM+}HhH4S(XLntZ2VaBJb3 zW4-Lw+BNyZx|(ZdIWLb*jvK#br6T{l!)Pd7^1?Bo2a%`d64C)(xQ>rQ1RdLN|JGf`)sb$y2uay|dwd|m579WE_$Xx_ zY>3wmNQ5#v-rb7a#U?DbEs}s6y#J+(*>+v_j{dpmtGc{2gy4+Ibh2gfiJzJSUnbk! z{F0vN)hjmp%7txbE3HjGDGPlu6eGx))BUFAk^T8=`q(A)TscdFyEi%|=UWJom+BN>zHpFa~%HduWxQk_4RGPO_GZ2pMBGB7D25Tnz#W|>r{<&!3$C1kgKCCxE1cXq+Ae=XB zuMS3PTYouyUR+uKn4ZCsmI7fQp5zemST!J-WM(d&}& zVKQaEt{s;f^9CsXt(&Cjo|4OARh}F!iLA5!N!!_97eDi|+%EH<2L%%2?7N{*aqRI&O8hx>w7$qV)RBQSVk>0dLW zRrS@d=}bH$7Mu&Ld(^D$5|tQ;7sGO&Dp_U)jqTIgo&K<9d6qOk?drK2(Z`3m}$hDvB=fC&5Q;WW8mz?=#erf+sTdmu(($i=;>(4p<=8??1HW|}^d9_;- zVQ{ML<77poP#{?YdkFi+*Z2KswRNm#+XAdb+)S!!1-k3~r zYiqfjKIT9`85q(Wgx0D<2|^v#e4>VzOsIqKw?T%>=bw}0a}Xx2>624MDPr|$D$hHBI_{gmtxjnV~~ zwNbfQAL?dPo+q(Q-0nxozAwC8;?3ni`9jBIIHf;3|FzA5MXdK+j)z9xnKOR?kVrNU z8#*yGe+e)4u4m`I^nKNSqo!z|2mjYm6^_*~T#uu0jHq=Ls}s zr|z`2Xyet&f%?EaekU$$Wp87PmI0iD1HLn7kOK^%4qhD$_9!rJ(GrWAANhcXd;{kW z9LF1TaMN*Jeel;cY-456!aFVqmlBzGpft9(&BR5g`nEiHa&qX}A6cwv;yi}gTy2pX zw^pT}m~Tm6(c#(7)$sCF5*%|UpA3_&HN`zFT>q2=GQN-Jt}=}J{i2q zxi^M4nI8lZN#Lvao*zMRDDwIgy?1WhX-_;j?X!=-%reD9XRi4y_M&esjF%J>2y++ z)o7j~Gui!4QXXrS=lQlD7Zt6YC#1WVYE+xdFHKvA&aDO=r13k1(leiXlyg>?U%#|X zMb0+a3sjPM_+^AOeSu@VfQ#g+?`V#wMd!s(gRcUON?X+bjWIx==*m8ZBj3xsOI7j< zln*jV*FGMG>BqgfhK8WE^SC+lcvQZ9e6gOHj=FajvOgrJ`yFNMagl!VA;X{dWm}G{ zXF&PS2A8t3`Tz;4@2*WrXEomcF@0ZEP;4~Mr8D^!nX%C`-{1~opG*Np#_tKQ0&F( zBiyOm#nyFDdKT8MR*R9Y!-hij0$3}=sAfZ%yJZG-YCa5o*%XcgLbGv<%)FZCKHi!& zN#Q}wk+O!QIAv*i5}jDWuI0eD3;g#ovll*$f*jeLNp`xKy{?v)Ol`nB+T$+9_dM}Y zk$AK$nO zv2l>x*f>4121Jv+)X`GM`@k$(IFX*;?Qvr{cm2eUBSKl~$w3jS!9tBeBRiN4dCDbv z+VXTM{@c0T{@J?@`@FfLy)|~RoQJ&tFB|vufn^DU2Bj_C=}L2Y^c6+<)_+_eXc%i{ z&l+XD>3 z-kauxo&|Qw&H2US?0({(-*VZzEoI-rbP*5_R>Vms-X}`n!XlW%r7HMhHVZnki)z}u zn-rb1_i;59{PJZFR!(~#Yfhm#T$Brl|VltX{Z16XEo#R5h+ zHeiSj=YyfgJGdoK6uCAa75`TiPi6)u`c8iUstM07?WOe`#5CgueQZeP>~7(FzL*qA zgBP4Gdutyxu-Vv$QQHL}(wLE;?kA}hdcWl1yaz+#MHx*V(s9r2e!1)x9i8tzH|9>f z5SCX0U}Q$ueHR0njArs%+OT3-3!d|DO;<0sCjb;dvOg``@r=lM;#+cm9LKt-Gwp;q zUb)x2kUim&pp`?^=Em^PA}?og$K8lDw2whKCwq2(?Z&XoS<3Bq;nh8@8$DYWJpQPo zTx=X3wis3NR{>z5cfQ3fN`7zta}KZhGU0#bKty-!<59;XNJ=nJ5@;yVQ1UP(VQnv| zmPZclw_(dwf`Jc27NzY$d+A+r-zdxB-^yf zO}bI{``PXVKBX^v+qAsDw0Z1byA*FNX-@OJN-2f%rQoX0gcgc4x|5`Iq*p)a>J^V} zZc1lF*1UggO_-T<;_i?heNC13{SoYh!@oL8c`N)MQ{xOAu0#2VHM0p==d$}hoy%t! zKL_pUJB8bUnz5~lS`NB#1g!e>hZuA*J_XKeKq^o9pC z=Yk}Xt7_K`b^ zI43h(!zSt&Iilb7*5~v6e*gLPpB_E*dcVdsp4anvU14e<)q8LB{IveoH#fFZJcuh2 z<2Q$hA*~dP`J5xcx18&j2dn$yBgyNZTgr{NwND>T_x$L`j?8>wttz;pmI_aE%_@2% zeOF@$tvynoHL~>Zm*4{b6wUu&q>ah(8Md}Nb-jk^O6Bpv_RCU{&H(qr*_H}bm zVjZ63u_WfR;M@)-G`6-&G@ixc>Y?%jnC8#S{P)jh4RE#Yz@*;}*6P>$|8Hv2!bD=M z`SC}^^_v|?=JF$w9|i{pz08DGpM`?}(9g%Gh{^J{5OG{jhns^@)0;CO;pw%r>)R8e z+H?Bn0>akI@*Y-ebuNJ>O^iwN9e}{b61ysf@{V>VMlS8EUb=}7qUZ?No2;ZoXCDoL z*4N29yx*77-m3}?m)I3LvHz^BajU$Y5t>VRyYf1?Uvm9hy@~9qvI>7(9e^8FZ+2g; z&+1?Qw!XHKcFph7XCn)Z)32$aiN18FL4%Tm3?7$N$9Il+r_9+G%+V|BXg99w?@GJf zGT*$My!={jHb*5{huS&w91*7D=|h#z-F7uykKF#GSGYw@c#Q%%&zkO(T!-|qs8sQX z5fR~Py=dQRs3mzll?Hm(cC1Ef)y$*uYwPLAC2O)XG~)VqlV3aPg9%^koSkn1`OYj3 zllO$u+?;AIesJO=8URAJV36Cn8jMf^^d%2gmuRJ)nRck+l@;`nQ>)CUjzJ7KZJ!e2 zl=0|M^xNEp$&}$TCU(`I+|@_Wf84b6kJBA5{4n z(q4AP?R~|8P)6FIKz0l5-BC_~hnshO$1Eqq#e?4WYho1)hdsB)r8gx~KI?9+S~>wz ze1R;7bA*z^uc@nBrd&Qa8fV?z6 zKIVRVX3XB-XFG2E$;@d_uI1kV)Biqgep96P_on_{Nm%VvrLW`3-iF1fwep{VcYU_c zkdT=pM8OW@Sf;G-Yq8T5CYPTE2_IlhFBy$tHrE7(hCvb$RvzSb_v2xO!bI;A5eC62uAbgq!W?rX^pRpCwR`GpC?)W@^o6aO(%JJ1 z4WC0T6+N~+o_Ief!Ks!Yrz9MHC_%wpyZ%y>{uiTf-p|rov?%SkoUG%qHNsZb>ZZ42 z+i5fBeSLkO{7a-=JG7y4b0a)zeLOl{J%nRwWN}6~KE2qvhFwoXU}=Jr6P5QSp+)iS zqKFUE^}KifzsUr5(yy7*zo*wg)BZN!GWX?aC{ZN|$G}{t48N1m9bvDrjZ`wu_VDZHb8+A>BUYUY>aDXO z>EKFdEThqZ5k@lMwyQY%FOKSEY1?h}Z*RTqCsQ9_sZ=SgF(J6MB?umKJzQ=E|W zbgFu+g+pEa7ZyURGDf%^^kGiK(hF5vb|PC#LgVZ8%!Kspk@cm@N+oYCD{Z=PRGM?0 zOp2AWK?cQH;8Fj6MXTz&&WRA>XLr1Rxs6%yRpUVR5wGs37MoHxeb0Ea_F!zE)^dE^ z|8AOI6#i$pbfWw|H-C7q36q)R8;5VJq;Fjpy7azBER{xNADQfo5LI6k^I%xoOIHQRa~lvnu@4E`-l4xC)n z)@BS~G2plB5SsZz%)i<0K(qU6xw&@${C#68Tg%ZK&vm%Fpc`wYld!=V@Ba@>Zzq=I=w3HzLm*` ztRLq-yz-cxZrtj%tHg(k0_*Zw}(M*29=pQm)4~BT$x?T3VO2C z{7XGSrL{*4hc2AMD=JnvFxfQzwIeu86$Gvu6uko#m5z;x7?~{=`&TXGbL1x}y#t88kZ0^B^KQhz054Zr5=IqI!iLt|r? zozo?^kk#3?dx>yK=HJisH`h3=+gL<1Pt()Amj$p^*2qe|{4o|J0puFrTdWU9nVzY+G2lzJba;|tI- zWzH6GF{?lIS|8v6rHmS3lwl>@ElhasyYs3^^37sRU6gl4I3h}|w-#noQW%C^p5{}= z7Ax&Jyx#{uXw+Z`ZH^AxQV z?%@`cPEZNym|siwXDN`5wr#xVr0At0Sdu5Qwra5S?~C1wVFvXTj*v`Sypm1wzSUFo zEhlUZ3rBwMxL2IF{$nY4Baru>VZ-u&bEkq2i9-=ssflq^^cg!e_{7tATY zJ~OrSay{Ql_xb!%KtU&5)ZP0YpK9v{4;s3$9>uSDV25`lht{bYr@PhzAH*vUYSpl7 zYup`PiK#NFEeGYo79BA~?yHYPBAe@q3O=r`vy;khf0Z@yVJwxAByN=iF0aYN#Z{ zp8r@m4zYRTtj`p4yL33XRBB3^s!yOPC1a?@n_3J2Y4CW?|07jIB>8vDUw9LGEH7v8$&U`cYVdEZyg2RxNuvH=BG%LXeV&hOVFm(#-xkekZym z!S=G<(L5 zBd~zTby+E1SgFn$k9WV?n_b>gPI^bzecSF1*JGd7B+}%#!281t~|6*k4Zrf^bW*`T=8GGYCp+{V(K=+k~| zIvM{ud4hm>PyaRyd;Sb@VZ-9Dg+`w5-L|K}D{49dBGm*S%O64?dOzIL1LGiw%7N7C zzcBqj$^XZhHJ~-CCFeN%n($&`fpYRpKDTnx^y6yWfs+}4SlM}ewN$KpNO_1pUfB!* zJ@pzU4$5~tF4E&VYS;*13zB+J0rjU zxhPaO?tb7{_NuP`F!|J`;JII3>5L!5-xDUf#>f9rGx)t0rjDorSl&v^4};mR5fBXn z1B-eAgxf9mfx!VkAc9!@t;f!0NtbSA=vCjAxf+u*6M<0a(YKGguxtOm!J{Qf=;ef- zdL@hp6Pj8n-;SzpH6@fU2H-v7ACCrJJXPRb-$Qy48o)QU7}2&4qNN8GT;;dC^1ZdJ zRrw^COSZ2`Y}qMKiBm94dCK}$$!#4PSHLjf@gpO*3ZrmdVFX&?AepmYz5x zxd(Oeg;TD3^0I>Ft7U!)UpUx%bNQi71`tek?JCOHIM&UX(YHc13jJo)b@^aCelcpc z?m;&c7rFL8S36xSdAc``Dfu2L`ZWO^5593>FVi~k?-WfL2yRak04C$28rnj@<)254 zYq@&z*UelglX}}f<3vWM)OXk3;c3sIyYC~!2Ye|UWI8JUJ^y-ooI2TLhp|Mp7T=BO zHzQs-jDCttmkz6`KsBjl@jPlPeW;ArQ^PHcUW+r6hB{y$U>XcgL+aQSiK2Q^wJq zi`!=IwB3qI?7bfMbz1l1rOe7zwzjqz*>!H)j=6J(5c;VLglBI4Z&3MyCGij(1#@j0 z1-b=#q&!Q_HE%-NNBaDYf6Zdc3YFdEv2J}^H0SiwwO^}&;ll*IfYEafYt?*KZTO)t z8)bEMQG18xQ&)(QE#)rHDT@_7p_2JRVc@5V%@~3~^I4y4jdE7gF%I~223&Cg7&JfM_GGvPUUU(<37^u1?#J6~Ot8v62$8E@_~Q{&Yf|8Almp7A|WM#en5 z`h-u^Ay&2ZTBTh;1;g$##_jmw1e~4C50(A-t$P0RBfmN}lq~N31jz=2_(~)}#qd5) z(lECJOdtnd%%S-qppaEP7eZa#rDer6 znfctar#}q-st~m5ap0!a>;P{0{RP^z0qs^ddb#7v_9eHrZNsl2Ej8QoBxOB0MZ|dv z|Jdliq@<4dZw|=ve!7x$?)-3o*^b!H??1Rt)h$aAJMu&d_0?F(ObIa*%J@VzZvK1v z?nMAM1hcT{WIxtip#?iGtOo%0He3IY^ojW|j-BN{_9d<83Kl+%>bxr zk?a9SzXQNjd89Jsz*-<)QWPzsnNBT=Q@aq;g3 z&TK2OCCjufj)KYJRW-Ykb3}Jfkug(UD)7ixUci-v&Wafg8BcY{)ng87k)}8EyJvDg z9z2gHdcK``HALunN%4c38>4zi&b;epy>akcFMQzC%K1}pdZL_7?e1KR%X^@Q*-Sj5 zN?`d2h%H08=O88^tN@`ObEB98LBE{1_jI0pWyQ#1+<)+QM`x=ZUcpn?5n88j3)q** zhcQra3U?+>t(FR)rWl^6b7Pi`DhKMwYVR-zZRKvQgNZ+1{j0Rg5us zm(b2YBC)wja|H&b!JCW7*~M;TTkPK%e5|`Nnw{(L%zjzh!b>=!P3xx#&y9NVUo{=y z!o-<+B)wqA?b&Gf=hl~ zps(Oz@!p$Lq3`@?m1Kh34~oVJ^v@mkDWhmDD1pirtAXse#=?lifsT9PKT!@^`;XfA z&%C^QKyFe;AA7hEi9cRv1dHtiw^Z~G1$lPK>!v^(lXSJ#Gg!>~O4uw=n<_a&YPzYJ z1K&5)W-O`Dd#TSL*mpxF{iLl%-j#^@&iC7pN8#Ta^+`aXyRV?A7@~&O5~e+Od$5R0 z7HKROX)r+Jta1C^IXU7xf$r&5AG6S&ha@Y>$BAuHV{0Ft2b~VkV>~RC!6D_CW6O9ldAoe$}fI)=tTk zFZSHdh*UxM;_Al zP?M)NC3R)PL25-RBAkT3oRr z%`XF01e!J5L=UGgNMP)|yDQM?0>i5jISUhbK=hrE%3~mh1rZJ{r+A_9M=J++5qnH#b)Fn*)0|l)6!~u(K79#lwv&x=|w#A{bu>Rr*(txk6wjl z3!07DDem?^Lwz_qQ$JrouUV$|u^jSZ=eE4pD;7xfjB?uwO)Lr9zq)7~zGqtG%&}_p zD6ks8XKJ<6>*BIJN2u|!`F+9Mj9#;_dk?P5SvL|=etgK!Mx?fvGgCpbb-Yj}zYcUN zex;yEvuBE+Ie@MmfPs(xQ5g7cK}L4~@%iMcS*>>3=B00j@2pulHt2KKiQ2rcKJw(~Vc(PM4wql8P2BU*pp<4~y4O~5 zhPf;-5;s!rjBt}KSk#8w);fk7PDOp>zy$b|F;Jh)XNCUGCdtHka-Z2SodLP2iCJ*v zk)HwFK^%mfj+KRgsJN{dB+xsywbsQm?aV&n!;>TRGgIL|2h0j>KQsVq&QbB|dh5tO z_rG!_GFr>UIod2!^Ock8zJT0kYB{X-J|Y=2zp0d(fP6swB;3JYF^(0!Z(wvc=8>oV zOXY-2_r#Y^7M|PR5BxMTvh_W;2dIwD6(Xn>V-QfaUG_{;V(gVAe)2l#^R;+YJIWsr zV>WYKRjH|~+i>JMTqwEj>pMoI0yOuJ)qqr%-~`smqD#+#(T>ZbQa(yL_kpjOYh&gS zXsK<+tMsw#;xP2sAuV;JP`$#Ah3@TUUH;r~BVjH69&&x7R8^%CS?qJ>Q=`)MI!Ra_GOX#BSy7nQ)AW0tbbU zRAO2OhqmdIeMpzwE9Ke8eVFw<#O174Z`na>`hm8&0G(-IkPE7997--XW%Nkc%ju(( zmz8;FHADWu)$zBGu(qw)o9PY(L4OG%^GVwJefeA`jD=zT7YU#H zmhnV`cO$KfMxQD?g=>Kg?WooouGt~?t`%pcXI_}G)y-b5=P_ZvV`ahtFTHx>4K$W7 zUqXVil!@6RX(_@{z7z?~QmzSrSEe??_5mcTE6G6ZjQQCBi4-PlIEQ61eg6y5;CZp4 z!WGX{v%?87p}8ixPu_I~iOepAK_EumE!vbd|5~#&z0Y7~n<1`DkKR7QR&dfXz~hOPxcOso_>ROS ziH~WE#|vh{85XX zE=8yS#@PkKVD~UB`)|s#ZL<0qx3!M5s#?G9K_2;a3xPjfr^0{aQg1|xTcpV#5kZ+E z-Qqa$d)80R94Ir}XfG)#5i?xsT_PQQ>d1(KZ|m4w%>9r!H4&>ka59jQ%hy9K@VP-) zQj}~f7H#orN{^{MX9z%~N{iaMlyrsk@|`=TPb9mR+dYU$JJe1N7q_nCnn-}LPhYIQ zF3{v~nnPpZ6G?kCx)2-V|Yuq08Ncpmuc~A8<#t{L@O8<54NcT*;zE;AH z@Uw~86+#V9l?IqqzHmmYg1kgyA5(3F=S}#{UH0mCgWo@t0yB+iJ-+Y#^$YrF44esr zm0R_K1^*0V5H@X_vDsyAX%^QhmAuz7Uvr8CnT()y7xBVJ=#Yh*wM%K`>WEkk!~3u( z1YXu_#V{M|MazVr2e~9K37hR^s#X3mzZayHpx?+6bUo00__vYYgBbD2lA@wWF)#v7 ze5sbwl=xdBxO3F4*lE}Y;NdBH#MPY6%j;%oFtX2xSqWs0It;6yKbueyG!#^#!iTy{ z)Wc_u_@UQ6t0oI+2`u=P4A}Ipx0tk`!gmOATksZ$Ya14*$}gX3jvqh5z@O^@>Cqv@ z2H@qtOvwDe`pggm9;9kn?UL)>Ai)#heBOPk0(<1nNP?wXR81*EECsUj#agHnp2&Bu zN!qxG_h1T7A%sUb-rO08FWAH4Aq-;vwtc%Rp9{usIOU-jBsyg zgs<>8H3yHgt<5>!P3Gn=wUD@9{DjN+ip8^Y<|Ybvwn^^4r@Y77Mp^g81)XPcoJLof zbdIj>m(jWAv3slbhsOu|dKmVMUgE>+MCaxk>fe*NMxOgN5S^YoZ4=mJS$wFgHkT4g zQJVL=9}qGyy0emTMCQ{3xy0g&&x6ux)M%MFbiKM6p{M^qz$EVH;-a&OZ;-KR?qDLo zQ^P=BgGsZQc)GSbd8&)+u{_6QPc|Zc@3_I5bT3LrEKVsb*P>`I58;OV-_n`$k>!zQ6Qx7Helk z%#WR)yt=yuJqrUXl3b<|^6lS^jVM?$UKP`fV^v*5zE#9h^svpXm%$|8m;aV)UmHm- z<}4C8()JGtcU@dfa9hw!jgs;WL%K0V;qfdBwmbT?5#v3RwPuv73ddQHO{Q~mE+tL* zr)uO6!a0L-+(qS{qTFWHNybkTcwV@cgj+ZHX-gCa0fjx2h1MBGfxi6ClNvEE^I92l zbD9Ry<;7|Q(c%z{_Gt~daG?uI&taMn58buC`gQIb6sTdkwDna|Gz=5id{a7>*4^18 z=`mmoULf}kvRCat$xJ)~`z?4c%209U1oeK{%_w!^kq@^DS>WQ!8nT9IWcjbfGfyDR z2S5DQqdi4`M9)0CPq^3N^xFYxGtnFCjv3tm10ZnE{nJDuV=@zL?3l06uamW&_orWl zQkjG8N8j@+4D)nqB*uuVsX^1l#qLgre031;tplD()GuhH%-mANE`uMaLN=-4@B`x1 zO`n*VI>O`d*dE_15uaK2t87=0-YrhFFEDEtue={G%GWXtkzvBKd)BJ$OnDjhnsTXg zTg)(rU@9X@vt!Ee%Px0WU)?QG+9uz-lko3XB^4NhQn!3{x%^DnWr&3F@7+pyKrg!3 zwP$i^-(+gF&jO!qtPSjJYe8?kr_}0x533ZOuoc{5XQ|4XS2jXw0M`-Ut%7TZy@7FQ z@3E;$*pN4Dy#fq7M;)xa_>CANu2xwq{!7{77?Wqc>ghOJADz4rx*ciG zX9ag+M9&N8Zdr1nV`&Iw=$PHfHQUPC!V6vQx4T>~iFZvHb|wc%dswWqzh@+>gMJfH zEwS5sucUrM`5VZKV3{{szkl~1tcz6P<^hE({Gm%xXiJO9EJbf$%sPeG|7zV!$9onv9m)!>QwoDmDZ}9J#Y`Wc@FOgoanWAn@Rbj^E7#>E-gY=S=Aa<;{EN8U|VsG5tLEj*EJ%^p@0+iiG^aXhu(yJ1oWn zWwuOZS?bYd%n2vw$-xu4I65d(k!C%_ScGld+}xj+=LY;EA^?s;H*7_sHXhXfdP9d; z7{0w#x$e#I+gajVCD4{U8CN;d9325Z2?RCXX2O3 zFHK}g|1>T?f$Y?1!K2L`PPI;5{E0E`uLhX?4|zDKrAKc=(kBC(_60WSDao=^8JGID zVU&(_ad-tE3L7bYgRj2JGhy-j_kod-M3`v|**-#xx0qR_Q`+1@7zOXSK4i8SYJohr zF%wQes%U*Wv}#;cn(r-BY=!94md^3UV4X_jVJ33%R@2V4-IBM)n`|wn!la=$f}Wb~ z+xjK3DOz;rug4pMRxVGtWea2D8S<1=Dz%rw^^^B51a^ty2<7j4FJ+XnYW>DfT6~KD zw7PDMrtE?DxI@d*oZ%1D^KOaD3i-r>Be!%-EL#?J)g3^Z6zmkbZYCyfI&ULt^u|PV zQ<_T1rca{(?Z2wR)Bhs>4BpsqB!9133rWs1wQE*@xJSuBe&1onNuwcT6qs(3%0qb8 zL8n_hW6xgQL(P$|d)k{w@(vCRoVP)vDjKY+^-1cE*U2<`=z+*_+{j_~(!L^;9&jNb zTXcSQHews9pEaPXawC%W_zYRLVE(16y<6&J&lu4&prrJS=dZeP)kD-P@;!q_E;pZj zbW1JaiDg1*g$2_N1^1P`w;()%$1PBvkidl<3*sxUt`>s0Vsl>bB-?{}$Nj%S_z^c*5Clr8sBLK{(&x7ow&%t~FsHGNnV)A^9xX@r}Pu zD{M4^+EJF+<+Rf#87ja`|Eb)@wc*WsF)EmMvhZe;DOk@XtAoecHQNHpTXdyyqdU84 z{BWBlQ&*K2ET-j3^Z6s?CNI-)M&^+ja*->&u}xCngxK~mS6NZcw2;^yFcM9=gA>!z zL?WNS%tUQ?*-wI@L(#_(=*|p?%M9eW+MBgYJ0^7OjdyYG@)jSQW+4`Ctr5$SPz0~=!uWxm~ zT0DuvyPXBE)t+{&aQiT8kdOb%F114Dto4mB^IRYqJe zH!&B5Eu{@MoxfoLaqPF%FGx<7Kz zP?J6YpKt3y*I}9FC|GhGDJO9(jjRUHJy^LlWx=+s--e3h6}PhK2>Kuw;iSx#Q{gqG zrBC8;K_**27b06nvvf&oBg0a?p74%g>+3o4x^c0uyOKUzBxBa|Hty5g{zc zObB=eVMTR=<1qw7@I1SyFX*rD%{x>S6jWI##_u zqd@KP$yuc@q2o_7B}Cor-G)XI3~_w7yk6PH=5z(Bov9=nNQdpU3z3n9{v}w1I`eIY z5pmuHV3Q3KvES(HJsmBAHI{@!xp-Uo*D~gfE?yKsMy(&A<_Lbu+B#Ut!_a>Fn+e>| zE1{r#ZVkmK2CCu}hzT?VX=MgTne%#Fp$NDEg#nz653k4a@yWmXR~#v{2(aFxxdu45 zg_^P``fe~S4_d4$A`YUYGS+v{s-Gx+zr6})e3G{GXzIH?wVmKhzXMxRFRJEkey{ z!`C>;wU8`r2@xKvW`o5>byu)YuP}KMw&ryx`T{wS!D-5r_ z`Q^(OSUmBx<<*SeW3tiDZ!#f5{45||&2Ui!%d(~7Kl^H4by}VqRHe{X7$KUM+dHWk zxMY*YLt5#euf{^8cB-%I9Lwb0u-YnCtz1UW-}ABX8^!X3G6qh>Ok}5w4bt-+gYTYq zKYS@C+keb$9mdfe@~r#Dd6=3fpCc@-P4(=(LcHzJb)H6IOYC;LRHy&Ng4e6M)xmJS zRTX(yC_QQ$Y=-5(g5@*fo#7262q~t=^}^3ftZ!p;;uc7DRZdSl5%Z^R7&EQP$*|Yqb$eZPWx_Ia0#Uz zFn)chM@oCgTr(rNue+R)7EJPQXDg%B9@G2gMg7N01@29lhxvf3(l<{eKOs^3Xjp%Y zbL}RKv_A;ZNQ1JvI{)UQe7HUlz2QDs8F&!38IcY=hEgb>}Q& z+@5tC1^;u+t0+ub`q6~7brDNio{%-at~s+N&m6esJEFSOEymK&v-y7eZ89Yw>V;0q zWk#QZ72WrtX!L!}iAy%p?QE*t{V&Fyg6RwOKbhu{$Qa+^r|+|D7WKcm;xf` zI_1S_Ro++ciRUu>GO9|fYmGIL8jllXW~@ze?Q1^cJXlqg@7mAp1j&cEbX&bfSt66h z{T{=>iG$THrb3h2g6_U?rKRY+SN;V;9e0_pzX@@SsnA=~u;zwio)@y1|7gBC13Xx4(7BGu|t zb~d{sWWkr3Jvc@{Hd%1@kE~q2BoY5vqODsoHV5u)FI;WmpoYP%0+*FFwE}4-U7seF z83DOJ$9w$OapKN*vBi0g3~BaVB8d#>qWz=%3!~rIs8v-a565SEV{Eb<7Q)CskJCDc zVY5XPuPvI1(oOk$?V7G2!mg$DIDq_#A7F>^dzzb@k1z*I41N3N3+vOgoZh-vQb#|G z?K8nXG@YWL;L)AK@#(1po!d7~{AQZLmx3HY6lAjRxIh*qHm8kovZ#vxq3A^HOOfo# zPbxV4*8I42`-1#oPKWy&O=1|Kzx>d7fvDSo>LTV9OjTAHBPL&NDnVCE;dx_{rDvUU zqEce)v8QAD`b0O*ErV%6`}#tvsz+MYfoJTVgZY$p zerRBsX{CZc&7z#^+gGr{*tCx)$%eARK-fK9ZS%Oe`UdTrH7+$FkPD$N`?0r$LD`%6 zF0}yb+k$0ZfPz?@fVTKvA8G>CJX&+EOE11H!Z&|QF;hg!cU}9IP@I>XM;8qBu4kqi z=JT&=QD6S;?ml6IIF0&El?=QG5@TQH16XQgs78s(P4{D22>e0fa4m4`?_{?5+dM>G z3?@6;jzm@oA(6sZ>B54lUGnWpYEAniGtz?XojvPVIE@QtQVz;|`ug?Xh^?cGsooHL z<>xbz9^f>E#l)J;BG;FC{eN$)WBYlm+j|1CljcvKz;lpUJ!KftT(w}C+p$MJ%!~i- zRc&$|;Rb&P)~p;6m%G~zwgNCE_k4U^9lVD3S53ucggb83y?b8&u{ya0qLVPr!*Ho&oojyTk;!AB>ZXab28#~6 zYEi^^ce*O$>adHujrDzS$(9De9gunu%~Qauq9cQ7@sFS5ISPxfGQXPP2c|=dMS#~u z8A7Nl^v@NyVr_P8`o{GDN$?dGB2iJ$<>6F{>1(p|Yxj7PJ`K@N-ZE>os9i}hlOs&Z zEBc*s21B9eXMPZbml7~&kvyt%GV&EWvQpO>xt-Z+@y;-OIL%dj**RR$XqsP@;GJsiFbuj);QomE#N z$vodg3Z*sB)ST1T{w0%rSlq3z!te;>9JhuQ!!Y+S3=q?1vKj=dL{%^A>&1kGgs?Rt z*(U`Bg<6jCxJ-)gmQxO`v|qq_RcYxv=QhmtWwc`OX*mizP?Rt;ZcigAcsl2OIEWYY zOdKnv4%R4mCZ5Ma{?cZ!oAA<(4)ZwN?;$C6D%W!oMYk5PB1-Fv*)%kHOvkIxx3ZcIv&F;pR+9`PKn(PW|ET{l#EfocrunisytrL}rs(?-P#;KKiNH{X3@rpBQI(DeIS(aWDxJs``?YZMhy%&li0}pw0 zjzeNI!a(>7&c7QQ;^PPZk&9JtiU#LscGh~2s)uD|X=$Ju3Oj2a!i4swYHSH}^}o67 zMlD-mjDv+9sGQ-xp(WTFKWa34g`wtNl?go*-oBS5o2D!yG57Ijo#z0)Y_8S$QjIbTr4S%M|ho?W!?RgnxnL@U!FmcR+Rf4b@!|GAY0(`0sj9>XRU-~91m z2+u5&$DqmaL-n+2Vkni}SY=nt-h44FcPt1)RMMhv-*y7-2`v=c$=ch~w`q&V#mX|d zr|_~&dPae?B#&)e2(J!FQ=T5m{SieK|D>$x*XCBL{8n>_m-sHA9ZeR>9}{5{^&Vuw zF@7DK`T<^D4(XAc>vN72akjUtZ69^dyUT!#u0qZfmd$;4U}y*|E}DF#%(UJrTffQY z{CV3@%dus#k6Qq7ol$-O*i?#nyPI6w=Q9zaSH))%V93K~A>5*_XjwM6UGpzEJ;Okn zP4@w8s2pK?L4kuQZK4@hQ?^+BF19CYeRc^==IaibvkD-~G1x(G@K_Y^C5OD*JCB;p zv$WDxQPY>w(Wh`NWi5L3{UD{e3-d<_+JF^4p-eB(l#Q?lM4yI9Yu}f8PqU!Lj+K51 zxDiglcP=%h6&=2F6hH=9?{(IyATUTcPm|vdLl53C9XhL4#|0Mbk)f6(BuD&cUv6b+ zVGVQ=)Z0BLbZVfl4>(_j5WuHn-go<^X`}iDlN!ts`QPL2h*L|jP@P*aFd*QE7J1?4 zu#9_W+CIWrb)NRW{B{v{S{~ejlKFvSv-o=F>4-n~QR`Lsitp^)9DD;pmv_h7xY}P( zBWQMn*f7q5v0rM)ymS;vxgL8o#13G#@OmkU*KYh;rU2F%q_R*ja-u;%%QlBEPh5I5IGn zB{=5>VC$FBr?b}?epx*>VMloBKksIkPM<0Hg0%sLrRkgp5D?1@8XFrCL16m15HXkQ zX)82dD}A+CD_Z7SDiMDaTlWPywVN?Ar`VC*P1w?bkr+Kz&8tx-72c_O==K}d@*}>- zm7(74xwcCVa3CjNQ_dWkXYn}%Oox|@1OeYGa%ITqpFn2vt*j%4bEQh5C;M#}w7>9s_b&;CLnVh* znXCx~Fd$e2D0n2~2y$A}zYT91_#N1`HrDXz&HH;i4VhOh{snD!szxTj79`r}$(HZLXL6WG9E@a}PLz&TDm6`6EY zjY+-y%lA!qi1RwOgE6p!TeF`Vij*laWbfjfFnO>Xif(j{#FV~JWPe8Lfh{tI&`vzd z^wPQiCQfhQoXKXeIu_Ch-3kK=^mIP@UUw_)Ya?DNVB{~AqKSMnv$nPcbHss;XD_x7 za}pLi{7xZdJbTP#2g{r=Xcm^do2xnH!F2aPZm(-{9^|b`IvnJ` zu!mwHSRGI2m1^rlaeFB=dbKi7dx5BOD-y`vd;G5aPN)m?=d2zD+lZyqj}S?5kH*q( zu}zMX!1eX@^;cjl5%n}S@&lzGW<+)lA}<`RyIHgxMM13X!@@aGw5Y^hWdR&?c63~X zOX7_32EUYaw>E5LN>08sRzyHXU73}kyW|g*tZZXM#619)w7uF|)(~|Jf3|`F>Ai;s z^R`1EXPA0Jl_1dN_uy93`!5?HW1Iolw{NQCj6e-bCF3n3w2 zfVYJ`8}fcgB50%?_DMsW0@xNG;RTIJ- zABV~#&EISqSL3X#@3SQE<*{805d*BeLHyz>Qi2U8mkAYV)BRAjWsyXw8P8QfYKk3s!}dz=;*)= zFyskt9cQy*Vy09IBfVL<26ghS>?5-H-jX278wpToFGnIVQnO%a9)K!dRtYZJ^$e{ebq7EiTYZpRVyL(@y3!swxk;Us#Q z67lp7Ki;4m2!n7)cH+6-Uw9?gXHP?s|&80w*{9cNy z3e#bRSlfe_F}rf(7D0@#e_GCxZX#vsbHlmy?&$lD8b3MIR06KfX>0NeV|PJ-bYW%# z`CnmC(Wb+2c)_fjwT~g_9{YKwq@EkmKLNgme%d6tZZ7k6up?yT{)!O2R7^V+A7MeV zI?sfROzA@!+{81ju{oZv7#C_OvEpf_+0)?gNVedh08O4aPO{$_)1(y0d_z}|qRxQ? z9=wJN$Jt?b;cQ)9ja49jnEpuqh>W`m8gh4tVt4o-8oT@%-U1aK2XpIgH}c!Ap`z&%)Q9p(PF(0`upn>4BCF=<;iQ5@mTBN~n?W2186(R13cKYyQYUitD)eRdf zpr+2{>6aeI9(krTNVwYPT)I&4PdHhCWV`P<{)@h!LU(;D5hUN`v^i( z*tne#^#J(We>>{*bP^XljT`#r+fOtpAiXT3`C}{T#1DBqUA>8b6Kp1(q}(n)icGg$ zJiu7Tc!+EUfn!kMA%BIMN^-I?u}CsJJlub!SPt9}GP3+%ly3O#i>I7u)My$%R8a7P zB>hNRVppNAPV&*ojxj{cxb1Z|V+&q4k&!^|5`UBp+sEN^HJvlz!(VXmcHZo$ITyK^ zK_)<$AT7V_*EoU0%fKR=GFgeYc^9f{?%uttO1f&X{!+c-1%K+b@Dr#8YwQM;&dyR1 zSjw;!7-qZ4!)SeUbT{nWkmo4mQ)scRbZgLz3$gnMGwdr@rC=FE*E6_%z&2EjZSUfG zztcDgH>&GY9OrqMkwD^4knl`W+Cxsww;1G-)by&l;b_;}$?SrH@rH+4{@+Ux@qruy)o}3841bq`aVfp z_YhCt>S@PLyAg+!t*pD-=H})?;xo@5V^rR)nd`5MZdgUysdkG%MflUUS;iaok#)|- zOS3&NF6*bBX5!aS=aIr7x3L=*TwnYV+3?wEb|WLGi9Ew+qo79~=!5S^XsG>PmqOeb z4r2phUdT;&R6lR31)}4RmPiUBX!c&{A(}tOhvX^{B<;Udq zc%b@e8i{vGr1&AYyb~RRGcE1y?FVr|?^1HLO8d@%RrZlXgyi@vP5^-iL)N5@m)^b0 z7krf76!K&CCWMQFDh#8pZH$DysZcr_y}EHge6LTYh_!V&#F!Yn+e1fW_~jq(LY9RT z6`SwgR6SoOgvv^aQY6U8^D7T>H``>IWM3aOq82Sy@&~yBjJ2j~&N_=DE!%xOV3dA@ zphQE;4|>WcEEA4;#JSa?`eKvw(2-kPEu`ncnNUFkMpQNr)+}w1}bX+U2wM7o-V)PgA?) zU!Kc(?y5HV7v1r+J`W@qU7{@bU>HcgCxykh<2=jgfh@IDO4oCt=NF)tz9O(D7mdNs z#x;9>qkjU8=`PLQo*3~RIDCL^z^B(&!YIQkOvK0j?I<~h(lMd&I%3_Zpg>uSDjRy< zW}?$COcK`i6mooiCSY>dG46@%G)jYkCvVMJ%si z+O2;rwAn$-MsMhamZ$2P6cXQ^5Q15PA9i!Nr*`5|!Wdt*ev7B6i|Pj^H;d=CHf<&;o_+LQ>h>9MIqyRxk(5fW+{XZ(C5C zc`MUTxZSRx^*BtSg<4yOQj^*;C0fwlb^iGCFU!4wT%d1I4yp%$F9gys-?!P>L3Wa9PfQbVxjp&0jS~EMh*~EV*!Gag+aH!>q^0bN^oN05 zG7ni8T$b$;;j%dY*`HK}MR&-92_QE?Wga0RwyesUu|O#Ke{6kuAe3wS|2=luDq<3q z6v{R-O0tZcHoH)fWlCf@p`z?2M2S=i$ujmWQIyCs)rlgRV{Nl^%3e|S{de7?^S;Z z|4tI?xfPkNzG8TAUs6(%vyuSv)Sp;f1ZQ)1;=mr|1#M@2@LS9~Bp@X+JK{kgY3=ot z$;Rg)Wp11C|uUg5?^p zU6%0gL!?-PRdb?n=k?^za&24GItl8b zr721wGH)P`i=R+$)awSIseBE^-sPX}>*TJyV{EaplYb7WYS!wY*|*?3+rhgfI+Q&V+(?A=gbmx z2uG^NmrhFt*+tyPqw0hn&vpTrFUfeHoGrS7L;&s9Blgu-yC{Dsl&*NG@2}Ak_e(Q= z@$JnC!O$w^7E~Mz6b4KqcIbBEaW#s$9WCqKM;D4;4&-@g_P^8%yIGUAp0P6b*bay~ zvR_YgQ;K$-LWW76B_(F68A1U<1iF7$4ddwTy=LGCB4uz2#Mid3mGz0I&|Mg;4e%w)}{gKc*`j zHpP}?mT$jK@2(2K8+KpizIWRLDtiojaCufe6{Ea&y$`M?<&jR5dJVfdu2v5VHk|Kg0~vd&ZKV{J+#jt7~fVBjcuN zUN~QTFF#+2`*hwq@1XSzS zL^aLN2g_RA#U)b!u-AAvC%vw@q7LNhA;{Hsp`(THeMH{a@Ng6Cvr|}&((U;c-hcdf z_34EXJeFcV2zP61!&lnVRCDW0QT1&{tF<70Ea3cnnM|YJea_LVu=Dh5ZUb8v@B#sp z{oHmnqF(OP6}~2FT%_x(hcQcwOWV9Rt*DJaO7yoi_y$SjhfD36FW%W zdxX)zgSv@@Yf!|@`)Y}=H1!dvQLo1Lrqo+3zbPIhUXpexG&IzHz6rt&MIyKu$S)J< zF?!6x4uWyr6W-A(2wH-P(T@2=gdrxuUql?nlb0-Q1$LoRFLWjEI8wI|t_ zSJUMHvWKkhujfmFkT8M;%Sm&E=TK@Oxujkd3?;`2jI!pG88aY3+~}Y2bFP0630|15 zL(NH5xf^ujmAH|)DXigW~-$?GF%%$IZ}Q1zx4s<+yLCNYU)}3>#e#jI)VncEgdim%OEoYr8@bL z-P@R9I$Tlq-0Ey_NBbjy*f0|AWN>prA@ac+b)iI*3`k(ygt~Lch24m>w--3jWo2dE zTO*%WuC6@}D(ux09{LX+ijJdIpCl)>I_U6Q&SKZ!G+TtB< z;N42lS2;4nKs*iW%q%UTU-f(=u#>){+ON@c-k~@&bPbJL8~ChBD^sk8 zxC-UO1?`3)6|yW_n$8J0!Dt5V`WBO;UlZbvi0lpQ`>Q;*H&2fpnU5+=&tCvXszdDD zL8{HY(}~9eIAn@aIxp z%$~wRiGRi(U5%3~fLr^K0*LTemuX+gIK1KcTQGoBP*lAF1r5RZtNn0oKBPd`4by)a zce1*f%NFFT@BP<+SEIn~LUESR{P}>|@b;tanh4eA32HBOg5j;h$~UT0(|ONY)QVM) z2l&ft$GnMgJ7Eve36_=%s(4Q34GgausnRYfS5I&HO`;|~o|_t}1C6*i&d!)(Y3C78 zlQ=VVy-*bX&vcvh!=s{Ekzt*7gN^L8j;?g9*lcH3a0!MFI{c4%q6UZCMFH)1?# zeb(QRyoyb|iX0S2pcL|>fmP?cY5kgl#%}A2HGZVQV4~$B_duXQvnOA5Ia4l5#nfWp z5$j2gf*uxd3#4sOQDO^FZrJYMi$*J9G5~9KLIztgDdUR=7v4tt@B`#hz{Sof1JxecoPRxPWKPi z`+7oT>8)7!XvuPPm*FvSzV?tT2%}zUtm`@E2)gMOfuR}`YQBtI6kzj3>jjO6YEFPO z2rj^6KigtXCupx7?9P7xm=$CWn9~r}c8nq3Rj#$5 z;t*=^5e-;;3V!ME#IA6ZZT$VLZ|x!42;5!krt8MOVbrZE1NUc)=fX;j7G#UUc_sLe ztU)bQPeGA3X?SDyEL6Pl(_>3VGm#7I&dr6a-~sg9qc9$|41Sb&h|AzN>O$fNJGbFa z509mSo^!O?+wfw2chI=2A?0zX0{oH%f4~_# z?10xsuftqQW;nFEsr3k+J2t$VdbaWyA!Q1xHF&V0CnBX;{6=f(mR51LMfux=G;S=m zLkwlF9QnN50Y*y9egEgAJ$`3R^O0a3T0KtD zuEEaZe(1DSZ{@(QSp@kwdQqzim5Ap9KFm7@Iq4k_73A5`w3YX??*hC_g%n4!64XxD z!FW1#8+=m}N4P8w*?n$i#rUzO>oBAx@0;Sbh~J%kf;C&TeIk3)@}TI2XY0ALrXZqU zO5eE)jf2SVg%3P-;pBZmitwks4r>BNKt%Sv@&;a^BWP$tOG`l!#AxyvE-b_3CB}-% z#o6JXxQIF~zwiNPU3a>Fx*WVT6&!QK&UXu{{jsdVw9W#b?q9t zjdAKQ9vJ>CSUOo9jz|eUY}wWwmW*FIDba5Q!{qie7v6MimLSJ>`Yd6MLptS9iZNjxP9DF6%g zw?4bzjUY-Ywho?tvEiSpsV+X}hR>frx2*Jf#$dc-xf$JCp^gYhce$rKiX)kf++^h! z@NEv~2x=-ra$v{Z#$O5zL1oLj1J9=P9gI7V`Gsm^%3Sfy=o^JS5~bd>8&V=t`G6{KxPbBy19j;pEu_L|_9k(BXW* zg=ZEBfRuHUQ&V3sPvK|X25!bX37j8kdaz%Ru^HoQkkKTdhSzR;v1Wjy6Q%Di@WlZG z2guOds|9u!rM~=ghyVP*-_mK|2L0zlDKb<+ot#4Gz*}g37(CmOibacJ0%j0$9wwpr zX#(IMnRJ9tTo9ldvfO}vn4cCfPY??N8K$jm9AhjnPl+5C*pb4BT(!{d;Ms%ze+SEh zZT`=L;2(bOk>Kq>!TYm=%~?J`W&_C?$k9lc1xblsny6Vk0+B0M>1Q0@chC3j{OJKD z5eXzw9QZTNeY?R&*$on%MBD`X3-t36ps9?$1!D`rx(pj>7hpg~ zEY*aN^8vpi8~vC~zn_^9lJPR%tiQrFMcU- zEP(O`f^;M7%`cE`3!WtqA7W-kkH5ESEu!(hj)i;!0X05N(#9(SE4gQAB@=ov0q+Sa zA3TCY)9(*?@8VkcXRPYgD|yQA!eK&$$J>v2KwmRNBNXW6;WFx6rM)$Z%gu|5$#0J3IRDD6VT)JZmSx_YrmbCnH1`z}Adj^QObZ zL;z+6KEy`{x#$r_8<7lXBi{u`kkPyYG+6wJ`e4D%gtX5pNPpSP51ItC z;7aKu5%ikL4{n6h?>jp|we#0w_UUhLg%^Ber6}+xfei;Qa2~>Cru2lJO)*5dWDW2( zDV`t;QCHFUr3UD-zK>OP5Y{e&H~xa zxA!*fallM(Jd0sY3<3B7^?--ZAm8JL-t4R_KWo&`0M(SsXr%-gs|B(U_-~Tz;ktb* zz>|P20kU)|pD+*!FW0_*L!byWiFbmFEv6ClrJ1H+(GcSTPzBRu9!dHL=vj6eYxY)y zsSp7#frVaBl(Q;+;(3FK+}x(f89~tW07FDk&T~jwhHmknqTc|6r{GJIdNF zaH1`T<k;l_z6mG}&3Mm)wR0=O8iHeiR4v)x(+BX$5J8bh;OFv*jW z?#?^PK6wre-0(%CNu_nCtMT_>{?28K)9%0CjWXZ_Mh6^-r6z{aTP{KP#z*Ax8^#O- zpOo6y$WWK1Q4Vjc3e|?if{`Q21{Vf!XrWW$-(^K>#~?HI4T^fNW97urw6UcnSV8=O ztjI~^XC?xZez|g@{TL?K(69#og6ld{jtzN!hUD&FSRBS1!Ka4^Z5cu&od6{o;dC9{ zgH!NuAE(>8!W>SBT$k_x_4~jDDf!4f$WQg&1A-_(xUld{1DERi;b*w4;%*Z<&2gv< zo|r1$ukU%-s0#nX>7Y+ee)Qne&9VFqk9pBAEQ|ezU2ylH(z^Z5P+5EOn0VB2>H90;!S zMWz6NQflxNyy-Zu-g=tl0uH=6$0V29@|Yok<69Ht!m?RpTH+!F~L zERB1kemN*cOd;>-Cf4ePp9IU*0CgV7j_VZ+JYdAs(L7tN;<&VRxYGfe@Q=AUHb%XRR?h z1V5)sxg>8r;Ox6c6(u?t+NJ z6Tqw;9h-$;74u6Cczp)`XvpP@Z&}129YEHjOn_nxV+h0NA zV_<0N09~u2J;tXi;5^trIPR}_2!Jip^mrgEh%ydYwgHbPs38`6@r<(^ylNZUZuJuw z55qLc8>?a~KY|)mkqgE7t|TFv%hQ#BaE~Fzu8SpG*$?jzUKTiwpUNu7Sy2b_Hs~dn5JTbKrSw;waX1 za8a#?3&iT}&XCQ{HUh4;T|PwM=uJlxgw@-r-t}+{DyR-69nO~qqs&q*Ktc52`vtPO zKA-&`sO|^Tw1egQKm(k=mS%L8Wa$Dx!ot4lLidsu4h_)hU6@f21TH=GB#To{LW9ZJ zJDo_EyN5k%b$PdXr#CI)fsNvlJ>L#hom;Ok{OT!W2#CCHcf;W%oChc4kE}DMAeDh? zLbNNY0HKdxm^;N7%I#Fz3NcanI=BmXu<2HY#{kjLYkJ#n>Hk<#=Z2D%@giv|vm8Df5IOz>U}Z&(g7H8Mzs;!iO+ki`=Yn&TCj~YK z8PuV8&f0UQuF`nTFL2ODl2lRln}7uvvguBT+v~X-wzH4|R2i1X(o#%m><8&A44SZP zt}(=ASb!+UfH(>#*9w;x<$3P`v`-p?`Rph>%iT19H4op&nSWC9mEH7tJ~rE z2*AL8aM5cJ;Fh0*IjObsMU|_WamqFG+t+LQtVBk@l@dZJIcK&*Et9Q?N@Hc~u$)fW z-@U<&PHnlIyVeoz5Ve0Tc?)b6FcM4;Ut}0RGy7hBxK4i!98@$Sak2d0`AB$ow^>1o zM*sj(%X}6fctK4QjQHRH08l7xfj!*L^}vBZqo5uD#-?(Be&&neq%!&jZ6|}^S&a8j zmOe!J1%e7mvi^|M(ppBaiu26@b>nb|E4ugxSN68(U{D%0IB^*_GkfPYK|T&E^afi~ z_&H$FDidft19pkee_c76r5|KcQ^V;U#|M~kIDW(3Sdo!B-W_(ipdup*2#6iR@!R+o zB{MS4^_NhOg=m^!$UE`tLw|u5g?OO2*2P%KVpT$-Uk}hZxjx4;z9v9&zQ@JypEJd` z^7E5!v!-HtO)Ti?$aF!97!c<4+W-{+--0gm+rg{D@2}v7!-?rD887YB5x@1n0Y$iC z2ZGHXuPM#UGN55bfyf85heSC?`IM{|y&V1R2Lw3gY z;)dM(`rSB`GnbD{=NG@x-iHSues`x{EZm0rXFdJk2sfkjD@+u`gxo*{@b#1d70G!I zH2kwWTk-R0_M{m!UaDfjh3+xjimF661kay=>*Ifa^r%tfNItxb)bC+l%p&S7&-@eE z*laF9Qe?U7p87v(cJu{UCqkZ9xzWznfu#v1_OqODqY82G|m7Vz_%M2avxqZa$3JytN6tmxif~WN=Ayy=u&I`Rd zymDNFU$Uok=z$)j-b{FP5q0ygaWMQ*e^^?wqB`S|Gt65MR>a@zpV8EM%Wcr`@Xb>R zP>va(xMwt|3Md;MNW2c&Qz160#;=}x*D#slsMaY9ahM~#`v9>o;h^t6AV8`6Ph^P} zgC~D%P>*!$7M?D8v~H{Khme&+jWRL;>R}XDv7NoPNj7`JnU$z~BllUGR~OG*<_Q#b zQ2JcadZ;aQ<*r++V~(syOR-CD)bzhboT=YJXRPFwboZ#;4 z2EqUonB&d8y3(uX34nWSw7?1I34gzPq#MLn*|sqfWJW#QjwF)z!-fk*SaQ8cFNb*| zod-{}eeL~q1k&0?2%k4C1lhw8fP-&3VoVC7_CfF_#{a_b4urArnOjX;|FfHbq#v#e zN@;=%r_U_RPCW4%JVdbtg!4m!Xc@C6Yvn!qqo=WPdtE{?iw*f3UAhO zw`0dbaV>X6xT8#ALj&rGCGXgfSeTzb{t&L${_XLM#B0e>+tstyNES{t{?c41B9QtZ zuD>V7l(6(Xu@F?VZ2Z0%po$1R6!i-GBhYjO-i*1grKRNz~_bdK;v z617k+kBufYF}Gk3Ymu+e;O=}2F{bMUnC>_LkpMGR<@I4j_+E#zG!r6uhgii936>Q( z<5;C?<0~1Yf@<%cBBRnnHQmbW)cH=HYlV1T694KyqplIEWdSz<-ovSX*qKm;sBr_C zhUkYoitJ;Wbe3=!{6Qgt-d%ofKaa*EKi~=)uhd}V;O4z(!#iAt>f+akoL>53aP)pV&Ojm$CmbVSEuPeG8jHXz301+opRMyzTvD4sy&)m z6#wi&R%*90q4DQ2lES%Vt;8*(jkM$=pYL-;uIDC(+Hg}*xO-G+$*HCvVf22IS8fAt zK&Nb9%})!3gBBdi(qeH3PYy@I!7@#Ot5{e|)8+E1M>WbtC6UCdv5K^OP`K29iIC%~ z^Le5Q$R~=&CD%m*%=TCD^&QYa@wVF~qccP9-Gp{9a~HpBj!AnJT*&1dx&nOlP1P zf&t`waZ7KFG8e!I)T(CqFi2%n#N z4c^46nfhn4PO$dkWLXVotE0dFZrl^o2NM6N(gYOJVr2RN2&^fn*yF{>@cN-K9O_=9 z#I{N`CrI>Uz%WukSU&*~n0BU}FML~@(g-JmsQ(4~VeVoL50iLlDkrOhw(m82Cq@yT zu@P*t$7_mcI;&`l#>zl7!9L=0(+1j^^E1C3r3PBJMbLEurcHS?MhW0XapOH3n;ne| zMV1%fp03Z(VUmKX<7za2Q1J8t?*_ML#m+KdHlm*PQs0HanSxWJhS`84x%;LBNuyfB z#QPUs1T19c)53uek#buKO03$d;hhfS5T-4@^&lX=jCUJDyBF<5^21!8aa{c3O@B@j9{j?Vo9jGU8*SyV(E~%}N z=_}ygKVe27c}%(%<%Xgz1=R#AqS~05+1IZh)33yZ9ycptDG;9+G=6~`jHq(wUo_?9 zU^jz$=qnnRKXRX=buW)baYt?KK2%&2RI>y+?)$mjfbo@c!`gew?KSh^K7YCST${U9 z+@2u9qG3sw)N(fBX@36WJtNg=!XT5e;|kfasjordMQrDzsi-8t{y6w&miV1nqS4oL zyZ&%}jAsG`%bWbM((m9+J{UrsB&^g+fa{QNZBJ1e%}1GNdxQ05os>%4s@hHkI)f~tOuXOG#? z2ib_!3v5Uxz8I2yNHAkXcz*W?=!x^4eBmx?Q$^T|`6>G~Z~dM%7av?td6~PLjdZxV zs_b&O&V(e zBe__)k(V;;?8?Q+G?;qsYs7>fOyAPIoZo-(g{2dL^tsve-QVv5p1{#UykWO1aO=rh ztRixUo+2f~_-^(O!j5e>Xqj+NC=$|J!?c;aD`?hrEXxURH8cubnTzRiB3}sVal;)& zb^WQqIK-&r)2%tze{H3g>jWUP$s4_>+gb9-GH{n=pzDsFFt#j$dlOt0@4Y58J3RF{ zl5^50AFd@JOUvHsz+=yf-k1L4q-aY2f75!nUOpTL~prJ<7H`mW8uwe~vwowOQ!=8>ysq$)8hXVaX6V*Yx zBU}^%f!gA$&kjxiRe_UiF&ofV@%=D~+(lU4GW*f2&VnfNqS|!|qzcaxh6hIp|BVdo)qR z`N8HbEQVC7CkV>)$L>W@(|EvUr-4fU4-mcyhT%(d!Al;nd(-8}CR}tQvLAt_HM_7F z0Ape7=YMWdK+XM?SgFu(2PIIRuMIDfi`)i(l4&r}RlN7{;tu^L8x5EF3QoEZlf+Kk{ zfBi>|7(lZr{>06Yj{Da3HwSjNO}0j!P$NG66!i;8y%^KI z^yrG8Ki>19s7I`o{ZRK#P1Dbx$<+W-1f6!_W2i|OV7Ih9oz-#}UM*?YIho%FWhJ`o z7k|Y+fda(+U# z@NN#MTE~B>ictFIEXix~E{qkDZiZ+!6@2b4RV^(=tWBv0&hpISbo9`#p*DG`0aEtA z8&~QpqSdx+CLqBrQMqMrzg_!xBonvKf{Djwbjt6&_=e5D@?C@o_IW zhtQ#M)p`LcHva^t70koztRM2+DDVO~hk_}NkopsgXN<3SYdWZ?c*kAB$ia|D?{t19 z&NvCn6-GS%wKX?-LX&xN@V&llv^nt8WX$hC#mrunZH*mIpB0aP6QCQlx(}O+?CtXK zQ-NQ>=%diMPK(HTnofDpf?vSo`%^GT#whd+guE3Lk~$2PN>+vlI-GQHkbYcN#*Vex zgEffhnV3jmeEwRy2dZI%CwMvh)}zFkg{f{%UV?*so8(9i?3#*nxfD=R3=V_g^liDZ zuybBlr2T;IK*LjWCT#SyC^NkyoTX78P6sv<=dj`YJ)B{HfNcJ&WBI%Pt7Er7`Yd2( zJ8jZ`tj`E}7K0}MTR8N#<9h+4M$}V$c6#PJ+=j;Pe84Joyd>E~?Yl9Gx}*7cVlL3T zZgw6^Vk{KBzfF>a_H^ELpx|N)V}D%v5kdLlQ*>cEGTld%sqI=ev9$yb2aZ>R&;r{@ zUW)?0m#{K)55y{EmPhxLh^UyD1I!BT{4slbAtYFOJJp*TkrT3=kSBSt>&}aICoFZ7 zvL_$ybFp3AjA~7S>~i{!#Hq5l{PlXr{-zM? z-k$BpH7MqpKXWsF@SxxX*0Kt)N8jiho_gV5^&;+E=A{EI`jd}a^M$+ESyo8qG8&(9 zo<*ehN;XecLVSb$`hESsdK>mI^V%jS&ug-r*iwt?aNH@Kwvct|6JXcQrJw#(K{V+W zBCHF|2QT5vrWhC9#xVoneP}U0;;o9@yp7<(Wj+`V z;*rWfrZ#|G1BOnX)wKgP-S!8Dm+n9@PF?zmo$&QL2d5fj2_(Ong$!d;ZZ&0VWskGG zGxFXIV~h=~@QfP8OX=QkCbD7_3IEex$jaLy@d3!~w7azqfe(5O8k2A{|AbBVpsET2 z;RC?Bjm~_q7V%pOS_5VRedAPlYzsrIv;3y2Y^DThaYW66r(&)7a*;3Lk3A-b8n;i4 z6oiRsb#QPrjBZ{4sZt)@i13e}KJg>%e2AkB#ka9BRs!S!?k=nz z)MT?VExS{?0~hv{3Ul8481xg^RTQuhx~x$*H#hld=WOF*@MM1O3t}mgTjOtj*i{6d zXQMm$-h1s}Y|1w`MpOkWY+lCF2DQLnU6^2_JvjegaDi!aswrhn2(W2+W*g#_*`2dl zFc5XG**z{qenYo<4xESZyt_XhsNzv=sQ+AWOt~ z1*A@ATLUOcvW0j?h0DD|`z7Fvb{<|ts(qf*dp;?RjMi28Jgth+ss;okvEMK3$XjlT z(Jx|b-*6{gsY;hhj*7-MG2{C1V;xrdmXQF|5gnmhsJ8XC{1MC>L#1zK#`@tH#yWyG z?&QmIp2>CKu>waJqV9=f(CvuF64CrJ{l5iZG!9SK><;3UPuH7gC7jdAJ9@Lrr$WpI z6yby4mwR=(>e&tmExZqYX;{E;pQpm$+OCYGko8Er8M}Sz52>1d8m+@b@q%h3g4XL z1?4bku?=(l&8H{E$o678R`54cQ)vq)CT4d~-+Y}pkQi^_!e1`hs?=fWbm~;Ft(BE8 zmTSmefO*j7dO4NiREfSwbH@X*Up7Pd94Y!CVHz(HvIyjvmtcQUjvKftXgU{A4K5h=UE^dr6t?^%MB~c88L$Gz z(RmJ+0Yd=;AE_t7>SUDeQ)chEm6hhK9eog_$v68MB*Yk>MfUzwAU?WUQc@DbMpZxC z`2dV&u}wqMBwJ4y*BpmC_oMoYF9{B=qsF-saev=A_+>K2WggD|!-vwqOVK&1jGU`F zN5=v{{HdCN?HI%>0o(>9{=uDMSH~?&aJ0yH7MVV}eJwJQj(VhB<)y$)(aV~69g2q* zg!Ak@S`c3Giij7M?h8(r+Txk`i@13{ptKdxH+1c*i^k)S8~Sb?Gw`RA~ujsx;NRb);eEWi7Vq)-AESsTGR3%ufibTDHA9KMkXeFz{*2J zbHL=HAfAL_dV8w{O@EF+#`^^++&!`R(A?@(^br`-+SV+6KLXR#_xcLATV~tTv_NWm zP&eFr-J!)?7@#XOZF9-0HOb^QiTWO~&r zHSk2Wpv3;JjFYL1R|+3CFgSb?uN6{nou2|{6+WeLXgsu#3l*LpZdYW5+z#KcH46N% zH6r;H6s&JS0s3YlcAMGh2i-Xy9h_R=CNMo~^Zy>2nw!G1(-muOHMW(Qb#)Jg)^fcz zWkXAza8wji8@8Ln%vN=Q-4~sA5f#xj>dGLc%TSW$_DGpdViEiP+qKtZkEb#YU`e39 zf%E^4%5U@~$jNVr0+KNIMb56<&0k(F(XSuhm;Fk=4aLL7^pzw6d2sh($rphU)WLUCR14qxP zqcBwIdjH5njSt0=!ryKr3iL3WpZt`AQYs8N8;MUB2!f8qJE0Bv3g2Lc2_g2GT|&#> zaIiy7jJ4F(2hl8{nLS(aZZ_e=Aheq~(_4=dj@0>NE&s!S$Tvt0U zVfp>e(%_$!iK9~e-{vb;8d3%o-tyUij}AS2^5ltdJ%6hQ%X($nAqx8~N8C3H?9Ek3 z46xC)Qo?DEZXBHI`9yyr41*}%pTE@|Vz`x2Hts=p+lL%c>mTN0<}C(O9XVJ#oe5l* zlxSn{O6?Mw=6SRqsyWRp!VxilX(V{PZ%C}==ubJ~mO1tWKwLF>j9=2v`{P%GW&Z=s z)`8J)hipP5hSO=h-hc!>IrCypvvv62;Ka0uW%j>BrUMnj85Z4@tfuyeh!i(bzgzgI zgIqF#&eEBONoN;=mg+wFsH1R&XvGe)nvUd97d%Bac1onz+|%`}k#6T|^~*4e>b8Sc zttTor#1lqS$YifycA3;$qUMUAGIg6zRj-)%XfDla1A&~^!9-3OAm$1vTYnhztbJbWSmaZY8$X*4Bcw$yLQW_6*u-rv7-% zvb+9YDN@G^bDW%3hIH}Lq}Fn*)Z#VPQ42I$ub0C!z)pw^* zr3dMVy}teVkQ;Xr6Rr6ZD0xA1WOcPY*nR+q1d;(~5^LE@8Fy4qEgxV547I_2arKcR zJAqsSK^@3qPgos0b``)i$dQ3#qaNr8V_f(756Us#qwC6{-|23+Q;%LZS5B6+ArCQ5 zi|~gkh*auAi3L6URb}CLu>cb^Zvl=$nLs)X1*p=H{~u4*lMb zFTI91bN2CIn}V34Y)qX^Yd&$(*~vE0+7a>t;AG-CJPAB39u02*yn&vZeBCMc8FtP` zT~Zv`nH)2FKY-`sRTC_ZzHgzP4r|u()!w-i2X^nI+lXZ#2mHo3Bl;J|%H-<2ysZ-e zbY?N4-JsusMy?N)ob*Ld(Zd56C%YUa0f-K&= zo-RHl?y_@UGZp5NS|mXW0+u`^F0S`Mza$hs42}$eAq!mVo>q()2#C05n6WX>v$gM2 z+PN7wc|@aW+|OK^lO)u4eD04fP8jN}f{WCnDcKJ4>Zc)3E|EL28T1cgk|)=qU9@*L zf#ZII(_5(z^SXD?R(ipg5q*$@9&Eh^k>8Gwm*S0pw1=R1)fqT{Ppi0h|9&k_tuaRL z;T%e8D=eSmOz(S`qx}37F3Q~6hJA9KcUjrKu2{WeSMmIqyBjZNkfeI#!cuqYRYYjx zxGh|!O}?zz+D*zi7o3Oax1-3s~N_<4eD{;o`cJH> zdsi)xm@bme9xL0nVT2DHw!`l_Pi+JYHf(gP#Zu&w*7;H6``zxGMogoLj~#uXa6?3C z;ep{n$h>dx{L|lg2b#&9l$2}#3zO0-uGrQj)Fkcf{Q92}%oC@3kd@C^&6`?b}1H6W(75VKH*d37UHw#-+q5}g>K=@@kU6*twnPIhE>VDgW39c=V1 z%?Xx$59B4w#-_^mowmivoG-di*bO4ToT2*L@~k?8>Nm#vn}9+%IcHupQnRFuvlr@# z(76!xm})-d>S_HN{~9}g%d@EO@X=(jm2Y3xI2$nU5ceyAtz{uH094K&XMQ!C_SJ(r zT-Yw1SDB>UP2_;k&`_I)jCcvwkf{H5x4u$GTavq~KS*&&3kz;(A{u`&vjwTI0VqY- z5SEc)YFiz!3yU#C3PFpbpY@~$JUO7<9D$JrH57U*zShd&Y3;V-l8A7{qJ|ni5B{M(^m@NcEf& z#;K>DKvbXX#ziv$`ji;*)PTt3Z#e?-0#3_JyxBwAHuKVhmEzW>Mt2#)PBjzUBS<}w z=@ukqJ2w>~;~V!QmZd3ftfIF#KTV5FM%G)n>%I;j0emOwktUFyckdn!5>kYndnP|C zE2|gK6}d=mUGwklo{hX0&2QJH&5+kGBvx0Re-)f5+;tJAoOT!_NgW{EOmHbXpI*4| z7T(J=;$K4r+p_jcT?`DKCHJ0{fABI~h-BT}-x{1GY@4*!C#>uSOGLclHImXah3AAO z)T`#F?0iciOcNtQvWxhtc&K_}SLjN5CQ^@VIC_ zO8Buf#qM0`RcI&irfs*b^zu5y=5J0;;WWDKrrQ_B$dl`SJ$HO;aZ0+XDP{4_obNS& zUl2te0;Dht`)+-q34a3P05}1xFp0Vu!*r>ElU9)0DjvhNTh!lym&H!gvl0L=a@TyN za4Xc6oCEd{m;V{DP_x&{SNY7qapdA2Qp))k5zWA6EJ^qg z!!jdZxdR^;0H@Fz=asK?I8H&E$H`J*+J#%A^RG#Id z($Z21MjFH@-WsPlqi^?zO{TDA+^kK!tSTel^m0uz zdMRmH5*Di&?_NnA4-M~2rn~rIPZ?&;INIClOJin5ZA@PE86Da_agJ@!@eT5??G|Hz z2NZGI?HT*}$SbixhgW<{G~_PTOQ9lSSK=l5;Q6VPE*@H9riznxv|3H}m-9(Bca~UD zoULqY6BMpZ{E1>GiG-TO?2Qy=E3b4vV{+ zc4?n8#Dr6@8oFmouCBblLqFL|dC3ia&Cos+_-mM+cUHQ-gY6PklV3b>DWN)vS6o)7 zXk9C=hNHg4#rE(et-aClL+hphS=qqJl=Ej>)3$*?eP}DeVRxQQ-FwhF>0sRnI|FW` z66Y8s(ZI4=@lz>EZyOu6RFpZwx60nmdC==E?(pkedRklhSir8PWIT9h=!zZzZn|j! zfEcx4O<8aB{oDHz=sF>}Oo?HofP$@Up-PKjj@*h+8K@lnY)_$|rKOetjW@P^hfoMa zJik~bFfeoWtE=@+C64Gv>*O*YtSfDyr_J2#KONoYD+$u9_s+akaBzy8%B~dF&lrR< zm*|@`x7}i5A5WJQ4f=<_8MJ=$`TEX~TC>oQFHlWP-d1O4=;MLxIp!fj1woqdt8*Wp zX}`-F|NfF#eWyEk$u@c&yoL2Xux~ChLZ%rKK`Gcgt1E(U0PwL2P~%MF!5uw%>=<89 z^71|hyhRz7h3u2}NVs)V=SMMiDx2j&ZO)8CuCQE)p_`qZeO9ldkpAE--PAo&!IbC2 zmX5Dn0*wvy2ar133-@R8Oo}|Jf2r$ZEK4(2;jyq;jo(DJan<_9w{NvqP`@_YELeBR zuk30#o&VAzWQfyK!SzXDiMdYw*mJMoL|&Tot1tUBM4Q!rxpmG_$LxGZp25UZoP*rV+TbFa`DASCIxGdCEd78ENCcREMGeMuk|b zldCJV+A_?=;j(ng$W$lZb?-WQs@@lcW)Ji4VfKR-3MlOBdytmqn~~N1cVKiQd?WE? zO8Vi~Y7O>n3dhGMIkwsHLr(820;^E2d1{1%v^tdbYC}u>9;bEs-+7IdZ1?YMIXH4x z^!3>DXNxU0Tnt(Mkfsr#kS341%b80>vT#RK8V*EcP(|TGKoh~NNVrDJ#)SpFo_5kI z09~yE-OH(?`m?>G1GLuIJ#pHN`bHxby5nd@XCu9CCLZlICv9`Y_OCdm)X<)Pczj2~ zLGQW!uzyX+auH7T9Zni?zaEK`Z9U+{Kf?FuX1`L>)8#}%+h2KKfB*jd{#`4jX&(T( z1gfJd&(kC!`VRle6;TQsZ)OUW#q#Fw6g}#Bn;d|5DR89ZqeTXra!^aKpMP zVxWLVQy$B;Wv*aj#$>NR;eEgcV(WzmIcEZ{Ue{J|gnj7dizXJ+A^FPW?8GqY@r+Ez z&1Q0acir1J*tNJ3$=HbVrE=l*V1a%T8w*=JvRe)_xys8w9l8SzV+U_m?r@$z$`u{| z!@vAN`5X{!D5`;yuD1(sw!a?>HGOG}9<2lkOJW!%>S?Y%&pT0kgsz5hQFs9<$kyAN z`1O>w{8%&}Nn{It<=@5D8jwS3%2^!h}2-{MvwC&3?4^lb>(2@s^ z0v)n0Ih|+u_|Sc;#YERFV+8)&U?`~v&c9G*4|bYl;+mLG%Xw@I%ZZK2heO*BJi0vt!f&sZ7S?iO zw@zPA+Ia6Hx}u-Uw*U+ik!`z9z2~!*ZPQ;5t)7I{4AggBj6@UxjnI|ja|DTxKkP1g z`Rvb;WT{AMZnL*#)*0s0wC`~vr)r=MsP>_zORpd9oYs_dBpWPVD3QgK0&!zByDHOf z_OO`(coVBHB6AzYLz}ec6zEF3cxGS6$`WEvdRx}~Nt1q8-;~de_HC@8e;Ap1 zs%!geccGKslQo0~1ploeRJL{<#m;ZGv1+u6d%vC%l4|%q*oI+?*c{r`a{(m!+1HzaeFB3Vx`A}r9f^exaY{`r?m zXQ>&ys7XBpZm;@kFee$U0QN7h|}?%PaJ;m0?*q2GJ<;nQEU-Xmg%!J2(;h5|&MN&zjGpXLAiSL;(dt z(%1XHfi(z1skiRmzUmS^r(wHuDrCp&ISxNU>xohKfkvvtxAt>m^Tqtsd!<{Z17hAn zMC9Hj0FxpB)WiWl0^=80IT@%^puWl@HTni_0Czh~;N{Y`__bi&TNo*SL9>-!9M zW7>cUzP|!p+q}#QK_8Um6 z5DjVn;p4J~+a$}_p{(+q61{J4T23`TxLy=7ep=Q!<5XAwrN0k$e1r{bpRHULaz>g* z()y%LNYm7-C9N@-F+>JRrL?$6GdS{Tfy>+<^aXR~S%<4z2Z6N|1924XOv&TNq8{DV z;BP5LWcj`3qkZV@b4gpPcbXOONyruY`(a3E>oh)@V{&kK;!?5Q2JT%vfd|?3)hnxv zHoh1uc{~gN0?QM&c4Ll>IFXdjR-IL8laFtezjG2Ax}Gr&Wl0{Q^}S0jSxW3zAPCEF zEA-JjygorDz3pbTAT{%l0n~g>#7sK#NDGpnwG9F`u|va0p5!4 z3%k9^6?r-r6oebWh1v$_nwkFbI~R-By0*CH4w%O z@)M%sR1o|`&|#%Q>6)m}WUgC|R$U!Df|EO)Im$`bj5f+z2)>%z1YdEk+IG-w;u1CK zmjBT0=c#vy{;t=H+BOns;SIV2MVD;0Z>_)Z%kJX-!DGX%q6RfD=JIZ}@_{4vDBkT! zQ^*+^9!c>Nrf$`#MX$Xy4+ghh`AJqy$iUvNz$UZ+^wb_^m^dsF>6(&#wZy;ZZ!oI@ zbZw-y6ytA^y~lev=;zB-^`b`jP8*rJBmiFLTg*RqZhxM{8@#?fl=8=SQmlg3Mnz+; zV#My8hYXOK$_}1i=SiYuHHZ(1$^eN8HM__YrpdYHNIa}W%0i62JjY8 z;$AfSb6yllSPKrWZUxoJP_JKRyxh+V_-)jg=YfDT6o&R&Kz<#W{vW>HJFe#U{~v#z zN_)LtMN=e-UeTeV(iEknrJ|uBnzYldLzK}#>qr{fr9#rsI2ln|+Mz*v@2T;7TnF#h z`}_Xzd;a6*^n6~=>v>&|>oM<-$D`a^@lxZO@oOrA(gDlRSmjI@#z!Y|?)w@nvTNg{ zs}nL0D~_l?qq{^UwP(v|eSM%v*j{DfQ}#@+TsY;uMGncg5%Ym#ywNhivsv zWAYob@{|MtgWCF3N^HbUH2tJDI|~ItK-FTf$t*%V0-o#9YK&R?;5xJFEMucnceLTX z&w=FcEgTC-&kfFfKJk)kB%*g;Q2(kh?ZX$<@kUp~F%mKF9YJ3$zAa~s!Xm5S*|TqF zO|0)^W^O4FlD@ld;=WK_*5s?{u?e@6ZH@jZb|Wfo1MZFWU(1}31`q>Y!fC*^B=+CQ zLE#SIElzHut=W>l@`*Or$IG)=CxJrph71VW3Hcn{{n0PUj=~S;AbAJtIo{Y_#2LdL zrXIu4r~EhfAvhOPszqH=v>fMr;499+4oEqdHqAnKn=l>K>T5I-!Db;u+}GwtW!OL+ z&@(F(Abp+-T$c5Gl!p8?@q_g?D9R zM>NhyXSt5e`z*^rViP*iX@ESP-V;N~tIa$N9uI<(gsf~S+f_gCV-boW_4){{boTSI zGCqtK7F`chD4p1pPmT^@p}Vq!wp;~Y38|axX}$&|0??iB6@^X7u}`-z`8-SRo_`7zhW)H_2n7H9X1xgMBLo_`F|F`bXKTR3ZfQ<| zD4HQN7Wz+6v-QROJ8U%Y@uv64=JB=2$Vi%D-A&;=VS@dyu3Lw%8f^BFbMhKqpL2sZ z;P)dF_~A1S^;;Sx4At6M$@{C_owwK8RSaU-;RWi%?n4fP;$zhDpGEQee=vrGrvR8| z0!*`2PGMT55w-dgS32V_Vh(4It8nqE#SMB3AvUEE4XSw4MZTUJVD(u53Xl9b@C`-< z_HV%&Q8 z{^V|VCxupdd(Oz*rcTfYE9A0PG!!Y&q$Gs@aP}q_RrtVzBz~q>*PUsL^S}2kCrzI> zh&tpfRz^4_ZcXcH)YH%x6B9F%`dvp9?j%Y|NeZ=4Y`JMCVbV`}tW^}`&`1#Hi^sz`S&83Xx2(oW9*Zfp3`f2(?? z1^@(WY5|Tv02YZ4PC&P8*1Cb!SyAbIRfONM{k!TmN=(VEh7Ue}^ccl%heyw#etz+X~;c)8<3L0dva_xqL#S8wXeNS7xSC z;)j#S-}82ZQR7=Q@F^fb_g6(ItPj6ec7p56{Z+=sbeKO?GrxZsDzfE1*%bn&GL<-F zHaJ|iy^8U608;cMwdgzTupj$ozINY5P|Syw0Uj+)*Ezr1?pm*Ct7 zBlMl1VRrT8J&Bd$DJAfKVB&8YR+i4OG1IX3c=_zv%yxK?=#e4lCKjY}t>=bnL4kfz zj2s6;qJGu>bZGF=T+K%r`c~$ltp50B!h+i3x+qQl7Y$OyZcwjVCC5V7hSX(i~LPUT>IO)T(#62;U7ZS9~lmuy7o(xUVtsihCtpc{E=h0rIWe^V%XeAg zZmBt$u5tO|{q5f8;_9|F#;n`*Qam>;3vKe)xWG)u+$*Efbko1pyP(lGQLTH>H)9|q zxH(QL>(k8e163%5F}!*V)*cfOz}EVldqItod=7rkc7R(zToV33P<5IesD)I^@w#Hp zkvsB6&}Xb;`LQBfiRWx3k;YL50)*+u>>C6XUg$?gTi^mkS#l77u089puxE9H6AIJx z>~55Hw$oIq)*#9Er}|COFw!YmnZ62?yau7I>npq9HQx;k43?!^5~@8oq;Zp@*YK`K z;CmB>uO({6DH6^zAFfXv^gQVhS4Y!m)w@13^K4BSFWBhoD-p7Bs40KVf;8RN&@1Er zUL`qZa%4NJuT)oQRLN%i(EzE@5LaU{t4p!Q3+0v$NFWA-UBy=YRz2hjE_4E1azBwp z1XX9yUOWIai2|_A{B6bvIJvPtxxoh^>Uc`t`kw3DSo-UbgoDF;;HFDI#%D3!vNhxL z@Ddueht@f1_?bxgal56q#0;MAqi^IX17A?rSGwd$g;WbQC-9%=ntTl{6dVOE;eO}!M_B5tx-$_Y?@RyRbDRK4P$@Th?8d<~d-MaPMOhZRXi=CyG zd_HO|o7~HV1Qzt|;Aag75P0Yqz%9tANTMV_Z4dJgb^FYoEb;w*Fo7AI6zx(Bii6Kf zkyb4!4ZzXnM3D~~_U&7mFKD+@DEQ9sybDmydzf(9v+m9SGfT-3nNfo{cOfb>in*%r5p@=?~Afxf=6`Ut>S`Cb6%$ANFq=$es|Ulhns4y`NU8zB^qn zl*a8iMtC}>lHL#YOlyztst@sH0m&@Xr1B+cRz~xX%HR{PVXqBo!qbR}uMB{4+_;xB z`yHngL7COt`K5PFVJ`Nc=b55Zlb_i<;2Ei`V&|8xe&7N39=_Oxf;<9{%G@W@LoFHj zgT%Y&{E)y)lU$!f}Pjn zw&Q5@vf<~vzN)i6?pjz5-{N>)PbaFs_IarP-;T$$Ol}mRyM65^a>3q429o48W8{Rg^g zPm9vaIF!4dtWWD6JvFKbFG-IFnpfKtoUQwQ$nyrhqie27=`EDG3x89O;Z^qq(tpT0 z2YNg~8lVW32;T(NcyUS4w4|q9e^zV=fIro>JAUZyVodB{nFoFT!XkPn>}bs4K917z zd}R<8J(7)H&SaS;k=#d=4sd_5VXYgdp|>KVH=Xk_xzd&CMZuo)_T19e^mOkI(#rcI zf#XQ!x%d7E`^Mqye;lZIy8)ysdu7NrGR<0(_=p4$oo9=K6Gq;Ydo8T~x$Q16a-d!4 z&LVZ+vZqx0KRun>G(^t6J5>6TA>5qxs$BSMJ4)r=wPg#r{^i~gGrs$Scf1rrZY~aF zEgNU<2}_&v_KnamMIWv84{qqSc1jWt##;q}PykMW9{aQ|UVa-Cg=*2Dg^W?;Uja*H$oyVvrgW1VT8nG44vc1rBx38EU3I09H|I zP*pk9a=m!@fh@n0p7jCG5uMt7hXQIkpnTZ?W38WNoud@YdM^4ME5o$6BEBJq&H^} zd3-Di6j8Pg;m@^?Ny-?;>k)ED#w<(jp->8xhtJ#*phes;_ z*u~dRd4UOpUIZ@~#N{o1Ae7DiK3nL>56B511jGkTeo8;Gb`$)Htljuyyl0UyL}Kmd zn4_+hPJcIofN2YtRTCX@r891oPuVi3<;J!vyfMx%Y zk9G&F84W78ONy-V?W5;@qv8%4U70lE?yOIFMFXv&{mDlyIwLW0+~G% z6`igu^!!8O@9TJXuge70q;;Cj`K%t0{9GWt!zT8;;{DgjPz;zHJ_9*?z}pr=Zoc65K0cQWOSC%g2NfK_6VLbvV>IH5 zIoJx(g6mL9iu&YD4hSKxnXyX`53aS%xojW|PY==Amsz?P-gIQ29_R_V z$@qrrT9fNJI4s;d!I(Yoz8*KuVS9gYv~X45Fa+^k1JZ z;XSp&XI6d6I06Lw!xu{YG~avr9a``HcJ{SAzmm9OnQ}Se>zwzD7gh7`JP3F~DY#xG?sF3HZ^b0H zKwyLs%8z#{CP~^t0@oU5*5~{>%{9zOeX-CUPoEN90#b-GkoPJ;IHMmxi;*vrs1H)oit~K;K|i3c9-q#^x}^Jj`*VflDQz z$av7gzkZ@*e?3=Ice&BFIx zJL%)!?wd7`#du;xL{=4iKI1ANdkA0I2y!xd(o|qnD={l_kSqWHg~DNwcscPnGLd;X zZyp+pJ*?-3@|N-bpaiAuz6BYzO3et7=r#<9Y;k}Bcrs2<3+yMJLcx7ZC?f8rUk3j! zrf5p9>aaB?8Y<>XrS4*#W ze#YK%J;gE{Mrpo)#I-@x#^Dwfd#dLj?ALPHgq|F_=#*>T%-FJ3>aj7UdRqBP4M3jl z9d1ZH$zvHj@pX`7;(esSU%fjD$7bzbCpl*LNiqMM^m=&@yIZ5v;jJtnYoMPPF!9+F zkTfL4j!^Pw&PNeO23e#iAnWEaKca_{+}BZ|JF|BE)2As3y-;3cJ3XlZ(C95xNpizh zFFBzYy72u653-K*-qPNax9URn`&^M_+5_dtE-TUTa&KW0;-Z8E5QbXhyiPYV^u9be zFt9E$c9?>*NcTgWsfmfn$@*JR1PQ|^k@H!Cr}Q9!rB60(c=jjjsrvk*8=QL=&n9~E1_iaaw7#p19v`qENbinG%}c>X334xa~}XIjiG@0 zBq&`zJaC_PpH?+E>o$>8lARts7%A==r|C(zZ1kB`g+F3SyWpTYH(hUV#DVg2nkf-} zdouceP%dU?eBv;TWP0E~2LRQ7K`Z(gjuA@}4SB0~=0u3jp_BW`NydQ+0Me$+A_FNo z^JV9&OaMO!Sf~IPwcX;0{?b8=nLj8Y&B=lv>#=rbh~q)K$QXjn@eAKNlDCOq;RSn0 zPA~)Ss0OoQx!b5df_FDxaB|v@lHvo+$zd$M`WPJN0a4SI-JJyzrj*vS7BlZrtxlL9 zs37$e1Xbwa4F}~^cv})cvz5G z^!sF~$`TGTk4ojeT2@lB3hg(*nWYNFu*x>WxQ=RoSA27Z{bLU{xB1w7=s79OihPp51(`oOruk#366 zV2nZ0Ikvj&*8!8k6ka)S-AwmaE;@f!X6EO~#q4RE;A=5*>{ z0SXKEdeTSGM?Z&U9Lp~AH4u2yckdMY3i(fwe%=pCn%}SepErE z6HCPAzIsD+2NDwefpp*}$l3hwjONR>;*RX($jD8=`7*v6PdEsHrbS9ZWfju_fVI;q zUq}`CK&C?pK<{2ppbSovDH9bHMRi;;>jYu0YyFtx0U&8khGD;h+qyQWIk~?MDs0tR zGvD9F-xv+9e$AI>qWY185)*=gm`i?iP^t!D{NaZ&(f>+fo?e>nB_w%3NhQqD2hezc z;Y)lbVg))=KH&Js*v*6tNU*cKFK};w7sLxjh(UWJ&wU?sb_fDI;pHE~-hr!>;Pgy_ zwu${Jv*VEkM$Apk?S>xwg;zi3K^Jr{WP>M3Pw5o4m4Qn40vUkq?TBTV`Tq-y&Laet5lj$eDL~Yy!kZrGMneGzh~B2FRm_31=Z<9~uU-<`7D*@^rF3w&^CAVo z!szULEYg?d1^|inBO#&0YhDGW3jorC)T#(|ac>0yo+!EG>H{zc# zO&#(UvS;s^PV9qy!E7U1zh}Xh8)ig91|LG;!p3d+8#c%KHliD-%YzHmSdwxyY;2!( z;|rj`7NXmhOa~U(kzAA9f*YEjIwRN z5e@-z22ZzeEkPbix2eI5KFx4OyuQ>FZMy{bf}KY<%Ah8&fs;k@$^q3h4XxXL<>j2%bLGfuvLyoH6X9)*y2*$bAxuH$ zgPw-B_fcUd7cR2;L5d7;Yf8Wc)hlT+lj8dnUi13#VE_ZA^(x-*z28a;9Md-?|5eG9 zO9Gv9;dsJ}&kUHLi60Apd6=0$!fnOIVsqS#x3(PohccD~2&P|h!wE9s!%(q>1Px%L zzNm2A7|J$4G=@pujboa|7%NK2e1N+Vdkz5Qn7-iF5Ezm07uh#QV@rjFh|$Wd9H5a$ zEI0V>^VYL~jJVAjLHR_Wjbalw0^xBd+D%fBXkIk7x1Y4T?m(Hq@2nZGcxll9EGIHi zuJRp$hY<%a70gJ;CNeovKru1`s@KF@_X`QItIZY}oe0$Mo(%Y7GXj|Mm1iP{0rSo{ z@{DMDkr@!*A)SyYC2)6O$E=OU0kov}9a36JyKjjqwX-Um8aue3!vkhYY6q%&qO_M4 zqn=rVYHg%#FPuAfhJuq(xA{a2WV0iegDZL z5n9;jco&%b(`_)5u0?Twa#wctH^b@uk1A9AGW z^h7y{%tefew9Nrd-B;N!L1e@*Cr7d2=<29+cDM&oY-+Ncg!g|&=nepY*3{p$u@S7Ta@}F((8MD(Jtiz?yt`KgB5uapD^+k%JgNKEE|?;cv8(59;~m-(&C+2G4#YM~m1 z`PP%BSYZN<;sunu%tMMe;j-+77ly6ug^>t0oN?qn4*F{Bzh*5{t3Lj{V5dwM^ zW(*v{#EhnAhyK;-I z=f&9$+qaWyD^XF!#{RoF&6Q2qR4eeetd^AqJ{-|p$oskq4o}&*lD%Kj{SzIQ`f++i zeEe-R%loFvtx|D3S)v-L-h}bz!!jU~l#57um1!J~x9M=6yz zmMy<_)Sx3WJv3%ecljI+rQ`dX`4ZW%yw@f;qH2IkT3hVlO+@JnhVdo^azNFDk8A{! zMC0cg$HFu)M}BDg_;DPP+Ch#zK)7FUjpYq3l3e?&LHos#X)PqGTxY*l*YO_PyL7kE%nZ&5@_!65eu~s zq|Wm<@4Pa6nHOqUJim-#90%G3`dk<$vPdG5Cm{79@i%7GArmK{%@JYm&}R8IN}D)Lucv^)3!!dg&5W)PH(ZB%;05f_$a zFrtL!)w@siVcE@elD!<5htFsvLD%Sas_h>wVJNJ8caR9JBvq;&P@*JluoOL1i=5%( z?=;OF{C*Kr&kzsF9xPHX+=*vtG;XUKOhK!t?s;j%7)h>R@KKNCQxF(FfBJ-SPJm+IbCW;lXx(%T^W(&7Vif}(9^j08em+AK zu^M%PF~@NWi57nl>|KVC%kIj08F>w{p6rM8lEy5AVW@v(I}b_cDmYAcN4FJdz8a>N zDa^ch`|~Jmm|Z65iT`9&dW%cC7jw5dVBwEyDh53-#S9L^7+9qm<~4s1IM3+3*Hcte zA0*8(DwzEA*|Wd3B8|&Ef%^au)NBEoJgmIj#2E+m=A;0KM5CxD{gsaipLgp~1JUKV z9GVev`vrrXv=vf*L-5}{(XP}dcf=zZ>u4`U;2(dw=^8G4Ur?opgM-6i6&7ssKjA*z zCt=~kMdP=gxqKNTTG=eOKJlaEe5sMGpH*O(-7hW*s6!Z*mZIUGD0+UC49QM9Y~SOK zi@+i=M?a+Tf@_;fcNfihdB4>&S__O|A7G5f4$CS{P+_s!vZ~Q33BoDf;-sMLlRh2}KewN$baieY2nEbtgck{e{IjTG1PmC&`ECx##^5-rHVS?(J zG=9>wA;VOVz_VQTpwjk}kWW;ZEIpyB+3_;gW0cnFkd;`+fLBvluJJdCh8`FNNcAJ` zrf5*H5W@ z17J~v=!2m={=yik?}h1*Fa{N32$=|f6DQ}(T@z@T2X-4&ABoY&Ia>bU@ofQ_;?4n8 zm|1E{Q5hrCD`mk$vTAljG$fRZYrAHY-J1X0-d4^@jVMxdGU$n8NM+#s$yJkYn}IXAZH;QNwa#iKwQ7crzoau9Qs`8Gq)zk z)5(DtAyf%szT(wzFadA&sErKfcHEzpl{F2OuBdhUdwRCV$$D>5FJE=1BQ;oaGLbxG zXoUf9orIa~OP1R3BnwSoiBLn}MPAy{Cu)!}B_{9@(1@CUqffLEV$x(Y>- zd&EFIOA95=Y=&`xu1#su*-RZ28n2wweP-Rz9w}w{+1)k=&viyHh-(H7jI#Aj!e5Z- z)&pq3%&`I56z&rViZA#)Qjf-E1hD>X6t&X506ja93&P9`dRi(2x&+vLwkjiLrI*_l z4X;qsiVUn|#AXE!MIYz*{_L-(foQL|`?#I5T8g6tyg5 zFdu0+L}?~|u&Kml?@9TAtr$@&z=h$%aNL@~$_q9u>0^~*I83x(Og+f8-bD1)4w}S66bXh8Y;ubBS^wR0jyk`~&PHQRgesA; zBwHiq&}k}E!H6{XH$hHXl!A~575#6lt*ybh*uDvfc!K{;km{jYKdY4QFsj0#( zG$cm=QE_38)IX@!pH(+y?g%f**y~=PWt_l0o^-@d)Nd+^RgVsLOxRj0)76BACkWJj zK+An~Y-~(ME&sh;;ubo_ZYQF7j1{D~bfYO6(a;EJ!lkOx- zxyjb%en7|UkQALt= z*!DI6(C}9e(m1z6k9NFk(U$N^Ta(u*4u^3hI)rP(@D@}FVaM%>oZW#5lz1xWlk{;E ziq!#YLC&8_a_1G{H7LduhF~P&lW0MyX~5|UyACo{9(3esXIRP)=JI5vq&5JaCG2s@ z`6abd`O-V8_>6J51-f+Vx~J{fF5VBuBeF7ra09HWqIXm zW?KQ@g$@BBGW=)K&r5bQ;*XABK8%L`TI@M%2`&Jk1f;q{QumPt zA>+IbU?A0b=dikDmmy#QD%|XRi2bjYXfQuSEz(8WxS?j+aTiCS`nSvK z(Rpbk-lcs@#yZT}I#t-Rk#xwcY2qn3~zWSn&|! z7IIT=OC{!m>Jslq*ZjKgpYBQPllt}vSq2z3pkYEOS%8&PXlL${sgc-}7>dmNQZIzc55o7HA_)#2L5SFJi75T=;#(bgzm;kM`q%W0D zmop%>1B@uQkuOKOL?du_2Cnixeqc)%HpT(e+Ds2leB#6(F)qZ4X*RCsTRb-rPncoLPe$f3|x@p}0f zW%vte?8Bgm%hv5Qs#N$~X@D1BkWj>Wo>%ypcNA?R+I5d}lpJQjZ*BDHbX;I3>O2&8 z_l>E{M+&5k++n1%nnCaSZKbuCSvvHuK@^Z)iF%zw9R-|T$LG(tkpqUvh*q6bI^+T- zc{?ni8Zafhu^#rtz`J00k=4E$PN?kgS5?Iz3r&as`4{|Y=Q~Gp7?MBInwj*)^rS6w zUF&hddIn*)U55J@E8M z=T!=`!U7%4&A&=g`9c68K^Poq>{sP*&LQI<{Gk%pWiRC~beIRjf2>iPLQ%>orQt5E zK$lX1@CQ#3)2~VY68voUt^O~@lCX+_gRWD{0wDtEjeh+uPi!93zqxYXy;yJwXr=2O z>q#Qda&V)Y6)k2NAi;}I3>|IGHyn4j2{r8cDS;JW;cn|H?4u+kR#m72H-(`v-QNF} zOLLu_on}6t#xH|bjhT7K@KE;z^HD{rF7|`|F3;a70L={_o|yMqBOiLMNXi?|E?;@C z#VHG5`x3ycCi4``Z)hj05RE1k{)7fid=^w{8x%asW~pzG)iN?XTN+cpdlM%1mYbQ# zdLbrAPB!BdDBa-NfJ@^qf*c+U-VT9}ADs&$QRA9-AdjwoT#4UUj_>8>!Ia$kHtAq>J&IcQ4YL>USP#?8 ziFPRUNRy;fk50z`VY_P&W9VpvXBnK4EYEeMju1>8bpmP<+4&i1QndwIsK|?%x$`Jn zYO6L_R^tAC^Vt|tzSWUL+c!V(TD*Q$nkL@J1&!wb#p*d3nK@p-*4l!EhM#mtQCl`Z zl@l_7AU#&*GVl|Bk2BJ*U<_D4#{ZPn;WCV*Sm~p%W)by5$3dOO>N#t~eUYN$-xs7mXV+s2UDauF<0HOW2}k`Y88S*~WfRzLIM!=^6BQ69H#U>g>SO%yv8+;{n+$d(HZlWQQ2IV5sd1`+d5PgIVctIbz`E ze97R6*-AINlkgPk5+0^%uW{#=>_cE}&<_0CIrtE0O@_@u?KK+R{+(10M|k=8_}ZE= z&f+hR%h<3f2Ji){6^m?&gnUwSSmJ8YOLj|mX%Mvm&$k#NW=V9Bx87aGMS3iJYHd1T z&T}JQ@E)3SI_;65rz5ocsj$=v&?!#b5DdN!+^%l#qJ)}-+mpcW;?4fB^K!W{gF)h& zK2eK4h^Fv6%jqlk9NMu2ppqD}j^oBlLYzu>65Lqt_*+1QNTAO(Ef0lar*ENHE#3z@ zKjRd3Rbzw#Kq!Ngqe^sKjsa#$M0u6Y&j+k_uK zXqW$~n3_CU$^Pwgt~SXlz12OdGdh^wo>M2M5)tWLa=u|%{5aKDNv?PD3x#f4xSVOo za|e$`+kAj`I`Ridd%xhAY*(thdaHi=MGSM9aHwzZZLbI;#Z|(aN`%D{ylYbOjF)Xfes8169#b8+L7_>A4`ZcZDT& zcNVJ_*9V|^T&3-bwh+O_CBoK}rO9fkEn9z7iL40&>RE9p!^G+2_+P?L$=p!v#bZHQ zOg%5$g<*ji?AkF2Ng->O*#L-}}O4{sU06>)GyzUdY68>X%rep)CT|;D|qN5#B zyxywu;nbgfdF&&5*68LBT6$BhC^_7i-Zok^L97>Vqm&Fwn&UFeZLz(20VCXZedg|H zkK325?j0E9r3LK5hN(?8x@9$=8($OK8#8x!vgDK@z}z9hNQk{B$ zQP>P+p1vI_Up{FJ#UdrkLHhP`b7Qa5zOrEs!@UUyhW%DSaiN$geY4zkx9Tgn#^#V_ zNQl>izB6aJJw+g1tTul;Qe5ta!(toBx}T6V?|Nw$;6UJ}j40c%aaV)vw$ZTl`CNbB zdn0^B6NT&~8vmE|ng)kcDGonYRZ+TckX;lWI-WfBA%h9>h`oR$ro`$2~sI(2h8A z`V}~PvrKYDZAP>+Dtk5=W0D1~qI;nDa0}f@AC(>1A#zYo3zo?*M0iVH_AYK(Qg8yNuf;$V$QpfY+7Fbwb z9pZcwd_}JpsxU5F!DyKJcHEFf6w6BL zD|^2V&pn`!fg`NFyBlf?!e0fVlrkW<^3g|YD&54k(YH-$n!V6h6qN#xJ(+XA{}UG$ zY0Y4~sb}vmw+(^+_+rF77+ie8uXJRqD#*#ju?C-X4mGCSebIJe`qHUs&Bl3m9Akho z@-mQ&R}?#^6*CXFDiQf-mCmwaJ$sqDvK{)KmX!GXGrkr08goMlJN|QZiPiD8!C@Ci zb_{>r@7wC|yJc?D?mmh0pJV=pafpHx4MIx$cKdQ;jA!#Y*vWt_3r7g84_$uw&f6vZ z$oiTWAT?O$T-rN3nXpW93)?BNncMM2S5&kjog46*u)wdL+$>5>*>{iICDRP+klmN| zX%B9(#AvVcj~C5;|8N2qd(3`E5pXQ-AC%>JDE)BGK<=qdr(+niSdO||MbPl#>b6&w z;KsL~^2v`}V2)22rCDI9Nl1FMn_DWm(UStRtb#q+9LU_VWG|b+%!IZ9@Uh`vk3rRe z^fwh16;7N{tVp@yECt6YuPHbqBg0weP~%GEIA28_=i5I+FgEk9sR%8$;jlo9Cporn78hBTJFB}lsmD*&vC+!XnDLeHGp?}= zuP9=J+Nt$g%XNn*BU+J+j%f5e0wj*R zR`uq=$H*u9E~#0IFdso?2Uho$1}9lmx1^ex+pNSX-INsWXT>vFGFvwQ+Jig=MyOsr zN*E9dSQLq-5Iij>->~o2qq{kxu|k-c$(q^T=9Nk?8tpH0L#t2nGyPVoTy?S*7{(>dBgMYC1&dBALTeYr3`q?`uSa1%i0(<0< zV=izoz)`T|8RM**j-oA?Qk1E1Zrdo>(HrJ?`uQ&n7aQ2gdOgXkdu?Z!qQ$gVrms(I zE^hW~;nVYc5LiW#J*?-5PVN438J|_>L5R#|f6>%lVqzQF9mJ8zM1cj@_tdVuCeV8aJHzbb-lzyQH0)|4ruKa z$uowW(riayvZQO=GB0KQ{EWbv+Stz`r6A_dgO`?i>^$3ipCWM(gtA6k0L^HTmtp-H zf7#jkv-HHXp0(|DcJIYM*&ZsTs;TE6}f;u@%6ES(uyi!(Rv=KX}jlU%5}O zxbYM=iQHsVxc?Xx)|GCOJ2>DAK0GKf%n5$)FD1J>KkyWBIcOEF4#uvRY_s7;+F6oB z`|Wbh;MI%0?!(R}T%1yMtr}uW7@4XO5mtVq`Fg0RYiW8r)$41b|ftW%>{ zrb@{}P@sY9n%*ZdjC6;w)g`3j1|R`^)}PCz)3s5iK0uiV7yJkndD>IT$wX>TFM#N2ECCF*(;Otzcwr?fSg96X%lMf6G&BP=2TEYg%;t-Qu4z24@ zT4Jfz!H*5qQ!Ij{q;ISQ33ztxwqvbjRIT!jTIoaq57$K9s)m-w@xM z7?&)6dC>z#B(kQ(Xb)Izle#mc@57^$%(bgGp@_`hBL22~ep!bbVyrNAoBYrXv5#nr61-D^$v?2-;?$(4HT^(V07 z{yjdcJAqyIALAZH6qjzu>{aYCr~z}pdR;)Ji7sE=l^_fW>GJDmUqXkcnwOx>fEdCl zq?k})B^?0?2f!bpijio+8)My|er2TJa&vq#IA&nQZi-neFQ3DUC!J@Pp1wrXW|rpg zK%yA0+sX<|kGJ_V*1dqJ&JfL& zp?8ya_KAva%N^8ssCbq>U3q=&gI(o|d;u7Z)UmnZs47eChNiId-c4BK8BmZ>1v0oQ zMS~6;;)akCO3hjOz8ID}I|dLWfH-SqYk=Q!3%Us|(o?Tezs57h;ZAiUh5MJckCg;F zP}WOCBfd#gN~8EVns(KJ$U?!0>xqRD=es%&$8Q>piqp$U&VM&+HnM8Qa(9ts-fW9o z&+b$jqqtU(4rPSc=?w$ln3)TWXyh=qrkX;SvmL=69t_xme>z}`v z`7{JO@42=)kxV0)m1Aa|hjfkBQ0>L{`LB4*Jb2ITp5n#oG_jSpbPDl%0lHN{{XMAr zp>cqX^Rv@KeRkY?y*FV*O`F`jh<)WDlewc&6lMJ~2x?5CrB#T>XE?^NG=rlsvda84 zYWz*s;?J{Q)o5{+9n$n)IR&1aHzlZ(LK4&?!CFwv5K^M_(KOLzb--HOZ?Et2=Tp!T zVM}eQhRcy2wyA`QXp11|*9 zd+=PKkDmh@BS9E288?xv-meL6M)ImgLI<2|G8_m^l<_SOx6VE$>hN5)w5xSZODgLI z22tQ7gG<1%xKfh#nCUGCB?rz@jo3^M`olDY5jur(N!-xv9^cDRjooYhwDpg_43nzs zdh7=2!C~R`TB^Au=af(!-_<%aiXfU~1pT9WoxfanVd*ujO&N99$;^3`N z(6j$i_!k5g_lwGHtj_*8Y}^p*^0VKECIS~;5K=vScy#Bs+4S{1N?CHpujt@~RRWxf zxr!>0b&aW)=vu6v&9qr_xDpsS^d=)=meq_FgJub9->4E?K4nbR^pe!AHg~BBt^4Nm zEX9<&=K!fw$!iOl-15&IZ@#6H#U?KomiYoPP<#bdf@Xs5+~c$(gO@R_45)UF8egMT zCo-0rh$6@t_y?HNtNqv7{NGOcZ+s`Zfsf#$H3Xz=A;lLU{G#Y?ba7^Ftk!R=hJjI_ zD^`6XfI3pBVwn3>*+U=-t!FNoiRahXw*gPtuvJF9f+XUlG*s(EGEd)Y`A*{Xl3(W& z0TL@F2u(F_vk~eHVx_YjoezGU^E=mC_Yd#e#YJi%({25}NB9?sJwG|s$+;?GBt5_FdxmVKPDyF_{MrM*h0eCL1&Z#F)jUP53zC|E zsdSJ}=ZMeYs-H1v-j>7RudB&yrHyFLGR|_0Z3M8fpNDl=FyVa27WieghC{ktk|QX8 zh2UMNc?7K8TAUlF(0>rc7Rgi(&(|aabIj1sTAK_P>|3@<9nVA&>Oz`h*jBQz4JJJ&3(O`S0Txd z7Rx(9W=F7yfqR2e2S<5ED!UIm7*=>TPqy62JJfP_R$?PB+|YUbiUQIoFpX7V;_;01 zMVZa>BOrZZYE#L1Q$##MjRQq4jhb$712HDhL;0QQ2i>cJIi}@&d4g>vSh|T<>Pxb& z2;-1yxT&!IL{B6-uqplK&E)Tt9M`>3SiB$ob}DO&x^V3bPPwP2XZz216j4Noe@H6@ zprFVnd@c%*Ddga}GGL{Ce<7{(n(&92-KG?TYKaH6=q|x}@Go0jxBwCrCJGP-=~Gv} z+MdM(!uf`y9{zqDj0nZth0bWRgK5#v%*=ca^>hcKt8xK*5OQxd6!ZYU2zB?Yc2N0( zs7QVF1t)0W74@0C5&w5g0vEs-p2@Oc%8!14TJZOsv0_%&OxM4!c8$)Ti^*`p1?!@4 z1F~WUea*N3+AL#;asP@OJt$^H z;Sa<`N$*SkxF|5pE2y5Y8hsf+H$Q`WRY<=B?i>b%O$nJ7FI{?j+SGS*(~*-5X33ud ztP20?F3r4t*~mRCV)*1L6mJhdj0Xd&5M+yDc<$kj zOTWnT*C@aKb%CxvuGT0E2bd}RNW2L2E=TUMsTB#TW-nn{wG}zD?|Sk5dgg!rMMJRf z4u7;;8Y&w@2Wi+s5Vagc(z^?^z z2d~i5P*NC0X5;Amx7(s+#P8iqaPUu)5rWCwJOG`T*`P3YUWW`b+3zpd4cW)rpzJXn z;8=O;`G>-FM62`v!IU$@`8voDncvLHOaqjheE@-Y--pl2&L$hHsY<^nT5uQD+GuXM z+KKZL|9KqU!xM*yf!{`B7rW)=z`2EDmK4BrKu zniMTk+=$E!3=B>i>uYC>jTzI`a=1{VsQqe4)Irb?vLma1GZOlVC`QqchGHsE=i3uu z2ax!LY5kyT;h?*N+vl{klPEaD46|GRbkd{*FyHD3Rc&?%h$K7T(L)d~!HMFTr1x$=G-@=7|8wE3VCB<*DxIZj$iWfl_{w!%w0!jdf<5Y? zz!_->DmMM`fE|YeW(x!BtusM@T&jzBJl!9=z4YX z?pqo#p`XWO7+Cd5IQOXSx!-ExJ=Qq@i({wgjS>| zvmW4wP@Iu9vJsQ$dwIY$b2->&-&Q`Hs!40c? z6wX)m=W_nWcKyJC;WM=%Kgg7;3F}ve88I~; z`ajPIOv(4srIWPMkzUI){Z3nlMd0KjS2G<}nJVkCh2i(Z;R}Emi%<+327_Jx7hP)iw8deZVRMX^Wq&^!HUK#(!;3N)=L6tMzaX7WCr~f! z{%F%Oy{*GjQ+V(T!qkC+e|wQ)!I9Zt{Y<7h8Z)~HM~f^(>;YO85+=8@o2-eHEq%KU z0#g3_WPgGyRw*odb?+a=_8?V4J>ka(O8qPUQ$It^4{+@wZw{oT9STgC1P$pWyX&3b=9*iVxm9eS zxhta5!GuiSJLqQh@{)IuTiD{HC828$U`(Le&`~uA%+K910OU z-W!^uk`p;F;=T*NpFB3D3&IyW@WzC&WXFd}ZVX&j?W*=?x?|O+$7( zy2rBZm*R?G|-&;I_^fIJ5QPIawK~K)Rg!)gXK6^q+X5 z1K=lDJ%Bo5fyAJW64KVpF7E}`A^2M?01E&aHhXS;L+G2|T~qq7;x_@I0Skn(FyS8j z=l{?aXS{~j`A=j&%Wod;x`oY2>5z}K6EdQ~83=a~Ixhc5FoR0&rN4sz&9mqy4?9@& z4`fkwv+3eNvX>LR9x=}L=SbfC<{}h;ni3ju!4nDrbHP_bbO5#HhC6G@5Yky?n=d~!UyM6mM1V2^01V8=3Ji+RKMq`D4ESr8_M=*k* z!@A+O{Yz+}8eThB{-jPyLL!69Yg4=tOH!3x4L$5x4!z##~gxj(qqNg`ptCpfLc1 zfOWQl5#Nz#MW)bbaGujE(hyvZ*Z+TweR)8Q+5i7(p=_lgH6ubsBFbKg&_*b-7V3_D zDk>#K>SE9&#Yl?kMiP=z656h@gebHMbw`sMp_|ZNzt?$gmd||ebN$XA^Zn{`pXWK} zectE&e!bT-gW*{TALs9ddFiq4ud$Y3Q0fip5(cmGzREH|;?^fxk65(^UZ9QJ5}_;| zKU&RYo}k{G%7_E`|4_-S*hM#9|;kW8C>(9dfQtsx?<#I6UL zQ2uO-^t58i*+q_y*77NQQxq}@#XCo>VF-akm|JKnD@~e z<upas-_Xnt5w>;fW;5*o1&04KEGC;Cuqw$kZE_T6b~^XX z*Z3lp3Nv&=)AL!6x~x@6K{86s!yJ{fD_1f3%b;*Di1ckOL2pQ!PWYeo4@RIXvZY98-mZJ%iKL1 zKZ@INQ?o;##B9F*?A1dFPtrdL?)Hdj*g7Du6eU^~@r8dPI7t8erdHdec@Dj(h{RX~ zet-s%JTwetJhO*Us{K9`pGV1iea&M=io8h(jNwh)HkQPUNO^OGO&l@L-&>6e9<+*% zEkrRQ@_KDx(4s-cY8Mw>!YPUiMNf5!gS%!ZH^20Lic2b77zC>v)W#vym_iCgZ~ip-&Q#ISe*KT;%f&y7V{B zUwBR5>i$6XOhwgVHAxXco zo7We1<0~#7=^Ab>>2dtc?SlLxpPykDnL0z=ArF!M?$gq4kNlf%qTaN3DkZ1n;r14f zo@5w(hmfnSoadub@ z?quvm)F)Rz+%lBqSpyZ>n#|A(i-X|>zYJon-mrn$sO?Cl8aHW@DhzI<8=W3$69&aC zaq$1_J3|;37m8{`(*&gTwY9a0H!Sfhr=46_F^UNUOL~Deq|35#%d+VNjH0Y@jRDUil(81kd{){`3gf&YdLoy`()dd6WdAX)M_IRQ zHR!(N00_6j-agPep0P-)s;cTMcHm-z-sh$4*eN{ut6i9Cu_D=L4=sZ98O?e4Huv7W zdrUiKKCy55U_oo7B@BL#pJoV;(gVyrnVyj`5Pg#@2A*KLdI1(!igb+r%^1=wNjm-h6Bd!FHI=+)8^(o&(RsvooM|A%nzE=S1vwJ zT9}LetXKFPK{7Sy6D=ecoOTIvwRNd(!WR; z+(la4{NEnJO&yC>KX~wfVe+$!RX)NkWl0^T20e7*UQ2kA{z@QP%;NT}n-5nA~R7bx$4I5tO*iOHoiB{4d+_KG$!CaQ11+sD}|_TJ7i8 z!J#BFUefIm4yb`r^+R_y;i9gH-TD*41qA^*QP#pCOje-i!YHmE?r=v>y~Uy0xonKW z8KM~Du~y6|u#*NMX@*Wwbiujw;_Yi5LRk_#%g33OQ+xN8@eF>lnsUlryH%?WT86+T zfm})bqCN$O0(J8Su<6fT(4U9zrCc~+dtH?Tokjq%#?y%T{$k){I3xpNLx1Yj2pMmEIfM^78QTZ#YM;`H0dHjp^DyN2Q0_rHD{QVGhN0&MPv zCEwW1+q~1hLY++~aAH6`jaN8iX>iAUrCoh}y*P2i!QAS1BZ;3!f`|dO?b;VjxR#bJ zb^$MA=Pg^tGk{O@*MR%aRI0Prt5Ihn^7(nWJO!1dlG*leUC-CZL< zwYfU;6^Is<$`2j{K^B5)swf#!ov9$0;WL%}s2F3nRxKT6iI`aCDCS~8X5kL1Gjsgf zw?np)m@9!FJg=(LKT8CL`Rd1{0h) zrZsuyrrQ z9~Yl<$OTMZ;e1mwdI;R`?@o#=eYDs~uZmZcQ++mL)8hIDV2EBP=mhn4%$3aa^hmDES zkp&gvUgu6ubLeu%I0?QuEd*#}Pt#VxZa`dM{emT`r`bLO) z?MQBrTd=|$<}oY#9)}-cR2KkVumZkK6uQu2Nxmq-tIerYAtoCgMP~WPv4WbD5F10n zM>|d-XA_HymjDDo{BJ4V?D(#U6xkzvkX1pR1d2SD*QKP2>{Vy4pxqVW1ZrA5H4EKY z(d*%4X1h4I3xEF4;6Lg&W5a?6N0SDUqVgwCY;jf?ce3&MRoUgQWzJ?vqq`R5#jZnN z=$-}#6dFHwVL5eQBrMR=lUyjbz?GRqGwUQ~_noofka!aIs`E}nM5xS!aOcV_yIrth z!-jVvvRE1i1_5DoxA?+=pU=D5tIkYXU4xbK1?RlH>ODv_DyVx^Cnm9+Kw<&$vuFK9 zDtf*@ap22AVD11!;1V%5NmB(jd`` zq)6HzT`UK24cq9;tAJOGVz6{sy>paIf5#N2Jj93=V6fCU!(zO!{!^&(Bb zEIG7k{d$Y=KKQB99JH=g({c5h!lEI$_6Gg*A&0$Spm_hsMv&pu19kjlM3&u zgYN7Xxi0$G$B%lNB#pCsE%=9KQ;g%g2N@jU5fO%pSE$O+ODc~`h_Yv% zuXuyDqmoC_oe1vGg`tSq-2RZNN<@=r+BEgeFc*g4naoJXjt|E!!73%9F)79cof{;- zh%6X*kUR7*x)n_WmL$Ie?4Z-gT%KlnfF~y!cF>}V&EY;HF|vpHFmvSRuhKPHAww!- zdZq(1-TwFAwe(w#Nr6098d}Tb&k9@DNoBdDQDmjXxeLGMbRy_>p1VSI3#EUy6$o%_ zNyRHxXkBjDPk(LTsis94FE$_L)paMn2WVzyW9zta<0zEp``bA<1S6Y4fn@%%*SJ89 zZClGBfJP!7Y;)fo^}6&u@7`@NW9SjuKgmOIM_aYO&= zD@T$p^t`cTrUBls{wri<=EV=Myx4?AjOPfBeE&GK%DdF&(v4*928(`U6aBaNtid0; z1r0fDz7|CpPm9?ZFFMv3UId+nF?6!n1z52Eux(2n@&s5oi_9WXDz@~9W>gCsWr@RK zMmgM^2NIjwOJNJaT-lnSP_K;k)-5X;wn&=I(D%3DV5r~XLj6|uH=iPjw)mU)*-;N3 zZB9>UYQ9alr3_2)^;NJpin{;$WV3-#5g>pC>X^PVW0IJkexq!xGSb$nH1HH0Ws--n zDTz9a_H^Khj6j}aZ{j_lIRd@MLmUUsYSyfIXk6e=TL(!RqR9UGr^c?lDzY;~V%B~) zI8?5By|c$p`7u{_G;U@B^cuE@g+5ayJ&wN#oF~d!EVi1HIDl)KuzSmr<&=55(@nCB z%Zy{yqfOm6;IW11z@e5`fX0wRX~GC}*gR`%y3)u2boP(dM+;$mNghqzu~(O|SGikO zqB-*EQM)@38EHZT1x?pX+{un5%t6SaKF_gZ{PgyZg}9UMkgbuUlnorH7&GBXpzRm2 zrtt*n_*KgOO?w#b(LNK%D|qnW*8BGW94dCwxM&4PQt1hEj9A9>%x{0GmJ=X$3cE$Z zs-SGYh26==RfD!ef6tmL&)!YRD}Z>hzjq>>#A`S z7s^a1Xkc>%K`W~)P-aXdjl-D8gb5QEjUD`?u<2Sz3jVk~I5f>>TCe0>X82&w(l z?8yvviof8MM>8edir}eXC(Dfp?k_r4ki{=PH0;28YVIA;rg=vQSB#rJodN(+3fgbe zJPU=4Ux~(^y}EfFhHT4I#qy>?GB;LVwa*5Y2`&ST(C;)nJe)#z@568fEw@MK7lX0V zm6~@q*_tA2Rqu`I&z7{ct;U5=xQ=iDH7W#q;SqpWi16KYI^#1Vgw4$CpMI^wB~OP4CY|Q~lHvBx-+Q*KgqPa_L8Sw@MvS&B zBxJ_UPusJA#Qp@3z)Y`TVGNLw@GicylYG%~>Ln6{FZnIQvF)Xr*l6Q!hreZNSs&QT z20g0#yv=2!%ziNRoxms0Tyxr^LZ4K^@g0lYma^y1gAjB1G9S26o<4obcx$yeLkk*i zOPC7%6W4U3e9_9-$Khiwr_dRl%z&#A9iFM*?aj$@na+PSJ7z-d9I<70RuZMx^JY9m zeVsXUUBQP2e@rPAQ=)eSI8kYa)<;aBfVaUejBWQc{vt-V zX3Dqw17T?%<#mq1^rrcI7!E-aTUnQT>y{Z_slOeaW7hos`)iJZJhz{%6xb|KRE)WK z44kl(D&xpQT~LjyviNqvGF+-dtdX8{b$S2WY?zf;&LD%b7k|^r*0WV-R>DOFs$(Xc zt6+g9!5(Fr{EcSvE<^KD{Mmqz!7$kxQP6jKT6-;`w1cN@?@w!{sjHE?5Z(e2KYzZ` zx8-#_UI-_AO9nftBbH`lQ1rsRL%%>tx7`%j;|`&5hK4#cP~%p?4up64IwL!ca!!Y27Pqm5+G)&ER-}f#>sd# z{X&h0tQCHKdT71Zmh0bU`At%FFZl3bi|&{)h@zbWe)ng~bam@3|LC8Am!G|>JXYn@ z4ELx(H}r@=dc@19Z58wYbT>_l-zmDGK&w;`&?}m+(~ev7UPzi0{ssxfRe~jBfj7c` zJPxAnda!`nxep)Sj_3LPLfnqSG1cl5?a!7y;Wp2fRKCGQj=ZC> z=!PD6=gytgPEKz)z`1T8#JfoiXzrq=|N2z0GMmK)*`}os>_-@&VUGUbR7q5}zu#7s zm|j6crq=oJ1GKf2<^-ee37wj*Sj5(&w@L>a;&TfE<+^=?8j+{8ZK7}8+^_uYWV*Ha zHD*-acEx$$6V;n^r^Ru1t_K!6~c2_XzwcOa$^mMg` zhK734KWO|m6Wy_0U-@)A!>1$-Zofma-oN84crOSBo{^)8Cx~Y#jlhrhi``_5+qL(h zVFe9dlHP#7@p~BdXhW}e!U=)LO;^ee2VyS{eUC|cC;yjpTa)3Hhs5vvNlZJ>YX5ENAB=NoKCqQhIA5@G=e-g?^*a-KL4Z2-#c>`)=JMO7pTDTtDVs>u6qxrjSk4EvYDnF7lJ3x4$`u zZ>yUZ*BwW~L7$gGdW$+yA8Ky(+IM09Z7lv4vhNRKq!BY}-om8P&WxN6I=|;g*QRDH zZHofjOyBw|f)w=>1c=SRpyMgJdXs)R=+EX(Q6Hwmm4kCW^RcEK=6UX=khXBpV6v%+ zeop|ys+-CtLDX>4-wogWLe>|J*OoJIgAjYHDQpp1$`Gx8;kdp{Z%KKmpAPXlG5@ z{+r3>v{;TH)f+akX8L9=*?-0%DZRC7CFoXOSsAi4VUl96j(@dHz^~jY+xD^7;5BJ` zH6`cIjBW6U2Bm~PnI&z1k&&u#>Qvpw*M)^TaT{cbMHy`o1<{K-G9Z*um|^e}K%JG> zw){H1^=&Fao@H2d9AHHT%WAnpM{t$)UvNnBf1;VxSbzY7;xkMXah0al95nKXh@exA zr8leQv=k?uqUDr9yU;u!`xlls>iJ*Fuhq z$?K5P)(u946GYuJ{vASp3%js!Q>IY;;6E3^5xPT2=r?JaFGJRxovjn47x>cpKX3c; zPrf3w@{!2s%4U53|xL-V*LmJ>MF<1PmT&XDunYqE_5s`2DXT-`a&qHpulYO zrnHFA7=pRmOmv=7+8?ndnbHPTJ#*nQZo!K1FQd z#ow{G2jYkIuj6@l9z2+54CR0o2BmlLj@V4?cj`wQ-EYSJHHax_)_!W)(EbSmP9D8B zsoeN_Zq!XEk7J^!oa_+5|2+=@5*UUQ%Ss$t=n>o>_tcJEwlE0Sq#$tjg?)ndgW2i* zUrg!Myl`-~JDb0d(>t;^XXJM$I=t_HPqg|b6p93(2umruR*wJ2kIr*ehiwtTXk$IN>JSG*Lq8o|cTI)p|KqUzb(}X!^zmW!v9x#q6}RTpdlbGFi0dxE z?=NhdxCTepH2%Az+oR;Q=j!iO6t^l3GpoyP-3*TljTR98@X?G;_STcg7f|!P^3)+PLLtD=IUkjN0)~!cp#USm0f}_gVwEbNB(lqVjA0P=D|qqo0sC!;Q(W( z1|`q#^)GMJT-x9})YzhyIF(PNLpN@5K?7UA7^1#NTTb2He4(!$fK~zpT3pKfXclVz zMRxN4p+N-X6XepS@@OEUL<9vb1!u+rX;re>fkBu0BNx02TXJ1-GY~aaRDk(CO>@Y&-_P7hdJNz~2jEZ#V=gLO+}PZNtfXb5WIzgC9$#v}2Kw(Pb~8~{Ll zlivM6T@bj^1>bUpl#65om*IV}CqI7&F58YmX3V@iF0Mba5D^F#?1yl=jonbFjFaKk zE&0fsB2|_BFB=bYjvES^W;9Pyus<#|zuKq6 zK{Cl87Y%>r&qiTuXXNyq+l}Hrf=ZRn*pJOGuB)!Iy8}-no}?x5)Tw?IO%~}j4a9GG z=hG+85X<*x^YG16$7amLwGBr)ytDifc5j*qbBV@#00h^sUk?E_VhL){w^jIPGgy!e zwsL=Y>(9=dk%1;OSSD%A3-8aLeZS>?3Yzo_PL4s}L^M$aAA4I)czf%_ZI2e3 zOL_zP_{k?4L(W)V6C zvRS73CvAz=CLbT4Sd$b&2G2=cdSFV0x0ZORcjjZM%F~;MFc*k;uT7Mal&*gRlK9D+ zPupWn@;?I?M$5*Oxg&)pH!1G;D}7n-tRDwaTtOH2wb3M zR6*qC}xA{|-TiwN$;g}(8LR%25gRB^lXM@*+Zr=_+4+cFGh??FT!;Un3jE*3C+ zcewKE(Wv>>2HwueP5C{E@inpi$|_Yw2mABOzF6#Bxd|pFnn_uo?ZsRj3xM`jOByWj ziGA$N1}wO)&6+Yni2XFD=%%;UB3n`6RIyW^d^F!c-H_r*IpQ`P7S8jl?ppNnU1H#7 z{>l1RmJ`Cw`Ab%Pu3cD`ZCLduBr~m4HA(7%qDpz7nD58OmNbCuCW5i?!PuWoGjel= zah2A%AQZF3>h&!6MQ5SQ6Za;v3BKxz{js`v=_ek(I>APFUu{T|HFjb1kFC4**by!Z zgNf8fTkf3HXEz)qqN~&gvqyP46OHDd93@4=a_fG@bjIeTOkgziYpe_)?hAcHv;T)a zo^YS`lEM$ZN#Iyy)Vv3n>wKStkiK96;vY15uI;srf8e!ih(2>QZTA+Kd=Z^Atxd_% zF03=*@y50tEVL&kBfIIVr0A{~llMU=Lo}$ip~WfiFJiUFx*QrBW{+gJTB+q5C+4$> zV9^xdi9hb9xLnuGd)Kjj1d2+u{!k+PJvf!mGkqpdhaj;$KU-%EB4lhX3~tUGGHAr? zuyqZMa7Xb~PDDi=Y!DVGQ_{~H{Er7QaF8l%iE{N?(vM!>3@9#^wr-~Z5}se*>a4$E z{d%!qK;0kq&86$te?c%w(^pNN1UuM;9YdJA4thf3@ZPAy{WBFgnOPG(-pY? z9I-u*L^#Q_;a36Y_6S?|bT5R40BjY-~@SKhE9XLZWZhQfD$2^$)Bj zrME6b{XYnUCN<`cMq7bCLp{-@oBB!UEuplQoxeb;IQDj-FG$fnF*a{YMh>h!&RHr$ zddI^Mg9N6Nh=jq^AmxAqwr@4UoyJ4xl=Yb@OV=zKz)FIowRT=7b!j12P=C5vxmvi_EjFQZ zdeyAdrE`WnlqL>W;Tj;z~ih{Mcpp~L~Ov@O#p(|p+jZF7uBOR7cUut zi%7qzSI+4r^$o%XV?DMLZO~t~hOc}-KH{+P$aaNysX2|folwRxX9FzzLx16MPQDmPjTxc*nXlQ^D3f{Fj$F4qdnViJB z*K4uYmRErI4C6e9VlK$M$!Gj|~@UoO_918S3p55hSN8t;=Cwn$Ze z!ACKzTi;1}ZnhY0?CHBbO^z7TcoyIu-2~cQk-GyTAF)!_5D#q>z~6N@%F}Q=Q0d!WWO|pEO&Gaq0uX%eC`KO?Iggq z2CDM%pC5?f^&nhJ{i#z2A`rF*dOK;9X9YwKI&Cu|N1*ZpX{>I9`JKGi@*aiEWUw8q zS+N}b`7PnQojoN)yade*yCZv8Xwel5^vidC_v6xC_u~AU+i{+A!+uT`p$H;v!e^Wf#B<($nVA$s7+HK zO7_6*x@?kB|05)$7T^Q4V1i;x1Y`~e*{s0r28yQ+oRs6oCd?9|z+;cdhr%DO>4MXt z(Nf%aoEkc_R}S(!8F|JZ8i7Mj%}PYmWJ!}BjsYS`^q`~7>KRfPZhrI4cld5ZH|I>2I6}^v#gSTS7nAmFp3|kGxlRC zV86i#@h+%)czA%{g7%K0Vn`K9U8jW5SEHrlI?lg1^0^~mGQ$3Wbsz};6J0FNn-$1# zhayRkCv5|VV*_(hgV?-7pxjtN@KIeqR?(C1VQlB;Ei!aCfyc|vfF&SMmAq?Ec1%Ymi$-G}GY%m0A_!nR1v zL+PQ30X9K~gq&x%?UzWVsg~9mxM0E3l85?0Ol!eCMo=rA0@Thc!(Fjh|g+WEUa zs#B>zdhucv-7O9FoeGC++h^OQr-BYIinqRvd#fJg=R>%Wpd7D^X$Dc&8{BZ~z`Z~F zX{VqkI{Z+Q#~Mq_$=)t(6*{RRa1eCTK5=qDOeZ{&gC0=#7w03~$JCi!<})b)$KAci zA9bWpU10u79vofppXnwzU(|Hs=E@NLS3pF#vFSHzcgu1gKi-_K5FZ##VdQf(eLRO# zr7HPN$U>p(bO>9Qu+FZ-82H6ZtPr4-j~7oOH<6WRj;q>kPd+zB1^K zZi6lgve4wZjAmND>dG!^2s@3Et*Y{W`;JwMzIBzfq6h73RKuD3h;g=4%N;qC(A zXZFqNd2*Qt4Rd&VBASZ=oFTpyuRY~)C0h3UHfS`7V+1R?D!iCUm{iW3zJmk>^z(yl zI(^#qu21#(RpNtiKm7?v5On%0{vjc2srwyluzB-XO7w8#EcJ}qW)y|A{5?9j07+Ey zBMkHs0#VEPt4mK*c78}pd*AJ<7QBdvpP$RA|GMOPX3yx#kSKInrpq%PiZTkxBOFc! z{%nMlvMV&H#i8)(#*mgm8>esBVyE%Z;ECdH`UR z*h%ZAi``I|`B6ccuY7Kpu+c_!YA2e5!*uS3*x@Wz_G+R`FDx)FM)^lS9O@2#KE729WA?;@^%)qK6v#o52q*l}@&+Hszk@QBJ zSNOc2VNMSvzX<_0C9HAzH?Hk>GVr9${P_S6=bI=GBz%~776(3i-{@Bcqt?}2l`Tsrh+^koKPtlu*dcSJtH=|~I%2Zf>-C0k) z;3V`?zp5|5mLMmP+o9YkQmzaxC$HwustP!=a0KZ_K>j(-k^&B-5rRnyvEKhV!4xc zZH9MiTH4i{w_VfJ@)uq2dAPFi*uoDAor$AXb{z8;?(aa*MO~p?C{P2sKFUHK;%x@{ z+_JZ~Z-L9hmiZMw96@7g78V(N^BxIbK+C^>iMQbehuR|CjiEo{7IO_K^N;`i4_6yT z*}TgX=!QN4R-{AAnswI<6zQy5(P&as_bHpd|5ws5AlkCrU2qVz<3<-c)W;-tOn5J3JuuwUL@-bsXnNt;skvj@fk98VzIShW zVL5!kgayUDiyoXU*}Oh=^F}lpJ$6rjw$sKUr;TfUq^~8}feE)N4*5f^<=g(o@$$yW^T$ZJ#Vc*swpb>5VMcq{x0nm~C{h#~|hr(bdWI4e_iFe*TrCM3Ci_D2! zbm)iEY0RZ=%nSbWAMTi1S#D#w{5mV0E+6vXnd==`p*aFi!%5SSoBF!(g|D3=3&i%t z;JYLIDjM6B*>HqthWsO$>3?J0$K3tIHfHj=2%o2oxN7u2^ZD{m5tlylM8CHQGCIt4 z;>5`dE_2p9H16!&^yOFo{lCWgGM-$UWO&<#Av%HKlDDd@ZQXx=_T}Hkvh?RvU|{ek zv#&a2KK6J**B-m^*mrCdJY%8=iX1SmDzop?MOboI6}o2WOIwjh9-L!P56}BC_3VU9 z-^;3tlbu1Z_m4;Ho<8Vc1B?j_LHp*`?9LIAUrdNs05RfE8@TVEgG|vfA({fOOUqdk zptysyxJt?0x~81DpM55&n8_70S`7~|Z^G_7d5bP3+%ag-N`ELYVJH7o8#0KK_l2rj ztj?IX-S9#Mrg#;g@+12;WevqP&FFeza2WeimSHJ_4~gl+f6OifJ_m!AP~*%}41QtX zcLyp256O>32#tzDwDu0T_j|Oe5B6)D?fDeqviy4W# zXDBNXHRM6WL0v>lZe%Co9uP5^LCN^yXLcgGEdUX{?vB{)=jAmZF7y{>es41$WWI0h zI3anmK>S0n{;BH`Bk0;CuS#hrnFjl~gSt+#G}&$nn>IQ2%R7&-?z~$KopgBD&TnSl z`QTmH`QWadFGJY|%Zm7yaN^74x^_NfF6+)4jKIowtnN3HXC0pt)R4!#PjF-Ht96x) zm0~gYe?P%LOy90`Q@?Ful=ZSIUoo_BS+(Bbg z|5C`Bh|fQ)Bg1z%pBBC0m2YG`BjNZv?YFIJbeYa$jXw$$!FF%Qb+O%!^s#Zqn-a&c zF|%OyRvCUpxxBZPj?EoIu|I+5jE*HND+qw5u1NS^Q;T#uem2o$b9>Pa+j1I;U9+(n z!FmWpqp=AJUyffa`|)erKb9D%pO{fFqG&?CSkZ{4=hdHSL5~)eNej}gh?|>JVtj<5 zrqGA^k!Xj#PPLEoCb5o}@LU@VQ@%_>TE+TTono@U3$|RB)#XBRYKIepn%MC2^tgiD|5GK(vs4ZE@n(zakpCD4aw^{v9Ku9its6HY@fn>N5YKwSq44G)l~b$j_uz`XLi(*tC0Al?Ed)1ogV;2qEF+^iP9v0!iIgwVD3o^Tm`Ei7MD3i*e*nM5MAl_309w zYWRZa3udgZfH0oV{6oTjL>y~bGW~DFk0QSzUjBe}ueMe;`m=eX$zYU+5zS5it1ZfQ zKgg_U?Ld%2@(>BE2w$6#bQfAU3neh#fR^sC&VN(2j%JzuIIgN|5_WxNZ{-H>TF+|c?*KMsMLsl%X zjA(A}k|UxOwHIrn9|{}HC47YWQ?ds*zwEeu?eGc0pjS3&>8Lx-cbV%i!kO+Rq^CHtHjz+Qv-PH8Q*PoLU_ z+Bz{awfvPi^sF{QS+8G-K&IH9x9(MAl`*451dkGPcL)GRSb+lBfj|&fVVQH(S|A1S z0ahx;`YY^LumKpd!yM08c2P@VlaDm9n^oA281J6nbT;(E@CmLANezalSG}t{$BO6p z9itE-bD4Z%)lu7v3@?^BNBF#GY!{162|LM2f;LR<=ag75zM<7UnwfaAYf074x|F(B zR)oRL(&j4h^Ur>dNm^Hrj5Bs+M?KsDg%0n`Ek4*J`eVy91~h}@2hD`J-HWyQ#FRKRx)@+G~@>o;4vgXnU+`rbWYCKyR(h4M)+4Q zWL#|Ba%p*+Snkjn|7U0%{fQ*+cS=0+ATq?`C;C6~cMb$fmEv`B^Sn;D(=PYWJ8Byp zRL3OKa9ceyu4S>KNsT0YMfjc8;1>K9QM$7-hb_~P1S9Z46ix2#+yq+ChWzI$C z8`;#SZ_kHrVYt)n^!SD|b**AaB4Htf&PelGi7j{1LYkyP)eHQVdQ9}F>0y{2E5HVNzW;(yO1=QL8+@a zCvMukz~;`jf%Hqsl@%_VSFw}Z_aZKFt9-aVHNo~i14;PN_a5YB*EzCTb>z7mz+BVO z|Cw0!4<>e18z{dmPrrBVYtNP|p<9gnkfn^_ReGX6_|p>SO^WnilEzibUkSGo$*W(H z#MBWJ^jfq1S*@{TG#eozrSEsu+t-w_;8^XS;fM4O@1J3K$_?R5ZHW_)ZPA?Rt>;Rto&)2P2z`JLdZc13#zFs?t>t zq+m+E(i>S)7Fbda95p`s8QoK^|J4`IgIFDOq--4+Cov(-VePA8F{SzA>_Zw))=E2j zZw+wvyoXTU?l8!2px+UMU$(t}KpKZCP=4F>-4S;ajc<@D=y#x|gAAU@*xKT~;hIkL zT(xZ+uRx7eJM1`va-bV&C1B+v4>B2Ps&xO=tJG`l?1or!5|}jPe9891U{bNI)9SLy z%IC5Dj(&7;l16eaRH^r3ag^hk?futHxZD@x^TL63QytSv{1_*Mq$kTfK=P=C&RGw@ za$?Nb%9&Q-aZ#E$aT@~iadN*uu4U^IDW9_AC5^t=rm}_KDY3Va61nah;?fvQANlQj zspWO!2dG?QBz;EiyU!RO2hP0yew`F&l^dU~$EIlEdOs6!08Mmg-^JRouNs<%Ng^8k zn?MnJldQJyF%<0337w0r#6K;&UO&JCFrzdvjnxBAg3VC(QdeZJH@?A1Y;JG{{_uNu z>G!tn`)#>(d|`TAXkq;hru)_N6U_2zOUhY20mSkw9xZiBREzML)U`gtAAT<&iazvz zzUO=S|KoeOamh{pf4(;qt}M00v?;7drR@dG2!%E3`>H*ScCN589F!xZzvX8<58f7< zWbe#s_K=P^eC^Qxe9hUkbgNoJvoBj>Ir?}5+X#mAxtSbk9q&3vIz(Sm`)YHs`DS>^f}9s?wb=>{|`#=OqnpBMd=}qek~1 z)QJHZ_vYju$sJ#W6^Q|Y`(F{G!pI4(*DvmPYQKUN#4z4OK|nEem~<&&rJE_W*Ylcv zvstl-;0V+Y8TU=sC+Czf&b)8?#qHcsS8=JzD8;OgrTo9WCOo>KD4#lJn5~1|+K5f# zcF3Js`w9++)U9w%%2J+l zq?bWNJ|o?}QHwtX3W~t7uB0;Vv&U@uKb(lGj_iz0yMk;j$%8)y>9xc!uB2tuFhA>A zH2lhMS@EfEob^~eJx6WH58>QbyoJP^8kSexiR)y&Pk2<+h3u!2oii=1qy08-z=7NB zE;D}Ceel7yB732V`}2aKl)*3TUzgvkmzdV@P44~Y)5ZZ=sHvu3EWUB$#K&Rk*^>EPhd@t33r=-;@OsmIV_pO0H^UJ3+)`T0IMCW9$#;qHIj z(x~ijuRFk%Re_1lZb34;Ra%LUnMR{{0~^;I_2>vGDfeMrTJ$Xk`cPi=hd21(CbQF# z4LQHk54t|eSz|CJuI*Zy7i&fgSNljm!k>2bJC<=gbJW)Qj{8amf6^uWcL?sm!$KO* zml%ZvR1HTp7$I%W2_4h^zK2d+wX7R>;UG59E#%7vMmG5Q8#8Rl^D05IS>Y*WH~;%F z`ftAdJ@Ct}qOrp|%Eg=Ko2(o6AlJSBbhcy6orDw|Vtf_-BnAm19Y1-P(Cy1`QdNmR zcI;RV>)JSp@4(jzUORVY85kHe6+|}lpJ760$-ih=SJ|u02a$GGS1`Xk5A#%k+s*RU z?8zU`Ts4e-Ug8)CryKG930EUe%{R<>BlM#iedXb(Vb*$jdj8M`k_Z3J zQ_#ys(9*Kq-OWwJGZgA@{lf8E?k4vNle$jn6SbfR@Xum&*{ZXGLf02pAtRW-cEUu4Rf5| z&1XG9S8(GCNmfBSKQH5MC6pSX{!3LLQ+!_7uV9~E0{zrL(BtD)4HZUk8HY7QHaJ2{ zvmS!Ch|&{IRnd2p7cD>#ajizKIqUqqa0?GfzT}kH5MUq{(Qdq@hQeh460E|jY|aj# zE7LK@@)Gv!*)v6@zS2;594q6xUV6j3)M=wrUAe-!lQ|Ul8zb4aZ6eQW>OyBKhZCj1#%UzO|S{eSF z>wcK^nQY|qlH^ooU*8K4;dh)Jx^s0rq)f`0nG~(W#_n9YZ|lKwy&ftc@eYZ?hIafo(k-88qNvU zgJFz>4Me@fOP*r?so=aR+Tc34RjtZeVKV!rav&`eQvjqLI+h!hk>-g1bi;@|7kcemF~^c}fy=I^E?%A}U3*eM6-v`D?7K(O>FclD?LR9dpm`$BF1KLl{}OWe z_eAwWP8{L%Dz@LB9lV$3V)~WZ=~T~SU#x(~Oz6_op&!+D)@kGYFRr}dg;>wkNm}8Y zz`AO_Hht_Z_gUYTh5+y4Mk;x|4zP1IUyYvjvT+P9XU-OCZW8&uh)4*;)2`VTbiZYxMJt!-39$t=Y zu&Z=shhpN?3)1<-W%AU(0G)l)Z9rz5*dG`d;>-xb1A?QlO0T7YKBnwkY~mjoW?ON& zB#agEAPf!q@zpZ=oGcA6c)w#d9&D^#)6^za*LkDE1tGpi>}!pOIas5pl{8KM5oQsg z?}H4vs`gDmatqS$8}dFGs*1^~=h=4fJR zHh(p!q)+A68Bw!A@BvoVBn*7#TQh32+7kkX?!W7Ar4ZeLrn z((E0Tc%qL>+uJ{Sy1FJEl!lO*P$LmcK>lHDKzO6iW6ehBDC1~mfwZWdZG!=sYA7^m~3OwSqVNQAt9x~X?Nj_MnRA_eyTjxLqx{reOhOSiIG+1yF= z2odG8CELqN^8&mN-vZ}&y-3MXi$>RrG-;BIl+biOV*JxMAi=2NQdV<^S&cRlz=DUZ zu81E&AJ|0YGE@iqK6Cmp``oXeDPTy?JRR?`Qa&-6f)(y0TjyzSYuA}&&ZY;fcJtH9 zXZh&seOwCdp3&GIDJhCl-~Ns=V6xK1me!}znBf_H0XBg|uZUF&>lmMLdHMIrp|8U0NCD;mLl z{LOzE>di-nH-Rf^583Z=L>xDuYGF2B2C`$H&6x69fWQ>75g8x7Ik>T zCpfuqywKRZpg^iP7clND(g~N(8CBqnD6m55`GVs9#-Neo%9SetuUUq`fo=-P`64Xe zg_t4^YY#r1KHuNOr&Nj)4S@v8+Jq-oBhfY)1#p0RFJB~RbLts=%r;+d?AVK}b}|tO z=)Q83kYy1(?4>!cTvHkD?Dp{8!cBqEjg3Luq-i2D7!9AW!4I7hZ(eTEc+veaFqz2b z48OU#|FpW+L;<@LG@eGqwV(nX)WZGhEeAdh4TAaoxW7RTj&dVJ{VGkx4)KcDz ztgMiejpy3yan>@+6j-i$I5^Qj>aOAKvI0T$R-PX&I9<@>z>w?yW1k?8IeaiAyL$>mfAx7jv ztd5&sv`6-+AMpmqnOUtf@VxmWWpsNG%;~{?PWehyK9b2+iCe>$@}QYMA0ph=D{l+8 z7hvnSt*n2Xw6Asj0Y^HU1_`vWvzGeJdJ|O4&&Y3W*DHmi!zo3w;Kf zB_Y??xmY+#=v%z4HdU(5=2OF;aB7i15v#MWBL0l>%#ZEzBx6nBiS)>ZiObp>|CxG& z9bpJUm?=+b{ zkDue_ryF`kr9ay-)Qc4o5MxzJcw~{AKW;U8<6*G(apC@vEq=1x&a`=&tA&M|=b-5W z+gLt<(vB#*1fBxzB6rv9JTs)_&~)@hDf7$wIMl0Rv+E`HO%pr9i1Dte3qRh(tj!+F zT)B~AQ)^NgFTlc^JFKOAx(wy#__Xs{22{>8sm$$~I45e}!iL7f4Zk<~ly1|PU+yoU-9a%FbnRuf^{8nd@HA?d$;d_BNIp@|dW*UyO8aY5>?XClQK zfhH}d#6|M$`={^6!$W(-%02si>(qCXJ*OXh#4d078>kx)nZ}FMrwQBIb4Rwki(YRc zb0NJt_q9px#WSm{u3f)+^(sIF+wh%4DMzNCE4j||=omNbOy8D&HmSF_N8Nh7D>v0j z6Ck2}!;=r6{ieK=DuCVU7$P*S<^{wm@3hehR`NZ#uBES$njz-LGM39RG=H7}n+rx(sE6vfjgKd-?pvsD-M15VrA^9i24V)*_P(5** ztgw)mbz<`_cFyHKWZ*5|K0@~O&OV01I<1$~ zZ~D_b;qSVIQD=Sfo0sis@EkZP=i0UA9nvr*`W!Hln7^zE7p?e(?|xm_KK1d(%KSrR zTQy^=k5uOhD{nnm!RaQrySux)yF&;T+}#~|c%J?4*?ZRP z_x)zRzcZ`<^jg*TRp(W8UR8B>_i@Y0%LoXXUH~6qZ=nEy`yQb90>*s-w(AB10|yU} z5FeiypTGy7GmZeCi-6FOfJl^pRFyz0pCD+EAby&Vz?qPcn2^w)kT8Le&WTXy3!#WD zp;joNV*@cUDKSMTF{?cB_hu3)FA{@FvNz`B!b#*ZiIkMI)Or&%=7%&RFLY-6bZH9= z^h^vt|1fE%Gg%!lCtR_xaIk0xvbffA>W6a?k#KYK@_tO^!zUI984?r_6P5QAP5C7y zt)NUutn6E%qN=Ov8~$G1KwUjiUAJL&HESDZ>(nuOLK6Fr&h}0X_SHKd9bFyp^&IM_ z90?N~H9t5Jym8{Dc5?pW#FoDk>Sw)s3Q z;=KHlyx%uPp322V<;82yrLAjaMZe0c8p=PM$2HXNzce_KG&sgL?cX%Fb+vj^wE0PQ{xt2(`_b9a)#FFpJG<9+0qqa+9=v-Q ziZ&QJg^mnNj)n4!rMit}*iF0~OvMvV)jLhiE>1zGr=Za3WVV^q#F_E2!SeOvpFgXs<5R2K9c#nco8{)48=IR@=+3X5orlL===0ve>3&_p zeuK;Y+OK`+!2xvY5c+b|7kvD5ankB}GLdyQn0UF>cL{yEKEJp*+q${AxgCnQeR;lH zF1~w)K8$rf&ZIqUA3ojAK0WQc001w$buV{=FL$#qkGC(-sTb%WbUG2bR1Mv4gr1H< z&pM#z9Z={h6nY7T-aw(xP$(1t1yDj!RHQXE-bt!SbFp#2!2kdN%6oVO;A<1h>wCao zWdiyCi{$?=lK(Fk2?z?H2ECE1%BvR%Z1;FsT(%<*Ks#LI}C-mIteH1|lfl z1;3H6&K-(j&?q(>s?Hlp;4mLfm9NPkOA+{Vusl>#Fp(kQk4&miTR4>?7sK>nxVC7f zKrKfhO`)#%SBY+o-JjvQlHV03J;9`k^`#3nHZ#Q^M(WF!8k{$W(-a%Z|FpPY9{d?; zs95drfkPovYOGxE3BqAE8f~oF9EhY=Ojl~E-X2NhwqF@-s@a{$d>2Bd++4dqQ>am5 zG}c^q_`A}4Bwe|s{&=bJ)8WckOT+1Er#}k0N^9f!=3or7@px;~-~@++Y~m`n`=1 zj{ZT?H!rig$}n)8nQ~z-k?$tq+h+Gv@Q@fKJrdZx z-8rI0r~#6Eysj~lQL+y+5z(*?fI#Mz`CPh`_x+5!sh{Tr<6zJTHO$4VQF~zoL=G+o z6S3CRsKv`LgC|i2uV%(@SYQ_-#II&)81vk$iudzV-H>tMb7mPBvdqqG^4Vc6C33_s z02h^_^^2+-}rnr4VMu8ZA?qI-grGGPgHlU)MkL7Lr$S%vTzVtewRIZCkl5MA4^ zh7>5yVp7I-bg0>odVLeSeR%A)a()-7x|4@WfVRPsh>K@nfzd3pX6*>l`y4~}X$^6x zE=*wsTCM{Lt{l*GuM`-B=}2=0K}ynP?5H}EWrsI`Prd6UJ~#_8LCqoDbS?ivkz-kA zGFA1o9?JBA(f^ui5WBAMt%Kl}u`Kn68t|1U`jx7Z=G8Q^w?O|};)}?jHz*_SvqHY5 z!Lq#+AZ!#aS^X|^EJO~8_%%xudR!AYDS$K`SEUG@O4R3u%Q!xfg%8R*1+&*%8PiSfU-@afzk@`cCj!s8|x;3t&y z_iw5U@c5o3VYn7#!!b%+9Msjt^S~eMft$;V%_y(@Fq!^vRUq+8?jEyyCNg#+_noNR zd;j6te4*TV35ZO%Eh_fTXA~%@6LiuOJTi-kFEJyUupktS{Gs`7S z93u-W4>t|yiwK4U(Y_xv;S_TaO#d)wszzBp@w{yT zV6#aFe=|J$dD8rb=Z%Bn679~k8*C%Ru4R`F;~jcV`#C~|*X@Y$y*qwwb|7tu-N^C| zcv!O}ko}<-lXbB4JR z;WU3Rx1MiT{zbGj$W%D8_ePlj*4Kv-oMm+I;@gZh|JL!*w3hV-4mzeDUX!}3lv3t* zJ#K_|`1E~ro9z-bu3Jdy5C<|PSV5DM%&*BN7~7K(ewd03ug#@b-d8Yqm`)t8&F3H6 zSNZlZlZjqeD64#+p7JnTs8Uy~Gj^ce^6;xNysp$*`A~o9VXkq!uKerRq0!^R?@sjk zN{I528Oh`Pph|sp!q}0O@Z-W{cztbw^0A%4=IW5=qeH%L1+(Ed^$97*DSjCC%)A$7;$SP z#mT$>ZdogG_NcOJ47!cnAX4?P6n?RBBFXYypZhA{WOEUR@uP~p zq8Bm5vE5e2cuN@GbE<`GK6juq7!B2&Shb-(+Pm!}OWBhR-!TO4q{=+bim{pjXxX}`LDj&`M=_e;?RIruP>@A~m1 z+G5au#?y5n)AbjTvpwf?LL>-yD-a;18zAEzAeR_$1$O5C?XPkdphg&|E)b}x8>sCb zsGAt5-xz2(A82$JXhH}!698N2g00-aHo92ig#jPu!H#!eXF`ap0OYeS#LXSzo(S=5 zgnXZec-=vK2!s3tf&z4d!0tgoi9x}QL80?O;ZTMEr9@nQ0Y6*apS*G|_|~{2vOnYJ ze~JkBOGWvm3k2&8`n^4O%}or})%8P9_*8rs{J!ziTTb6f-4In9U&*Y`^^GAS^Pk_I z`?L~{#2O`r0T@gl+dw|XfqpsvI z(UPKW8lwY!Bk;Q1@FEd$h+y!Xfk;KzXi&izoTwPgt{61aNJ^|2ZoL?OTYOLvCW#(4 zawj5}9_ArK6tYV!j|WK62a`}fk|8P<9xLjdJcz|L4uKO6Vglk^6CzLpF%3oAArZ34 zV>tuk^_#H8H%&19neLXyW+JPyoP5sz5a{V1HKSS`KC?Z$9d0D@Xl(orKE zSyDWe9%x%Pk^DZnS`S3yf!V?sWqlu|qLFenm|Xr7v1y;D%Qgj3GMtJi2}>;n$0J|8Epl8}QK|}Y;n`5GN^m6F&s?6O6bivSKm9x&=UC4B zNRWJCA9WrmDh6Vg%O{V3BM4U{7#W$wiRY8`9G!=cl)b3|4vy6AhHT}y(ULK+Ppi4=CPb(xR_`rYF95s zbtHm-8B?(cZtg*5A-QgGI1Ifj&YY`GpcoGD7!fg4g=Aj_-&7#hluEu(YMYt&X}>lt zIacgGHrXzNq9u#qA!<9Zrb#aYX}u2SF-z)aWwQb%SP`>hzY0Mi2m3MInkZ>`Kk5#- zR>2^Zqqz|sB}Y#P$d8=C-4tnql44aEDQtpB&{81sSS=Tli=tm+@DPh1D>m{8)+;gPSe29vp)`x9 zv`Kx5Z`+SCgbr1G4oT8vPXD@8aa#<>sfZbD8-oec=0DQHXWNLG(#YdcfMnlddf(VY z9JOcD;cj0~7t+z39IKa%$VAloJ*n**aT%X&8UI@Q!$_2}9*l(tj1qAk(a)M%#kho# zg3TJZ)sUq8#Z>B}7G>rbWAGH5RmlpAWW;81z_8wPKvNo(a&cE5v_!tg^Ik zp?^%b6e>fhiWF&zLJ@3lF=*WrF1cWeyC}vyTk7GAjIAziJeF@oK+Rz{OzO}VQf92w zf9iT;kfdYV8I*~jzUqapDpqPpB>zpvNVjqS%4-VjRHW_;YzL;DjD(5tZMB9*p1nh!c~iiSqnzl z9TbrW=c|}ESe2Fl4BBTrKwnGStPUcdH%jYJ66HfjB8SIf-sCU@ci)AkoGcfqBBv#w zmOUdOxS2%dr1WK^P8nhiqh<9p9n{Jgw3875Em~?pV|^VS?NP`X4oj)5W!d@rweX&8 zjZmai@}VR|#<-5A38I!60l%qM`(BD?_yG0ffV1wD#Y`CC6sgWe3e>3BZ*aII85Mdn z^+My7p-oqX>B>LGJcPNHM0&`H2EV3E2WOWOQOD!kw(val;QXwdxQB~kOd$y#JZhXa zwM+j%5#x1Gz?O{Yi8jP2l4d>@F5OqJ^3X@52N?P`#a=QM$%^-83^N9e2-_Nf+JciP zY9zmn#ck4-N(htm0h38i)1?ke7H^@LlrXLgvkZ+=iX*E;bm{l`BFJ>9Hf^a2yoA`b z)cm|uvahZ{S*gZ3(8e)g&P7*`f2?+&uh49u=7p`kh>|>r zQr$eS!jF@{pszlESVJx+29i-dwXIgvq)*>q8z*9Jr(}KE;PE2jET`l)+7x0V;!md(Y~PevAruX#6ert~ z2`7B#MJesIr6fiuFGhKt26O#qOVf)`)o5FHTvsQ3+i*q4U}f7RUCWqk$3jKR+-S$< zMbkQc=OenN{mPE>iJBAH?&oloPe!}$CyHOwcfW_reOuY}VUzJD+Y3m4=WnzZ1Z|gq zr0<2kh=i={MV1RhknP8o^TrtMC$4ZNr0=I1v8Jr-XQqEyB0b0*m&h&1=dCb0Y+RvgNIz^PqiR_>>^%A2M0nII#@b~Xw zG|5IkLUufBL@{G@JWpmck$${fez>%9ymoT9N_Mivb|i7Wyq$is;&Obja&p*pazb{x z19N&|bh<8idXs*-?0fpKa#|;P@T#>CnLWog}I)CN z+S>P8fA!j|>)MF?<^#-)nemOT*Nr3jtvt-FtMRRrn@!9o)YFh+W3BI@G3sz-a_&|dG$W) z=Y2Z)gF)AQw(&zb+CzTELv+|f@#=%JSH|g zv6KD2Tl^{9_^H3*ZZP8s-0?KZem4$%@*;npuDG2wes=SIo@c*ZgmyeTu0F3++^mtm zSc$)EvES@?zZhk_98_E%t-feOU(VRCFT|lL#?YIJtGf)SOa~NzCAlWyhk!;Vm8iD< z7K}zJ7C`uZLn;`L)u=b|{iaMfsi+q`k@}WgG_7*FRFe9(LOkn-_5dP{9i?Pmhn3zW zja`*=?621>cQ|`$+0tQT(#e|p>iNoPVu8e32b#rNWk!9;T8G-(@K{X%8gPIavmq_%7z9=$sn0|9E~uc%yq}(jACKeiD*UVAdN(Dh__5cVRIc z$7~Ffp4>0CJBYU(jh;Pkj{kH( z$i;;{@2`(n2QrMIUN25F9ZwbFFhH702{;TX4oP3wk3S_5$OAauBGKnozMXwzi1ZGH zf2;BxhB!Q@R0)sLPbn-_DNboT9g8aIASDqb83OCvDj5=|UQRJ0#YIk8a&LGpIZB9O z*+5h%4VOG^f zxKqm@75?4a8WrKw0M+r(tKJ$_aVR{`!0X&&f%X#$7Q$>2AZJnHiFd9~AJ z6low0MgHwt4OQ_!(PC<{v~`*qsvndzHFYfOv~-MFHMMlD^Xjw>6o2t#8#-;*=@@&b zx%`F%Ak^!cM@ZvKnjI?C>se<6^6Bd39 z=opp``tW5nkl)CIJO!H{&dYYIS8Z=HhBqFLSwlpU?IDrr0M-D#<9eMA&-?xKAB=G=oJ`@NzY$GX*J zU`+qXWr)5YwIQ8(K;+X{RPgst6XL+MyzzJRZJ%d0Tc1Av(y8<<u*j)?C-rbk=2-)@%SgFYM+pP=;nf*rCVCVf_#lXwnJ~u=A%~1z% z_2Af6oc;Ud#BVX!10<6b&#P4kbmJIl(8u$3b3h#GyIYa*_;?L80c`h)A4EAZ(BhcD z;>|O{TKW7K;~r-GXySvQJ?VF2NAVnL;;%s{4Mj6)GyzGwm!r<9!t1H|zjt*;Mh>40 zWDnIwD$?=M*ji(-vw^!cX?#caq5wwM^dpT{58}I;43Z7_b%D&_N2@*okZ%kC#b$#w zd`$i1dd=`9Y2ip+-&1f^!Vs#M0vXw8ftt(G#J?J4`0A&^oC3_>YzxQ=%}s@W?KLO6 zZj=?fnTqg+x1c}}lzWRm9SM=Lpu%gCli{0=iU_cvp%s)@(4LM?=(V8ZZIV}Un~uqV zw`7nOR8Wt1B`8qyN2_a8(5|13s|c`Uu@qF)pPPt-ec3U4EUAf)DpKby%u)J=Qf{*%RK3*$-v zgjg;a3=%OR!xgoW;kCmdGVDedoXmR56$vM7_!bcn%U@jc0OOmxDJ4eOo)oj^RM=ds z4Uvs6nrkN<`PFQJID(y8ppa%Z{;xt=X*>0}X3c!;IG|vqBnlVibgf}GGImurt=i%= zNWuiyP#L6zM)f`v+*|Ui(pDdV4wi)HSD90wz2UZyPV-`BsLhZcCcPOD6I%+^gtp{u zuYP1_@K&jv^vCu^1)YArxvGf3kI?rHYFb(fG(i1pW?lNp5JPuf0=WAUMe+wg+%ylY z?++i58;Z!W`1(><4;zK&tVQ2Q?L5OiA0F-CInYyA-A@FzMyW{uLHys11JZ2jpM3oA zqb&(E1LdxfvGsi;f7N7e7dufB!*EXG*42)&IyIavt~|h%8U1nm%J~3XB*U*?s$=l* z7hbi_@+lbVbMm@=)FtC+V427Z`pkVeJ@)ph88+*Lywh|3wA`%{_`Xt+xp;BRE50uE z_<+GZ1mFUQEcZm=@GM!J?>4B{}4wZzmn9&i0G%|u+WAl#SBBN<5aMuq%cL`yV&;^kL;+80*tNirp5meo~2N(e7ii0vcl8-rx_w6`h4ME}CZnL!ULBn50dah*Z_mSvANljvG7Z% z#iHxiJmYcJu(oCc!>=h?M0;Nv``R>>zb!2<*mpJlYIDr0Ut2y!%qU+FJsrq4#g?e! zH}pnx@)AECxQlzi1UuK{iSY8bX9JwyiGRkoh%9p@c&OWp zUCoVM18WK)6Z>daKOt|5q#zIbJISt23_tdjD+J~O$-b2PhnJ^M0_g*SFXIlL_T+Di zFm+cnRAc`f^jkjkMJ#@4b_y?Nyp{ds{Qzg^>{sBS`;DyoL_>8M4nvl|6~npwvO#uk z<2L-hm(pprS*P7K%;DS0k70l80>fR&LBvhbio3cR(ep6xQtasUh@q17Yt@GDN2Is& z^*LU-(0Rv)ESuYV%Q?x4;O~>O%2V!kX(PrTKB}^rbaHqXs>x?jYr)a-H#|#cEx=3ff zLMOb11dykzA*tCqv1%qo;us~sX0S77sXe`0EY7S8)36xJuro=xi%gRQ(j%ELBiUq7 z9D3PBO_Sn{@-{(Oz@NH1PhEf}_HB7o18qR#_eVyS&&(tY4UAXa`SSeCxIMY94eUJc zieMTzHG8rTx}n^k-(?qd^BVU2_|_xDk}Ma~BXY#3Skoi+lq4|QLy`MVoTfMJeYXT^ zHv>zr^e7SbyIxvDPMKJ#w5keO)UKE0UZvio^=hdTgYuo}UbXK;5=T-&BvS9Cq~lFX z)ISThDD>&15~WTvQdmeEeJd_ZX40MQGqvmaaMfoF-*1B3Z%Wf|#?x;u)o-EMZ)wqQ z^|{|Vpx-98-!`}3uD0L4xBug8zr$9)<5j;C{D3p=fD6rlE6>0use#X$179o#+&&L{ z4H$5b9q`B<@T?v9);sWhcHqa>fY;T4H~gRv?w~KtpdZhmztmuW=3t=3Ao%kjBw#Qo zcJOEJU~ugqG^BShbapUoYcTw3Famxk5_c$yW+<9xC`M{1R&yxMVkrLeP(r}a;b55^ z3A1fx8A2wkiG&|p0E}8>fYE5sG8e1AoDa1G_>&1lHE1Xg9t$B8-g_RXX%duF%j=gp zJQEC7_vf%8LCT6{_XWW^pFvzOfq53gHOrV7YLea*5JKIcl2C>e!!k^F1UCwVlY1W_ zXRwkDB?|-4Y0|em7Mw)`LR5qImVYXKjfAfT>$pce&rw03wbR56(*X!1#+3wMlI zxE?x_`ugdyIUbdBXCGI0Aiob>ucnf(9Dqpz>=guYZ1l4(tlvu=KWJ51v@4s?ueYz^ zt5onI#RPvkgSg*;1tux8Py>Yq65)rRZA!cey)3H@Vo5kpu0j`-UR_=bj zi7+~Y!(Nf9$kAnSc17>ucvm-AkGY0(Lwz1bhut|K0+|^ocmWP)K!mY?O`7+!ay~mB z6@dc4AMOFKVmS98UW5>52H=-L#6{03!n7&kwy9qa2k z8sd>SF+)6R8w8|uP_I!ca&ZRR1VPj{RsAAinbOoh75bshBU%)N` zz~l$@tJL?Lfs?+GYV#LBd$q2RVxRgHpk)yFQzJx{!v~oo@JbVW$uf>@sW~a(W3&d* z4+6jkA$Z$>ea`^4dl0)!U(`mQcX?$>e`ZylHOrr-Kx@jA!S$d*80R&J!JZ~c5WIIM zgxg0wp4cB%4aVXO=(tA4rH0U;pjTSVMOHptIbeQygD_XA@`1%Ed_{kj>&csJj0D}8r3O@`$SU4vW_j{t#cL6p4Rt~TV z%gmCgWq=1l2LKm0e(RHhd|rRuI|HI9YQcxpfB&LFsy4)cD zfKeFG-p0UNZJ{)73B<~KY-VUX51gX?pbtP~AM}BzfYl*Xhq?(YcH$Wg$Q3cNPE+BH zjPL-=z5r=#vOM!xcfJ_;`m7X$8ED4oYdJ7N97cR?0OpbN!|gkuAL{$ zq(HX&CCBSS%m8us`30KSD$iZh$%8@N`Q_iXGM24OnysIJtmqYq&=C7e3(q)+iuH8@ z(9X)nS;uZHO+MiTJ!mSdPJ_|M*XEA3vc}511i*xH07eGLJgKoShmyCh>PFYlK(CK9 zg{ikQgh_3U1wC{tbk@>=D3%D)+tR-V_M5NlI%D#jLM%pjLO1m-bLzw;@enRd|ynyPKE zKd!iQ7`;~GgeSlY1e8FVvI3c~%51k%==iaM%q-u-W%^)T16>*e3FhbDxCKb&TN-F@ z`ntnd1VOw6rm^ussi|O^bf8s`f2hN{3$H>U3z#$rk(e*&IjtBDZ)6s24t3r~gb?Vh z3zV-k^kw+v`eg;h8KLS4ES+hvKno(Ahp*C{)YA2X?F5(tfCsf;6VYwWo88XB1!d+S zA2LuT4QMIU2fzmimA3H*G5VE*iiH-SARD&K+)P*-O8dN^z>{6Cm)!`&{Yd=%D7yV< zzWo@P{aEe&III15xBUe0eq#K7QvQB&{eDXSe(KzQ+RlFZ&3*>rK_>n|7TrNM-$9Pd zL9X^ep4CCV+d%>NpfLWRDF2|i{-C7)pmgq_Z0Df-=AZ)cuoC~UitezQ@32PZuvYu9 z&g!tpSGLzbbtJj#`llmTT(;)M_CWO!#9Hpqem0y#V>X?km>-!%)t`=tb&zBp>%S;ZxT`6?Ytn0t<_Ov*d|9h z@!`9!4?Bng+OWh2v7x7#*{5;D5U23cwlN6`T`-|HGfb$<^}F)6v8J}3^BmWXbc5oY zrSn)6Ac;=L9kV1QyBw5?zL@XsMA6;Ro5N`!TP%|pwki4o2S>!z1c+2C#_HXXj}1#f z;P-73jzXt{mHiVpxg3u;6DKc49%3Wdao-3`E~#b_=$_iPkQ4lCXEq z)O@iZ5GKXwBnti1yD7Sh!nE#xOCl>w^hQjTK~xzkUXv1Nhv8=**}10JDxlgyl+mu$ zaAU7}^^xBtcf%PvT5_YZdMpfA4EC3|BBvPD8vn$hy=C%IKBh<^>e(pK%XJxLP9-iHP{5!vEmwbo(8n zMO5b@@3%zq?pL`CF?>`HXwF6Krt5jleahE6DBVdFy<^6-NArbyCh~nofd?8qFiZAp zwzVXjlxMt#+p)Q4k#UD-WqX{{L(!>V^+-EuhbO~C>k*D5tP78QxQBT9JH~`>4E&ujsx5UP4_R+Ly)(f&5-o-F9>q@IvZeduv@t(S?cQ}#du1wo`+;%U!G5!p z<55CT>_gsOm+-JeaJMz{!>iXLr}=wM3W70)pHtAS(<`})1%TDuvQ3rPP!tcmNkk-{PS{9>!;577DU?+PhjYN!!z ztMXhglwu8;{;EMWUOt!+VaH?7yi$@f0&Dz1SkKZDOu|f-x;OMmZrBIm=6b2(OhFYW zi@0)!rMeYRcbk5E{K$W{)(yd7cYG4K*cwjYb~4GNqy^Ke&IAqYBHeS!p!w5yr^PV;l zY8os^mt>jjL6>Y~1z5+Ox!NR6by4B&i~q9dVI41&-$bABgP+J8>JAOjuxoz$(WyH*UVUu=J`toebdv`YPJ zVNu?qS>}}VJDfytj>K676jvXIAm|J8KjxGd} z?;PDTQ;Y09XekBu-B^kuoPBr(-#OK&SdKUbNS!R+H4uh~a1GI>eCMhosx^6s4&C>B zs;(E=GI@tWwD*&1T=1}!dqVW_`^K0!iYU*NG|3O1X?f;0o*8A~XP(*jilV%~vSHw65L6$Zx`H6`}QKZmlYx=w4ayaC3H|! z(k^sZ*772BR5c|=GU3Nd=3BGgIHkDi9+ew2g6d=BKfD=i?DcMMoGZ!`96(D4DN}m{8eM{W042&HOqxSK<)7=Q#oY zoK!??>LzWHnXCw(bj0^7Y6>LA;rD*W*xGwP@z^MFIKNlZ`t4CGvoOj+lP0kk%^Ei~ z?e?)hL{}%Y_v+&xo#6=kz|gg}{$w#vlFwO=j(IP*!|Ba9X3KYsEqEu7uDOp53e6_2 zdO~4amy;KgnPyM;NKH<&kKt4wkm8MGq4**ZAzsQ2YjzjH|7Slzc$gdZ`J*-e=6-^9 zcW&wns6c#dAL7y+mA`Y4tZ$ypFFywLXoD6j&{9bk zX+)gkD(v%ew}Q((z+3GiVkMMDmfA$axBC-pr_B)g`ogHYYi<1Jr(Lr5i_vo3pJHBm zx5*8dR0Pv;!-0J{gbYOTZY$gc&dxZF^m6<^@kZoRmfQVkyfF zo!XbK6oPc^`EW?zH2hVv95}6!mM`vFdJ7w?62M40$`=)Vp6fDu1_ET2|n# zN-DE-Qbbu^uWo1?=b~j|A2AG|BFOpZQ1m_rWno~Nw_qWx(|h|t)p6%-D>!Y)97A!k zw3(;5CC=QbXGpoCxuF~XCXNz|aXOKuIx3>}kb&!7;amN55wyD0j%L6^s{|3dKmv`{ z;-}DW&tSfOXDJ~2*5H`)4NRF(9HQ_KiU&sE07RYr_B&6CL_wOKf2djrQ`roz2GuXC)S`Aic`$G6w6pf;N+eQKUbf8i;7 z$9nKSrg=7BjJH^$>_Drg`B%9YZ>c%!q25gMTzxxl`KPkO50}lq+h2Gq{aKGpaa!j4 z#rUdY%8o3#TNcK>_-b=lk8L$t7U$ae>TAl59X_=zt-L__8hcnzTw+?5cf|OcXUa~# z)U^CL@#1gYWIgqmX<4~x=Wo9(JNn0ggVDKH=MN~}d7M-}@utxbsTutjXo44SoIooB@OzRF` zhv4|9^2@Z#)?G2E;G{p>RTfU$o{YHAbWHhG9(UWminq{g4%>B+M%#gQhtOP2`E}W+ zwnHPR(0mWuO;t?Wk(Idc;!OEXT}|7uqqp$#CfjY(OxuZDhw#c}`EA=}+o=~+cnyyI zt_!FA3@k3Pfm3nU$K8G&?k%!K&3-?m(S8x%A+kfjU2#A5sr@n?Dzf*E{b4Gm{VJdR zo5Vj@F~q-Ev1fn}Kn=hH0D#H?Y095&R4KZ=|BaOq`y4O%H!C9~Qur4ugT(0fMqWL8 zFq%PwN~EZoRxX~++$w;v#!4!g?-N&VQH^z1u$X^2Jku=wL^f9h)t4a`+i71Si$L3h z+W!?RV;3rMOa2GsiZeG>l2Fmz<^^+!mzq#%*yDoLqxBSDWia4CSrgY9f3eV#2nYKw z+^qoc;q}G+nnLS;N;+BaUmKi+QClX31} z*^N7J9$~#0+?{*6!30z)sm`3{t)Aq};Vey@+ryEZ26Lg4oSP#NmokZx3~wd=l~5`` z8-NWUcumOo-xE@L&7&KFg7G$W-kC}of={kJN{B@*3ns&nA-s38fRDtNXIciGTMWdq zy;sp>tg%!IU?HFGC34MD@FzlDd@6L_mCbn*Wu=K6Q#hEyp&X71`n%7+eUJpu0w4ph zUi*~#w?3_c&e;8W0)XUnEQwj`QUT*k3IT;t>%F09qOPbOSX(loq>A}Zjjmhr!8CgP zJc*K-eLvAZ3H?{#zhT5gfF=O+cVOZFGcXp_(@3P+dWRnpxx%Z#Hl)D#C}y>CQ|ruS+E>;>+w@{2_Gw)7asG^fkp?4{dExNQ+ zP3Pw}LN=%F>CAzhnoXjj_LG2v4Wo+lj6IMjc^~!C)2zk(yTYhP1!Me(3P1B97$j!zM1&pUH$Nt^1E~7a}Syh#Sb9%n>C1 zFSu(ZRA6*H$II%Ua2KmV^*QcX?AkxzuKNyHjc!~_-GZXazu~SET^Y)vxK!7Fz+Ll1 zd}yV;*R6lSUF4SRkz&r?7q4&^`9k~i>fJg0n$P|H?{r5P>{qyJlZepJ5A_x9az$U^ ze}%hVv?+av-1aCxk~|=;Luld?^@7^MY&L>f#K2TeO!cqFVD=OI%}{}OU1~qUo579n znm>D+k=U?|DUnii@|jUplto)H51dFTF>2cP>9G~>ZMWmMO!t%H4Z%ri31z;FJ4vHa zL&-@t^+c)3B~|-7sjXc_$*G@rh*Hu#Zv-=cBn++2$b{)3{gUh+?^e8O8%s8fNKC|XuwS$tHJ1ouYS@iiT;WkqC2I2kN0{MT131x$+ zO+E&3ROU+f^YcB8bVhFv$FrIC$KGRGjm7g@FUBTOTC1ju`NNVb#O#e{%SABt*~Z$c z7bt#to5oakFj1f#Xx2s?$E;PsV(^(TE89ojmq}BK!s9=~gmB(6psWoR)6Rdvg!|E> znN;vg-XtG_Ct<)azSR1a@&AAcmDvb6o%>Gy;kWs_ zVZ715U_w$y#68$5oxfnh)5E^DkSB8074EyE?N^v^_4Y~p_~;cTG@cgy{&060(NOUU z6COW3zxr(uLGBeMY_~Fbg$V~2{Lp0>D9tccUSYzoT0yTcVSSz{gu?aCG>Aq;!0aaj zm%CXo3wonj2*<&#St!pizj>HI{#WyG5zhwm2nqFD^GGSST_Z+(@jF-xtw-!blnD77w33jTaal-%#@p> zkgSQyHnvTdR_cY1`LEUaFGDE6{L>I`7$O7yTe|f9Mh7PRJM_}C3WeUVPbD_zR>Yd*^1bpcADI9ciR zpLk(yZFHIFjbJuj5fFT(OCNfp#luaM9qIMnW`qPH<5r{; zzU@@FAl3Fv^grlQ8OH5cVZpxaFx_dqf19Us-~%iS;1!Gq!2_WGUeW)l;qR^L|5d}^ zyXJp;g(5)bwQIcB&XNC#Ap86qq5q$*`=0~;rz`$j(f@NOrB`jJe`~Y*YX_A(%joa} zVNlT&I%jo)(J9%kZU>Cn{BS%!-^7S_E$6V-?DZ7k}WVv-sO*ofv?#Zx!w_gO34%(G`arH*X+qQmws}M+~eDeB%$R* zh&bwRIW#Hx;Z^@=IN2RnB#q3`7)G7^E0FpYLpT!D=1Qk5M>-fjiZ7J#|A}`@UPS=^ z79k0sej*W=%#iSdqEacjM`peaz#!#gAzb%u6~$#WQ@R_-7zjb+wQ3b`HJ6J8qb>Qy=DZ{>=ADSw^yPCqydDox!;N=XP3 zmP{;YYAwL%2R#CnZ|MYK1 z2dm5_L&)Bl!82A{^o7xBP|*}s=Sjq~X?2I%y3#2}@i}>p7R69cq*L?L*_g4yQJ{>Y z0@`fO(>iVaJ6V6-ovlk)YbcwIF}V`!L@Bp}adjj<4wPAO3ynl-vo6&W{O%5WbSsx? zayy+HOTlC}_8-qLLkqpB==`tp|2si5fZ6L@V86;025cYy#FRu8^+QV59pL~2d|ggo z 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 z z=;e>0O1`F3HpLHzmvhxee9b7u@}Brt^L#wuR$_KZU+${~HhXY81CX?!akWTW3GU>> z5(~AvS~@%gcgu)~L`GjN_rSRMd$pScVk@pzQtkNrO_cc)Mz4MbRqziwrSN?`yjrzA zCm`2Xe$@`$ydTMV0Uv^aUirNGsHX+eRGt-CA^`%%k-_{<~Y_? zc*{gZzi0I3#3EXF$BBdS`{B*0)KV`kA__l9g18`s60HbfL-s}h+eIhP@a#%ZidT5Z%)5Z zTm#wLoeS=8V2>7R4&=noEp+A$IQzxG zK2MCjq?~;kO?+f)eOhvS6wiD*R(({#zC8@Sn$ErhCccnb-;o?&y))l$tG@bRzbOVk zBWJ(wCVr;1ehVln7H57cG(Og~o#7C7aBBF z6I591T6`ANMI2lXcCCa2e{l+~t$qKwHn_$F!F(;awVR|798#hk(pmei8yb>>5@OXI zGCb+gLJ~U0NZ1DnO>zpIbavU*RGK*p4H!{Ki&UIP3i}Br{7OL9c%-m88K!Ii*V#^8 z-X69C370j1XD*dXGmu{~4ZmR|AhNzkBc||~2O&W!90rZxD}yKGL=dGyV2qR$1j$8e zMiRJ05+y{E)J2j_MN*tcQj$hd@ki0!O&aqFB$P*h!-~`J=gXqIsC) zVvsB0D+&HU<2wnP5>5rK6y;AeMwQn0aYweh&{slc%(`r3Q7Ds1N@>JesoC@xKrr zEm(<$Eg}NvQbz$zVXoD-cHAYs#M!2xI-|9#R_IE;b5lcA_`#By6@8<;(5bPgd^%2|ML{rwN6_b+H*6kg(qqhhH7^mlU}k4$I6P zAAZ$-`{C=@OF+UtGakA=ov+{gaJC$;vUBz`r=+QRtz`G+@=G-~?CPk7*&RURha1-y z02*gqU4DW?f#kyB?RlWiM#JNGHzRkNd18g6A`Kz6py}>;Jia>E*)T!?joGD500}#TJg|Z4>e>gRmUey5IJN;a9{Bp!TS1Q*6Ogb!e6@-0)1zansT*ed zYL}t#oJy$%kg!Jp3Hv#@WljBj=!jFB!V98M0F8x5Tt@p|;1&TAw(v8?C55@CjWtbY zS;MzzjIv$x1x{=DPQu2lZAL{N_Qda>zh(u{xO&K&R&n7>5sV4mMOYoErqtm}n=|uHSHJ2avF}cEY_CjaIShx@F^b zBBT3_HreZXRL6G!3H$Y~a$PTkXg9W^|Mj6&U7xBh;Px@rR)}siEq*P?LL6Up+vW6{PGci#zlm;X#CU$Kx0h8TQpWE1JKx#;1-R= z_W?8>z`sRfzDEEWv*F*Oag`umk zd9?64fW{+(ZYSx0wO}uekl=ft7qY!?_uo%R@b9;TIHoc4T?^{ z*&obZY(oGz`$0G0ZgJLwNW0o)`gdKNy&B33u@w}pfVJP-klhXmu=XQ0@ejfm0@nVT zm&%8A!wURI>EzdIy=i0s8povqXbf3b97$C^E&>A*wtp|i&3;Av+SaB%Ak23upOhzE zZXqGXK8ch6T>|4;LHe zt&6QTqqW%^l@{rjJNAy2{{7$lN8k9L{;9u?8y)T%aJT_>px^B`|JD%h#&-LIUGTSd zKETETn5RnTMFE4&twH1;cNAel2VB5^(@}&j%m~8ur?0`JE8+f|3yMEFir^vTtLA?F zqoWAbsE=|%N{IE-0&Rc2diIt4#};Z8oU{S^+LlZ{YL*pl*Roo4)1D5i(*p&2JH4ga z*Ip}cVyzWg4B^8y6^S0{7ra@Gyy!Z%oP`E37#r8}r!7P{32q)U>hg4V`HC`h7EB+F z52cagYb66l_4g^WE_oQIRL0+MpXXq)pHyxwX2>DtG|bk%oW4I|MT9lIci2%;B1&u+ zu25p$&~gbYAWz~q9}mHg_Q(28WjMVxmtdP&LW?w)OU72dO&;NEqNlH}@= zP7AMBwWS4 z=gB!=VJ`X^!ScGf@3K=8&AczZIpw7dVCp<8s>7OLNH;=AoC`Bf|7@DabrH0YGfJ3C zA6rdHwpsqwG1s!J=Ya8Ne*F{uSB#B4F55XKon-9wy3-`v#iTTXs|jN+y%UWji|^So z>V60q>lOM(YfG$&$i-Vq`)yP}Wue#WvWfgQChThq$a*hP|qrLuh9Jb5LT?k#IXfkmFP z?MI=$&6O}#zrv+rHp8N-sA~4)qNaO6eVaujDwmI&4S`k&-`vP1X|itQbsR@*-YUJE zc{k%4!qSVeIzX7@Al$5lw8V7Zv0fm0VEYS#IYVi`fI^dfGnGnl!O;DerVKOA8PAQ= zc<_a6zo#kZU957Kudd!hT1#>OwwvUjQ}R?>E*`0C*0 z@t~`6H3PtUW7==8&AM-)aMlT?D)!q3#=n0H^8vT;FZ<~8yIa^gRn+qy8l_?`4t1L^ z229*_jdMXNnD9Qk>wHOuFb5uOK!S|o9=IrO0LJ zNIKFmBUA&;$3ZXwuMkvxpls&;^&iIOyH!g1&*l0*nvVacpBT6Qgmz~p)x0&UF%CZz z_xk0KNXFyXYFJv?#AuuPk zgx`Ha0Si={SMC0IEav^)xEV4*56F@KZ+XtC10(-+>FU72o}9_tK79}{iKM_l$&(Kj zsetRGYFc{$4x2Ggw`$0j@NcLz$#5Z5$YynnL_VC%pfWE4^AxBe8#NM!uWbXaDr_`lrwDfBM0nKltZy{jH;0)E&4~G*H!O zIs))7Jz?!;Q#ch23leLtFi$r;NxGno%%n!?LK`$IcY!z zre~rfgj~>V>?}M(CIkf3`njn8p!6ikbXkUMKlD+%5xRLlKQz~%PQ#*10j{KO|DBH< zfxr3J>l1uyuKDfy6d;}mTyMXxPiMQ>!od1;ai2euu00X={(p88{U1)$Kb^sU^ugW5 z=K8Ov_8)!ke{F34)}P;viV5yLoZ?;0>pv{prQz}9oInr4yKQlYn^uAG0BCV{ZUX=* zu0lG{;*P32j#I8FM9wawHxaBc*xwVqFpwf9yn``)$e@-Y9lofTA45Ny&4OvniTc>& zOa8xXahLw@m+ju25JEUBIMdr^mA8eQxKw*3f77LpoQy=aS?rey9&9t)913*l>j&@8 z)`in*-%2^f~@hSCokW=MXD22 z@XK&6F7&KLlOq7NkXY*@c+cU19q{)hn!+5EDIlrM&35%oT+Z6e{@YrIZ&07~MrNMsdr|BojiM6+xN9!a7!3|-; z=_e7h^`c@|SX>Qfe#?(8p1X^@?>*Y?>O#5i?lydJ;VPyFzbi8jbaj=oT?($bG&@= z<3j(pCH?`NH=H;S4+e+22nUM{z*+e8XK9|KFD^2kt87{N6MtMZqK59WrM3_<;UEe# z93$B%Mz%zugmSvJSk~vgtW0W#{RwOa)3X8GS%V*iKa9`1aGQ305(^EIO4MYM$$s)t z-G|v>T{Zowu*6D2)vK03Sb**JyGo|1EVZHkcH_r^i76fvm}17sCadK9H;-pu93Lc| zyqu~s*&H0WthOBga=FOjW=#cDzW|HD*)Y{z zze~{C?P9=)udCQoPS+L7ZrJOCY6rZXf^0S_b?kD6qJ`bj?~&T)j)Xi3XO4y1=Z*R) zeUg7d;;`}63sUs=`(dkL0ITbFnV49VOS={rP4~ zhEJ?|T-z9xzhh!293wmtPi7E$NP&U617GBa@!i*0^H4_@`>TGPq|J*3vc za2Ym~jee+RtCW5{b|Wp`?!T{tt7oh$9sa+#*p$?fS>72 z^_Er*XvnWWk^0SV*W@=iV|Y$DPhe=b%}D3aqJweA^bM<0|C5mMTGJ+=!a6U?xWxPA8kgei-r?mF7^l> zQH4BQgCe21&Mqd2S7deQ<Zoo4q1t5ZWT) zdg&AMfI(2OZXeuij7A{#o^y9v;r&q9jw^felwA^L#Lkv3kEh0a6GPr-sUDMd^-`O> zrm1}E$VJsKc?UpbHL#skiszoQ!sK@3$*vr2lXC4GswAgq17LeoYDvN zwj%>N(2=2Al~y7Q7wE{qWJ}u_g{6|tQ)f-r7s4)69l`{ZaRssS|J1CDT9pZ>5|qc# zwFVL`WTQnuVq$q>h>B<=s^|_B8u>_rAM1l+WVGCGxRzxv2n#*SWcm`HkZZC*%A~$u z2s%}7^Orhb`xf-6u}_-0GF{x;v|#QmU;05NTUxvOydeIHt`zq)`6)T_Ape_bUJCeL zG>BX_23~$BHOv-gkGRld6shH^PHW>a{Ij6nrOjI+^MY%-Ga=rIYJUR&gysQd0E7jkXp0C*EZ!}FH?Q-{^Yh@Bz|qac zyve!=Mb+%XL%9ozlKDB!#rgT7jLD-a2sc-T9vRR_mxY)&`jf zF0pGP&zZb1U?5fHx~r35_Qr@b>t3)aC?fC6b-93QT2z`?AOC9UEAMR7Lxqio4GH5m za}`V=fOHuHGww(N<$F0tBuv(Tw|{#%}b7tldImEjlF& zs$09%W}W!H)(ou>PWH?q>w+lQ=@VlIWwt(25-AlH=Ylz zD8x(NcBi&~r4}KQ1azleK_>skIgd(_fF~D{XRF^bqkEULi`x zTg6cD8&yJBwCLu7Nza zMS*htDF0Sc14i$sqPl~NBa3A5&fxQ`3e&__OldV~bw4mi7OM zNjN8wcRi{iH0pzoO~RCNgv~M-!{CkS7*LIiU05nXfeyg4H~i|6p_r0dEozShg*=HG zR%L0F+WjTdD4K{lxj) z)+BQnkxeDICLdvfDvw~J;U5`OA7P4K?`2GTMw85ki=qW^(y*zdM<9YKY3#dsoS4bO z3R{*FaMCJ~@I&I&=#8F$SK!|Dyx^bTP!Z*)8S{H}gSxJoj6OA-KvvivhXZ{@V;{tw z@s4cJ3cqJwkrN>f3B*FgHP-5C@|DXl(y=`{Bufs$l7{U{Q<+yHuZ$3g>in7-!LNrW zxb;ClUY;EI!k1e~(q~%DJOGtW-pJe^jN)f8ua!4UG3epxML2$vFig$O+%Czbk{%f{ zgld2u?H@$|+aJX!ORHJ15gwM#zz*z-|<19qP~hg5I8EUN{5Cri{^} zM;;3W7d@~N{B(Pm4w3<4>PJR7tdnSYM4`N-6wHl+{=O*;p@hURxw!;6gj)%LT7iA= zqxalvU@bY);GM5nQqD_{W=Yg-<_c+Zz}lzJl=gR?+PkJc*Db)wKt*$7TfRr*L$%JA z@MD;6$w*io53cp$6E0h3qz9oC7tdB{;(5JvEXXVowS=xbz3k2m;XSy-xUxAbqs(Y1 z2W9<`A9sH?d$McNQ!81(=#QWTrqySI`o#{L6y7(s_Qvkht|Ex?F+)P-h}LL(A;ds6 z(K1B;y~h(57A4kBL!YLSTQMhnqgLd_)Q);ZP6%qn_0>|6^w5%(UV`Sb6O;}(d6c)5 zkf9dpb6Oe^Df;21$p{iurb#kH4TBCcA_$60-*-xAtx&uY@u}SuY>}0wYD;5R{03wp zX^u1n@Pq+1a*?Li%6Mw8ynCwBG*HttoAqgVwGARY#JMEak{<<%Ms8{^oPA^JeC@%a zwWn-zm4-3{t=4armat4+JYU46VSbE4?SelqX$);TrCWxKcelb}2O_lhMA7$}wNP(a z2bgI^C;F4%qtgfCQ6_s4=|k~f7!4!ac%kN=e3WiRjW+ zjfx%|&Ipuy7<6ePjD)_dlm}RgP~CMRrU8voe?m*Dj|ys0h>uMdOZ_d|61GwU6_UN| z*h&#V4Msi**}GWrrSNPNj1N$lkG16&;XRdY{3!`BFasLf`AJ(5l^8XsMZoQ#3j*IU zSPE{j({Q`d7kfyOfEqQb7Yj(>f=-qstvty0O)O{K#P>=u>7@Xa5Kewbf)F`f*;NDByOljF+lsmK8~3%t>N*Y~pJy)pgo-XS!yFhf)NRS)vM6+kL<9Rj#P-!gUE zfM;wRopz)EVche+YRk!7>QQ=og_`2;sn#fN&z)~GdW=aOV}sL8!axDIs}bHO7ZaT>M*dXM?c5<6PEXmdf z6XbYC5DaN$_7~M4=j6of6a}DYCj}=AV%9x{%8;w1S(@NY!OG5iFhu-!pU<1*iuy2= zS$a-pVYZOL)}>*vu3Gx1xn17txAU!L#2?K^b8+XWuS>niT{C-{y)oI=y5^n<<`Lt+ z-@$Ya09#&-df^r-+R3Yv^w^!vM4em)!@1ag?&q(zV+76KBOzI%QAj4>ikrbjuH+sV5FGWKC zf{|iTg;Nb928XO?(guVsRNC6BfZmfT2R6@rY%I#lY2O8o?&b^x`%juixpTF)r+8qH z*~o*hj__54Zor82aa>iL_gH$65+iW^m$e~^%29RZPgT=ka6Q?MlVFpNPGsVJDQs-* zl3;(%_8{(kv2g^t6{$b19;feM>=p>&$wCM{@q~|2CWn$Pn>_FA0yYb4+gK~bU}agh zzsV~t^5*?%+(A&A0Ae8qS1DeY=mJ>sKDuf9C>z`8as-C)!d~e|!qHS#9CT`tg6Y?T zAVlfrUGYT>mg0_tJx4aA37$7jV2Tc&3VwXW)btD3R{sMghDyUSj67TwBF8;LbAujs zmSMW5lJ(^^tZEA9q8cHRhbye>y+OEds^L1p-+x+@y6{fos&LUxr}ltpdvP2RU{b9+gm&DRX!>N@qU{J@6-vUaHE{$Z@`<@K~&x+0~ zMuP<+VId34U%J7c5glB=QCZ@xrVhis&hL-+jY2--l9vWmFs!l!N^nt?Re%cF_@u$9 z7+b^PIcOl1)4(5FTCeMUhSMn~qMr&)!<7}ob6BWeJ_}Zb^D|PUK|xYW;cnLVF;1hF zurEhU;W4N_-J8c_Y5!475Yy#u)9MAjT%{v# z5#9DK==$;@;Y;;aE8k4P(TIh7TexCsG&TrAnYbkv(PP1*0x!nYCqnlAUi=uCuNI;0 zD877XCR8O)q%b-wns_-6q~P_=1F6wz98o2rA|xkAQzX*i3hk?`$+W1JMJ;eb210`g zm!JwnL4;|iOnn9j`w!8xz;$d|%I@)fi-cwf$R>&s65kFrt!z`#Or%I;#B12VaNj3{;OB_AZL%)yK_NAv-8DuX_TM&ECX2aSpKLL}s z2#rC>Hj1z-s%7ZwN{I6#EVbOLu3{}Sm}u2}$!o1jPwezmBrmecR3U39D|~Jgqb!E~ zxcm~eJ%8s5X>nv;a0e5fSigSh$kXna#Ctj7U93D6-f9?>Yo4r`w}hrwU(vk5-3mEH)_iBb2nv zS`fF+-^OuAhPQy0>v4;MP%0h*A{uG3m+;9|=C>HbJ0TDN~(0s_HuId+&vZ5FnMHb1ZN1;RydTl7l z^n0sGza>_++sd{v8d8+2YByz?n2RMwLOhXir3@(I#dL}88+y-Pc-M#@n>K7rA^49} zWe%{8Q75Bts`|B|%$$!>6J;=dLB}ZdNp7=fUmM;B=f;0h56z(<;vS%8Lx~_UsWQ@k zcu=XY<;bO3M&vB-*)L9UwY92uqw{3AI+$oay#quQ)Lg<9LkFhxkE^n%_5m4?>0)&` zeucs*(@`O!sS;QV`yjJNtHLt%?T{aQn9wA+lIx4J>8zM02xAlFbFtJ-YmO1C!up6F zqf4n$W&b$ri;GL&B58Ir(!mT`@KhvPUMNPGYXHSZ8WK5V`wt}+c;!&xDwyakN{8M zO%18eX#wRJyca~_prLh-|yRe_=){PkX!=-^1Wizs*=H(^+;bpS8S z&=rapABeFtygCJ)&1Zy(^2dvQ+so+|T;xqXZO;p}2{3J7YK&CuQ;9<45qpIvhW&Zi z-z{J$;xp5zBXVQ>&v1>klONO7=K~3^$UJ>qH<)o-68Jat-@U)yd|Py0R`w&h;YxC~ zguY&z-PaF^WS-(>_@z~Fs8!Wa<_2Qj=kJnHa4Rw1guEW_XItEIKJGSZW3)K@NN8}v zt<)zw^1GUE6gh3vFr^NfxL?Tn$%!(=@W6%xWsDydQxSl)Z8rBFp&9O?M38nX(stdsU;!9G_wsvTv;Qbs^5DLBb82m>!4S>QNOw^v4D3?_knOjrk6-Q}G3AgZ1x~#+Kh^ zketzw^QG>iq@>ioG<3f{WJ8*B$NT87XVtedtOAbxXd9rvSY)3_<9oiOAcsm~mnOy` z+ot5f`}!=Lg9<$pRph0jy_Zm+sl9|K2rGs(s5_XMC_R0;DFr|F-O_Ma^VzTiPG7BlZv zEYB4BM!wp3HNc$KS8H{3&@oi4^RRN9iz$}}Q^PX7mo4VeP&0DZSvYcqkNKe}TZj@) z?0RMMK^TMXH1&Y_&FD%zy@ViBkd@cPz9{Jh3?aJ@{-og`L9B-Ps6a}=$7^IwZKEU0 zZDWgJ{`mWZ#V7{KpQnro)_tYbpomcNH4V&TTL(7Zu_1rqaJ&7PG zdHNm-Ja)VM!*xAy;{*^QJH-=DHzES;M$D;)pMJ7dc||v~IBKP~1^NkVm9{+~ z=x)AOZ6Fe?KOhOgQDC zuI$E{Ux=(t@G}IR1=h7yI!+x7nmRXgzz0V48C3rE#_H$!ZyMCK&$kx*>bD1|)ey%vTn(g~F?}3umnKDh z7$T{#GVPAa!p+`|BTRQ#Qx^-QI@w0}NDF+86!M@VjMPAOTvieFyzr(>F!r#U@A39D zpAp3{u8XzV#imDkh;Ez24FF=1{5Dg`!v@XgFx<#DUjn(8!9 zPP)dj^E+O2X;3_mj`~(){uo|bcYp^&EcJ`Dl;wP->?QLniW#AA=r_adv@#01EChMX zj@zcGgZtq~81%()jj{$duOp{mN4^~H2`U6mf>1X_d*;yXY*7mj27=_JjM&g^O)>n$ znXw+M;ZPvb=Z(K?`Z%XEy1$q*bp%p`eRc0WbUjM^AASK;@T53zWM1~+EMHVLNKEyK zCElO&G@2(^5R*g@V0z+rMA&d#6sXosK0jXG`mnIdlVM5$=MY{g8xeRKvrkmZrr^j62oJnB4^ zc{EIyw4O|W{!k?3oRb;>j?6=GkALC^hT@!iTH3XKL;Kl78+j={*``yxYp;Se^v720!Tma`=s(mz+OpX zYx4~Z?*C)$F2kZ+zy9IVIdpd;-5@0`(k&t)(vnIjA{fLl4Bd@%cehA)gOo^vNC_xN z&vRYi-aqf-zVGAtKk<6MV9$8XoZngJTAzi%vE+?LZVPDC>?(75N<=wJeuRL24ka}N zG-^u8X)_qD`{r^0BaCAO&Kgv2{`Yj^J9j{%{ukI|8SecLKAinbhW;P8Lr3}b{V2VE zrxOYF`u@NjR&jw=@;3iYCq93T{VnCi6gZt|%=z@6>BOMrR9|xYYhaJ#CG=moBSBQ{ zpXo$bYe1vEo=(I$vn$BIhC2*j+us0t#nqW7_9gWj;B?~3D~CV89`kR9ieC1joytKQ zcgH`#Ug44BpXo%?f!#V_I*+*6C-Udl(}~g#dzi0*y`F;SH`9qOkq{8rOQ{?b z`&RsOn0R&Y8rUlvxrRGdh(iHj@Ak*yaV-Gun5F%yODp}ZrxS-uHGt{FZ+r1ujlcJ#cAF7=7yG%G+5oWk=-HdY!Q0^{hr{>y?<|aJ zKfgS(e*nN8^A06%e=h}${QA8T|6FEdEe(J>`0_>oV9#&o-Nmoz#j4%oZ)NYNz`a+9 z-&+hwm@2I=u*lZ@ zKrVY`(ma*B1gZesF_;N0&F|v#jFdA0;Eo=TG=Zpt5L=~iDgf>fQx1bY3(2B&sP2}S zI|yqpV4?rrdvAUdfIA>-c2^v|3e=UtPyp_rkPs3VI*g16(Pm~*?Nghxj*1)1W}o%# z)AT%yw)oDm`!p3RNIbi%ODz0{rjm@QCz?3g4z6FxY z=)*Z^u@{-pt&vL`Sukjm8<{v9l1rJvIb?4WnKU)XPFhhg^o%_+c>!{Zu#I!rbs-{U zL*o`?tYFwZHR8h_FigJ8IpS#=k$OCshk8%|0DI&SX;+YZ1QOS%?^Jj?h9<{3Vc{q& zE<6K2l;bxe*I1BNcqaJ}$4`O6u`vAbEPA|xJvpxNsNt||c1_N0ox<_BxUd|)P|j~= zToXx#VYy;M1*^`56RGrJc`|r~i{4z5nG2!$%9>pB5rvbvxuFGGpvcQF9mv7ekCfnu3NKo3=RN$ zwLuNTp?rnu++Vj~K_J|bTVC{aPb&xn_Oe>J7Y^xznm080(?>o~ z4Qx3cDofliTD*b`-#fB?S?8yOrT4Amp={)OPZUF$W=h_ufyv{ceJYb6dGr62+LkKfq&_+x6 z`6vMFEy8Aoo`nG|f;`_OlVQW|!)~_w#lYnO3;_0iStIdoDyYLoVOqb;2un7Vf8Y;> zg}qo{1c1Fd_*mTVi$RW(?^?<5iB$ZT0Rp^RdeQy>uy^!8r)0~}!T)n<*vtE7yxYc# z{!_KXHM-6v+ooCA^)2|vf#{V!C|Kt+Y=zzq5krpnY&Nq)VebBLmR)=GO-$5>YFOz` zyU)DNzf86tyAujWWF(x=Z)(*wP7m$5H=Tdo536hbruoD3%lX2|a9zvqp&#$2&l$K* zdg`&GlBT@RmwqkR%Ax$V*oF=`>?{90>`84|G&0ow$4-HNnCPJYlf#})tvZT9L`(=` zayGIQgGa?I0Q~g+e{NZLXu%_MIPuH}aS^D+Odo}mA$udil%x?Edb zjL;?wIR~W!%4sHNzq9y1C|z0Fv9#<$^0Gv4)WOvg|K+fsa0@qU)eb|^jLrY|uwNVj zR!<-hniXGU{bvNIys_AURVNU!%|C~IYoGUHj98s~VD-d*4*M2zdE_vx81ultDFX3@ zAnv)pD1z*8as0oOu5A0eGXJ3nIIUug|5duI_4u1TQly35C|&k;A0kW(zuzcbVm3G+MPR>GkY9Mq{$EX3a;~s)>PG2ucv!vnN7K#! zi0`li9`-yRy8cnRB8RkYD1s8`=VyS@1s?XVzW!0V`0Un8|4;-byTdmW!4KJ^y&H?1yTgNzw^8hyeCUgZfXxu(-qH!@c|S;gu15(KoLBXh>m^& zPy{Ifa~=Riz~>p87!FVb`E?hsL5jdLIOh|n>8ewB0f&95mvh|@Q0W?J^xW^Hc;4*# zkpWP;2EW9D6aoL8vJUXDpFur-15BMUTplk3@W0z%3V(ieS`{A-C|%*D?*L8r$?5sw z^z--2zZL;a_tm!%1OiDq8G!<5x;9SU7#is)@vv5O$$g(Y4vc8GRNCTI%Y7*a&3gIr z+weV|EocEv_nuKXVHBWrHOFJ?14>t}gFhdjbk(7EP|fYbMhXExTFzka22Q$g3ddhe`4}yE!nJIfzl=%YzrAs3# zW;nlFtZ_`m5m36mpHb1T~AG(sc|{1fq)o zMKG}kQUo;%+J0)28z4m>x&SI&iy%eN^%bB9K2L)b!QHPQMKB6d1fSLp5qy{h zDS|kVBH*0`DT458ieLt$2r4uIieP=g-ctPwF`@;a2t>C)iXdkXpa@=WffPXjK0p!F zY=IO(2_HZa9BqLVK?QK)%!qD-6hX~1fFgLg4N?RRz~Qr5vkg)NA4>s>;Aq=xRsBgD za1Nb_?f?|Qlde60B5>aUC<3!S_lj05{4b6GMF7VGDS{<{A~28P1t@~634kInmv#au zg479sBCrq(1tAVt8s3u?OKAVolr2T%mLV<1Hk zty$lvlR6azPy~dU07bAc3Qz>=SWW;%U^5C*1W2I(MX)fEI5B8*Ufh5fa@HD2Ue$Pd zIM^`kaWxERx=+8{X&CX&olHg5++2e+j>6f8Gf0LuKU_A9MNI8yv1r;6Xg7{0kRRj- z5807CZ=6UsJODIZdy4SJ$^5v30{tO-nzF{vYmmYNO>BY>t$eh6r~4lJOiYj_A~ zx{kLP>SubzjsQ*9@jj^Ox*q|WuG2$M)2%%MG+n31pr(6#BzwV#x(hv@m#p+*K=Xxh z(qetx&yDobZ)mfB};&XJan;I_1X>IDaWkymA&|FvF_ zpZ;7d#X=6PiRa&XfejcT8g1mD2=AF?IO~6UY~3+4;k2*LfV;p`gZFY14OqZtL^hunbti8wdVXNpxP`8CL&1$Vj8 zj8NbGfj(ccmtAW{^N$9ErojkdsqA(QeU7;8LVke};)S6C0|@f}OnGq)efDZ=1DcVM zu*u6Q6QEwu{OCOheR|Qj&)NbYf5p?XU7%jjG3O3~{I|=F7D@oks0ShW3IO@}PLkgf zJOeZ%hld_3A-DHDB7?6%{sGF@>j_UwU&G>`gU~1L%EVJnZ2IL4N(uZ-Bw|w2NO;Ps`r!%{>2c z`Mc;90RVkI=X-a$nYVayx>fh%-QvzC0Q!91qYXfx@15RXUHoP^y1K$mM+(4bMW){O z7UgC{q3CUm<}3$5ezR_Rjy4=)XLHi#bd1|GWe`^Y`g{|QsR%%yFb60*0Db29x03;WLIY_K`V3GhU?e_(tBAx90njJ=hFzdmNG9nQGywWM z2r@5ZCa>%5;<5vvPsnPQ6-T#FQia|V0Q#J^l@O{t2z8#IBui% z>n0t>z&P0e=u@pFAJB|K*qSJTdcmA))j@z}G-v^8Mr-R}gfIpp zgw=I~&;=vJ+8P)kRKW;ga2+A!!3Z(A3PuQVFhUqyM+gBhLUgWNM+gouLfpNM5DZ|1 z=voFN1O*r&M6V+R0T>}_mcR&s0Y(VX>j-fLYDPJWV1zgZBLv%ZgxCcmM9u;jA=beN z!FC-X7QhHm^A(H`Q(%M;y^atgV1($J2O~re7$NRnM~GH1LVW%LMu>VaLfpTO5EWpA zSf2wUL;)Bftgj_l8b^5yBeOjOeDo2=N5ej6Qw_ zBSZrp5Fz{*!3fdh1Vo6-NiafafSS>VNiaev4*?N^cM^;ca-e3^JppP);-F>(oAdx8 zL<$`cA%<6cfd~M8sGFj0udsYju!y=>4t#_!MBnILyXw(@iU$Uilk z2}B5~J3xeB9|R)A_fL*MgqRutLH@=NAVRl}LY?luL5n`hs1o?}0 zfCv%S4@L;%jmnu``qfk*La^X9&DH~pitT_!#U0d2dEP-abzfN!`S)(m@+T zapO309RxkPSfL!L@4h{J5axBU%1F@Ad+#Pf&?98k^r%f~piOV&dEft+ z2=Qw8XX^RIx9dg-t!vFl1xQZu!@qK+F2CylaVbyhsPNI{mJyJV>V}U>fkue`8_no) z&jZ*Z@O$`o%lYLGZ(wx*ruIoY&DB0!yLp9TL4P#dF__=Y5$|E!-SFMjoTxq z!(LZE(+NIq-qSuCPrmwVv<(?M;0Qo-w(5Lp*VKU-k z^STk@>bMDUxgY-N;+r<&>@R|ho5+YpJctC^o*a(iJu%LR6!i7WCT_AfT|=w)#{-dGf=G)s1BvSp18k( zk-wpbzfpp}alOCEjKArLzZoUWLL6pg1hesg*(Sj3>tT*FuxBSQXUYIT`FsH=pB@2# z^63dEpECh~^63pIpID-M-K45IaKGLM)vW{uMEK~4c(_LwL7N$7j7netA>>Mca2U9n z!+MaSLS{Qkkhn>3m5%YD*Dy_mEGZ%o@|z&ZImk9PNS`Puw-*($L|}^)Y{eF=#}sV1 zPjKlCZ%nw~Yzx;o2r3f~F}WY2&V-t+5>%azy}VD*o*$yy6{7Bgksuy~5*a*Ybbm&i zjAK9ea*1KlBlNKk#({I#(hQkUYuGMU_)D^|!}{POl?Tl#xM%g@=LsRdvF=y);#`ap zpgxR1nf5P@Qjd7*;49T|y)9c4`x$vkV2 zqJsMf86(js>W+Ve`WS(LDj9cQl(=ZvqcIG84AtnAf1uC*zi;LKr|Y`w_+5mgfI^By z1zgtwu310m5DfY6Eu+QhzDu0by}_J$Da(i-Kvwo4UGOa7*4GXOD1tB>G6x(m~FRbdS z&JXyRIoW4vq88$0?fZIXaLbg)|7`t3jC>9ptxu$By}~Vhm^P5&Ov-Au8jGfy^vp3j zy}BI>0b!L> zk<&+`{5JJ=RFu>of)&1hibM<_sW0*8nlwK3Vz+h3dTyHb{`3 zFf<>;DalNo@QVMx?^%*m(J}5>#wXWe$Ml7ixhiCzAYHhvpr+XmpCYzZjN;@Taad8$ z*QRC@z^sFFN2&|b z$6b)>$Q$U}&YRR!C1Euq6+12R zAHz8wodIvAb-f)6;*=&omNAH&gLL-XSM_&bOX+wqK!_kCzvow^D(7ZcypYQT6M zP}zb$+U;I>F}-HgB7MLA)=vKP$%vhGM}{;RIj8v>6~4@ZxOCe7>GCH@VZqvHMb5Uw z-q0Z_Hj6eqenbU@-&BKJu_JURRPXpxKQ8~O#;65#zny(zd?^QA9v1y-b%z6ee4NFr zA7)cFPxmyee+?jpwF3+cFR~$!^)%UpVi`C3_YFBuUNNtk(YXcG|6cGO4>UvNZ9bY% zMnT5!Ub4o_xEa;+^TmIx!l;1l-TMJ9USdTR#F1aW;?IZEYZfAude8FR_}9O8gEk|H z0>iogKGotnO1=>h8t_FL8*e;9W`{R~o zXX8qSpfGHhMNGHB+LY_1{T$`l=T%w!rT)yN{fe}zjAd9VF}DCs+g&PRxVY4>#nFzd zd9E0Czx(1M*f=SQJcI{&K1-^(SlZ`bV$5TwmiW!)x> zWD#xa2;d7C;cLez`FS~qb;Y^BNNwC^G`lRJd!gdz!{+U)d=(h4=OdR>o$7;A7?ZC2 z_XzMOBz_d;zn*2Cf1hP0@L6U9o@EPPk5zWV`TEh;hIbg^L9_|Ldl||iLA{SjoPp)f ziJ6%Ys9>i09)n$8ErO*-DS_E;>Z0z@N;YCO#d|wTIpM=#~lptC4TBIiNFRN#|k`E1||Nh3&Kq5yuzg{o;&o|Cr zO(*!cDk)gkgW4cAQ;~HKhR##JwC|gZgNrWnr|E=CVdYXnD*Q8!` zGB-Fz?s{U?(ud-1R%N|+H8@R^Y|5eAZi7R>$2XY%TL0-3FsKbYx3OKp5KcCmR%hY6 z_iKQrll%3tyMaw8X$wjXb>+*==vw8xOw1i^5UYo+NN?&Z*RumJ*+rJx*fIO#6@%Ry zW_%PV#GX)60voUUQF7=QL5HVMP&G zBt)Y6W~*Zc5kt#NR+t>dtOdRh>kJ`|C=S?k(ulR}r>V@z29>Bbvr-V#xFNBvVPYnB zI&n{~N$dq%KLx8?a9d1E!-l+2C)jji&*>-6u?CXZ3vdN_RSdA{L@fbTo|i)cjnY<$ z+Kyb26(}O{)Drs0`ES9y*?@Udjr^=i*M25j4xjIZ#d`IdvdmZr34iuwjn%=DIxUhB ziRB$vHJZX&E}mRwN}Z<>?r712OiuY@#Q=CJsZ|!BA-Gcm-}G6s0hNd$s|x)dIyiy`*u?83Q~r5J4zIoylPj z*Yn;ES+docl4dgFwtkU#TGw9I4f^r5j;2Xt2kH2=<`qI6;rVWnVih`TX+#S1OQDI7 z;$^lg+o5I7RSo70;)4_6DuSdF5>eg*4uHwNvxvn%N{WwgQ4y+Hpw^PjYc9zmjt?OT z>Ce-!a1U@dcxxl!lt;rf6RzE>HY?b(S_7@#^z4Va+}l+YSf+f(w4iV$&0p_Ci-OHs zEKWkOs9;JQzDfauRQBV`LJmnSxLx4i7|#VdNg?sl(w%K(P7MStMfm2@eIcuZgPN#M z-a_?9$45x}CZwBZ$Y7~I35{+=4-V!$kn9o9a_jYs@cQ&_`7mH!G9XHgvWIVUTB!VU zA%mfr(V7-fqw}ct{c5Zp+1%I=CZ*vQn#t`Vxw=I!W|tXq{YEi@r{x}LYAdXl$A2@x zs9mA6FrJ{qlIM6wsPOfx$CRY669=wh zm0y$yQ)f@b5EUfrt^~d=r&P)+gRFEH&Rb`B^!^e(O&ZLO_DD&gV-~2)l37j+QoU$x zq{0l1ukeMr#N>T@tZJ3yi}s2;SWa5jYMb}^-ymUA+3yl7q!7+9uJvLujbTPRCtoJO zKLtD4VkITONd2oNwoe(o&|WBuH&TX|-?gPBV_g+jFzTMT^m`>^)+HNb6L7oG5$e3% zLraMf$ZN>quW0Lc?E6_k=xjBB&=*k%7c zT`b{wio8sO|LWU&Ja)9&g#fUC{Xxw;CVMK03#-CFwOAaJf_oC?N-0__`Wa}|<(x1U ziw$9Gg zcXqK_`zDH4r155|vaZIFXUJHhQu#2##^#Zu-jJx!42A=iEzSBy$cf(X!Z5N|2JI5k zl1%ptx1t>V&|azHR9RQbDLxUt?J!ecUz4$TqbIhZ0T%IP`4_fls!Tlh zcB2~Ai=oO=0_mE_cy6|eNna$HNVvZv?3F%X@U?Zf87XYq*Z)H1-Qiis8I~W8ovZ5K zPwB#gp%U-uKiq`iVOMFQwh;Sv>fdL#Q!LU{$eUpl!5eDBy-(~$<|)Fm4#{9LbMKhv z+Lax&F4ccgJoGIzq4=%0mA=KMfBe)# z-yW?<#CdD|N)P_dsKV7a9&3=3bqlJj9^M!Vk0HX4P}wqiLKmX5^vmaOL|Ow01;`f< z{{5YJv%URaU70*VMG%BwZt_J>I0DDWxo!EbDj7MB_n)R#QSzAxU;m+GF?~n)&9p8R zdA)blrX~fK-}SU^7Ycufnzaj4!2~d^i}6t>vvY`)-ozw9m*ksP2>`+D8l^itAmdnn30p6Az$eJXmusPL2&Qn1HL{{Ja7p!+4@hB-tej$<`YbYo^bLMD9YQTJG!CHe6}J$niO_cDF3 zm@(GO38(AX9~fZcvG6E0L}n-w9$Rge{$!lcxGBk62cdhX@DL|L z1GR73EEEHTYJ*O^`kK|}{R&NNbEs|+RbpG4Tqd9BHg&nn zMHwEg*uq$)*P{HZHJQ;B0%`|EAuWNds>zBCae_%@aYW}l$&P*aKtvVgG9TfOhFjZB z3MoyS>ECF5!rZs}&(Z^Bof%wvWo_%K9myY_XMGfQw_WStE7lMk6|WZfLCk$Msvsd> ztRd{bhsEgtTq;c# zHrJ=uEDV)cz>$GkOE8QCXD!shvP*)!t>azgFedMt3^|)TYzA*8{|4ydrBQ{9kBLRp zox!v!tUkqWr&;-s*Lf%(Z;fDZbz-WHDv9rXk4#`k!+T7NrSJ%bVI1OTkCNdpEI`pt zbY+QO9sE$}3|Wug^CiBTICS|1RagkI$a|F6=?ZwvdLpcr#eI6YOfJ1c?`@gsr$P#< zS{W6dX0%b|<)_g_xxj6(S+T2^3ZyT86J+u^;9ttILcS)-F{cVLsh)7&m&!y-V`H_S zi2fjKq&8}W&^aQFw#t9_=(KjCjWLh{|8LAngkebN;YhN+Emg-Gggs-9oSYWF>d z1yWhEf;7pgyIlg;WCSQv$aWQ=Ex-+DdF86Ix(meU))B^Y@75S(DP+KV^YQa8A2Ar+Uqf}eOGU;ErTyRn_!CO_HXu@>I19v$~m(D zMbgt=KJzDU$R|FbC8A8pBurbCqd;DTR+uB?r(naAu_(xMzBJOe8x$-I69zVA zO8N-D!CoSYiwRA>w+pTaz*s1yd-r%xr?d{D9;6Vz=oUeFfbX^^{-G~w-wT^~k&%A{ zQ}zQ4*hcsLJ+Pac!TizVZv$O%c+hA@vhq05$S;-j;w3mOEQxpKbotazD)P!dD9m4k z=Z{%D{n4Z(+nV0Q*||!r2)BD#VLahKgG~Kq$65U6R)|$|c+XYuW+vwN=33&eORN+c zYxT$7XO^WcMb=K|_{*JAHuBh>clKGMDn^>Nv>CIz=Ph5E`}2R&8!WuaC#Z}VOb`Ta zJlL#>K9TF;pzFsM0q|Wz7F3D!(BYY&ops;{FsS!Qh=_yvjWiV!mcniMuB+hF#dq>PJE_D*G8i&mLi-{zOfDtBx zcejWSp@cNk3?uy^FC^eJ{45N1oMw0qALt$VD7Nb>AXYib0AJD3s%6yfh(tS3f>FGu zHb+lN$G$_RI2!XF)#WzFH<6E)D%dqnW^ zZC}`>3)G>WU(Ex!t)kxW<(u!*hJ$FkowRJv>Y< zA0Cka&$B=+U>4)mrB#g#^s5MDY70yPwnm=>W^M*%QwHUT2jwOJi=%_`W`YVggNjdr zDuJ!h;)H~~gnyS7wUEw`kCC4IZ=sT&N3J6Ch8Mop1@UnITc~9DZ=v#*X{+k5T-;cB zuxKT+7M!W`&_r&o8fc!D=8xfU5%$NVps<mU>Me}^xf&>1 zUFKaEt#GA3Cc2g_cWAO)NVVOB$`EU0Q~@AVK2)AD@jjR$2_m50caHX3AI#TRpC6P| zu*6IzYOFtP_ul$aPglEfA&I)}ivgQki)gAp@NJUt;&W;L{lf>{V6^sav*g}day-I~ z-YXs6N5S|A!H`CEZnG@*gw&QUfzSMKpWl)|de#X86@&CCWy;SN7YL)o+oKptuhHX- zlw#4Be4nyCCG_NhpnXP%7|t+yVGP+sLzU>Pmjmt(Js8yxbxD}OnDoiF&|{_-(Nn!e zR=X0yvj-!5O0@PA>8{8zmO(Ho^7qvU!9(oW#j$;n zST&;cYi#50lmb5LL3+NuL^>mzVqb>$c4^Pi*>-5ttQ^m4v9){Lu6=yCX?RsI3@3+v zH7TbWj9qrWT121o&NB{g-1M^QJ+b13{dLBi5}H%SvS!;!haa+LR?q%nl-O2e~52>Pdor} zFd{w-52;q4q;B9-Mn1o&B2XNZuOU#A6T;_h%*5#CjOHM^)oI$ZEi!3UCpgS`T!|10 z9pdhj!sKm3t5O#Tu+7F;Y|LEN5YVsQjUsLv9fvie&dTFbCftHzaNEAPilBr46yT?B zVwL$J>&AFRz|Dl&O!#%{@mN@iG^t@4Hu&v81YZPpwQ)Z5~!`(enh~uMg0=J}awDuW( zN2kljj1u_DXS#iLOWPB;)gl2O^Z{?= z<*l_|!E`%js(=}E+C>UkcC9w5c9KkmpcDSoQ#nU$|6{NXlVRnwg zm|>_7iQkmBbZR2|IoZ;3tj9t8zN_IKkQl933Pjj>6FwO>`y$IO7&dU=5@IW7#Q5>4 zq~VDrvF${scq>)cr)Vjgc5CvDNd%SQeCq68TXhD38C`1Fia8!ME?{m5wohs zI$~ZTFl>~Y%DD3jEhcf7^QJ(&Lkt@?Y=7Vzb~Ksm`90}eEEr8@TUfHghRCFZiV3?P znFy;21A_;4p`f6@ba{vP)`Po-NP2I)Al)i`ZltL1ScBiW5u_rNA#XCiC=G06i{faDEGA@{HCrKpvD5*3Rs1drlB@*~q2o(%^ z^vsrTKBRH4NqhD(8@i|2P$BqlmMGC}CI+yDUgW`hSRG!&6Oy7Gm%ZmnbG>2cR~;|b zE$<3J8=LxlMsc91j?5iniYxx8#ErgO@@IWX?`2riu@d7a+mWZD5e4Sd@jBZxJEOp_ zBSO43v%BOANmDeHWC;{Q`N9}N{_2|trOaRH+N0zjZ&mubaoq_Zbn?JvYmFhFFta!v zb?$YI(tf_2U;0v_PIAbV9I}i=N4cY)?9g{-iZv$1y65GY(|jsAxE0JmlQO=T#s+e=6!tk#_q94I2yhs%X(*=sbak8Zh%gw8dKIKZ4v&l+Bt#|| zF+DoF_c0*>TELsomUIU?zlpA(301VBfFveNnAp7ayd7l=D@sBiUrw9)&ET}zqmn3z zrV9YhJ42h^?aKU7|B{P&d485FK^}>BcQN2%97zVP9Gx-7c12&GF~Wa z$Pu&qTxwXD<7j+8YpOC%^NSz$!q&ab^=5V2l|@{ZFI@HK>*9vph-oS4UW*Dk z$qwvwnAP)>#5x~Nc9%0IzY{>Dh^@X8mk6d$*)7nrU!DIsG(%d5k)-@2BY9Nsk`&Q?Z#Y9$m&1k3bMx3hQ%g zRLC+)o~Fy7mNR~#vfupA(u?aL6zG4@C!kolB^e6&l=`GERl{!b9uMRx* zxl7CVTxfXqqZbOU?1FtyhN${x&|lW1UG6^kJ@)qN-1xnEvL9dW&NVcdK0C`347Gjs z_=15c=aaEMpT6P#Rdc|5<gJqvpmwhasI11sv`>T!nXG|dfr4!o>*|I6$NjU zNLr1b-T`f%m-h%sZG9+ud3$|%Y4a(>oOv*bcv8rH<;;1A^9lQ0xH*i-xK4QRA~}-} zx&G7nbi!2;g-j18nn8XZr}t0ilP#N4y*DipwT`%t-X_03CAi|)Fv0(Ry}wbfzwwN} z*@-_;54EC%S&PGL62KM5`X2uH|L`=|-4J?6&B#BHQvSD?rv^1j&+H2Pw{}ST-(w!x ze~WpzCO0wf=5Esb@4Lw-z}@7^&D~^vpxgD`q%u!yEO#&km4V@)H}cbr zgqzx-%15wvi12&`)DD%dYljSA?XVwx3#=VVZKFgk0=2{PMmdapQ+cl^pI)Jkm6`Vt ziw?A0EpO?8wL^peP&=dpYKNXfq^UQxL%V;=hNR5LBlZ{u2LEM7?mrFg|39tkZFq!c zn`^gWYgY?&xd$|G-b!*N7yI^sXtIDj)nhA=Jnhw4;{CKYIG&$VFwpHc^@7Nuo0)2T ziKAH&?CZG-QHD6AIbqb-n)AS#p1=qiMgJ`^U{dJg~0!dLaJC zCnUrGa7zm`61>0*H0x+WJ>B1J5`!a+wc{t_y0l9egzU-6tab()=^5kY`6(|mBNu@MSu`1K;zw9k-7}*U@$Vkq;L*Xj^IW7$S!qvC~G@-{zA4|X-I9p zkqbfRcF!%#MTh2!))!;ai(ma`KP~#ZQBt$>bf~cZ&)vd4+DG(}tHS3bAsuEaZ$%sq z=6ancXk4zUWc#pWy5<9`es%B|Ecyi~=b)O0+|I9BQ>4F|)F0hx=STaYB!dZ9Z*goabkjAyhb`W`}xhn)_ckq+Ra6k_$NEW5G$8m5m{Uyw~vcgV;S$ zKx}*#@U-S5sAb6{5}vMR@5g=mdi36{){0N>3CrL)11Z?t@Qbopb2GT$c5e2g(4Cdudu{x zEX#-dQhHI*?}-O1wBUN^JzCz$@0ONPb9yUFW7$!=iK^|b=lx;Q3{N;-PD~8VwHj$f zK_jrm537ygT;G%__O~?mFmoXF3rfZ#+dJ!#KO#_dvk7eKS{_LrJ`J$i*xjrfd{|r_ z6P?0@NO`EK6Lv@qhvYI_);A4yxy0U%N#-Wllz7Mmjl&vC>+YsP<1%ziDZIdByw!&g zG*%EwB-JpN!%paoqKgV2Y_h;H-&9AkuS&vSUlo3c)nV_h2hU$yBp>^(1zi*H+r5Cx z5-9ZhRF`GH8pQbJTQGurg&Mf&wyJa3w^bVg@>SZROMDAdjFH3PE+qTVv{K0n^ztS(fSdA-AKdJ8>JjTi4HG7^Q z?Mxh>b|IBdwMd5cV=6Azp>vm*W@9F7@L77_dH3!!RT)dk!OBC$LL181ul_g%#<4pK?=G5a?5K{>Mc0RY8^raP;h2V zs!W&I5Oq45Jh_H~NJ=~QE8bXg&n4>dDG%wBp2f_dNAC8CYT7NPoOrg)v{q(uwpJSt zr0{51p)%Pqcit7^P2TqW z<9F5L#?jiVl-zJ_(Gsgi#B-~BLuQ|f2*dlO-||MImoPG0iq>erQ2gObli#)|`^gn5 zOrFm%;i!Mhb35J&$Pa$Jhm%klKeS^bbv`?aG1H3UULLll`slR+rNZCi?C8kp$ZSYL ze;w8GKIp_;(qQ8v3b~21hoG*%KMKAuF;6)YdT=I%0Urvr7^K8@zhGQpX&CEkk_@d6Jf>Ey2?D6F2u{bw!Pmc_22eqH)8>auonyqz zLbQX7G3X&h_)UgRwymft__lQKUM`KI_flZg50iO~BK3#U1{HpO?fXNW?A6bOUqO@3 z@M8T2TSp)+AxPGSApuKCz_w2jJQyZG#F)2qF)Pr-WA_-~s}u|AHZ zeJWXavvag15q^7f!TQqo=kELG2~T7_U@KoI8Qz^^Q!dG)+P`3YiyIfSBuijJy6AaW zGi|0z?wMx-TO;bpcyVw)U;$2dOiuV8`}luqM!t?pq{#lr41b}><>{>`SR~XYz5D6t z6tt#F2Id)Z9l_{g*=B7OEIp(&e0)64ZCQO`d^|zYCo9?N z+wM}(J)tb0i`!N}Ws`7ih1YCgHv!k9aH%@;C&}KpK_{L}6>ZJ5PvE@i)miB2PXcWO z1nT5qakr<*=go-ov{KpMmqITpSN&trmTNZ>h>u%C662q7IG!JOz)6aZ=}(`RB11c( zxt|O-19ng?i%Qzno5q)0{bdgEsc)KoV~u_CQVZaH*WCL9(U~^=3`ott(duqnjp$sx z*{1mZY5GaTdoKj)?1ROZsKg#=J_pD%44#`M59odIWw1=26T9BafDROVqxGOQwtXb` zmpM&`Y=%sWBn3R)HP=g9%G2e+MMjGGqv;(1C?Bl7RmRLaf+$(E2I0EQJz+Gm3com9 zt$L#{wKG{&T&>&U_%Pc;8g#4&6K^}kSta-|4T0t~pf%)!OIxmQu>qQiPB}sCGu!8) z`?3~aC1Y8p%ZRvq(bZjc9>A@7WY+BW9p&qu*VT3f8Sc#&JACi{>_x#ZU#qvfcXa;1 z*}Mf6`FE_kSlPo)ABI<59Iq>l`j|hLLI!4qy1f5-B|^wX$oNQU=ss6 z0kMgZ0IDJki-GUOhR%vy5IMi$AY9N=(T7Ok3YSWLRUr~h3ZF;9g+(Qf9Xm6mfjCz# zmj6+zm0g6zND}?Mxft;Y3*Agb2KxI+)$Dyah(BKq*N>(I@_l3iBog2+J^=qB$0+a@ z5fEn9UIB9$jF93gSkA?w%V(ILxLHMjr2~sd6n_n_n=KcGu4(MJ3H(JE@4c3teBzvr zaAEZotB1l*`#+!)*ywPOSSTj*adL@L|MmHhN7h7Ux_)&ofBv1?e1~%-&f}ez+X4u& zB?kyAER+Jsg_*PSD_9i6=!LZ)1um?r!R##g7kNVMeLn1%rEjoFvgP7M9LQ4=g*P-) z?l@JVsZD$vO+g7gWStdIR7_NgBsSq9v%l|WP-auoc;9|Hp0~pk@2|n!|MgS)KmCX6 zS%OEv|2NL{YB$sWERw=xHnDYP>VV;6E4;`Tu(%sU!k{eep}X20hAj-6=OD6_k6`^n zf5m|>lEN)l@hO!Gu-r`lsaC2i%Q4zk6|fXY!EeE!(V3$?iOT-(g^iDqZGg2}95>(C zcPTj{mOl9b0Ex7%a|WeVZBzk%y}#B$gXMCzT;ZM{Ll>YAlZ{(nuQ*{7QI*^144_~v zw-DobnDs9gnPZYX7I9-hs1yLCIQc`fNz^08VQ$1eGy>I<58$xyeiM^!XhCvowpTO zl?!7Ow1M=wu=e`W+{)E3(py#Y<$Y*u@LG38BZ-WnB_>h-sb<>k$H%0SF;8`4elT>?za_y&5cxWWHZy0$TI6j#DVM6G@j3T77Zx`IidIb<7-n@HmY& zzZTu@f|aB5?b9_+-+dg8Zc1o6xYE8H2)wm3$=4_6;o+rJg|}57@Yd!Bi=kq)aME*! zT%1DfeF9I%9~&)oegjTUp274)^pNRtCv_RYG4FtnwBESQyNp@EANe7pHl}WF2oU zM){Pgp=ZXF!ue?a|6=bgqv~4LbzR&cxI==wy9I(f1P>P6LU4C?cMt9m+}&LU4iVf* za8JhRFy~xru65RKx9z*nkK5Y0ziA9ceNze>jRM(^hN^+_FIF|Ho(lsLf zzSPK^4ZLp+Ad#7QJL1av0>+|HNZP&ttwPhEpj54U(y?t=_9?ewGI1Ru9gvF%{`(0JQ!@A^b!CPHZlMGg}K`+9Yif)?M2z?x6Pymi%6 zcnf$?H906LPc8-(@?lwT)wLj8*HGXD@kUr1fApcsc88EuTr!G(Q%lw_rL}XsE>vtS zz}ddjqqRPxH5@Cv!}IP-%t1}l{kuEC0x}Jf8iMBEEA{k{7Yjn6;P#Sc3mAxmX0U1q zv)>$wAi?vQ$7kOd@_i|1R#+NmB9lt}uFDG_qfj=3%RZ!GMP*MhUC7%7hESDOGKV3W zRLEV$v^QQnThuwN#&4lQt^|$Ipcgh2@4dPf?JIlw;pb&N?(#7L6;Bn3(Jrq_uZeji zMIs!uzKG`vUEh+sbkL1VC0nDg(K{GSV71oArTfa>2xz>DYs`QYTf+{PBX9B|ztruq z9xi9J>vI6sH?CRO1XRdDWTlK0=ej>r=o+4$K-_-72{Lp=@UXr`?hkD=MMs*~wYr9o zI79Ij*50iiq8JSo)oWzB>2% z!rXy4ups*PHh4G4GDu2@m;YO7OaG;`VEVsG ziv^U{VSOlyMlJxm6_Y|H7EMegN~_jyGLzGIms9I`$@&3H7J^zl_E~i`(9K~JX}vZX zx#$xv(MoTlwQ@M@Lx9ysn8>(-(oE7vBn0HwfI2RnU`q?DaoJoctP&~XOcN7u`4q7_ z;n!;!QBSdS&1AoM+*6|%?(!8_#70l`s~Lw1*@{hm$O*IP5mQC`B+TscYF1(n4=(D5 zUbcIlKXQqsnfTqb!x~m24zBVUzl-#DDlHf#+JKAT9X$JP7seWqjbdEc-wZu>ws6q3 z$R-?ahH3mms9IZ7RgpNKuYEzIMveDAxgYKnniqX5)n2P@JqYb$DT~VBu8T?xn)xXp z|2?KW1hNiN;5psy*-r4+hWSjC4uGd11X4OT#lrDvw7;~l6$~Q~i*Y~RzAcmqpcKjx ze3!5-8&7~!?qz9j)|bY~U_{)?Q8E>V=6R1oe_1?`hiyN`7~w=V=P#Sd?@g$FsFF-o zbuRC&#_+b9u+wLU{+fKbPWU4lQ%@64j0*Q7roVe59>Qn z^}K9>&Gm{o8f^c^fXBK`*lsO-k!u6wQnF!fI5;~^5x698$!skmR=5m{LN=ESv&?sk z%dps(N!h^xLMa;}zKFbQa6h~ejPzW0b~3|}&jzz0t(gG7BiS7c>>pM{$RS|%68(2( zFKvwm0BOnMlobLiWxEYM(e}33avBVb(Co z@y%$*p@zQZA)z`7^}Yqp3_^T@)b6J>fn!K|mjH+IV7Sqm#Kgd2UDPaq0{N$&g4W;JQHso6@+M040ezZbL$EyN1K)S2G!%R;@{54h<^b z4DUjr)F=(McNdN76{6$o&+U*rkGD+khfutP$tOW@X$^lpex4ukt&ro8bPxd272)4z ztlfHVC<2kJHDG}04aY~+{(?`oB_2a8qyl64cDpa`l>#+mYeLajGz~*JBZ9rjWIEV} zJxQj#S=-a7l_?pm zyAHGQ{2X6Tg^e1H7jP;50<^4F5HpHV->>+K<7vLfUrtxGnO@DuBSiR+3_X>fbCQEl zUE>$=rQM#odt5Lt41`ynNojKxd<+%!SzClxzoB6R1fXmAd0 zY47xa6n^vN;hlPlFSLTGzA=%wl!3n#Rb!GFGV}Jl4czTNiuybuCmqkJsVsBUv=tqvEXT%QEVig6JCU5aF#M}H~WMafNEv@xI5nNVd>W-RP z3R!+0?r_L{4 z?Soo92C7>R&KTn6mOV47R8W{}=IW4(O(+CoW_dWhC-UiH4esHiP zI@xvK5`r>xx9La&GcqzX@*}p}e9u=X0^LpdH&^dxiUmAlLhdpQ%wkw=@tk_0c;xY_ zDgvTpvIa*6>A*O-78nIX+lV~O+%v33BL7^M|4HvZPr6CSMMxqDT%bPJf7a(sAQ*{O zO}fUgKM?MZ_ZSjD4>T_&0^3u4;Og-C*at(R!Th)_HSychc!YeSjHggL!l{hR1B?h~ zqT!g7VE3m&A!X6HlQN!O&_rgy3gV9V^_oVck$7_p<-OfOP9;#!vCtM3hbw~PASOYi zIGm^zRvHlm?oDLS^vDvNPto&{6If76zj)$)gn`EUQS8;;c)D3c4?*N+jn1q*Od?S^ z>CRm-j_01LL1o!%=Rc_gCO{XwVi>J}7O?4|ODcU^=>4KjJlxUMCXiXXEvWS^m2|uY zk9<>^gVA6l!N=F~GQVo9LeTym?+XG-!TUT_{%!p|l>!}uKTEpCZ!i*@!irPc-soBE zp_lcE`iBy!x~ORxh#>(}rBA-r&~PjhLj#S`?oIJ@8nYtiK$(iUKOP|eT3%g#S13`^ z1hy>lKi=)Q(bb#1iAIX_D3pC_;h|wN>v_d7C{ruetCA&qEk2hmZJd$xAv1L`JVj3w^N&U$;lV!c$%{;5K{5D26mJAM6^uu?kC@o6IaFvU z5F~#kZk0kWLgc5-zhM#KKmJXT7V0dxkJtT!*$CloWIGgc%>p2FZ0Euz%~)&NMM63_ zerk)Pb~*%3SG;S!za(_+nDU=Y9_m0BxO?#bw9}6gf%)T?FO%ugB3!#d(wsl>uVGAS z@_3Vk0QBEi(>8Eg|GNGzA(tRop1tY+UR2;53~Xvy(&+gTf!G}E9V2W3Lr|~8WRI8s ztgiA?b)zX+xSwz8GI?!*o4Ojx(O_8SZQ_Wz!Et|fEC+e5b=cVwMrLBY)j6X+K=ZB3 zKWjd2$MZ*X9BT0Z*g7-QGxC19I0DvfdA6&Kk$ULbav^){D%C9JM2$v)njXYPDsdC7 zG%`kHd{`I;riba%Zy|7k>)WRZ=O!Ic7(j8L_K=}Xgzzr2G^zpzkx>ykM-8t)3BfPS zg&=hRIavI*BnHtV*QTlyE5gnzkH@}G)3Iw`M~iuVdcdFGEVCEl5Q^aUp2T zu~rXQ0jFbwQ518rNq58i;Rk$)3|-ZwsN6Pz+q!Tm0R-q@ z^dTzLDkT2%f<66X!HU8Jz#^gRw#+;oKwuo)^7;ZqL!e1)q=LpDHMri zW;O#X5y7MWq%5Vx1RKCQ1q&9Ru5b3C#L&D8VjNLfR{#WZlzbYb*bFuvYRaSQ#ejS$ zvtwP&{%H_!znO%|ndV<0g%8`N!nBc`_Xe7@!9m&Lv;sOFj=}?YXy)nF8dKoY9>haW zLg`mP>Aw>R*68BIN;RlWD@CYhWTs6fyc|?dQEb$Hr46zF4F&EVcO*`|L^e>Y@yGEU zR`E;-*L%3^2!VW=Bn|@G<6HYc|5P+G*+PrAu0y_WQ7H%he*Spz{}%y*@xR>D|I-hi zABO*}A3Q%E{#(ECU;d5%%Rh<%A_Bq(-u6#C9x=dD_?xpCOgcdUTe~TOvP7%R83x>` z#S(#Mpk?a*Jty#g!|DI+&X%)8JeEZuCn-bCEMaU(R=%~Sb1^v`4U**xc+Ea1N)NU> zo$2qvSXUW0(5KMg88h#PJMr)F=4)^Yf8zB2AnabYa(~Ay%(~Y95S`5pg6TonCiJu& z#EG{%Tq({KF+!kO^@qWroq4&cM>*-4FL51eSHeV{E3#KhoosOoy!U$9skg85@kC-T zm(y-zaf>$IFc&%U=hvM)btTABz}d`wu$`zZ`9#=7a#<4LzUTfPw1Mcf>V;7!o#)bi z0=XqIOrl2Z2&x(0(N)nyd>Mcpj-jJh$3$I_rpJG)m7t3Yvy}=PK5vv9_9q_isYz6O z#nQ%uZ_KM@7FXAHVI!?1=!5<{YPe;maGH&h`pnsj%+^W?vY+bPz3Tb9`6aKFUTXq;lGGB zo)hON%k%wnp2nB8@T}{;jn4eDwro32j_j=%scssaNffw4!cM}Q6}B2v?F!QN+yUp^ z5fIFmi)X^_6CTf1xjO#ZxMMF5tf^;}R$fdrXt+hF`)X4bFYBd>u{f#aSvfr48+R-L zmmPRnn^@A@{qlyfTaU@FERSYwtD*7Pc$;4V!tVVu9`Bek+e!_tVXyk(36J;ivnv$^ zz~kZB0yuq|m+h~*a;gD5o)pV30FMWzv@10H0O0gp0X*J%C<}ncO9cqK`y~KQ|G4=l zfYToa@OYO?wg4V)4oIVtQ$3p-JyTB0y4j}BJM*%o}X#kH0;PfW| zJRX44_WDz~ccpeOdsI2jKK^0X!ZnK-e{x25|bPPk6j1!Y=7OfYV3Gf5PKE z5q86*0i1p+fX4%H`pN(vuLL0M0(d+Cr~iby{g2M~7QWdNN1`4b)wAnXEoyeFLg6CMvB>;iZ^0H@D0 zI+_U^P5Fs4;)Jn?;<41+Iaf!P_6>+Nu(FP(zyw82D_l0%u9B)bYq2OPVZ3($le*J- zltG<+;*&`kW4E@`-W_L{`~}$pBS=6jVN#EKyCAgH zLZ!MLUL=p9d3Z`1HfeB%2Pd0;|c0%+aOz{of;qvyVS_p4) zjyjbLgI>y8?>d-rCcb1%b&zU^T}5Sb>$nVqgL+o3Gn0W{>HMnILgk`*E6P1F`bN5nj&BNHS$xT8@se2#A1g%mqUK0KgSulL} zswJ>$u8`Vu;Q;R=DRm{@Re+}12iBby)$yZ~cIYO7wre64{F}r=WV@yMR z<)g5XI@DWv{Jds`D@!4*L?&AnFrH0i#4+TI+*F!dvhVLf{_R1XNbjx2pv%xg<@bt1 zsNA^TgR+9Gk74H)Fg=kE?cL<%4P$is!F)Aj(#ap?)-MZf_@PFp0>X{At%Rg{S&$w4 z_pr@6nY0|v4Rqb;&GUDTIj7luV$(Z&%&>pbP9c!L_{^$;MDS8Uz`Tzw#8j|>N4TU& zhtM{ci6#LlJcA3(G`f{sd^hL|l?5VNdu;|!S@l+@awM`T^eRL z*u0BAASc`1EFHnm_acnn<|CJ~EX1H`#9K)(xcGm~#LT2=9(cTqBAl=Yc%?l{L3&<; zQbqmY;l3+iNXw==4%K~_h(F^OSMCNytCb18!yOv82eB*}27K0B&TE9kK_{a<9GKCR zHaljQEqK@^!ZCHz+vXt>do=|cP!gC(DYBV~TwXYhoSa2EKnj$lI{t1zmpV!8Bo8*# zVWlaa8Qsc3x0t1VXbI*ss(Nm=@Iwxn6${A~vN~A@E=&4V{yBD|rf4U>l_k4rc+PBQ#g_Lr zRX3JQN(Rh3$t;CCYFUI@f7aYjF-wuqUFe!e!7D5fMxKckkY?L`XV8Ku5nTQxZ=3F_ z)B8O|d1D;y;&x*BBtXTn>oA$Yz?4>S_}9&WOZFM@1s(L#z@%3tb;yKeDc&2a%)p-s zlrQdzb^U&Ozd=ze(Xs6Qux6+LP9t5=_m$%CnhE8~ zNcBASCz4u1zR2?x2_Qo-<vKc8Cd@ z);R+{fTi9GOPUK&B_K$}7(~NKjX?iniHKZ1U}6XZwC?mX-X@P5=_ebJj)gDlEnOZ5 zI=vgk%hKQ_HcAXOjAnJzycF&x+(7(IFXfh?P*GaG7JOqZvSS`2;d}$K;1HPvA6;_7 zaXf-WR}8;WE{*Ok8pm8XjsW~% zYL%erLAA-|@aQ>wJ;%^VjWBT)nuHYY&n6N3u#qObwsqI8^==fnDgj-Z%p;<-*~>(n zTp^6KL@Llec>TWpm_(Gkn2`G(ks84xVSWNoWQ~-*0b;&4Mild|!9mV}YiGd*ZfsP2 znScNny z=uxV9DBmB{?9?iEx%0ov`R}H_q${^)sWgeCBseiTI}>{ zJ|i0y>SRmvfVvFnK8CCnjJyLKwWV~pTCKiYy1gb&9TkOhbmN%)bcNfZ6?(NiHG~aiLPU;gI+_VfqCq<5Ja#sPYnq$o zDE0!1b`0bA4JC7Sh3*yqaQLhq8JxHSr}2#d42RS$8UKAMoTS!_ALO2p+O)HlY{PFe zHe^1n9He?Dd=gDH@j74)2^RS5l#|ga2OKT9>ryxJ93K%GAxxui%N5$*<smC2i6V=FOb{)MoIOGrX*I)tlbu6W(GAKYIFS=3 zEw^%1&j3r-f}cGavcQxhKR_meFP&OSxcwP-&Q>`@qyo5j zwgxzMf;V|P@QyF(xjk00A_?*^B4q6eSwl7je_G0=TH(}`XBV=gd@+ECJ~XdG$Qn+{ z&BfzIJ7z=KDA}T*x4GM_B>vO+JmwYAy3Cq~?|I>W*vkb+&rPs}%Q&a+-?j21CO3OVc=tD(?exu6B6s%sR#cgC#45 z`FlR8jA}1|7AVu2ZYYoSd*kc;+B6TQiZ)^qf&BB3Oedlyp^A^oRz%G({v}d0HUgLt znMF!6RUg>n=}~L0oi_~UmL&ZRNz7XfFDrz~E0{;1T6y~#ctT0RgKP!bnWW=x&ay2V4qb*7YGFwQU&{u0+m?B~88tjLGDU zh;Q10jC*g(h%Q+fvdXlz+Iem&=uk)0W;0s)Kv$1c_(w|dk+MnCi& zH27k?#{D5N1E*hKq*e|(1Fs_DCpoI!zPhg*vjxHDjXW#61dIeZb5eV%(fIxeFxwF0 z!=T@IrJKCvx}*z+&c`Ck;Xv)SBGu9NN2>V`b)rWG-v}%A*co0J48OMSe#xG)1O-{V zj?v<;`YpfDq0-T2YdB=MT3);PUKAr_Q2x@YY1hLsY;a8LW+=a<5FkGqerQ%G?K8$| zn=9|BxX-@dZCN&I$yv?u&Tr{19iJB>+QOLa zk5X69)-dQ9ZPzkrZ5>?_>SKyR{S{%5En||3`&~G3T~O3S_fd>ndG;JmT5w_@lrxom z-`H=QN{E6X$)e#UnNEIrU3_a(ah*>#{k^{O6GjE)@u{RX#)Af7T{H?h$6yAI%F5Bp z{n{gK-!b(K>oZ=zah{@2PD?G5b-=+RKL?Xd@HNL)EiI?${6xE4^{Bz z&$9V$1mukwCMl~Eyr=^Ox`}6)ZD&bCJ!U&pqm@*{7Ai~L-%$JzIYu?Ur>LCsitpo?X!Dlp5ux+DqcU~ zbZR|H2Gh5qlTyhsGMbetKh!nq0ws`OW^Gj#;<0-3u4B6s{YmBOsn=J?#8tnJOmDsn z`74H2CNih5t0<(?C7p9QLf_U3$0PWg6D-$jqKnW-Iym)dOZY3O#y0rgeIxMR_@0rr2UZ$+yN{8*mgxK)%vY3@FDf;SAU#$HepvTO2n!& z!~DPwy{7l3f1g`Yc89D&m;5hd#VU%SXjGq?R~_j48Ap!mzrOE+H;cDqk>FqNSa~#? zGOaM#Y~puqzYDjqRpjmWAnX=d=$btkFy&r6SW?E26-^^&O5=;HjX^5iTzx}9y1VwO z{p*#bXVaU2AXG>4n4{lyxm(Y$zd5~wreQAZqVLAS{qxbS2AoL8ZWbL&&xv33qAAr#7&m|b#E zQrDXw(`E?}Qa;lY+lXNSf&j0S^sBH&Md?To1z*s_vI(s4_i7nGapSL_vcgOBcdFf! zI4OuG)(>*AxSSuC$ut@|lo2o9a0b!_z)kyDxqI*DaAEfr1b`94r+*l8nXM#sc$M@Y z*{@RA@aj_ttDmX;P~>Bd(>k3X9<=hwEN2d+B%LgdJH{+I7ah6i;-@Tq&Gl73Q-Q_t zi!=j7tp2}le0tRG~VAovX)y&@bF1V`wq9^J6dUDqgluqT5m+q?%Z)t!4(&E zi@manj&i)0^)NrpyJbtivtfR|rXp!Ee7{J3b@57$qdsph$M!P6fc&GtLxaSD;E~FM z+p@y(Q3eaT2y`+g)J=ijPrDzo#jGea?=NVoW1zwJsGrg0z^IHLzU^IyVkhOeO3qHRzB8wl@u&Z#;Em6Iv{-`jadj^6 zMTu0=+ss`~!cvBiYDD8E^?fOtWnV3yl!Y<2D!f|K1H~^E*ax71OQa+!x=Azn5JE_$ z6oDD~#gX5VxI(fkHQR~NFDnY&T|Ta7E155L@Ohl86u$;z@B}^fm{s@T3BXBKELM!i zR%Qq2Tc@6_#X3pIT>)RS%fK&>rMj#2w@D2VUy zi+1x1UF;1g@MXQQjcTxY7iaHA~xgPYAz=_JQ zirZG?1c?zcD5+TkW#Z#7jPlam=$^9e?kElMj8KyoSd)tv*+HqPmnlQ%#?me{LWEA=pg@Q&i7xC!$LR4y1 zemdhY@~rx%=Sw2hixp6K$A_GDMgC02dipNpHPM;2x0!*}BJ5(~PxV`MuU{YgGCkF~u>dXJ&n(urIj$gJiZKh8ZG z$<8d{-56`IZWvT93AZH-cw>NGG@S10B2ceR&6Q5G^;4mK$E#;> zu1d{#q*H}w^NXW0h+UOa=lPyhSN+>aRHN#$@>l6Pjet?@WEnl>b%b>fry83NRZ7BQ znQVgN3YxKKvvfhMB)?@*s#%+5N&M8hW!Z|yGMFclEYia&7JH%X!{-gX>kqZhK>TpCxZS4x=TN3;$IWiLZTAwhPH*=w7thmPGFI5}7HA&bBPc~< zLfv8lTd(smmSNqG^jO1L=M%#4LQb=5XQd=_a>BpJ=43R5u6#B2UR*D(VaQ!Kf^mNB zOGTQkx_s9IXJ0Kj(sa3Py~TU&ww?My)1Bs{X6DgWNlBN@w~FD{4`cRAT?c*bKRp6W z%OSvS2jf!0zoy^ee)78d9xCipuT=8s^8S6Zu0~i{S1DBZ#%a8eJu$Iyi{3;14NwMf(_a*4c1(Nflvk9Y#q`0;lV>9N9 zc?K;No!eArl4&*h4Pkk&6KLPbP-?7|p;%~NR(i*fbG@%c(vro-j)xf54{U>r)i5P1 z`z=XPrG01(W0L$SY_J^gr=v3og>P@#q!e`Mbz|DTz%s zLrZbKOABS)LT(`>Zc)%cV^FYi2#UEW@oh5)W}SMpm5?W0bQepL6#2kwD&W+{%r zpKZ9*A=h1DL7TAlVG@EynDupH;vUw%QvOqYVWk2;u9l`2ky#{aXS>h>RFcU$Qn-$C@?1rT%)Ega(Ag(4sb{~8lW5;5~U`z^59|@wv zhF^Pxpn@)L1Buuae1BZC%YNso_FDQ4Ty&h}8^YekQQ4W_!SN{xEAu6i&gJSPeKEya zomZxn1!dIcZ<0g!RNj>3U3D28M-ZehjVQi6#6m!i;TL~`O4S&A$GL5i8DWWIcl96>+ah<6Hebq zG)I=UW0j5}j7ps|>iH*d+dQrm9UpfUS{DPHmi5@b2uudviQw67E0GK^)82$=Bz9;SsvGG6t*>N&YmT0tp=EqTC0=vH)VA*pJ-=ObxlVKnMa=GcuEPqu_2K>Y_K77!)^p?P=lOOP z8|t;K$@{bWGtN%Ju-7hExBHaqw~J5k-un{59-!23mnBl(hw9xPi_PDzK8JcAn+kib zE`7Uh9`^p>-0k`82K?=&8{X$MSlDY5@B8hrl+Sr`x7RMu_q*v(pUWa)??cV+_e;Y* z*NxrYKU}{*e24eF9TfICPyPP5C*^y;(Cu^G{QcL@P~XQLVc+|u@4s(`eScqd`~JT9 z4hF;bKw$SkQuaV`_CSmGz^L`Wn)JXq^}q-9ASCr57WN=D^dJxPpv?E6Zug*F_Pl`U zMaS;NpzOuu?8OrA#a8RZG3mv1>ctD{#ZT%bDC{L{=p`EHC7$mk+3qF1?0pH-_X@j@ zjIxiMvyVc&k5a9V%A}9lsgEY8k2a}~uCR~3p^sspk8!?_X}gd460r03vtswNQTDTQ z_H&5$bE@@one>CXo%(r#`gxQ3`3n2_8~OzX`UU6vg|_=&U-k>b42WP4yrCQr%#Z>0kRj!e5$BMx_>hU(kg3U# znbVMY(2zyakY(YJRm0GSfg$Vpp^w``HkU)TFvE7(!}gTJ4xGb|;=@jA!_FqdE>6R) zLBnoI!|sK{9u32u1H)eP!`|D&K9|G3Fe850BmRKrf^#HLd?ZM1B-msm#AzfnXe2CY zB)o7WqG1FaIWQ76KN7t?5_35c3o{yrJsM9rn!q`lC_b8`HkxcQn&LE?8Z?@gG@4#G zn$a+tIWU?vKbpNgnsYh&31%!8dn}J~ET40%KzyuFZLG*-tk`L+BxtNOX{@Yp40vf; zF)&s+KUTFpR((148D_i&d%Tu%ypD6cUVOYkZM@NByvb?2IcU5kX}q;?yscrpePFy} ze!O#gyz6qj8)l*hd!mx6g0V{%*_kE1ntcfidW8cbqXLn0fhZ(E zl6oeGYsV z>BsFn$Hk0JohtePT=Dl|B0gD&K$zb-0|_;>tAz6C~B`s<`1#wMTF)L2IlHm z=Ow(Sq`V^}gVpvrR15OvWj{{w31!GFsO?V7`@VvJazjx1HNP{V292){#p%uMZ7wmAB)-P4x;%GQt!8=hcIIBH(hy0X?&{CBOKtGsx6*!H+~M0Cmw$Yr(Nc6B>Ov*i?%*6jlq0 zH`p{=D}qT;on&E{V8L-2*6*uU42~kSTUNOGg2A$SFxQGVlb<@%N-EW|U-r8U@2(*NcCMgOTJ|EGJgaG>fTaUdjtKH+@`FvhFX&rdx}sD${^JtBRfNQhBH2pF4v zj(fBk;%>7*bOsT!%Vlc3!H6$~P(Wo`!uD7w(=P?eIDaaCM^eZ8Ozs-$iA;XSbIx>D zvndl)-_4}51TudpG(Mpc5twG(K`eo~C^S$;%JFX&;>)BkHTrBQa{#Vc4)6Y{24Jra~ zC<+0C-}>j^U;KUWwSNp={*S?<{xSFfVDMjn!OMpI=fU6oHwXVN=wAl!`Ckq`hL}ur zV=N8cxVqB4ey1mg4;qc>p7H=hq*M@6%I`S1SpBk3-`ftrJvQ0ynV||e|6Ho~kEBLj zbu^#2l;p>o&$xSTVYyRvf4&leleDCdyPPr*mHULVcxmDjoADKq1r{YbXQE#s&Y= zTvz=s9HKBaF%+KB$8PL9!@4Y*-^$$`7pHPQ1Ccw<4JH-EN~#J9{PahQO7Ht^=-ZvF zW}DyEFLt&%?vAI3!NdHsO+FKH2SOe~7Z~uwe;6j$DBsWB?Z^|34q_ z^DH-{kp4}>*S9um$22_X_0Dl`GUuxUE=k*o#az)!jz+e}iPciov_=leAO4)@nH&fS z0=#7uzyO{8b%1tx^(d$mvQE4JuM)5&(+`xsr5KLE6%NP(?BfFo)CBqRtr+CviOlcI zqv+~QC)0T_2qz3!OQr$)ID3@H<;z(F;YcV6LN!a3Vx>&ctAnJ&`7HHX{m%5{qs0up zULOVb2J62W68s@&ArK)jfG_gqpI?N6cl?wkKr9HBNYXFNZbLi*mP4@6;*5MC2LFx2 z{C+L@XdI1{&0|`^j%*?ksu`>FY@R~s-zV&U+6n(Z{BU?G0ult~a}g*I9%)$n0OvDc zw!XE^sP~;Brsmvdgzoo$!J^X8f=)3UjxJ1kS;}TI8bKq0`6aDxXDk3tom{*XFl1-` zy$C^&b3keT^;6;D$p!bVfloz!Ne!5f`$Yq=S&S;(-o6?RCS?jJq{TEGiJ^S!!BG==^>dz1`D@puM@tESQoMy&0Uejw{-5pL z|1bYrq!3;ZweVoz+dbI~9?b)#35EW-Q&9jmgTI9b{WlV*)m{*=aZ7GnRD4=xh>2trg-9zMuKwY{X0EED;2R?@f)$mD5LV6HO|0|%YbXCOzKQ}a-@o#`G z-kb<Ik!#zY?hT3taCI4+@hsfbgKSO*+fsESF~vYui?Feu~v$St-C_^(w6XGlBZ3 zvY=7+sH$bR{HVGk!}P=F9yo^Mnt_b_549uDEwt^Wjc(cf7&E}K=HG<{KY``El5 z!tkSI+vnzE>wa;?kGA6k7n?r;U7#zQ&OZQMNKUrh5b%trJqy3(o?C2BE8$pV8mKQhh(3_xY*Cw%N_&xM9iW z!KMEDQ;RKhs^`xhcowg!suxc!wiGv>=My|Xy$T0~pIU5fo4l@;%|CalFFhqt&p#(n z6R|ucP}@E{B~ZUUd`_TFdrqKcuz5*oY&Anr`)&KPL1-T0uLR)RMMwAeDDqMn)b69X-_i;<+YU=IYK z#delepaTmd7HF|OrwVt`&c`Z|mS`2JRaB`2T5Q8o7{=%#b%7S!&dotye}Hx>PoX}B zP{L7u7Hw&=mH7o>nBU=Tj7@$4$qlcBV3SO&7fK< zN@L7}5m}_zxDN>?8d+?p=8u7iIUUFpOfs_H3{?~|zC>_vn&8Q%oF_L5?4+xdB`fa^ zCf7_99hq2CYuh9wJNFhbhrZ+2PZ>?sdRL?$Br{>=F_mT_x~rb#KK_>fA|orXIKMO; z&&=o|Gk(r2zlBcrL%>B=G*(I8$cn6E{zZ0(s(IcrfxK(qMUHPGP2Ro?7|(X|;*;Cl zUhXX)o-fp8t}Rw+E&@GXAo*pUg{nm^{$YxQHg-P#$4qfZiP+iz%Eh z=2v%@@-9~^X(P;2xhfZLq}OO}Q>}8is^Gk$*BWk9sZF@5B;{hzUW!m|th=hZabnQj zLsD!7T~$vuFzDYP$#tGzeNMh)Fn}MI>czaSvE^hm!efveWWTOecVaZ585bW_xvmp# zU^L@l5Sw(kuBW?Xw2(p;olUrIz~f}H(nNl9E6Q@mLbzyQ;hCjB;f0+SB2^1Ko7_)U){9=EJ+hyzS?_U=5S{!j6%6J3!6B7NPmbhEsn# zi0{Z2WlqdSFn2qIRL>UUD#%K5aXW0q!4elLDEJcVZsd%eJt4J{nTq3XbjyJ~sbqqQ zPW5gK7K=Tl`B9$9@oqe|o;__?o{=r_ZlaT&BV#Fwfvf%wJX!0&k+oMz&o_5BRaD23 zb8}25ba6MGdd`sxk4pCj>wYGZoiiU#fmVX!e%9B4vykS5w^-#Kq?X88%=496!SR01 z?3}YyiiG-Y;{CifJ6E};9+i6i{eq$cSEYG2<-582#W!_a)vl8idKdRg9Oqm$p(o^q zSP#pT>_C&*FEUe(hZSrG?uL?IuPjv`R*~wso0?Bvesp|TyF24<8CG~{pZM@)kBz5o z=_3bA{lnKW6`qd0U&QWn58vblo4ZbSe|SG+8vgp-+@oju)1Rn=3s$(L?``5~ut1hu ziciac>cVNbjxGmIcgqk?;#st32P+AV1@j_( z?U9kIyLDXDjUIGQL7i5>}kjN3>D??U0 zURA#zg)ph~VUoo2#|N4r-Ceuk*B%YH&zQ?3Mb{wRh9 zMb=0TaryZFPYKkjui1@ar&OlC-GKTnxM5#;i$MJIsQGU~rkQL20qg&SkeMF{Lnk5^ z2ZW44C@jJM0U^WH7l0;}%6^3|%Dy%JUke$KY;wq{0iSpnO3M4AZX?Ue+ikj*qOZZFxY!o+I2q|T#I%8KZMNr z?y?iZ_TqXFwuZ$oUE{xbg#?*pc9ONs{zyUGvDff<3MhI`K`bWFNV95sNQ5o#;qjM{>AL$%$RPbg$gto3C1lK8{}M7W*MA8akn>+c z2I=xoAv5`H93YJXLZgp82pv?$(_kTI8V0?7kHW=c+&>1tjrk=S`b z%e>0DU(@#FYRO=3&3V}*^`lF(@u#ZmRcne&mnW}~Yo+b<$D6NiAGBS+dEJ0dT=P7^ zOtapJIVi@oWP4vg^ z$*au)LS}3s68_iqdgyoin+-h{z$+vr|JrT01n>$$e+KJ4oG#h=cAk4mfqy;Te6sod zb>$NnPP*qKWSjsLBj6QU{=6N(?}-9SCG=h{aLRB$IU$?!YimWw-?al2 zfLF*(mK^X3N%#O3aj21h@e0Ad%A*IoLZ4g7Lx-NcLh;e2;(%93i;&A^KiX|#i)c$4 z@Cw;;xXj0q!plgroS(&p$!{A%rRRzA*TsdZ0bZdMJV_(zDCqTJBGS=OCdq_^T$G&| zEiGz!tGdL}$3j}o(Xj@tbJ5~2+jx+tFSMQ56YEe4=ygWN^?i1daU-bkEiL5~Hyxtd zFN@ey-{BZ&j6^!2BM7hC$!g0wCh`!6F+sD&*|CyEt~`eF*I7*Zx~W3Uc2GmGlEwLG z^(9V3l?WzF%CbAhqwQ_)(q*246`gVt)3giwsh9YsAf&glA<#o0AP%Q(NwKoGupxvu z_@*PY=k>3MvG7n=l^_MxB8N?A@iNyZV`Vw>p%6s4zY(a&i)=-Xc9hD~9mpfu+e7TZ z?9oy2$5|~pL>_R`U@hLorkb&po|qgc+P0`hOkI|BRvrY|WT?hkC8X@394M*MPcbH3 zW+LN^$Q>BWXL2W(m`Bs8Ey+riaqk!Zm^Z@Wyi=~itw-E~IMQssUFgi!Zpg3C z+?Np0ZjAP6D9j@~kkMJqPwr|cPES8j@XScf{@qY2MsWBxQ#-!sbz}KM+M#;;eN>fC zV`U!x(Yv*_FyPI9wQ<^!-h)R_=kLavJb_(9qKARr*G+ZsX~(7lYd(`cO$~E+Czd)y zUJG4KO+~3EA3ZbOzW#1%amD*#pPA{h^SZfBC-sMO`2^m#fK*;EtJP8?|6hO#i89fP^R*mC4qF=6W03idJa#`MR+^TkE55`xj4~o7OcF zP3P|RZwI*7oe#gP-NEha3OKjDM88#og*!Icl5YnEUaLg=c5D+Y-Hht!Tf}#F?8a-| zO?u|+WP>~Q4N323Gjn!}ggX!IbM6<~bM~ryJCFTIA6C|K_AR?jFb*+>1>%{Y=$t<`FeESvm_gSW} z)>q-~d#0q{SMA@mcYM1a4Htgjt@(;vb$9hhJB)zKEs#GApRXnGwKP7%On@+NkR&Kj+%3q{Fi5&3$R#gG{`PK09UL^t!8U3kPm_) z2Tu0mmA~L9hJ-u{j66o7T3E7cSZZomdTUtbN?7(?ST0U@K6`kfT6nQ*cxh^Qd24vS zD+YcnI5ZRHXW@`AwFu~ZjMF}hzqjxHwXP(%iwXRjK}Y$YHpnRWYpMI-@!@g)4_o;+ z@T3D@fM8WRoqyfG`H#AC3OZcmPU>G8WVMD9+0q@&XXSY||EaF@I*|Dt%leO4+?9sc zmAU_)1{sGbN&3Ikm2u11gVQ}dfB=U6Q&-~4pW^Il*~(m%%q$q{g?Hh zK}ED7Nq^Oqw5~<}(IB(5u9~v=-5{egY&t(ad1;W*t9Kz;o&pUrE~~on-wF1?<5rCe zFA4TOG7&(7%=yGRWzGAgL6*F3*!t~vgUmVfue$QNOY-|mgRI8o=KSQPu0+u4fxv#L zD-%R)`w?F1$^Zt0iXOKsG1`{X%ZcrJ1fW5- z99cQZ`qCh)+x^`jt1A0bR|cU)UA@$m#d9*EKwYUWAbkzgmC}Wa8ZJOx`PLrs2B<5m z@>WbrfVvVg|MLw{S0d)D+b;uk<=Sjk+K2f)5UKCmwuSfpU_gWH?xn5-8f0uQb)_id z{qMSRKh^Z5t^^unzw64w!jzY~5@?XU)Rli3^p^(NOI`WfpmWq^ai;izwN)~;ejlZ( zd3Uhw zgpfI}d}&Jy0vzu|*;8v!XB?vkTnVBzRXcI%qu?@-|bOlJ0io4Qaijf2STiO#Z;Q7n)01-c=v zoI^{dHg*e}PF1~c@aC&XKISby4n*V;v}6cYz4jkCR=&!hn70CC#nGba2Z z*JgQ#EeDR!=;uXWynl(?5zs%KlZQ?&NW~`aIfZVIxtS^0LM0rER-IeAXL8KiKIjq5 z92R6)vbX0dKjPNtKps^pMxi>B+Rs?PltqI=)5cC$e&xh!txxT7t2h#tQ1aTEW`Ald zvnLOwEZCt$0Y5}BQs&xzys_jR6}-Z1SE3_WSK*;Qd|Uc)qknLrARUdnvRby2x9(>e z35NEiDPzZc}aRj7#fV~75z!Anmth8ZNW-c|;s8COg?-Czv12N-U89 z#Uhm~m;{MOYQs{cgf?}ZSt4)9m|rDlFjflD4@$OzYbjKG%X$-NuCHx)iPAr5MH7$c zvPHhe6f~oD{!z1InCtvQFBI!Vu;#dK-BL@4(jF5@#iWMQBsR!y%8Sv~a%?|wcR4py z%8)yi=?mJr`Uui<9V%5N``xG1;g9E4nMIm=nCR@C1`Hoa0=V}sIaknz_lx6}t>!qf zQ$~Dr-o?V@3yM?84BQcfqIj)ok0j&1Mrd|a;?FWseswv%OZY=W)m#_9yR9ko$}#9b z+?uoAE}=ylmQbLeeP89a{&&tk8|voDj4UHfAC=i2V@EFj&uc1FXzL+@ z*9lMpA_ChjJwL6^;NRjIz?ZZyPK%KGd@uXPYKR-&&%;70K4B%&M%>IE9@11JIc+^F8ozdt@+yRoM!g+Ur(p{>v$swpsAV?c_gzy*~gVoo?EA< zrx{WXpFTw{S$ zG@cpZ5bQKdj0}1{g0%Tpt`ok*$De6!5JZM?eP)BqCT&IIg#kMhZv}sGJ{Np^G}I+r zpE6BspXXM744sAr(~s2r&R{KYXe@crdb@%ax$q_uhCwJuA+4=_y5Web<`&jRSl;rX*58eF=KAa#XZQgx_@~vzA5 z$UG`3glHO-Q@^-X%Ngl28*>C2f$72Po3MK+$w|*x_Pe;(-r8jado8+rBBpYKZ843+ zaAU&&!#9(IrxpqbF`dEmu@rS5N(ykp@ZDP0>oC=+#s<4z_RbLrh`n`XyAp=Q(!VJb zq{4A`WA%k{72$4FKXNv@C3m%ilzLC?V|(jSl^8TDs{WPDVE9T@DN!GO)IITsYviKS z4V&z~soyQ6miCgRVye`Blcdu~z|F7_cyACVb>IR>)o*FpCy~V~C)xL-P!P?&Cy%Sg z(UL)As%YY&hwpV@Oo~>Il8-5SC{v<@O{xg8ne6n406bKL@URi~zL1nq1hlb@RA^9Z zieCz~*Z8tOy`x`dXaK=sXoIqEpR>S#W8is77`%(}%!-o(H>l0KO4dCdVk@TLVaS*;MSfT~(iIQD;PUTOOAgY=asRaYmKJ12&)*dir=3)L7BYJYSPb?oOmc}h6{NoCJ4SNSe6Pw`}LZx;fv z+*cLKO1>;oVpxtNIEX1`x}$q)znHfq$xyWNQsFgqps*{sn0RyLfI>S_pJ{?5Mc<)<}k_L}s2+VPX-xe0nj{ngmpP!YoEg8--KkeQsS_ z?);UpcT;E#TxRusF;RK3_Pu-~=pajFtyDxqmCHf_#i`gHBS(`}XO09R{ULi))ITYW zUDTYw_tyMe?UNx}j_g>h_DH5Fo(mYt>xx4FLWc;5y8md36~{`%UVVnqpRBkEl`q1^r9Js4UTg+{5EtN1Bs`hm=qi6JBDNMYN{nr{D!!stWdG zJmgv1WRX6_PxyrmDi~mQ0^q;2nwph0v6^~XgOxemIEAZ>+p4}bHhQIt+$(NYh$j;MSF9gN4Bb} zf!aRafSJ#LODxQFpuq@Oa*G5~dSaA_=uIS5L=`-o*%f#xBq{|M_ z$o`q(Su)X4IpqGhl>B~AEpkwO{8t`PXPN|oo6w{hXJvsyh>mMVZ&=`PAcunq24drg zcIf^H6aI)QTf+k=B3mlAS3I#{e|>c6xDoQC;o?_s*v3#ORg;}Z&8Wqo%xi~z<-uD~ z4?ZpJh{sA{gi3RjTC%%g?#?j*wPpt{!xGC5^wi;@^0XYRbZpQ5Wy?IlAt92^N}slo z7=)oTg2`}n?PU7aP^nhciF~IG#WJml_jn<0cda%Sqwy7S^DId9(1Wnp>FIQib`L?z z+%2#tna%_rH5E>wO_pzyg@vsK{9Rl|Ow=1rGJ_*08dQ3*jBO<8>zkY>xHxj~@vB@m ziV?zwklj*yGpcH>X4GMdyLwx8z$^obCxlK0Go3_NCuH^8`U}gZP&T|A5sEo1TE1}f ze}{5$B$;voEe`L7&V0uop*l-->@})ypK4+oLAPRmmLw>$h*hWUV|YsZsS!9jnd|5r zFy9M_8^zAa)fdg3^Klb$oj#NFBuR(7X=*s6WpqS!LZh*FvFR}gseQ?YHj@OZ&|Q7v z*8(KD+rW%!CN#n#%w&Z3^_=e7fSSf~v6UKX`GT%=+BIhnMX~!bWPXl#jdR4rICJd) zeLlktg3iWN6?{#q9^A*zldh2qnbva0C}4`4b78M0cG`^l#V2FaCzs1-)H7RnsoOD} zeIP^OTs|7MJ!N2QEJe`-uBI(+ig)`$u5?TH@vRG%N-x^2$){J1Ct{S6Vzy6co6$k4 zg{P){2C27tlgC~D8lQEGb!RY17w?BwA7gkbzg!*f;LcHvTC!kROG4NVJsYS_pON3+ z^w{j?vP^w+C76u86ZT>Iz-lKmRryEQ`XpI( zvsQ)ZQH}C?KIxksXGqPaiZCI8XTt0LSn#%5m<&}_84TY}`s`IXPo2AkO^$xBBRKA+ z1K`VbP}PF%bxQEnuhlTcosBfHr)nJ@)%8Y~x7H!jovRQ%SR9#MSR# zB3HauExTM+r|AWQ&&46(el&%g%}kx<1jl%aU+CYQ=mvkk6Y@6lTD~6*2D1&(jdGO% z-CTSPx|G2AUcnRJ!n&RTYYPslJUtt@!MKQ==(HMX_9XC)sg8{79-!r>JM?xf-rCd}mVhoaFuH@M1u>GlQQRL7hRd6ETdCib351h1 zz$ib!l_-IPT z9QV$`shC>}%tJ=Ul6QO-FN^D~*@msd3FE%h#|@Qsx{up(<&m7F0w+|()kXnQEh9*g z5=D@P;T5cN#dvQE{Ib7RSKSabFtlFYR8*5!xRTj%&(Q)rI=FauYJg3|=z?ZzW8S>% z>!{>8^%J}zO64wmr`U(bcKlk}PNIlUqEr#TK2=}^T}AgJB6A|KEFSvGaqI_MhEYbD zoib+Pw2;epd>G)85}>JQh!jAZ_OK(7dc26{YOGc;Z>0s@S5dOeH`swVYEU-b2{okR zOf$Xp2?vH@E;oLnBYK6QG#eyg>%tPjBCU^(xsKj&zzO=2t5B;jTjbr&-^94=Iz@E2LZs@~Nf>dm6s0iDP z6n!{3zfA$^n<5ndnXdU>2N%_~Z$&LS9_XYyIiBD5TXcOuQ0#hsFgGr$0mvfk`au;e zIMYGITZ`{Qsft^7Ct|JV4Wih-wHn6oLUS0!iBjSk+~H_e?jB)92D=%A7#6pg zWY~188)RDZxS8f`O5U61DW5x<{Wj=9b_g2gB{|-ydcHq5RY4XNHN%`Im4eSBBvG9* zu&33pAJR{2voP_C>y;TXj{~$Padw*ycr?M7>Hv1$2uySkma>FjM}+GaPjj={6D6*EHUwt2zY<#sTp!{feR0vbWv>#5GzOUpU% zwj1k!A%5KLsNwef8Hc2ozWK=6<8_O9{^)g&=&Vh)crwE4^MrW2^4)(8n6+eeTVBHv z=0@=vKAj+?x4uzQ-xXaCvVn~ko=Dms1wjuQWS3cgJqWU-5EQGVW$#ZGFEJ+<%A3bw z@3}0R2_pJH(xk&a@Y#6KkC|Eb`Miaf=w>EFJ%SG<2*-~YYc^C=$N(*=Rfv*xHcU3q z0HcUqm{w&rTy@X@tEp9((RnsP7t#=Ch+X9UrDce*5ZO|w*dTNBY?Mu)A;JE?Gw2x8 zIRB+Vx7P`%#71IiW0L&O27M${+}(OE2}bch8T99fq@V7_OsaE||6~ zOn)2nK@--dHtA2!^BL*^l%V3WF`MN1%mX1)&c!wv=VtWiolHG-)_8O$1U?>P`P@0u z_~{@_MEzrXbrGXO+1R%ETo~cM47y{+5ANJb6XO&Qd!rnWj?y7m3nt%sD~}e^G{N5n zeW8#_*j!?}ti~VrRDkhU_8eW`E(%_!BP~=iGq7@9PmDBpcR~Q; zC+cf`|0?D>6j%56v8ZW-?`#&8LLc4JD5|97Kd!|h!kxrA5Jsdc2U&rPD7e(eRhH_t zFpk~8B$W0c_0;(4gf!^|VLmXB7sRh)N%&tTQN}`o_1_^GQwyZ6g&q<=^UZLd9b(b7 zE_Kd!Nz2Sa5`85BF%b+~wKNMom>#nx5<*zxyEv*osr_=qouX7FhfK-%YwfLgq{0>p zMl&;e28$$@PMV8PffU@pMDUgVqrg&?W%Rd5CoU~m`_i&lP;;Q?5oUzAY6S$dHIXi1 zA>MH*!y8S#*ewyIoisb|;l4ogIN-eT>V+TT>nb8Rc&RnF&|pH4y*?$|>X>Y>eWGBR zzIiH6l`8aHOpWIrp55UvqEKD@6>*yhV6V-Dh+NV3P1H=KxhMg_QljG5#wZi2lW*hDA~d8-?^;{s z&lx_uej)gJGiTOo%3ACDDrtJ|OW8Dz__Q!;ikZgp+EUA~Q*{-k5+^|sT%KodC7YUv`^5o`r{(s3-C zo|Ma0cMoK}C~%A3oRUPM!-8jf8Gq#9G#O9~jRUgU>oa~HGcjux=eX7=)|rgHh&Dd$ClgdZ-d@dC7$!gpdXwc>;Ez6 z{MuJ%e+)WNQT?sgZ-b7HemC^Tpvw{E{4wa?MGs{E81x=Bud_b}9kq@4k3qjR2Ih+X zHt5fIpkFTr9ftS$`o*BfJpB6p+n|r0^nkq>biOY9-dDd3dYxo1^lyWn3_5>6dLRC8gKjn6NAzOQ1#}+z z-uyP`3bg&?F9uyeRHL8jw?Y3H-cS46pucbLXLvE_g0#o|OfLpqkQi^^!ykjL&DF>H z+n`r_3~;;{birlu0dBycXZC-*8UPIX8^}R^z@S(52?)IybTp+w5x}5#_KGIH81z?# zgOY$jpX`y^dok$OKL_OigMQjA&-`N04+Mvl0fXMy!x{Ku(4Q=aGysFn+@-ky7Ykv3>V9?3iY%lTo zFz8}5=%XQkL8mVXEqpQPVwUxzk$^#G<_W$Ujl~czSsRT53_5oaKy?6vE~7A(3>b8) z!j!}pgU**fmH`;_&VtOn7lY1vIhG3;^sD?lX276Jyn`Go0t~uUcX1$K&?UqK#>)YN zu9a1>02p)$zn$?Kz@QhV)RIp$U`PTCy=hVcVCXG@5&%PQlac@!dIzKgz|gxo#Q}!i z6DSTa^geEJfT0gui2)3Ks8bAJ=p&9|07D<67Xujj#FZ$(&_7p-0t|iHNEBe`v-F|> zL!aLh0T}vXrU<~$myJXKhQ3N50xN@cLr2cy1sFQ2F)zT-(HVFFhK_m712A;#E*^lP;|B2n3>{yZ2Vm%gm^=VO zC*J%x@#-&wuKB^2?2kcTWMq|qMe$Xj`eV=;%5d*OAX>4}e*7DQuEJtG4;XYnpR*^; za}>>UHqCPl&2ul#f83wvxt`~RTHwQ6;HOv+U|A3pUJz1V5H?;Aaas@!S`bTG5HDJg zXj+gQT98^)T4VC18Jd$#5|Dig`Mc201Zx6&{acFJf?8Pxq>`lN#2^$$;@TvFPeNyxMUv4S7`X3E@@wK}^b`j7q)K{y z3hZ?v)h~@CGkFv*jofSpduUN1XYNHUcLo#4I1GkL7pX-m)%*S$D*E3OvMgYAn7`+z z1c5=p5>Wrh0S>|-!!xln0fRK5h$WQR>vnrWu?XS8Vo^y&o#4Fo%UJ}-#RFdxr!xUp z@G6Ri;v4DCtbUI-w3qnC9di0$0v<>|J=KzGB&=J-f}3{UY&wSwX_yQaEMYpNO+hSb z4CreI@^O*U)3O%M)ziR)DGvs{YNGh~}#G7Td26S4o!B zJz7onaj|rDx}80c&uL#eW>a4E<6B1YRnEd0Mzs-{UNx!J3+X1m{f3u`Yp^$kY*_m0 zY{nPdw2+u{BDQ_!cnLvwfalO^?Rc&9uQ5x%-gs`)JDwq}6>#=>!;AVwmsnf63Pfx0){!TT_0mpRC zNX;^EG7Cxi8|3&*ifp7%ghnLFo3ehKV|aF>wS_W2h$+VRPU$o1!9~hh?obog+iJl| z^Wje#H@mCNnA`ozfQejgS4aQ*I9fFDbuf(Ie9|2Zbm2kvMfa@+6e#M~2rvdp=Me{@ zcMn)!Fa-2ng_v(Ij$PUsD)oUJUw=fKf)=;i?DCKgrS9{Du|d&f8aCOXC$6BjUpOaO zC$n7d>O|JtEaOoc<|Bm&vA49wv<|cj#R@qPLl(2N1G#z)TaKJdc@5?g(|CU$;Y$bH zul_Lq82tM8;UR*7sHFd6+4$GM=cfDG-v(PiOQNZK@xK@z;vruS+!fpPS&}W)n;ri; zJY>aa130)vO#hz_Zi$q&Hkh_${Htta`8-`~$W;idkI}W@^St`gA9a95LD^DO^8UbC zWJk#B6{w70KWCGOcy#@PBB#?bSsY!{RI8iJIZM+32t&8A*{)&hHa+F;%XX(+vm#Gw z3paVNPaB_o4svI!1ZdAVG28fy-;k~(6#Txf@btx!qCYvJ>w-U}o#-2hrYDCj(R!yt zeg4KFmvo#NxI0bT0)&H&U@WN7jj*>%stN(K(yCceCHt(g;iPS97=eD`YUr_Fi>MP~ z_^Vu!V_j%gGvlcUspq`zy&8$VP_@j^d`0XB3yp+6QS3|Te;V5r)esT-8o-`@wJ&EL zZnTs3VQzIc#ML=eJK0(0iZY(Tc@-^}q=*CD8x>UoH4Lf$>YKE{dpyN73UNH}qBI6E zV`qQTpd+1_e#pH1%*z$jGPFDilMH7+>|>$ianMznWJA28SyDp%_<>JL*#oU)(_Hz9 zXfpJALOCo_N51Ip5N={!S6^yk!^5hWwb-ai;z4uHnVYqck8`|E5L{zU5H_q(3*{NQAnYVaMe}LX3{22o_!AUtIUc%df<@j zJRL(1Wrk3u8Fu@8PZ`cP-*k%{J$F%O2zkWsn!`7ryX0P2iM9-<+Xv>+b zcKZp}V6#-nZ#($bX%4aLZeqEYY9`q4EA1>~>q1NJ*Won6nhhJtit63=3+L9z$Y~wv zy{KdA7~R4gpqB@y+|4eVdTvpE=PBCG3hvuy#Y>B-52ay(qJ1 zcnb|g!VfMqc`PxWsBoF#ODPe^ON`zfoV(ydCISrMcFx>a36Mh~z2QT)QEKVCqmFkU zhvKTk!vsm}T}_Y~9L3%AItg*BzOoCQ$%a|{M1p)Voh7F2llm4@6WCuhx*v`goK&S_(~*e;Arp&7L}1Rgt% zn#Yj$!DeiXQ*gfakh_kV;{1huhtULf`ykH4hBD!}jEWDtuc8Xb7r+mqcGJ|5_TR8D z)Jta)?U7UOgbgch#gm#;X2IT@g1S#i>v>az-n>(XW09<z+_iKk%BU$u!%#AFp=Mtx9Y!f< zrG#NbU9pmwWMoNnFz8kk3ZnFKIJ4c8U8lr^H<+l%g)^%QLh0p{P{+*KNQm3?S?-ih zCe#(Q_GR&SD$2)@ED$1}=Y(yJ6m!6pE8^pij}%fmzGW(BF<&0#so;u?<^53TKP6x8 zbywQj5cQ+dK(?=RR_?{C5<0t}Ht=g8O6!)wW95{4eV>-IrdMX2qkN=kL-szrFiE7X zEZ#IF09@NOmPbcg{)X>Oj~(b{k>9{KU)g0%oook_vm^+Ko`X{fdTC0$x@*DoZ8~4= zlM}x=p@}`R(P}I7O_>WiEi~SG_G9cqAqA$q2QypyrLjWG!s;iJy1|7cmZ_loI1CXo zF?H10!&)+Q*-vq4E$ExqK?r-tmeXn6YY&Iw7yMH;ZV4K_q!JPp6J+p7iE`gml)4sh z6NLOHGDa_pt4h$1={+J^FC>I2FYGX7w1ZX=UMUYMP@K55InQA%0h(n9E%vm0vmxnw zyu4GP%DZyH6C=JpLCS4sWuf^+_Zg96tsif@*yfHdok)`i)~ySTHX}bRbmMAjrW{F{ z3`OrY@GQ~!4$$r4XWM{^Te*}do7TQuDu;g{$oxjvLphSRV*Azg2M3-c}1c~JTi@9eRW?>dQn;yWhAQd8iBWU zg>hDv=&a;7Y0|C-YwBz1SS!qi`0fpCYFw(!C7oHDNmLSN zrAmp$hzWCp0v3kv>0CHe%aIFMJ=od}0_El6Ps(oP@C&kz1lH(_f7*r<5Jw%y7TDfO zj+jnu1U+!02e6szQf*YT;w>O1Bu3h`pWA$w8~fNG)AQ6K?C_nIf1|jDvkS2T4K9-( zmkar^(D)6JG7zu`dTbRYEVRB!^W;1x`qmdB_{r2#bPAc+Zl>4d+|zhafP(bXR9h6d z)oC9W?kMc^T+@ZGO{nC+SZko~)aA2($6&iXC(mk`vXZn^Il63tnBA@2cQKj?{Xx`% z^l0ib(h`n6qz;%JI%k%y$3t>#wUiYZo=DS&Gm+`-;e>Ot9Nx4|k@$zOLn_kVU-M#? z0v?-hxqs%=xNzXth;{K-=}*3s+t$>z*cZ$aFLeKPy43D5ODy|SpF*q}t)&zoRB)aZ(Tb^73br){%I;wh> z_kIa$gE+gf+d(&k=ci#(mHT?9t&fe34`kJ2TV+J}MoyT^m?OmVhSPJK4IG{K2QJ3X zE_OF_HU_>(j!AZ+%yu&^mPpL@*Leh)muL}#I)59I1p)5`o383QIQ&v%GNzQ#2ssEGU4pYC*01jCoVLYbrlSeViLAPavO2^BF=b#w|YN_DvP zV-I8JBP(>FH3%8OvGBPL7!`z%Fh*I_ixLltf_z69poHQkBy%U?u+l^D)buW69-O|bVD?sfU=aBZij1Bz*LRbRT-Vg)UZAoH(EiDq^kOO%lqZ_iAk$j##YTqBHD;;~cxT9rx5Qxz~9;s|L3z0gvijg#d^ zB(G}KVO@o~Th)0k{R78P&{l~&orw9Cl9&0t?y(~?=c5Nxk}?`o`C-XIcH=8Tz$Zv} z{n7&8l7)YsW$ki`p*f0I7h@3_Npl+|Q!$H7r=sq^NYnWer6dchKl`H4@F$>ONO-La z=zMy!b0IVCFcKHk!(&%tFmIB3%_2?P2y9@;cy3|zlpOFwQaRdyU67zJ0(mH5nFy<~ zlcnjTc%*ucIV2?_+xPh>;{rUz{uk7YJ#OYa;yi^kJlE*l5oP(6xXF@GWG$jf+Gw$l z99bk9n)(L$M|lK8ZNB0|gp7F9BB3#IHv%Z)Z>A4&PB1d@)1rosKJde54HV{{E#`Za z#NYE5?NIAhD&&%(Cls2vB$auwwXurTC)kWmShT!M|o^RI@o!re5jI6PO|?4#k? zYgmgP&~h{bOYx38OUnuH!a0BR72h6a7Mr04saGn_#*T)Ed{qsYQlURx4DVMXNv}u9 z;Cx@B;m3WMYf+kKFjFM!Qo<8J_sDN9qTmtNmTwXNdQ&0^|J$=1CByO7u4`$t=4=e`czju>PVW`oDgo+WEKAMAVc_b65ce` zhAsJ+0dq|!sHy|bNZU4iRM!I4L5+p+GLj6%;tyh`{k03!nU;s9H{nXyc&7bIuFFUD zO+&7RiIE7{4TGFFkf?NuVM>PHPc^BhSWjt(WAFb&4i^lc0zj{jP!nG6K;%m!p%Z zQ(V}bh^}p|jZVJ3^Pjfb)gqKE{z?bk*oq1^aLr6S3MIiekeGiN9fzo&M*Y+@u z`%bP`lHAs2u6Ptwv6N0B2aVu-ZBa?*K)bJm z`55hn$@8*8zfrM2FPpZel)tgVNZd5ER2df-! z-MJ=tz-jyMh!ig0e7zVJ&u05X^^~|awm)Q4;lIKIFHe%#ZS4EZYp;Bml z_beNHqM=n<%ZIOJoD7pB6bP0`2g7G~&EwEkViTcvl2q&|mi8bkPo=LKAFb4oGCh7N ztKD6x^{%LyHn~ykDkK15LReIh8yaSjV=R%;`W`VEo@FWD2<@#3Oe@|}P1f``lB8lp zyIHD(bN8l9Xw=ZxL2=XjX6lPSj)8>48!|R7DG>hxn?c4Mjvsq@aOwJc+xgI(wTf9pV%{G zwX&XoYFv>(%I%4*hF%U82=Cw7byrqKD=TrIe%oLn;f6|apSSW$H!}x zCH*tg`34ndL5hSK1*2g5yOllefSLJl^SjV~j_qrTAfj7lPd)f2y+!)x6%*+_mbOK7 znJ;fnx5Wh3K&RTR)|)h)A`00xc2_&H=S#1vXS(oFzgmZl5{}9t?hzWz;#O@8c!ejs z+hsOVTZFLVW>+;>zq3q`^*8(?avyA>y5#>cml0Hzu@9fm&Un5v$$ZD6IA@4EzCgmN z-1=_5^Im=S#NZwHgd9|9-*+%w++>3vusuIMyg3_wK-<*0Sp0Nxo_&GSa{;P_A$W_7 zsY_leiMjWViJ;~JJLi(R=Mtp{i`M6o33N#Vl7%P8>HfZj*0Ob}@#Y8T_mkBY@(3~P zAtF4SFNk4Z13nVt;tZSR+$g_Ap|U^YHauhW(>314gd@0hpS^bA|Ka!@-8|sRO%|ti;T8jQ<gkLSHl)V)vkxlhfxPw%OK_vJe1}< zl=nPTZa-9m9%_ky)${&p)cw`$^Q$%IS9{N|&h1~_$Pd0b*v~U)J-Uy>K98e0kK;X$ zliQC|pvN-eN7r|cGRRL$K2Iw-Pis9-8=&o{Eznc>TYx)1(SbjI^LakZc|PuWKHYvk zk9pd)!QQJu`>qSR@d4fCfF624kJ})y3)wGx{!oZSLexzC0>OxcJb^g!yF%fZ3_63U z@?S-w2|rp~-M%vrh^LUw7D`jtmq=#N?heFN{3eyoV!bt(rg$Ke{n6_g5>M$+E?+o` zNH|^TNTFCdizf(A`B*6({Y~V9=-d9qO5|^G;jYRRV)Yn9&W|6KNP(v0xXk0v>FktX z^KA=H5}WCfSQl&sC<3(~di_CGq$7Y4&oguKB7z`n+KQc=IMC7Zu$Ez0x*RF_kt zMpXK8GvcP)P(^i)k2%1Ri&USYw>Lk&%X-#0i26x!m zd-+=MaP}nLgnjeDp$m;FH(9L1;5uyNbB<_^&XfDi*=A1&vF`I@$(SeucGNb<{TWdc z+un3L=y{#7H@Mq@jyn>;Gn5C0IFLyIj;gR$;Pu-6}(VPTkgtpF28OI zMhNu%d^-O|&c~9DR>|!XjmuJ{3NMolrC{%8^U*}0(yiS%nP1G)p z>Eel?>of2uY!Y2kgZjC~OE$VFyu<^9tj&`CI7nwyhPp*wDxa@h?;#0d({Vd^Ik@$G zh)uVgvbX31c2oTokDl>hHOIS!W93b(JThfH%pT9w&yPZi5o2m@k<#M99<<>|mAM|E`dI)#e+SnQ$bJFuNF4nbd2wEsD{^)ft! z{T&R%%8umqTq`K=+aotB{XBQ|sz^v5R0fF}A!XWVjw(ybaq?oM!c@#WQP5|YZ)h3{ zHT&I|r1OuH8B$NrSqmhm-X6u%wecKFP8(CIME zF#?uRT?09{6ZzHo@VLh?x$}CV2m1RwQV^jgZv<4fn?kF#wL-=BrL*YeP4L1DtB#t% z4wtSb155ho55Lx{XGC2>Z8LnfF)tu94s5GqrL@jt7R^RZKlQmNdl*e|DxfB>X}SOIfvY=C-Q8 zs=g=#yD?z<+HN^G#z@CKRhaG^9u zlDqHWc?ktp5ucnWti{8^*VET@Mn_vA-yNyFPUA!IfC87B*;j-w(ErEqki^*CDpH!%`&|=N~Cm%6uD<7p$9j}@Ij*&?UWw|;?a=65I&O}lM0z9HJ^C6 zY5|khIi3km z{&R3kIXpY+lTrZ#W@$>h>r_zq0R!Ei;UO;vx5C0qp}jek^05|6MTIRC+%B>6X#YC6 zr7`!{e(-<46-x-d353z206T%6V4(Yk5||upA6O8L)@bYw4g}=$kuN)=Kp+B${vl$f z_G>=`B>ZCov;w(c^fPz4(V-N@coI{V{^=;H$z&QL!B?66ufrO| zg3YvU^$X+43I3nKSpODRT?Kvw?61CL>uUZjs+E?Y^hZvE`4oYGkXfz1fGIAPO5-80 z=NgT}V$Y59en&Kdg65M@+U(wVFb#5c;HtvDSO|-8w-Qdmm#GL2udP##1k(wBV5$h= zJ&NJ{-#7fpz(0eL{NC_a0wa6G|FcC2^MIaOnhR^}|4HeO?a?gSbFw7>cn}27~S#H=IMscqk8OM~Y*?Xg2N{0^*QM) zuK=(D@ZT$d2dmWFQ!cm^SjuOEfa(TNxoBa9JoC z8Qb70RnBN621YhHvJ@>(Jf2a#eKntqC0cibpMw#B zy=>Hb{PT~X(`uF4k^m16RJ=&BxV(XI95|UtwF}abP$FI)1RDD{WASjZ`P`-U#*&F| zC5JIM&<*=C=p2qW#u|P{Yr_))50BXbF;&itZ>QUH#UHbb!Qih;l*$#WOs?IO>6U7A z2JAQSlIW+axpGWg@%}`8|GtYB!4bjXexI`t`p0^J7-%6g+Z}$>`OK#P>Ua8(rnm&~ zm94gh!_nBh?-9!4$i*TlFKYJJ8+@@cuJ(G9VrexB?CSHPsz65 zPf4x^;3;V~m?x4zYuyH|%(<8TO{ z%8`s@BqY5)MyfG1E%oZ?Ki@+2*Fmiy zsR;UeMn4>cCoqgb6?iSKz(B&GeC2{{AVUj9h~pR@nXYr#ql4k3n^ zN%6l}d(WsQyRGjRLg)}66zS5WcLIbWH6XnS2#6Y*bft-ih0r^M-jUvj&a60U-*(SNUpWkwbp;l`JeL#N0rRG+b@El&xM5z->+Yu z)%~Qd`qJWXfu4SsQl-`&g!>$(Loe)47D`AxBeyMR8ydxP540e9ux9Hbrp#xq~^e1P)UUkQpuvc9XYnKvto6Z=ZOu!+pTfvWkX?4lS7k)8cEM%eC2_E=%HTV@brB9?rh*GXVUu?9V36M~ZmWA~xhwGj)0k=C14S z7yc%3{CN?m0Y7jl|L_ai{{74Zzn|G)St*1Fd%ZU^Sb>GniKq{2RI~TR5Go4m@a|h{ zCh*7=y=tnp9zaqN5e?H%C@BL7984ifaAsV9Ea|@d^POUBLyoI6i84c8e^0H*!Jt&* z&52Ttw-!e{NmeHB6o_r1r_(>`-`ZrUES4P#&eYydST=s=l{xX&hjdQo$3eVtrtfq} z*Gs)h+zf&jAZ`N$imx;*>soN^bW^xDj@&?fSi)=^MI*Ty&1@mE`A=~|131G@<8RT~ z^6y6?`oB#hKbO){UbjDi23S;d&n75wRii<^MD$y;r})hYnC8*~IvDgK`(S;v7!@sv zA;0w_c5NU@#Xi*VJ7i{a8%B8 zYKmJtL}_-r*^Pg+M$$l92p0t;p@bGTR)21ec)6ps)x`F-4P!*m72eG8C@JaoWCim- z2owKJYy6qI|Mi3aT_F6?0W<(y0Qiq#v;22!{~PR`C@ds_&N7vf9Tz}KD#h%u#Ey$c z#dG}*8iUgjMJ|vncS6CT5yWwI_L6>_O$)GYoD3P*g=?h=-Zu&=o%q`BDWm-5@T`i{ zpG@V&APsbz-6%vA|2&hs+HNZQI^H#?%xhsH6hkt%_Gu417EeF|Uw9$Bfbz5;hnJg+ zF`EI3(deY6ach47#ppIiPV%qbb^@R&nRjwdZx+&YYSykP#6!f@{O-DTHr?w9;QU<&O>9W&4J_T5PrE?R1RUMs!EcgaP!+$%TU}_H%G(Yi z=Wi(gROc{R_F(8QU+3Uo4n7%TO4P*|;vv?=$bBfMR|OAxGnyswstIoGcTF!%cRKfV z19kSjIBmuTv zH0>4+A%YJ;CnuRt@VaayDD;-5zHKyO=y-EZ7AlwKwi&7C6c(OV_Y6unf3K9jT-zIC z`sc76WteVAe?D)J(^|$%Uv?Dtz?e`Y1O#1mk`Fj$z+kHCJAl(JsuZ#3)~xICE8V z`dd4h7@^cRneCgnD3bh)3wwD_g#}}rPeftz8+jq{Ca>(TmAXw_n`mql-O!RpQ zSY+B+Yi=MgdI&K;752Xiqt%CCso=QCb??QbtucgM4|m`+*@v1nJ7lKz&+d$Q?D@@p z2E_lfgv)RR03z5c(jR!z-zxy06Q+b!Osat-oC=v5?r>Nzt%U4{FhlI|&3xkxGehmF zMl?1kS&(Y=el$58xyP^{!Y4@c*^)44KK<>pcWH$lfpL6>LnB|1pal{`sn&s>( z!D9@-9!L4-wZ*6si(=lnvqA*Uoc~#PcI=II|Qt@cIMp&<5K1YL*)g$6?gS?;S4K;H9Zj-+G;f;;Sj; zq`orGL5+I03iq+PnI8UxmG_PU+m7cR#$-jbsPQj-aFw+1N3n?{?Fxa{IBJ2 z`Sm(m;R5%nSc)u+(T(n3h9g06+pDOV?B5QyBfdTRj8ASUOYIsPR;GM#5Fll=bfhK-M3o&WmL>}l1bw^njcpj3B#S!g0>S}^PBKCV@G z{~q^3lgG*atuyIg3mvSaefZjJcq`q&T|kVSP}yo9JuP0PAblNd1d(8OB)|8osmUy# zZcK}j!?HT%@bQC1*}P9~W~1R!sFnt2Koc&f z9p2r+48J-&j+}hqhxh1j$jP5^F~Si5@Zbvndt7$k5>fH~@j?HOU;|c0r|vGb6XE}s z(Y08+H@gJeT7T_t8ErGT#>=5fkO=ksAz$iI^c%%PLT=$%Jf07gAp1+x@rom0SYxkp ziCLY~qLyK|@jG~e2a9&Y*4+%N$z)@v-`j%7^dN0Bxbi_U2l()VwrAy6KbJESx^(~P zQedET-c^Qa5gDge9?UeJ>rNzH_*d>QX^{K(sHo}QC=Sst?LO=0M;FpDw2Ta?im{T& zd4x+;Zr9ASGZAJkIqw}DMOwY1Cb;1fPu;Q6xAxy2c-~JU=1YqU(e$m`zp+DkSWa+x zgptTOSvm=ucsF>N5_LzF!Ko-0ceVWDta$i}Ar;7{9K#&8?fv!M<~A%#Vn>oD__aKj z1UY@pqO`FOy7Vy$iniVT>UlyNHsw1b)2#|k&lwA#y@c9yJy*~4=#Nkllg?Je9>kV_ zNgbPvAYLCInlNJVL{<56UMnC4a_;0VX*t)bt#~;zT^w zzpM%e=6_Rj0NV7a$Z$yzt7=vQG(q0LK=mN%GY6WmS;<5^0Za*=6<1H#lS<7Y*7e1|+v7z)ijf{?U(R$i6s>n~?7D@4CiJM>1$JrW6?0)Y`F(wV z0M}H-5$p?G=u?SkT8U3oqwL~>z|Z;RV-v-9myad|o{+{^Q6$Xh`;3!3u*Ft4M0BSxkYq6%|qTJ2s6}J?dNl(EMJ$4nb%9#825PIyE$f8Iu*%18%=q#6OKwph1gNAarPy&7B(f z=_(l)kHi))MKN!N0S#Km$VGHAECETinwZ*kOIg6S{=E=TLa%$TACrme?!cwQG!P^g z3ZUo!;t5ieLnYKya=ur`lkfGrLKw*xKNC#w_A8YUIlRj?pn>sB^+M|u3Ltu~jHWsR z%KHm66)AInrj@Z=kSkCpiyRqi>}ddoM3vgp{Q3qEax&ai?<%XsHRHN_3N zsuyL396zs!zmBwbwA>E#Ixl%c410N;OC⪚=r+I%- zGgT^%IV%6Pn3WooO`LG6M}#>US5;9qB!KJHw(YdmN7fW?-ObvhA!!EiD%(maxm zUfUQ{E*dQrrbIBAV@TF6Esg=IJ|^{tE!HLr4LYtU%4h(DFd>adO(3U@jz{k>rF&fv z;-?8ohmjf(ih33t#-Xahrt`2@MoO~En#52QIyD9$Mw8;J`+QyIo+%b6CCBeDuvW1Z zRS?xEe?lySe`tV=T7~k_Z*^r7`G|rT<6W2ulq|#PJi;jbNz@%S`XKSR8cKQrZ+OS7 zdL7gwnRnR;o!oj^B96M*nw=ty1qUi@kwK;{6G;kTbGUXMVQ<3F`m#V9m2RRC%cIpO z1r36^YnV#CyJ!pv)z^_7-di-Olre2DH3-I*Zmar^ghU!^a8`Ax^2FddfyMHYw@|U& zX`YOaUt0IZ`*&eW%(z}TDd!lg>iZ6s;hQIFg2&P@vY!ow5?UqlRbEk&Rqy4zaMk%d zzc$w_`yCFR!ATzSF2189%!L=6v#jUo7pk;Bbvgq z;H8O6=D1$?2kLCo4|)2kB60^8wW z?z*^`+Qsjn8)QWLPne4l<2H2hDYlT%kd=VZi*o$8@F+08D^VZIRB@}qz)}LaOd^$N zLg1SmFR#veWu3YtJom)WtoIQ({^}}9)H26LXPE;m4$7pW!}hfRff76Oy{;g6TKo*rt8Z(oUL@39$s^XTgS(!^>P*t2VsaDINT;TAWQfR?PJOSY}%I@YO zYs0W4yU(J;53bP+-4kZ=TxAtM&8@0aWx63P8UnZZj$6xy`4~f?Fw@}<{klU<@F^bg z^+JbV=n@5o_+y|3M1t@+vV?pJhd6KLM9(ewEm=7{RDod`bg8WBR^M%@aoG5Pr3P1s zXf{@gYpGgF3Gd~!QoCSx<12Bvi0jSH3fe_n1esVTdklmSQqD`Lx+dHLzF6#`18N9q z1elvhs4MnxmdKxLJ{(gbz4r-M39wH*4|0w(xSlM6REp_YbqWVt_SS6Rdmw|$Q-D#L zywL^1YN+?q5p!m;k_1&6j7)L;PtN8>=2ZecdGdgg{ZI~jv~K#eC6ddN>tXw5Y0k^@ zSjPo0I_zNt(ZqXu1!`MJv6z|6ia(>)+pdX3g&Z~NkmLVt@vJYuqU_OG*hd`_lgjwLFd3#F>HGS244NLGbrG2j9|kJoZH)PA=9$$K+{ zt>s}ueeTN7X%@LTpyqLX<04I|!QLm%Po#}~x``PD-~}!!>E_w(`1I6^g$?2G7jwG5 zB7L|<+dPX~X!xnL4JJwD0C=f`VO4srf-*c-qJsQxR~ z!z(p6r!N+dB9C4Mj6LjsXBGzjKI|cy9tB}Bf)Z0OvERW#d^Ij8(eI!IzVjDjzC7-U zVgu#J@MrwWQ}4{o`ET>p+Rjwnq3&j~r^Vg@FdD)~b4fh&jbh}PKkacU7fYPn!7e|J zD!(QYpPva_G*;`sSJq^FcsY(xY*D2W&n};StWliELwIZt2NwWkJj`fuX+6KENxJVp zd+A%V+HtiJIdyfIh5}rJ1iOpP+nJO_t~Hw^^VWt zzI$KC+unaG50SxW)0MvxwO_r~wRzU3LHc!pur1{J=@Y0y&aPx;?JrFNqc^IOJNHr%Y4hmEUckj(l`CLslm?H&jXEg4s5T8^>-#wvb7Em`jA1cv1D zhL3eZCOR-bN)pd-CBXuFmhq|BrzWRz`7-Cvt zTdI@VY2VF3rHFUYvx7;-#SRGUBa|(*dLN#sEU)iN(7b zq1}_!WKLlcp`lbi2YB8A)u{AjoQ`d=#cUV}HSyJYa^gYxYL!TC7sZV(MR}!_TE&Dg z%-FHwK&oIM%Vdcd5{yw2N78l_tdlVg?gt(4tvCR_w~@Ss&On!S_P?}V?n-1Z_Jzpm ziB5A*ck$LroFn1jX_dBZDRG zp{k^l4$!W_N@6a~xpMhT4kXzgaI$l$3`EldiAdQTW_SD~c9B%R^-4>AXK}DGCK|FBR;Ouv8mcP}E*x#gGTM0e;2ctBmmYp)^%*aR?^DL@O$ z0DHMTT8cb47uR`|4E9jw%Dfe*8pLUum!tGBt(2VGIh`?{D!6EXjR6TqHw!;+ zU9j4YpclNaBb5rKC<+f0;xiIQJq~sZ8h+IQ1(K}LMTwID!7ECcU=%#?L4WB@R}GYK z6hVbdKOFS!!fNFjS59M&jZmr@m#dsAn58Gye!3MFp5327Kn^oork}-pfRcm#!DM*z zCX+jqWJR}~bvV;h1W8TaGsSQbF2mopzX`2aTHd?q4YXnnq>8yg)lEQ%hvyst?QRbfA5$qMGV7~ox5yl@jw3W4JH zx0rNPsWB6I)#x6M*RpuvmNi?;fK)9DFYNvs3q@hi$nymU@yrg2iBD*!o8+6~5_9n` zEGzP$Y5RVIF{7ONrR&2?Pd>^*k^=l+^|mvK zXLEi!agm`L_X>TF^y3lA%*9X&PlzGtK}p#sfD!(4)D zS#}iCb>dnew?3_`;dY=FzJEs)?lsx;QI-;jKcGvLN2EU^v>#O#mdZr)=2Q3-YYUK3 zr$6}U^4NwR^y^BMz#%MjB_t{8R^hG0sx1=}zcjMKJe(%@UkPc5GqsPYi998t>9C_b}W~ zqKeNAztPA}U(m%Q;7jtb`$cl*&Sw4!f9sUgWfy^0*S(`&FWbpI6nu||Q zO4Kzv1IX?fN|whG=6=9ld!j-#>1!QzGJ$FHY%%y!0Cx4pd7`9 z@_zR(g`Jd}J^>TSoTK^}nefkiW?D=wXp$Fi1nV~^T~21a$>8cX3_GKdl{*lhzr3l* z8#nm;n(o)7>Z&|N%UF_Hx?lamH>^l@Hj<#s5xCm4P#J!hOny`*vM7#!7Bk)W=2@~I z?58C~tJS_o{50ExEeFhisgcKFUGdenkYU6_;|aRNuB#o-_X7(LJdn|+SHBPxAC?I9 zPouZ4IR6QT(8d|Txx$IW{Xe6V|IX%V)NsK3=zeGOYJOLp-?AqA6NccuE5%&;moj0s z#d;n_GN3#Y!`QT?eukVMHnntUGnR)<_K(QdcGwkwb>Xh)|EFx;e*um)AFTfa z4DnCk*x%&TcaKK@2N>e?;J;_{{zFdvCva?IIg~BrKVXQGm56_mQ~w1V`wuzwFW}gJ z$f@dl-x7^Y9sdCwOM(9lhWMW5Q1mY_#2?_;UtoyeVZjjp0*8Znb1d6ha zS1DOZe)aM|1T{vIN!by{;HIZYvMy(VB2s2H2VBAHs~zZXtnKv0GAvQ_>_;F(`p0VJ z#s(AIw_FWeOL6NF%k?*TTjO_)P9N& zGkkN?5FOy^dOzDSmKV+_Z*WC3sU?EghfLBd)jn3h;CXd0np4F{bgT&(h_7T~u+fnY z=J>!*T6`lAlJ(03gd!_-cG|Q@dj=KbWWE2vHyQd|O+`NpwGK_pjh=d?>$#=9?kAyd z(xyk+bmJJ&IeTIh9Xg(Ue0yAzAwN{o7GfnZr_?b@#Y7Ov#q6`FXX@2~do^UwvBDDM zv~U~$mvm2tf4kPr>H43siUQSZ!+qECjLRkd0c4(QPw@6t?A#&_i8Y2#4f|#V-t^2V z0$aC?opI?4P6U}OIarY!H`Ocs`2-3lfj1K8KC@)shN5 zZ)aFNTM#f#nUEZ;LhwB&h>E<=MW5su7=$) z{;CQa3vjeVdJzrW)HHC5crzA22vqK1$;1r_mKPxDs1Af>f5S5cc98&-{c$QzQTE@I zs3#3nL1t8~A^nuEz-KoHTtvg&y78=5H~OHqCsfSYoea-&GGyJ99h90uP)=NCm@=WI;P@+T(vEqNUMd8V$mzTFmi(M5#!}oi zrb9G9^*&{=yX8utR8BB7Gt_|Pu`xkmOc-O4j4%z6J`h9 z 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 z zYyv;yw-~u{3-%-%z!A`kLj=QVIeNM^zzl=A3k5$^rs{uKgDGR(y-YYA;yGX-v$!MP z;s}eH5{qqXgy&%w4#xnK7GK``2#57bu9^Tvh~Yr5>jio9qx~Qv_p@+2z$R1CNpkFA*Y4$CJ5wzD(LID>y(3lpqdxvGt zOIzN8svgdm&`}erEJ%}VK(9q)C>m|Y31E%t>PlcB^a<>wioNvdhe#oCQ3zWaNSEYmsMCiCmMyl4(Pkj;y6BtiY-f2Of?uxYFdoWTEhRvrOqq&#+)mh=Bl z&&r=*5%|SgwLgbSM*=VLJe=t7G*%{YLLmjKlz71cgEGO$Z_f&g7NmeIL5}!wzaiH8 zU2KpqJDe*~s+3`b^{foia#Fm*(0OA$D=srte4L_^SS#E8bQvT#3cgx_ZAK?Oj})L( z`_hiUlZJ^suh6;W02a{WXsWS^mLcoUl35$$vq&|!Qg}ve#B?iGHPRc3+|d!8?3D48 ziau(0zv{eYBT0C;@!8*%Uetm9d#-!^=V2;^^+%$9tGzOlK!Qfk5AK|>oEMG@xnZi` zgEG7a7BXl=o>F;MK-kK$mf()wETEJi}dGb-E&=RL%V@5fpaII->OE z%B0Dxxyst&u2ADN#p3#no2j0b;RL31$EHTd3HC_?ZjMy+9nh9>N^fikL)C$c^D}cQ0bUV>Hxy4Z(v{KnrtjQ)cOovN z19(_*G6AcpKax>#$r&&Sw=Gmt#05;6STK^|l)HAXTsmZ0^4ft?y4&%NO9c zDzCkgw6OB034t0GrIb6|5q}i(V=T=opkuI@p_!OEla6mMwy2~R0ux1Frm+f@>QYlM z-c;$2KrSbC4aWUEl8ABAa`Pd!X$_K4YhRvw9IBWeR+_GQ7bsyX>MLv8Bhy-br;uV& zHeKx*OfR3~PrmFy$|4e5?^G6;#A=<;(!pF?7^IN%*`S2y(b|sou0JZ>e^#zG|utxuLzi)T^K)W?wb9y(K6_ zErN*7*G?L|0!5Pb4i7J5t-6azG=WTwCARQUiamH=a;f2KRzKW z`GBerH4Y(uNmC;p)7GJ}^~|ZEfxsfyDZk=a7$g6MQs8<{nXi{oZgq)oxnCCcEJ!sG zzaAPwz5UgUKUWjVqwhWlnN|M5%ZR>&zBnxiXj@^2?;|%qspo&FEZ53Nhkq=_@VDuF zz8|xg)NI;!GpIf+w&;m{3586QSRYj!_a#+J6YVIWW@YH}P zXG(>YIu4J$eEb3CvQeMqI2I86@MUf)e^Mvk*q|j8c9UZDUN+;RJrTUROOa-vUrkCQ z4B|h3s|Zz;H?0-E3=INj67@JT54aHMFaf&QIRrr>miHkKZ`@L&5=ab;_D^7?uY`T1 zlEn+;-b&&Yd`5Mn)8N70skKwDVRPOKG<$$c$|czgmRl}WlAX3Av1~F4I%k?*(Szx# z$P`IE*=`#{-ut*rDm`II@&0xPgn|jSABfH?I9_TezcEuD;(N7e=7f5<#BqdSm(;-v zp&6hd%YdlHx$65srAb4RZufZ5ZY0JGpw}T3aN4CQ)qCXO|HYOVbgNJ#wNf$lQ~0ZPqZ)k~Ovy zC#F(3UQY$3!^B=T>4eS;65s6)pluj5vDp)RrZ^syHKwHeG8syL?9vU>lxFfcZDt2>9 zBk{370*98G_?(r8tbM8Xe&s1k#KOKlCw@`ZNxT_}M%k#5Pf;DJ_q0DGxqk zJ_yb1a(?7Y_3h&G$@ zWH$nrTqL9>(q8_q@tf0L)ur~3h07>84ms>-*siUlKw6tIVwgEy#~=IOWmoM) zcnl-6P8O1zwz}J2fe!DE#naRfosa1c;F?|6(7@!iO|3We zUIKaIXAUhX^C*>G&QEZ#6F-8D{4i}jpRSI1Uv59*v^jS^)6^zeaYJbR!NvJ33e->? znDx{8r|(?9UPEol$d)bB=ed!XhWcV%S0_cL*=ck`L*t0+y+`+D7eS3peIK`2YlhR9tm zQ^q!R^XTnG+`n9*A8qQDM(@SEyj*3YXzstGw;!KzxyFmpZyvmd-cN45{3aUPJZ!Ib zkpB7dJ9M-e{TzLeeQ~+2giT|G>K*1WU2SOSw@jp<4~yikHVtB1ri%5B%I;tNFdJ=| zX+$4YzP$Pgr)Zt)i+PH-fFl0L-P%s>7IBxJZQJQY2-kx$tueG^?}yao0)9KWJr`pCb>FMjn@>-H zr};Mt=JYny-aZ*2WW`_K?E{><$8^*wEEfC zUmXMKb8uoQJ{%TeTirj;*xqt~vsFC$`rCcQ&%`*{FBQ$K0=GRCcc(FJ4diTrj=(Qh z>u=jmrWLmv58%vu>(@|IeT)+m4*B;KzwADrt2?d?yWYV_zX_ffsC$TsWSoJVmuG!= zm+Oeh2AbXHZ$b_H>3ChA+T*pNUSEw7plAI*&%8>^=adokc~UYcomB zEzlWMNX${r4>{c6Q#G=AIO6M0&_{BHE?D@EbsFrUdk&tXzc#_W6UiKPGkqpP^%V8n zXkus!G?CepBF~kdJfPClfX!Ypx%%>qL{?Ac$NVraiE{kz7hjtxh1it zcqrF$z9x%$^^yEJYL5xz| zt5NCrx?sI@t4bOjQFEPSpunmQ#-=ZG0Eia?E{A$%$GifR!Xpu2^EFCSW)*GG)}U2Z zZxv0c0cbi6?-->fS)+a2%X6IG8iz!fjopX5bpDuGaQ9&DK>d%rlC|^G@|Lg37ZhAA zZ8F*57;Xvnp!eQPOMF^Eq$yRb=-!-aWnR)Jg3To~*}wbd49$>(Y8PphJ!J`B}3PSUA92=1sR1E%A_U51GdQVsdO# ze|ELzT}6qfgEnadIwpTdQOkIzD`%OxGoNKr2V8Bd%9Svz2oJ&|Zf|JYytxMWS(syk zN`4KtYyR3+LJ{O!;QsSMmnW0u3cLLU(O)la9|cgeQg8uusdQH1iNzZm>$*mI8zpa7 zh9~g9$ucII*1Zejo@|PN&ML@9{!m0~5VY%AiQE_`B|BDmAY+*l3?J)!=&ZWxV_wa(|2GNNdA3?efa zMbIF%vE#80NMgaHA8>nzk9y#ZcW?K4s@x>&xEUKj!-%A9@U!fcXH3^iPaL}?_kk}! zGd_XBiS{ii$*5engjw~ll-Pjna^MhYh+;#1zMz}4q8St5Nc50HggiHRA&}h{=+TZ$ zs&bbeV#lGPy=A}E`D|}8opyCx(%Y_sA%gU7$`lF@quC3(Cc48ZHXw83K~16-(VZ3) zP6+!$6@6@$5pZi2B_1Ck+C>W137LA&u44s3ePCrQhjT%NH)yWlGcl+TjYB04=7$UU zBqqIhN^MBDNw+w#@VK-<>QlCj$mJ3vFl;o;iDau*MI6bC6fWF+5bvm}2(eNR$lQ0j z*60;>d5)2*@UOXFKV?Kqm^}2Tw8n*c>&`Q}ma!8dbgGbwDimmuuL{j~-H=g(7R^#9 zJk)WQ@){abwg0kV>8&F(zg zOn3fkh|_bp;5S*<7cv31yE)_*i(ExoCS|Mu9oG6U0okSDQ4jQqoiut=Cf1a5H4oI- zSP~_sD53Opl?AUa`Y0)=Zi-UAH}Rw&(^jL-&ae}fPv0d>e1!x?W?PfUZ|IBL-l-uq zM_QGfbABN3AfoxmN4j2ZX*Y(@tlr^>dgmFkh=|aJ{Mf(s!7?s{_dvZuSR=e6HIQXX zG#ri*bOl*wZKviTi|XEZsd&)-WPbDMBmLt9BscA+uWVw3ra_#{$U2U2+m~V55XmB- zdkFlN1pcjuomi)TPg2yOxf~)wueLTYDOsHpO%iQTH-Q|tO)|FE#d9eTs(3pQ_O?WC zSq4XsYM-q|9+J62lL8gx@}3UCd#geX*QRC^Rxah!0p#C>b_bfv5X;eQP#)4~_(N)L zLmXC6p@<;v4I*NoBE2zlO(3_MERq1*o{CXjl*{2Vmf)?5pQhVxY)@+0KEe^qw-y&Z zjzgef`Rtis#-h;C1xw)ZjYx;nxxQ4c%Fvc%fsj2d&2x+V9Ap}s6)TZur>6{>H4lRj zsM*K}eBOJNEp>QgV7$kRsz(L!_)GReOBm7RJR%<%{0`7a4Zq=F}yDrSl&Ce=d z5=d-(JfGENW$1;gvGcMuwg_?33;et%{4?hHqqc1xGX8GCee{XNeCMNL>-%4E+K0@xvXDi< z%O%4a64f{LHw-y1m&KI_JMRI&abZj=^e6SYZsKmqf(3Gn#Q)Y~448qY!AYZEN&o-p zF}>s3jH@jN{nq(e^l?M$)wWw~>%zL;Nz3P}9iP$GFDK}ewu^t;iaMFDcf<5QtlStq z?Unm7O?8TQ+v57P4)$h0vFgJ;;YXq)Pap1QoygyVzI`#S-$RO)`HVsiZ-?Qs>^86_OoigHmx9$*Bgoj z=QB@rLDexrT!Ix7)#xuM^FK0A7S+={u{jcvbN*TWw$NW-J3Zh`k&Bt8jnJJsjNAH{@oBlpMslJ&qK8AO}4N zlLEo<2~^?@0vg}|-ALpef_B&a&hO!9@dmUagY^0XjC=yGZ;+9k2A-@3Vx9-nI|N#v zKKp0F>UVM2FPx%(3p-I&QYIOqfAm=RJ7LAY7T2X7NyZ=?QJq`!w_n_RB7`V{N~1Ot z+hbuQL(&x%#>>Hu{!<*5ju(s@%Iou2aae@B0fZ*^uoO#uNZI!(6%80Ihj&Hjrg3s9 zGb!|9Yer4;(EgU62eSlHoOO~EP?xH8&vRniz3@n5PG6Pd6F4 zSx0}-8d}Wt!e1%sMXResY`gDe$GuqC$padg)CKukxMJUK%GWp98(qYHs=38TihACL zREKMWuz0_VEBtQpBfB+K*2CrEx1kc>mgmHP#Jq--pZh(iUJ;kkgAl;mrzt%0Qg+ME z3iW%RZcRc>=e1O}IEP#n$U0VFJQLD(e&9^R$I_oJ_Y>Y zi%BGik19$rt8^`2b&ZzSJp1G-n1l6I5iKwL#kt9sY+wGwP=zc+LVijZ9lv=-0{%QD zvT-@}QJ_=hDMiead7!-jgA)?HQXxV2~r$w zNGC_QsFQNO;xi@QP<-Dx_|2akEQhRmi;iDu&gAE3|8O+0f%ocz?~1L(?C~JHeG*L5 zElCZUs;Ej>JR41=6_MmGU95oZctgS6Pbp(|TB|=ePWzVIuI&ukRrOh4<~IO0BY$<& zk!|4hJvbhAi|!}6n)S#1HRRmBS*iIeLRE2Ks_%2KyfC^-@`F$Yj5MhJ?c_{Z#jyB0 z7tW%!O@ZBEDi3Q>q_ZarccFsA2NARs9+T9RzBXpN##`aC2E!8;kq} zwjq6a#>xHS7@HQl^iWL+~*y`yZ+s#bu=b1;VcDV=$ux(Q;ZBZ(Q&8a zOqe92=TA2fy1k}N{K~Yq=;_qDC3|PeY)g@_-Y2p*>y!81lzUa$L{l0l22x!=F3R&G zD|vM7{CQ?#;8~wK*#(_kpC>Mx^O~OTnGbTV8#_$0nkRTbn;%5E|a=wT%nSDDPf^D(7i zYsSe`I9q{8N?KgwC8zLk6t`VYIGv+Kf-ssU>|W)-$ooV)cH_+=XkBem2$x;vhKrW5 zw|J6z(Lt6Z-=HBYSjT7H^VX-e0q$P|n9;{72^<8<8j6JHlrcU)u3J_-$~Rh&7UGAw zl+h(H9|M#@YZ z2d682kKVz_-40;`B4>u zyc|xbJ=e*2TpgxcZhd2Du2=TB1{qy$%cK2i(Bil@b)@_SM~*?i$8lZUm7u+Y|Y}Y3G%N(mH$eTX}zM<07vT!(5F>?%UY*Zj;5@`LanQ&&sCD%u1a; zwnz%hVmmZ>vydj2&(%7NmPro%Kc(GgP}6xD2XKX55k;3nonR0}WJ#waA@Kk~R}^pq z>w+g9BI@bTn*@nR6A(cKR02{0vMMD(MM$9-K*1;p9jVd;8IT@G{ihIf+1>MI=WgHK z+u!To%y;H_KJ$EWp<^{+m1OzF1Dxgtt=sos?&l@WCCtsCi~>? z)Vb}U<}Ih}flu_p>{se6pUPF61%9T4)GmB3{Ea$CEM6(1ME!v}2N~yjQy}w?zf$Lb zqHELg`O=)zK?`O1eoq7Av%u^H>Z8=(sWbf2!{Vol|EA8V>Vlx>U#W9&0+atA>YO?h zOy`+DTV{0PmKN#V#}O;6fz!dL!d~BJE4AalQfCvtt^E3#++hC8c@Ib!d%1Rr->}yD z;|N z3E#2E;ZR`W8p4_MF%D3#0F#J9FU(X5C`|ULcqLOdoq^}qP2Y94kk9xZb(hcP`}0|| z6cS%PhbL}V%$MeUq0g67Unmwgmvk$Zs=0fsmKeif$`$1nK8)W8@M9ZTYK!%?w_I?X zfCs5sFXvjWu8Vs2jmC)wyuzCb`_EUYq~o3i@xWA?Wx@#iUicUJ{B?P}V!3WLA$jSw zrFvcb8gyMHo2yduW>;6$>J5!ODlM00EpRVZ+y0Rjh}Yb1R-L4u@#q^}QM0c1TJpB% zCY$iQ7Ik3t4HLajN(bm01Bz9gnf>D}UWQFO8EZGK_7rcu#NgToH)AlTP}p@iMzD7=C;;9=hJ^a^@rM8>5h1%zum`g2ftW654X_QGB$xRhFsfdVzpQ6SbukesO^<}|N*To#GjFdcc7sJnRy`AV}$#VxR!h6{JXbnSBiHt({ z%z6LtvQP424-4T7*dA#TN~-k4hzmMr54RXdtG{57{{WqJe213O`9$PpNUTGfhm2`w*X$_r-3h{qtJEHEB)|N0)VWek&oe)av zvPGzfw2p(H41oHZ7>mffG5jnVco|K!h@vWS3myPFfN2q3XM|gc1RA_W7T36THUcux zNWfUe44=hH7(kN)(K2q%h@IRAyxNdsnE(``RYKr(Aj>jQXWT(;AZrF;tdc=`*56`e zExJUj6bRBv*HiXJ#jr}nhgfbS$~f^mt!_DY+I^QTdpm=+zT-8H+QpQ;8;bn3`5Lvm zU)Jin!}>01kCU-T#?53}-%l$-?B5~hvCwEuN3qpDjJ)ltCpw3Ugu^`L?Gy$&x6TKK zBFZ~5h3I^4oDC#f-gym+p$s=-t(kIl7cml3G?#J6reEHDFdI`0AQ5&Vc@MlF^GN5= z_eXXpdfn03Cm>_9V;IGI`$%jlB>sS_r=kzWz?S3POx=iz{(V9$%^9`-=WNBmHnh!C zuS}D_F%^S~D>j<#70j_;F*HfGc|q#hdrqVn{wT1iPJ3v4afkB5BEyD}=Z3t5QI2$6 z!Lg{BMuDEnQ6?Q%TekuZB`U`%1h{&x8~BQ5d-aPoo;_T-`zlj8vHcXTaZUv#^(#Np z$oN+P3K}a?PTrvJ=!(`^OUA&p1HeTsAm0=5nDtLpQ3o~KEAu4k?WvtTvLby4OlGVP z#Xw!pD@%dw9t@a)mRM$QqnYSyN4dDd?)@`AOn=kV}`C;Ms8by+Loqafq@ ZI{33kUW=iQX6Rr$gbz2(&>Tjx`xlSYEm;5n diff --git a/index.html b/index.html deleted file mode 100644 index 1ec2ab6..0000000 --- a/index.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - AnoPaper - - - -
- - - - \ No newline at end of file diff --git a/index.js b/index.js deleted file mode 100644 index 3f2665e..0000000 --- a/index.js +++ /dev/null @@ -1,131 +0,0 @@ -/* - Copyright (c) 2023 artegoser (Artemy Egorov) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ - -const express = require("express"); -const bodyParser = require("body-parser"); -const isValidNote = require("./note_validator"); -const fs = require("fs"); -const path = require("path"); -const { Server } = require("socket.io"); -const rateLimit = require("express-rate-limit"); -const { NotesCore } = require("./core"); -const helmet = require("helmet"); - -let core = new NotesCore(); - -require("dotenv").config(); - -const app = express(), - server = require("http").createServer(app), - io = new Server().listen(server); - -const limiter = rateLimit({ - windowMs: 24 * 60 * 60 * 1000, // one day limit - max: 50, - standardHeaders: true, - legacyHeaders: false, -}); - -if (!fs.existsSync("./notes")) { - fs.mkdirSync("./notes"); -} - -io.on("connection", (socket) => { - socket.on("nameChanged", ({ name, room }) => { - socket.to(room).emit("nameChanged", { - name, - }); - }); - - socket.on("textChanged", ({ text, room }) => { - socket.to(room).emit("textChanged", { - text, - }); - }); - - socket.on("joinRoom", (room) => { - let rooms = Array.from(io.sockets.adapter.sids.get(socket.id)); - - for (let room of rooms) { - if (socket.id != room) { - socket.leave(room); - } - } - socket.join(room); - socket.to(room).emit("roomJoined"); - }); - - socket.on("leaveRoom", () => { - for (let room of rooms) { - if (socket.id != room) { - socket.leave(room); - } - } - }); - - socket.on("broadcastSync", ({ data, room }) => { - socket.to(room).emit("broadcastSync", data); - }); -}); - -app.use(helmet()); -app.use(bodyParser.json()); - -app.post("/publish", limiter, async (req, res) => { - if (isValidNote(req.body)) { - let id = await core.publishNote(req.body); - - if (id) { - res.json({ id }); - } else { - res.status(500).send("Publish failed!"); - } - } else { - res.status(403).send("Invalid body!"); - } -}); - -app.get("/get-note/:delorno/:id", async (req, res) => { - let note = await core.getNote(req.params.id); - if (note) { - res.json(note); - if (req.params.delorno === "del") await core.deleteNote(req.params.id); - } else { - res.status(404).send("There is no such note"); - } -}); - -app.get("/stats/:id", async (req, res) => { - let stats = await core.getStats(req.params.id); - if (stats) { - res.json(stats); - } else { - res.status(404).send("There is no stats with such id"); - } -}); - -app.use(express.static("dist")); - -app.get("*", function (req, res) { - res.sendFile(path.join(__dirname, "./dist", "index.html")); -}); - -core.connect().then(() => - server.listen(process.env.PORT, () => { - console.log(`Listening on port ${process.env.PORT}`); - }) -); diff --git a/note_validator.js b/note_validator.js deleted file mode 100644 index 1dc9837..0000000 --- a/note_validator.js +++ /dev/null @@ -1,32 +0,0 @@ -/* - Copyright (c) 2023 artegoser (Artemy Egorov) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ - -const Ajv = require("ajv"); -const ajv = new Ajv(); -const note_schema = { - type: "object", - properties: { - name: { type: "string", maxLength: 64 }, - text: { type: "string", maxLength: 5000 }, - }, - required: ["name", "text"], - additionalProperties: false, -}; - -module.exports = (data) => { - return ajv.validate(note_schema, data); -}; diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 21aff04..0000000 --- a/package-lock.json +++ /dev/null @@ -1,13940 +0,0 @@ -{ - "name": "anopaper", - "version": "1.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "anopaper", - "version": "1.0.0", - "license": "GPL-3.0-only", - "dependencies": { - "@heroicons/react": "^2.0.18", - "ajv": "^8.11.0", - "body-parser": "^1.20.1", - "crypto-js": "^4.1.1", - "dotenv": "^16.3.1", - "express": "^4.18.2", - "express-rate-limit": "^6.9.0", - "fuse.js": "^6.6.2", - "helmet": "^7.0.0", - "js-sha3": "^0.8.0", - "mongodb": "^5.7.0", - "openai": "^4.0.1", - "react": "^18.2.0", - "react-contenteditable": "^3.3.7", - "react-dom": "^18.2.0", - "react-markdown": "^8.0.7", - "react-router-dom": "^6.15.0", - "react-syntax-highlighter": "^15.5.0", - "rehype-mathjax": "^4.0.3", - "rehype-parse": "^8.0.4", - "rehype-remark": "^9.1.2", - "remark-gfm": "^3.0.1", - "remark-math": "^5.1.1", - "remark-stringify": "^10.0.3", - "remove-markdown": "^0.5.0", - "socket.io": "^4.7.2", - "socket.io-client": "^4.7.2", - "unified": "^11.0.2" - }, - "devDependencies": { - "@types/react": "^18.2.20", - "@types/react-dom": "^18.2.7", - "@vitejs/plugin-react": "^4.0.4", - "autoprefixer": "^10.4.15", - "eslint": "^8.47.0", - "eslint-plugin-react": "^7.33.2", - "eslint-plugin-react-hooks": "^4.6.0", - "eslint-plugin-react-refresh": "^0.4.3", - "postcss": "^8.4.28", - "tailwindcss": "^3.3.3", - "vite": "^4.4.9" - } - }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@alloc/quick-lru": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", - "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", - "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.9.tgz", - "integrity": "sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.9", - "@babel/helper-compilation-targets": "^7.22.9", - "@babel/helper-module-transforms": "^7.22.9", - "@babel/helpers": "^7.22.6", - "@babel/parser": "^7.22.7", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.8", - "@babel/types": "^7.22.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/generator": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.9.tgz", - "integrity": "sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.9.tgz", - "integrity": "sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.5", - "browserslist": "^4.21.9", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", - "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", - "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", - "dev": true, - "dependencies": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", - "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", - "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.6.tgz", - "integrity": "sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==", - "dev": true, - "dependencies": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.6", - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", - "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.22.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.7.tgz", - "integrity": "sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.22.5.tgz", - "integrity": "sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.22.5.tgz", - "integrity": "sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", - "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", - "dependencies": { - "regenerator-runtime": "^0.13.11" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", - "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.22.8", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.8.tgz", - "integrity": "sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.7", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.22.7", - "@babel/types": "^7.22.5", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", - "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.11.tgz", - "integrity": "sha512-q4qlUf5ucwbUJZXF5tEQ8LF7y0Nk4P58hOsGk3ucY0oCwgQqAnqXVbUuahCddVHfrxmpyewRpiTHwVHIETYu7Q==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.11.tgz", - "integrity": "sha512-snieiq75Z1z5LJX9cduSAjUr7vEI1OdlzFPMw0HH5YI7qQHDd3qs+WZoMrWYDsfRJSq36lIA6mfZBkvL46KoIw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.11.tgz", - "integrity": "sha512-iPuoxQEV34+hTF6FT7om+Qwziv1U519lEOvekXO9zaMMlT9+XneAhKL32DW3H7okrCOBQ44BMihE8dclbZtTuw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.11.tgz", - "integrity": "sha512-Gm0QkI3k402OpfMKyQEEMG0RuW2LQsSmI6OeO4El2ojJMoF5NLYb3qMIjvbG/lbMeLOGiW6ooU8xqc+S0fgz2w==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.11.tgz", - "integrity": "sha512-N15Vzy0YNHu6cfyDOjiyfJlRJCB/ngKOAvoBf1qybG3eOq0SL2Lutzz9N7DYUbb7Q23XtHPn6lMDF6uWbGv9Fw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.11.tgz", - "integrity": "sha512-atEyuq6a3omEY5qAh5jIORWk8MzFnCpSTUruBgeyN9jZq1K/QI9uke0ATi3MHu4L8c59CnIi4+1jDKMuqmR71A==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.11.tgz", - "integrity": "sha512-XtuPrEfBj/YYYnAAB7KcorzzpGTvOr/dTtXPGesRfmflqhA4LMF0Gh/n5+a9JBzPuJ+CGk17CA++Hmr1F/gI0Q==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.11.tgz", - "integrity": "sha512-Idipz+Taso/toi2ETugShXjQ3S59b6m62KmLHkJlSq/cBejixmIydqrtM2XTvNCywFl3VC7SreSf6NV0i6sRyg==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.11.tgz", - "integrity": "sha512-c6Vh2WS9VFKxKZ2TvJdA7gdy0n6eSy+yunBvv4aqNCEhSWVor1TU43wNRp2YLO9Vng2G+W94aRz+ILDSwAiYog==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.11.tgz", - "integrity": "sha512-S3hkIF6KUqRh9n1Q0dSyYcWmcVa9Cg+mSoZEfFuzoYXXsk6196qndrM+ZiHNwpZKi3XOXpShZZ+9dfN5ykqjjw==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.11.tgz", - "integrity": "sha512-MRESANOoObQINBA+RMZW+Z0TJWpibtE7cPFnahzyQHDCA9X9LOmGh68MVimZlM9J8n5Ia8lU773te6O3ILW8kw==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.11.tgz", - "integrity": "sha512-qVyPIZrXNMOLYegtD1u8EBccCrBVshxMrn5MkuFc3mEVsw7CCQHaqZ4jm9hbn4gWY95XFnb7i4SsT3eflxZsUg==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.11.tgz", - "integrity": "sha512-T3yd8vJXfPirZaUOoA9D2ZjxZX4Gr3QuC3GztBJA6PklLotc/7sXTOuuRkhE9W/5JvJP/K9b99ayPNAD+R+4qQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.11.tgz", - "integrity": "sha512-evUoRPWiwuFk++snjH9e2cAjF5VVSTj+Dnf+rkO/Q20tRqv+644279TZlPK8nUGunjPAtQRCj1jQkDAvL6rm2w==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.11.tgz", - "integrity": "sha512-/SlRJ15XR6i93gRWquRxYCfhTeC5PdqEapKoLbX63PLCmAkXZHY2uQm2l9bN0oPHBsOw2IswRZctMYS0MijFcg==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.11.tgz", - "integrity": "sha512-xcncej+wF16WEmIwPtCHi0qmx1FweBqgsRtEL1mSHLFR6/mb3GEZfLQnx+pUDfRDEM4DQF8dpXIW7eDOZl1IbA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.11.tgz", - "integrity": "sha512-aSjMHj/F7BuS1CptSXNg6S3M4F3bLp5wfFPIJM+Km2NfIVfFKhdmfHF9frhiCLIGVzDziggqWll0B+9AUbud/Q==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.11.tgz", - "integrity": "sha512-tNBq+6XIBZtht0xJGv7IBB5XaSyvYPCm1PxJ33zLQONdZoLVM0bgGqUrXnJyiEguD9LU4AHiu+GCXy/Hm9LsdQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.11.tgz", - "integrity": "sha512-kxfbDOrH4dHuAAOhr7D7EqaYf+W45LsAOOhAet99EyuxxQmjbk8M9N4ezHcEiCYPaiW8Dj3K26Z2V17Gt6p3ng==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.11.tgz", - "integrity": "sha512-Sh0dDRyk1Xi348idbal7lZyfSkjhJsdFeuC13zqdipsvMetlGiFQNdO+Yfp6f6B4FbyQm7qsk16yaZk25LChzg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.11.tgz", - "integrity": "sha512-o9JUIKF1j0rqJTFbIoF4bXj6rvrTZYOrfRcGyL0Vm5uJ/j5CkBD/51tpdxe9lXEDouhRgdr/BYzUrDOvrWwJpg==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.11.tgz", - "integrity": "sha512-rQI4cjLHd2hGsM1LqgDI7oOCYbQ6IBOVsX9ejuRMSze0GqXUG2ekwiKkiBU1pRGSeCqFFHxTrcEydB2Hyoz9CA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz", - "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.21.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", - "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/@eslint/js": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz", - "integrity": "sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@heroicons/react": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/@heroicons/react/-/react-2.0.18.tgz", - "integrity": "sha512-7TyMjRrZZMBPa+/5Y8lN0iyvUU/01PeMGX2+RE7cQWpEUIcb4QotzUObFkJDejj/HUH4qjP/eQ0gzzKs2f+6Yw==", - "peerDependencies": { - "react": ">= 16" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", - "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - } - }, - "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@remix-run/router": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.8.0.tgz", - "integrity": "sha512-mrfKqIHnSZRyIzBcanNJmVQELTnX+qagEDlcKO90RgRBVOZGSGvZKeDihTRfWcqoDn5N/NkUcwWTccnpN18Tfg==", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@socket.io/component-emitter": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", - "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==" - }, - "node_modules/@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/@types/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" - }, - "node_modules/@types/cors": { - "version": "2.8.13", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz", - "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/debug": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz", - "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==", - "dependencies": { - "@types/ms": "*" - } - }, - "node_modules/@types/extend": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/extend/-/extend-3.0.1.tgz", - "integrity": "sha512-R1g/VyKFFI2HLC1QGAeTtCBWCo6n75l41OnsVYNbmKG+kempOESaodf6BeJyUM3Q0rKa/NQcTHbB2+66lNnxLw==" - }, - "node_modules/@types/hast": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz", - "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==", - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/katex": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/@types/katex/-/katex-0.16.0.tgz", - "integrity": "sha512-hz+S3nV6Mym5xPbT9fnO8dDhBFQguMYpY0Ipxv06JMi1ORgnEM4M1ymWDUhUNer3ElLmT583opRo4RzxKmh9jw==" - }, - "node_modules/@types/mathjax": { - "version": "0.0.37", - "resolved": "https://registry.npmjs.org/@types/mathjax/-/mathjax-0.0.37.tgz", - "integrity": "sha512-y0WSZBtBNQwcYipTU/BhgeFu1EZNlFvUNCmkMXV9kBQZq7/o5z82dNVyH3yy2Xv5zzeNeQoHSL4Xm06+EQiH+g==" - }, - "node_modules/@types/mdast": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz", - "integrity": "sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==", - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/ms": { - "version": "0.7.31", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", - "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" - }, - "node_modules/@types/node": { - "version": "18.15.11", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz", - "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==" - }, - "node_modules/@types/node-fetch": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.4.tgz", - "integrity": "sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg==", - "dependencies": { - "@types/node": "*", - "form-data": "^3.0.0" - } - }, - "node_modules/@types/node-fetch/node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" - }, - "node_modules/@types/react": { - "version": "18.2.20", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.20.tgz", - "integrity": "sha512-WKNtmsLWJM/3D5mG4U84cysVY31ivmyw85dE84fOCk5Hx78wezB/XEjVPWl2JTZ5FkEeaTJf+VgUAUn3PE7Isw==", - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-dom": { - "version": "18.2.7", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.7.tgz", - "integrity": "sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==", - "dev": true, - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/scheduler": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", - "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" - }, - "node_modules/@types/unist": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", - "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==" - }, - "node_modules/@types/webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-xTE1E+YF4aWPJJeUzaZI5DRntlkY3+BCVJi0axFptnjGmAoWxkyREIh/XMrfxVLejwQxMCfDXdICo0VLxThrog==" - }, - "node_modules/@types/whatwg-url": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz", - "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==", - "dependencies": { - "@types/node": "*", - "@types/webidl-conversions": "*" - } - }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" - }, - "node_modules/@vitejs/plugin-react": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.0.4.tgz", - "integrity": "sha512-7wU921ABnNYkETiMaZy7XqpueMnpu5VxvVps13MjmCo+utBdD79sZzrApHawHtVX66cCJQQTXFcjH0y9dSUK8g==", - "dev": true, - "dependencies": { - "@babel/core": "^7.22.9", - "@babel/plugin-transform-react-jsx-self": "^7.22.5", - "@babel/plugin-transform-react-jsx-source": "^7.22.5", - "react-refresh": "^0.14.0" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "peerDependencies": { - "vite": "^4.2.0" - } - }, - "node_modules/abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" - }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" - } - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-globals": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", - "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", - "dependencies": { - "acorn": "^8.1.0", - "acorn-walk": "^8.0.2" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/agentkeepalive": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", - "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", - "dependencies": { - "humanize-ms": "^1.2.1" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", - "dev": true - }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "dev": true - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, - "node_modules/array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", - "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", - "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", - "is-shared-array-buffer": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/asynciterator.prototype": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", - "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.3" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "node_modules/autoprefixer": { - "version": "10.4.15", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.15.tgz", - "integrity": "sha512-KCuPB8ZCIqFdA4HwKXsvz7j6gvSDNhDP7WnUjBleRkKjPdvCmHFuQ77ocavI8FT6NdvlBnE2UFr2H4Mycn8Vew==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "browserslist": "^4.21.10", - "caniuse-lite": "^1.0.30001520", - "fraction.js": "^4.2.0", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/base-64": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz", - "integrity": "sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA==" - }, - "node_modules/base64id": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", - "engines": { - "node": "^4.5.0 || >= 5.9" - } - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.21.10", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", - "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001517", - "electron-to-chromium": "^1.4.477", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.11" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/bson": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/bson/-/bson-5.4.0.tgz", - "integrity": "sha512-WRZ5SQI5GfUuKnPTNmAYPiKIof3ORXAF4IRU5UcgmivNIon01rWQlw5RUH954dpu8yGL8T59YShVddIPaU/gFA==", - "engines": { - "node": ">=14.20.1" - } - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001520", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001520.tgz", - "integrity": "sha512-tahF5O9EiiTzwTUqAeFjIZbn4Dnqxzz7ktrgGlMYNLH43Ul26IgTMH/zvL3DG0lZxBYnlT04axvInszUsZULdA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/ccount": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", - "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/character-entities": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", - "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-legacy": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", - "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-reference-invalid": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", - "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/charenc": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", - "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", - "engines": { - "node": "*" - } - }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/comma-separated-tokens": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.2.tgz", - "integrity": "sha512-G5yTt3KQN4Yn7Yk4ed73hlZ1evrFKXeUW3086p3PRFNp7m2vIjI6Pg+Kgb+oyzhd9F2qdcoj67+y3SdxL5XWsg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "engines": { - "node": ">= 12" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, - "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" - }, - "node_modules/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "dependencies": { - "object-assign": "^4", - "vary": "^1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/crypt": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", - "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", - "engines": { - "node": "*" - } - }, - "node_modules/crypto-js": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz", - "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssom": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", - "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==" - }, - "node_modules/cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dependencies": { - "cssom": "~0.3.6" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" - }, - "node_modules/csstype": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", - "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" - }, - "node_modules/data-urls": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", - "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", - "dependencies": { - "abab": "^2.0.6", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decimal.js": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" - }, - "node_modules/decode-named-character-reference": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", - "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", - "dependencies": { - "character-entities": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "node_modules/define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "dev": true, - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/devlop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", - "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", - "dependencies": { - "dequal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", - "dev": true - }, - "node_modules/diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/digest-fetch": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/digest-fetch/-/digest-fetch-1.3.0.tgz", - "integrity": "sha512-CGJuv6iKNM7QyZlM2T3sPAdZWd/p9zQiRNS9G+9COUCwzWFTs0Xp8NF5iePx7wtvhDykReiRRrSeNb4oMmB8lA==", - "dependencies": { - "base-64": "^0.1.0", - "md5": "^2.3.0" - } - }, - "node_modules/dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "dev": true - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/domexception": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", - "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", - "dependencies": { - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/dotenv": { - "version": "16.3.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", - "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/motdotla/dotenv?sponsor=1" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - }, - "node_modules/electron-to-chromium": { - "version": "1.4.484", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.484.tgz", - "integrity": "sha512-nO3ZEomTK2PO/3TUXgEx0A97xZTpKVf4p427lABHuCpT1IQ2N+njVh29DkQkCk6Q4m2wjU+faK4xAcfFndwjvw==", - "dev": true - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/engine.io": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.2.tgz", - "integrity": "sha512-IXsMcGpw/xRfjra46sVZVHiSWo/nJ/3g1337q9KNXtS6YRzbW5yIzTCb9DjhrBe7r3GZQR0I4+nq+4ODk5g/cA==", - "dependencies": { - "@types/cookie": "^0.4.1", - "@types/cors": "^2.8.12", - "@types/node": ">=10.0.0", - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.4.1", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~5.2.1", - "ws": "~8.11.0" - }, - "engines": { - "node": ">=10.2.0" - } - }, - "node_modules/engine.io-client": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.2.tgz", - "integrity": "sha512-CQZqbrpEYnrpGqC07a9dJDz4gePZUgTPMU3NKJPSeQOyw27Tst4Pl3FemKoFGAlHzgZmKjoRmiJvbWfhCXUlIg==", - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1", - "engine.io-parser": "~5.2.1", - "ws": "~8.11.0", - "xmlhttprequest-ssl": "~2.0.0" - } - }, - "node_modules/engine.io-client/node_modules/ws": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", - "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/engine.io-parser": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.1.tgz", - "integrity": "sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ==", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/engine.io/node_modules/cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/engine.io/node_modules/ws": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", - "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/es-abstract": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.1", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "safe-array-concat": "^1.0.0", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-iterator-helpers": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.13.tgz", - "integrity": "sha512-LK3VGwzvaPWobO8xzXXGRUOGw8Dcjyfk62CsY/wfHN75CwsJPbuypOYJxK6g5RyEL8YDjIWcl6jgd8foO6mmrA==", - "dev": true, - "dependencies": { - "asynciterator.prototype": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.21.3", - "es-set-tostringtag": "^2.0.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.2.1", - "globalthis": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "iterator.prototype": "^1.1.0", - "safe-array-concat": "^1.0.0" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/esbuild": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.11.tgz", - "integrity": "sha512-i8u6mQF0JKJUlGR3OdFLKldJQMMs8OqM9Cc3UCi9XXziJ9WERM5bfkHaEAy0YAvPRMgqSW55W7xYn84XtEFTtA==", - "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/android-arm": "0.18.11", - "@esbuild/android-arm64": "0.18.11", - "@esbuild/android-x64": "0.18.11", - "@esbuild/darwin-arm64": "0.18.11", - "@esbuild/darwin-x64": "0.18.11", - "@esbuild/freebsd-arm64": "0.18.11", - "@esbuild/freebsd-x64": "0.18.11", - "@esbuild/linux-arm": "0.18.11", - "@esbuild/linux-arm64": "0.18.11", - "@esbuild/linux-ia32": "0.18.11", - "@esbuild/linux-loong64": "0.18.11", - "@esbuild/linux-mips64el": "0.18.11", - "@esbuild/linux-ppc64": "0.18.11", - "@esbuild/linux-riscv64": "0.18.11", - "@esbuild/linux-s390x": "0.18.11", - "@esbuild/linux-x64": "0.18.11", - "@esbuild/netbsd-x64": "0.18.11", - "@esbuild/openbsd-x64": "0.18.11", - "@esbuild/sunos-x64": "0.18.11", - "@esbuild/win32-arm64": "0.18.11", - "@esbuild/win32-ia32": "0.18.11", - "@esbuild/win32-x64": "0.18.11" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/escodegen": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", - "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "node_modules/eslint": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz", - "integrity": "sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "^8.47.0", - "@humanwhocodes/config-array": "^0.11.10", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.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.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.33.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", - "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "array.prototype.tosorted": "^1.1.1", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.0.12", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "object.hasown": "^1.1.2", - "object.values": "^1.1.6", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.4", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.8" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", - "dev": true, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" - } - }, - "node_modules/eslint-plugin-react-refresh": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.3.tgz", - "integrity": "sha512-Hh0wv8bUNY877+sI0BlCUlsS0TYYQqvzEwJsJJPM2WF4RnTStSnSR3zdJYa2nPOJgg3UghXi54lVyMSmpCalzA==", - "dev": true, - "peerDependencies": { - "eslint": ">=7" - } - }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", - "dev": true, - "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/eslint/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/eslint/node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eslint/node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, - "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eslint/node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eslint/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/esm": { - "version": "3.2.25", - "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", - "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/express-rate-limit": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-6.9.0.tgz", - "integrity": "sha512-AnISR3V8qy4gpKM62/TzYdoFO9NV84fBx0POXzTryHU/qGUJBWuVGd+JhbvtVmKBv37t8/afmqdnv16xWoQxag==", - "engines": { - "node": ">= 14.0.0" - }, - "peerDependencies": { - "express": "^4 || ^5" - } - }, - "node_modules/express/node_modules/body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/express/node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "node_modules/fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fault": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/fault/-/fault-1.0.4.tgz", - "integrity": "sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==", - "dependencies": { - "format": "^0.2.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dev": true, - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/form-data-encoder": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.2.tgz", - "integrity": "sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==" - }, - "node_modules/format": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", - "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/formdata-node": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/formdata-node/-/formdata-node-4.4.1.tgz", - "integrity": "sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==", - "dependencies": { - "node-domexception": "1.0.0", - "web-streams-polyfill": "4.0.0-beta.3" - }, - "engines": { - "node": ">= 12.20" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fraction.js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", - "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", - "dev": true, - "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://www.patreon.com/infusion" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/fuse.js": { - "version": "6.6.2", - "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-6.6.2.tgz", - "integrity": "sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==", - "engines": { - "node": ">=10" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hast-util-embedded": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hast-util-embedded/-/hast-util-embedded-2.0.1.tgz", - "integrity": "sha512-QUdSOP1/o+/TxXtpPFXR2mUg2P+ySrmlX7QjwHZCXqMFyYk7YmcGSvqRW+4XgXAoHifdE1t2PwFaQK33TqVjSw==", - "dependencies": { - "hast-util-is-element": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-from-dom": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/hast-util-from-dom/-/hast-util-from-dom-4.2.0.tgz", - "integrity": "sha512-t1RJW/OpJbCAJQeKi3Qrj1cAOLA0+av/iPFori112+0X7R3wng+jxLA+kXec8K4szqPRGI8vPxbbpEYvvpwaeQ==", - "dependencies": { - "hastscript": "^7.0.0", - "web-namespaces": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-from-parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-7.1.2.tgz", - "integrity": "sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==", - "dependencies": { - "@types/hast": "^2.0.0", - "@types/unist": "^2.0.0", - "hastscript": "^7.0.0", - "property-information": "^6.0.0", - "vfile": "^5.0.0", - "vfile-location": "^4.0.0", - "web-namespaces": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-has-property": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-2.0.1.tgz", - "integrity": "sha512-X2+RwZIMTMKpXUzlotatPzWj8bspCymtXH3cfG3iQKV+wPF53Vgaqxi/eLqGck0wKq1kS9nvoB1wchbCPEL8sg==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-is-body-ok-link": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hast-util-is-body-ok-link/-/hast-util-is-body-ok-link-2.0.0.tgz", - "integrity": "sha512-S58hCexyKdD31vMsErvgLfflW6vYWo/ixRLPJTtkOvLld24vyI8vmYmkgLA5LG3la2ME7nm7dLGdm48gfLRBfw==", - "dependencies": { - "@types/hast": "^2.0.0", - "hast-util-has-property": "^2.0.0", - "hast-util-is-element": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-is-element": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-2.1.3.tgz", - "integrity": "sha512-O1bKah6mhgEq2WtVMk+Ta5K7pPMqsBBlmzysLdcwKVrqzZQ0CHqUPiIVspNhAG1rvxpvJjtGee17XfauZYKqVA==", - "dependencies": { - "@types/hast": "^2.0.0", - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-parse-selector": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz", - "integrity": "sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==", - "dependencies": { - "@types/hast": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-phrasing": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hast-util-phrasing/-/hast-util-phrasing-2.0.2.tgz", - "integrity": "sha512-yGkCfPkkfCyiLfK6KEl/orMDr/zgCnq/NaO9HfULx6/Zga5fso5eqQA5Ov/JZVqACygvw9shRYWgXNcG2ilo7w==", - "dependencies": { - "@types/hast": "^2.0.0", - "hast-util-embedded": "^2.0.0", - "hast-util-has-property": "^2.0.0", - "hast-util-is-body-ok-link": "^2.0.0", - "hast-util-is-element": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-mdast": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/hast-util-to-mdast/-/hast-util-to-mdast-8.4.1.tgz", - "integrity": "sha512-tfmBLASuCgyhCzpkTXM5kU8xeuS5jkMZ17BYm2YftGT5wvgc7uHXTZ/X8WfNd6F5NV/IGmrLsuahZ+jXQir4zQ==", - "dependencies": { - "@types/extend": "^3.0.0", - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "extend": "^3.0.0", - "hast-util-has-property": "^2.0.0", - "hast-util-is-element": "^2.0.0", - "hast-util-phrasing": "^2.0.0", - "hast-util-to-text": "^3.0.0", - "mdast-util-phrasing": "^3.0.0", - "mdast-util-to-string": "^3.0.0", - "rehype-minify-whitespace": "^5.0.0", - "trim-trailing-lines": "^2.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-text": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-3.1.2.tgz", - "integrity": "sha512-tcllLfp23dJJ+ju5wCCZHVpzsQQ43+moJbqVX3jNWPB7z/KFC4FyZD6R7y94cHL6MQ33YtMZL8Z0aIXXI4XFTw==", - "dependencies": { - "@types/hast": "^2.0.0", - "@types/unist": "^2.0.0", - "hast-util-is-element": "^2.0.0", - "unist-util-find-after": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-whitespace": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.0.tgz", - "integrity": "sha512-Pkw+xBHuV6xFeJprJe2BBEoDV+AvQySaz3pPDRUs5PNZEMQjpXJJueqrpcHIXxnWTcAGi/UOCgVShlkY6kLoqg==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hastscript": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-7.2.0.tgz", - "integrity": "sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==", - "dependencies": { - "@types/hast": "^2.0.0", - "comma-separated-tokens": "^2.0.0", - "hast-util-parse-selector": "^3.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/helmet": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/helmet/-/helmet-7.0.0.tgz", - "integrity": "sha512-MsIgYmdBh460ZZ8cJC81q4XJknjG567wzEmv46WOBblDb6TUd3z8/GhgmsM9pn8g2B80tAJ4m5/d3Bi1KrSUBQ==", - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/highlight.js": { - "version": "10.7.3", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", - "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", - "engines": { - "node": "*" - } - }, - "node_modules/html-encoding-sniffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", - "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", - "dependencies": { - "whatwg-encoding": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", - "dependencies": { - "ms": "^2.0.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/inline-style-parser": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", - "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" - }, - "node_modules/internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", - "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-alphabetical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", - "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-alphanumerical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", - "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", - "dependencies": { - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-async-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", - "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "engines": { - "node": ">=4" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz", - "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-decimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", - "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-finalizationregistry": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", - "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-hexadecimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", - "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" - }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-set": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakset": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/iterator.prototype": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.0.tgz", - "integrity": "sha512-rjuhAk1AJ1fssphHD0IFV6TWL40CwRZ53FrztKx43yk2v6rguBYsY4Bj1VU4HmoMmKwZUlx7mfnhDf9cOp4YTw==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "has-tostringtag": "^1.0.0", - "reflect.getprototypeof": "^1.0.3" - } - }, - "node_modules/jiti": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz", - "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==", - "dev": true, - "bin": { - "jiti": "bin/jiti.js" - } - }, - "node_modules/js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsdom": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", - "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", - "dependencies": { - "abab": "^2.0.6", - "acorn": "^8.8.1", - "acorn-globals": "^7.0.0", - "cssom": "^0.5.0", - "cssstyle": "^2.3.0", - "data-urls": "^3.0.2", - "decimal.js": "^10.4.2", - "domexception": "^4.0.0", - "escodegen": "^2.0.0", - "form-data": "^4.0.0", - "html-encoding-sniffer": "^3.0.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.1", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.2", - "parse5": "^7.1.1", - "saxes": "^6.0.0", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.1.2", - "w3c-xmlserializer": "^4.0.0", - "webidl-conversions": "^7.0.0", - "whatwg-encoding": "^2.0.0", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0", - "ws": "^8.11.0", - "xml-name-validator": "^4.0.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, - "node_modules/jsdom/node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "dependencies": { - "entities": "^4.4.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsx-ast-utils": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", - "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.5", - "object.assign": "^4.1.3" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/katex": { - "version": "0.16.4", - "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.4.tgz", - "integrity": "sha512-WudRKUj8yyBeVDI4aYMNxhx5Vhh2PjpzQw1GRu/LVGqL4m1AxwD1GcUp0IMbdJaf5zsjtj8ghP0DOQRYhroNkw==", - "funding": [ - "https://opencollective.com/katex", - "https://github.com/sponsors/katex" - ], - "dependencies": { - "commander": "^8.0.0" - }, - "bin": { - "katex": "cli.js" - } - }, - "node_modules/kleur": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", - "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/longest-streak": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", - "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lowlight": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/lowlight/-/lowlight-1.20.0.tgz", - "integrity": "sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==", - "dependencies": { - "fault": "^1.0.0", - "highlight.js": "~10.7.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/markdown-table": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz", - "integrity": "sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/mathjax-full": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/mathjax-full/-/mathjax-full-3.2.2.tgz", - "integrity": "sha512-+LfG9Fik+OuI8SLwsiR02IVdjcnRCy5MufYLi0C3TdMT56L/pjB0alMVGgoWJF8pN9Rc7FESycZB9BMNWIid5w==", - "dependencies": { - "esm": "^3.2.25", - "mhchemparser": "^4.1.0", - "mj-context-menu": "^0.6.1", - "speech-rule-engine": "^4.0.6" - } - }, - "node_modules/md5": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", - "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", - "dependencies": { - "charenc": "0.0.2", - "crypt": "0.0.2", - "is-buffer": "~1.1.6" - } - }, - "node_modules/md5/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/mdast-util-definitions": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.1.tgz", - "integrity": "sha512-rQ+Gv7mHttxHOBx2dkF4HWTg+EE+UR78ptQWDylzPKaQuVGdG4HIoY3SrS/pCp80nZ04greFvXbVFHT+uf0JVQ==", - "dependencies": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "unist-util-visit": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-find-and-replace": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.2.tgz", - "integrity": "sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==", - "dependencies": { - "@types/mdast": "^3.0.0", - "escape-string-regexp": "^5.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mdast-util-from-markdown": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.2.0.tgz", - "integrity": "sha512-iZJyyvKD1+K7QX1b5jXdE7Sc5dtoTry1vzV28UZZe8Z1xVnB/czKntJ7ZAkG0tANqRnBF6p3p7GpU1y19DTf2Q==", - "dependencies": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "decode-named-character-reference": "^1.0.0", - "mdast-util-to-string": "^3.1.0", - "micromark": "^3.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-decode-string": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "unist-util-stringify-position": "^3.0.0", - "uvu": "^0.5.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-2.0.2.tgz", - "integrity": "sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==", - "dependencies": { - "mdast-util-from-markdown": "^1.0.0", - "mdast-util-gfm-autolink-literal": "^1.0.0", - "mdast-util-gfm-footnote": "^1.0.0", - "mdast-util-gfm-strikethrough": "^1.0.0", - "mdast-util-gfm-table": "^1.0.0", - "mdast-util-gfm-task-list-item": "^1.0.0", - "mdast-util-to-markdown": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-autolink-literal": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.3.tgz", - "integrity": "sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==", - "dependencies": { - "@types/mdast": "^3.0.0", - "ccount": "^2.0.0", - "mdast-util-find-and-replace": "^2.0.0", - "micromark-util-character": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-footnote": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.2.tgz", - "integrity": "sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==", - "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-to-markdown": "^1.3.0", - "micromark-util-normalize-identifier": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-strikethrough": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.3.tgz", - "integrity": "sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==", - "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-to-markdown": "^1.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-table": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.7.tgz", - "integrity": "sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==", - "dependencies": { - "@types/mdast": "^3.0.0", - "markdown-table": "^3.0.0", - "mdast-util-from-markdown": "^1.0.0", - "mdast-util-to-markdown": "^1.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-task-list-item": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.2.tgz", - "integrity": "sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==", - "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-to-markdown": "^1.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-math": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-math/-/mdast-util-math-2.0.2.tgz", - "integrity": "sha512-8gmkKVp9v6+Tgjtq6SYx9kGPpTf6FVYRa53/DLh479aldR9AyP48qeVOgNZ5X7QUK7nOy4yw7vg6mbiGcs9jWQ==", - "dependencies": { - "@types/mdast": "^3.0.0", - "longest-streak": "^3.0.0", - "mdast-util-to-markdown": "^1.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-phrasing": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz", - "integrity": "sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==", - "dependencies": { - "@types/mdast": "^3.0.0", - "unist-util-is": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-hast": { - "version": "12.2.4", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.2.4.tgz", - "integrity": "sha512-a21xoxSef1l8VhHxS1Dnyioz6grrJkoaCUgGzMD/7dWHvboYX3VW53esRUfB5tgTyz4Yos1n25SPcj35dJqmAg==", - "dependencies": { - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "mdast-util-definitions": "^5.0.0", - "micromark-util-sanitize-uri": "^1.1.0", - "trim-lines": "^3.0.0", - "unist-builder": "^3.0.0", - "unist-util-generated": "^2.0.0", - "unist-util-position": "^4.0.0", - "unist-util-visit": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-markdown": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.5.0.tgz", - "integrity": "sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==", - "dependencies": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "longest-streak": "^3.0.0", - "mdast-util-phrasing": "^3.0.0", - "mdast-util-to-string": "^3.0.0", - "micromark-util-decode-string": "^1.0.0", - "unist-util-visit": "^4.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz", - "integrity": "sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/memory-pager": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", - "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", - "optional": true - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mhchemparser": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/mhchemparser/-/mhchemparser-4.1.1.tgz", - "integrity": "sha512-R75CUN6O6e1t8bgailrF1qPq+HhVeFTM3XQ0uzI+mXTybmphy3b6h4NbLOYhemViQ3lUs+6CKRkC3Ws1TlYREA==" - }, - "node_modules/micromark": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.1.0.tgz", - "integrity": "sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "micromark-core-commonmark": "^1.0.1", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-combine-extensions": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-sanitize-uri": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" - } - }, - "node_modules/micromark-core-commonmark": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz", - "integrity": "sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-factory-destination": "^1.0.0", - "micromark-factory-label": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-factory-title": "^1.0.0", - "micromark-factory-whitespace": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-classify-character": "^1.0.0", - "micromark-util-html-tag-name": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" - } - }, - "node_modules/micromark-extension-gfm": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-2.0.1.tgz", - "integrity": "sha512-p2sGjajLa0iYiGQdT0oelahRYtMWvLjy8J9LOCxzIQsllMCGLbsLW+Nc+N4vi02jcRJvedVJ68cjelKIO6bpDA==", - "dependencies": { - "micromark-extension-gfm-autolink-literal": "^1.0.0", - "micromark-extension-gfm-footnote": "^1.0.0", - "micromark-extension-gfm-strikethrough": "^1.0.0", - "micromark-extension-gfm-table": "^1.0.0", - "micromark-extension-gfm-tagfilter": "^1.0.0", - "micromark-extension-gfm-task-list-item": "^1.0.0", - "micromark-util-combine-extensions": "^1.0.0", - "micromark-util-types": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-autolink-literal": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.3.tgz", - "integrity": "sha512-i3dmvU0htawfWED8aHMMAzAVp/F0Z+0bPh3YrbTPPL1v4YAlCZpy5rBO5p0LPYiZo0zFVkoYh7vDU7yQSiCMjg==", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-sanitize-uri": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-footnote": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.0.4.tgz", - "integrity": "sha512-E/fmPmDqLiMUP8mLJ8NbJWJ4bTw6tS+FEQS8CcuDtZpILuOb2kjLqPEeAePF1djXROHXChM/wPJw0iS4kHCcIg==", - "dependencies": { - "micromark-core-commonmark": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-sanitize-uri": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-strikethrough": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.4.tgz", - "integrity": "sha512-/vjHU/lalmjZCT5xt7CcHVJGq8sYRm80z24qAKXzaHzem/xsDYb2yLL+NNVbYvmpLx3O7SYPuGL5pzusL9CLIQ==", - "dependencies": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-classify-character": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-table": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.5.tgz", - "integrity": "sha512-xAZ8J1X9W9K3JTJTUL7G6wSKhp2ZYHrFk5qJgY/4B33scJzE2kpfRL6oiw/veJTbt7jiM/1rngLlOKPWr1G+vg==", - "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-tagfilter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-1.0.1.tgz", - "integrity": "sha512-Ty6psLAcAjboRa/UKUbbUcwjVAv5plxmpUTy2XC/3nJFL37eHej8jrHrRzkqcpipJliuBH30DTs7+3wqNcQUVA==", - "dependencies": { - "micromark-util-types": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-task-list-item": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.3.tgz", - "integrity": "sha512-PpysK2S1Q/5VXi72IIapbi/jliaiOFzv7THH4amwXeYXLq3l1uo8/2Be0Ac1rEwK20MQEsGH2ltAZLNY2KI/0Q==", - "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-math": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-math/-/micromark-extension-math-2.1.0.tgz", - "integrity": "sha512-WH+fJkveMvM3ZN+deb/jT3UW623x8xO9ycfJNDC+UQXX+V72RO6hT9KqxA7c8XFwozAFJ7tufOeG+x/CVSXHUw==", - "dependencies": { - "@types/katex": "^0.16.0", - "katex": "^0.16.0", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-factory-destination": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz", - "integrity": "sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-factory-label": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz", - "integrity": "sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "node_modules/micromark-factory-space": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz", - "integrity": "sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-factory-title": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz", - "integrity": "sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "node_modules/micromark-factory-whitespace": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz", - "integrity": "sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-util-character": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.1.0.tgz", - "integrity": "sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-util-chunked": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz", - "integrity": "sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/micromark-util-classify-character": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz", - "integrity": "sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-util-combine-extensions": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz", - "integrity": "sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-util-decode-numeric-character-reference": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz", - "integrity": "sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/micromark-util-decode-string": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz", - "integrity": "sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/micromark-util-encode": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz", - "integrity": "sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/micromark-util-html-tag-name": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.1.0.tgz", - "integrity": "sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/micromark-util-normalize-identifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz", - "integrity": "sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/micromark-util-resolve-all": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz", - "integrity": "sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-util-sanitize-uri": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.1.0.tgz", - "integrity": "sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/micromark-util-subtokenize": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz", - "integrity": "sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "node_modules/micromark-util-symbol": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz", - "integrity": "sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/micromark-util-types": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.0.2.tgz", - "integrity": "sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/mj-context-menu": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/mj-context-menu/-/mj-context-menu-0.6.1.tgz", - "integrity": "sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA==" - }, - "node_modules/mongodb": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-5.7.0.tgz", - "integrity": "sha512-zm82Bq33QbqtxDf58fLWBwTjARK3NSvKYjyz997KSy6hpat0prjeX/kxjbPVyZY60XYPDNETaHkHJI2UCzSLuw==", - "dependencies": { - "bson": "^5.4.0", - "mongodb-connection-string-url": "^2.6.0", - "socks": "^2.7.1" - }, - "engines": { - "node": ">=14.20.1" - }, - "optionalDependencies": { - "saslprep": "^1.0.3" - }, - "peerDependencies": { - "@aws-sdk/credential-providers": "^3.201.0", - "@mongodb-js/zstd": "^1.1.0", - "kerberos": "^2.0.1", - "mongodb-client-encryption": ">=2.3.0 <3", - "snappy": "^7.2.2" - }, - "peerDependenciesMeta": { - "@aws-sdk/credential-providers": { - "optional": true - }, - "@mongodb-js/zstd": { - "optional": true - }, - "kerberos": { - "optional": true - }, - "mongodb-client-encryption": { - "optional": true - }, - "snappy": { - "optional": true - } - } - }, - "node_modules/mongodb-connection-string-url": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.6.0.tgz", - "integrity": "sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ==", - "dependencies": { - "@types/whatwg-url": "^8.2.1", - "whatwg-url": "^11.0.0" - } - }, - "node_modules/mri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", - "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "dev": true, - "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "node_modules/nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/node-domexception": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", - "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/jimmywarting" - }, - { - "type": "github", - "url": "https://paypal.me/jimmywarting" - } - ], - "engines": { - "node": ">=10.5.0" - } - }, - "node_modules/node-fetch": { - "version": "2.6.13", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.13.tgz", - "integrity": "sha512-StxNAxh15zr77QvvkmveSQ8uCQ4+v5FkvNTj0OESmiHu+VRi/gXArXtkWMElOsOUNLtUEvI4yS+rdtOHZTwlQA==", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/node-fetch/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "node_modules/node-fetch/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "node_modules/node-fetch/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", - "dev": true - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nwsapi": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", - "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==" - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.hasown": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", - "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/openai": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/openai/-/openai-4.0.1.tgz", - "integrity": "sha512-UanMv/kCD/ylgOdBrkkRgkoFXdfENrXYWNvYdvPttXZaEJmRVY9MZSknlkWYH7iPMX6tTcz6szbI2d3O04UFag==", - "dependencies": { - "@types/node": "^18.11.18", - "@types/node-fetch": "^2.6.4", - "abort-controller": "^3.0.0", - "agentkeepalive": "^4.2.1", - "digest-fetch": "^1.3.0", - "form-data-encoder": "1.7.2", - "formdata-node": "^4.3.2", - "node-fetch": "^2.6.7" - }, - "bin": { - "openai": "bin/cli" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-entities": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", - "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", - "dependencies": { - "character-entities": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "character-reference-invalid": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-hexadecimal": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/parse-entities/node_modules/character-entities": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", - "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/postcss": { - "version": "8.4.28", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.28.tgz", - "integrity": "sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-import": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", - "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/postcss-js": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", - "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", - "dev": true, - "dependencies": { - "camelcase-css": "^2.0.1" - }, - "engines": { - "node": "^12 || ^14 || >= 16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.4.21" - } - }, - "node_modules/postcss-load-config": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", - "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", - "dev": true, - "dependencies": { - "lilconfig": "^2.0.5", - "yaml": "^2.1.1" - }, - "engines": { - "node": ">= 14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/postcss-nested": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", - "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.11" - }, - "engines": { - "node": ">=12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.2.14" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.12", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.12.tgz", - "integrity": "sha512-NdxGCAZdRrwVI1sy59+Wzrh+pMMHxapGnpfenDVlMEXoOcvt4pGE0JLK9YY2F5dLxcFYA/YbVQKhcGU+FtSYQg==", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true - }, - "node_modules/prismjs": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", - "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", - "engines": { - "node": ">=6" - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/prop-types/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "node_modules/property-information": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.1.1.tgz", - "integrity": "sha512-hrzC564QIl0r0vy4l6MvRLhafmUowhO/O3KgVSoXIbbA2Sz4j8HGpJc6T2cubRVwMwpdiG/vKGfhT4IixmKN9w==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" - }, - "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-contenteditable": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/react-contenteditable/-/react-contenteditable-3.3.7.tgz", - "integrity": "sha512-GA9NbC0DkDdpN3iGvib/OMHWTJzDX2cfkgy5Tt98JJAbA3kLnyrNbBIpsSpPpq7T8d3scD39DHP+j8mAM7BIfQ==", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "prop-types": "^15.7.1" - }, - "peerDependencies": { - "react": ">=16.3" - } - }, - "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - }, - "peerDependencies": { - "react": "^18.2.0" - } - }, - "node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - }, - "node_modules/react-markdown": { - "version": "8.0.7", - "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-8.0.7.tgz", - "integrity": "sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ==", - "dependencies": { - "@types/hast": "^2.0.0", - "@types/prop-types": "^15.0.0", - "@types/unist": "^2.0.0", - "comma-separated-tokens": "^2.0.0", - "hast-util-whitespace": "^2.0.0", - "prop-types": "^15.0.0", - "property-information": "^6.0.0", - "react-is": "^18.0.0", - "remark-parse": "^10.0.0", - "remark-rehype": "^10.0.0", - "space-separated-tokens": "^2.0.0", - "style-to-object": "^0.4.0", - "unified": "^10.0.0", - "unist-util-visit": "^4.0.0", - "vfile": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - }, - "peerDependencies": { - "@types/react": ">=16", - "react": ">=16" - } - }, - "node_modules/react-markdown/node_modules/unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", - "dependencies": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/react-refresh": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", - "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-router": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.15.0.tgz", - "integrity": "sha512-NIytlzvzLwJkCQj2HLefmeakxxWHWAP+02EGqWEZy+DgfHHKQMUoBBjUQLOtFInBMhWtb3hiUy6MfFgwLjXhqg==", - "dependencies": { - "@remix-run/router": "1.8.0" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "react": ">=16.8" - } - }, - "node_modules/react-router-dom": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.15.0.tgz", - "integrity": "sha512-aR42t0fs7brintwBGAv2+mGlCtgtFQeOzK0BM1/OiqEzRejOZtpMZepvgkscpMUnKb8YO84G7s3LsHnnDNonbQ==", - "dependencies": { - "@remix-run/router": "1.8.0", - "react-router": "6.15.0" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "react": ">=16.8", - "react-dom": ">=16.8" - } - }, - "node_modules/react-syntax-highlighter": { - "version": "15.5.0", - "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-15.5.0.tgz", - "integrity": "sha512-+zq2myprEnQmH5yw6Gqc8lD55QHnpKaU8TOcFeC/Lg/MQSs8UknEA0JC4nTZGFAXC2J2Hyj/ijJ7NlabyPi2gg==", - "dependencies": { - "@babel/runtime": "^7.3.1", - "highlight.js": "^10.4.1", - "lowlight": "^1.17.0", - "prismjs": "^1.27.0", - "refractor": "^3.6.0" - }, - "peerDependencies": { - "react": ">= 0.14.0" - } - }, - "node_modules/read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "dev": true, - "dependencies": { - "pify": "^2.3.0" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/reflect.getprototypeof": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.3.tgz", - "integrity": "sha512-TTAOZpkJ2YLxl7mVHWrNo3iDMEkYlva/kgFcXndqMgbo/AZUmmavEkdXV+hXtE4P8xdyEKRzalaFqZVuwIk/Nw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.1", - "globalthis": "^1.0.3", - "which-builtin-type": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/refractor": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/refractor/-/refractor-3.6.0.tgz", - "integrity": "sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==", - "dependencies": { - "hastscript": "^6.0.0", - "parse-entities": "^2.0.0", - "prismjs": "~1.27.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/refractor/node_modules/comma-separated-tokens": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", - "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/refractor/node_modules/hast-util-parse-selector": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz", - "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/refractor/node_modules/hastscript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz", - "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==", - "dependencies": { - "@types/hast": "^2.0.0", - "comma-separated-tokens": "^1.0.0", - "hast-util-parse-selector": "^2.0.0", - "property-information": "^5.0.0", - "space-separated-tokens": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/refractor/node_modules/prismjs": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.27.0.tgz", - "integrity": "sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/refractor/node_modules/property-information": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz", - "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==", - "dependencies": { - "xtend": "^4.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/refractor/node_modules/space-separated-tokens": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", - "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/rehype-mathjax": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/rehype-mathjax/-/rehype-mathjax-4.0.3.tgz", - "integrity": "sha512-QIwWH9U+r54nMQklVkT1qluxhKyzdPWz9dFwgel3BrseQsWZafRTDTUj8VR8/14nFuRIV2ChuCMz4zpACPoYvg==", - "dependencies": { - "@types/hast": "^2.0.0", - "@types/mathjax": "^0.0.37", - "hast-util-from-dom": "^4.0.0", - "hast-util-to-text": "^3.1.0", - "jsdom": "^20.0.0", - "mathjax-full": "^3.0.0", - "unified": "^10.0.0", - "unist-util-visit": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-mathjax/node_modules/unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", - "dependencies": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-minify-whitespace": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/rehype-minify-whitespace/-/rehype-minify-whitespace-5.0.1.tgz", - "integrity": "sha512-PPp4lWJiBPlePI/dv1BeYktbwkfgXkrK59MUa+tYbMPgleod+4DvFK2PLU0O0O60/xuhHfiR9GUIUlXTU8sRIQ==", - "dependencies": { - "@types/hast": "^2.0.0", - "hast-util-embedded": "^2.0.0", - "hast-util-is-element": "^2.0.0", - "hast-util-whitespace": "^2.0.0", - "unified": "^10.0.0", - "unist-util-is": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-minify-whitespace/node_modules/unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", - "dependencies": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-parse": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-8.0.4.tgz", - "integrity": "sha512-MJJKONunHjoTh4kc3dsM1v3C9kGrrxvA3U8PxZlP2SjH8RNUSrb+lF7Y0KVaUDnGH2QZ5vAn7ulkiajM9ifuqg==", - "dependencies": { - "@types/hast": "^2.0.0", - "hast-util-from-parse5": "^7.0.0", - "parse5": "^6.0.0", - "unified": "^10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-parse/node_modules/unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", - "dependencies": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-remark": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/rehype-remark/-/rehype-remark-9.1.2.tgz", - "integrity": "sha512-c0fG3/CrJ95zAQ07xqHSkdpZybwdsY7X5dNWvgL2XqLKZuqmG3+vk6kP/4miCnp+R+x/0uKKRSpfXb9aGR8Z5w==", - "dependencies": { - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "hast-util-to-mdast": "^8.3.0", - "unified": "^10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-remark/node_modules/unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", - "dependencies": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-gfm": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-3.0.1.tgz", - "integrity": "sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==", - "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-gfm": "^2.0.0", - "micromark-extension-gfm": "^2.0.0", - "unified": "^10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-gfm/node_modules/unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", - "dependencies": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-math": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/remark-math/-/remark-math-5.1.1.tgz", - "integrity": "sha512-cE5T2R/xLVtfFI4cCePtiRn+e6jKMtFDR3P8V3qpv8wpKjwvHoBA4eJzvX+nVrnlNy0911bdGmuspCSwetfYHw==", - "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-math": "^2.0.0", - "micromark-extension-math": "^2.0.0", - "unified": "^10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-math/node_modules/unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", - "dependencies": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-parse": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.1.tgz", - "integrity": "sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==", - "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-from-markdown": "^1.0.0", - "unified": "^10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-parse/node_modules/unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", - "dependencies": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-rehype": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz", - "integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==", - "dependencies": { - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "mdast-util-to-hast": "^12.1.0", - "unified": "^10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-rehype/node_modules/unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", - "dependencies": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-stringify": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-10.0.3.tgz", - "integrity": "sha512-koyOzCMYoUHudypbj4XpnAKFbkddRMYZHwghnxd7ue5210WzGw6kOBwauJTRUMq16jsovXx8dYNvSSWP89kZ3A==", - "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-to-markdown": "^1.0.0", - "unified": "^10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-stringify/node_modules/unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", - "dependencies": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remove-markdown": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/remove-markdown/-/remove-markdown-0.5.0.tgz", - "integrity": "sha512-x917M80K97K5IN1L8lUvFehsfhR8cYjGQ/yAMRI9E7JIKivtl5Emo5iD13DhMr+VojzMCiYk8V2byNPwT/oapg==" - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" - }, - "node_modules/resolve": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", - "dev": true, - "dependencies": { - "is-core-module": "^2.11.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rollup": { - "version": "3.28.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.28.0.tgz", - "integrity": "sha512-d7zhvo1OUY2SXSM6pfNjgD5+d0Nz87CUp4mt8l/GgVP3oBsPwzNvSzyu1me6BSG9JIgWNTVcafIXBIyM8yQ3yw==", - "dev": true, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=14.18.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/sade": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", - "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", - "dependencies": { - "mri": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/safe-array-concat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", - "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/saslprep": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz", - "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==", - "optional": true, - "dependencies": { - "sparse-bitfield": "^3.0.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/saxes": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", - "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=v12.22.7" - } - }, - "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", - "dependencies": { - "loose-envify": "^1.1.0" - } - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socket.io": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.2.tgz", - "integrity": "sha512-bvKVS29/I5fl2FGLNHuXlQaUH/BlzX1IN6S+NKLNZpBsPZIDH+90eQmCs2Railn4YUiww4SzUedJ6+uzwFnKLw==", - "dependencies": { - "accepts": "~1.3.4", - "base64id": "~2.0.0", - "cors": "~2.8.5", - "debug": "~4.3.2", - "engine.io": "~6.5.2", - "socket.io-adapter": "~2.5.2", - "socket.io-parser": "~4.2.4" - }, - "engines": { - "node": ">=10.2.0" - } - }, - "node_modules/socket.io-adapter": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz", - "integrity": "sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==", - "dependencies": { - "ws": "~8.11.0" - } - }, - "node_modules/socket.io-adapter/node_modules/ws": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", - "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/socket.io-client": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.2.tgz", - "integrity": "sha512-vtA0uD4ibrYD793SOIAwlo8cj6haOeMHrGvwPxJsxH7CeIksqJ+3Zc06RvWTIFgiSqx4A3sOnTXpfAEE2Zyz6w==", - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.2", - "engine.io-client": "~6.5.2", - "socket.io-parser": "~4.2.4" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/socket.io-parser": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", - "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/socks": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", - "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", - "dependencies": { - "ip": "^2.0.0", - "smart-buffer": "^4.2.0" - }, - "engines": { - "node": ">= 10.13.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/space-separated-tokens": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.1.tgz", - "integrity": "sha512-ekwEbFp5aqSPKaqeY1PGrlGQxPNaq+Cnx4+bE2D8sciBQrHpbwoBbawqTN2+6jPs9IdWxxiUcN0K2pkczD3zmw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/sparse-bitfield": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", - "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==", - "optional": true, - "dependencies": { - "memory-pager": "^1.0.2" - } - }, - "node_modules/speech-rule-engine": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.0.7.tgz", - "integrity": "sha512-sJrL3/wHzNwJRLBdf6CjJWIlxC04iYKkyXvYSVsWVOiC2DSkHmxsqOhEeMsBA9XK+CHuNcsdkbFDnoUfAsmp9g==", - "dependencies": { - "commander": "9.2.0", - "wicked-good-xpath": "1.3.0", - "xmldom-sre": "0.1.31" - }, - "bin": { - "sre": "bin/sre" - } - }, - "node_modules/speech-rule-engine/node_modules/commander": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.2.0.tgz", - "integrity": "sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==", - "engines": { - "node": "^12.20.0 || >=14" - } - }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/style-to-object": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.1.tgz", - "integrity": "sha512-HFpbb5gr2ypci7Qw+IOhnP2zOU7e77b+rzM+wTzXzfi1PrtBCX0E7Pk4wL4iTLnhzZ+JgEGAhX81ebTg/aYjQw==", - "dependencies": { - "inline-style-parser": "0.1.1" - } - }, - "node_modules/sucrase": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz", - "integrity": "sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.2", - "commander": "^4.0.0", - "glob": "7.1.6", - "lines-and-columns": "^1.1.6", - "mz": "^2.7.0", - "pirates": "^4.0.1", - "ts-interface-checker": "^0.1.9" - }, - "bin": { - "sucrase": "bin/sucrase", - "sucrase-node": "bin/sucrase-node" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/sucrase/node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/sucrase/node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" - }, - "node_modules/tailwindcss": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.3.tgz", - "integrity": "sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==", - "dev": true, - "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "arg": "^5.0.2", - "chokidar": "^3.5.3", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.2.12", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "jiti": "^1.18.2", - "lilconfig": "^2.1.0", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.23", - "postcss-import": "^15.1.0", - "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.1", - "postcss-nested": "^6.0.1", - "postcss-selector-parser": "^6.0.11", - "resolve": "^1.22.2", - "sucrase": "^3.32.0" - }, - "bin": { - "tailwind": "lib/cli.js", - "tailwindcss": "lib/cli.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "node_modules/thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "dev": true, - "dependencies": { - "any-promise": "^1.0.0" - } - }, - "node_modules/thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", - "dev": true, - "dependencies": { - "thenify": ">= 3.1.0 < 4" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/tough-cookie": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", - "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tr46": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/trim-lines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", - "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/trim-trailing-lines": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-2.1.0.tgz", - "integrity": "sha512-5UR5Biq4VlVOtzqkm2AZlgvSlDJtME46uV0br0gENbwN4l5+mMKT4b9gJKqWtuL2zAIqajGJGuvbCbcAJUZqBg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/trough": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", - "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/ts-interface-checker": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", - "dev": true - }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typed-array-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/unified": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.2.tgz", - "integrity": "sha512-Zta++onvS/dJ6xUvXQOR5q8XJZOkiMCE5wQ8Yv9mLR25pxRS567EX0GO6HZRxxNV/lznwfsvRZ/1pqe9K9QLeQ==", - "dependencies": { - "@types/unist": "^3.0.0", - "@ungap/structured-clone": "^1.0.0", - "bail": "^2.0.0", - "devlop": "^1.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unified/node_modules/@types/unist": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.0.tgz", - "integrity": "sha512-MFETx3tbTjE7Uk6vvnWINA/1iJ7LuMdO4fcq8UfF0pRbj01aGLduVvQcRyswuACJdpnHgg8E3rQLhaRdNEJS0w==" - }, - "node_modules/unified/node_modules/unist-util-stringify-position": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", - "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unified/node_modules/vfile": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", - "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unified/node_modules/vfile-message": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", - "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-builder": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-3.0.0.tgz", - "integrity": "sha512-GFxmfEAa0vi9i5sd0R2kcrI9ks0r82NasRq5QHh2ysGngrc6GiqD5CDf1FjPenY4vApmFASBIIlk/jj5J5YbmQ==", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-find-after": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-4.0.1.tgz", - "integrity": "sha512-QO/PuPMm2ERxC6vFXEPtmAutOopy5PknD+Oq64gGwxKtk4xwo9Z97t9Av1obPmGU0IyTa6EKYUfTrK2QJS3Ozw==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-generated": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.0.tgz", - "integrity": "sha512-TiWE6DVtVe7Ye2QxOVW9kqybs6cZexNwTwSMVgkfjEReqy/xwGpAXb99OxktoWwmL+Z+Epb0Dn8/GNDYP1wnUw==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-is": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz", - "integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-position": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.3.tgz", - "integrity": "sha512-p/5EMGIa1qwbXjA+QgcBXaPWjSnZfQ2Sc3yBEEfgPwsEmJd8Qh+DSk3LGnmOM4S1bY2C0AjmMnB8RuEYxpPwXQ==", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-stringify-position": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.2.tgz", - "integrity": "sha512-7A6eiDCs9UtjcwZOcCpM4aPII3bAAGv13E96IkawkOAW0OhH+yRxtY0lzo8KiHpzEMfH7Q+FizUmwp8Iqy5EWg==", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.1.tgz", - "integrity": "sha512-n9KN3WV9k4h1DxYR1LoajgN93wpEi/7ZplVe02IoB4gH5ctI1AaF2670BLHQYbwj+pY83gFtyeySFiyMHJklrg==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.1.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit-parents": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.1.tgz", - "integrity": "sha512-gks4baapT/kNRaWxuGkl5BIhoanZo7sC/cUT/JToSRNL1dYoXRFl75d++NkjYk4TAu2uv2Px+l8guMajogeuiw==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uvu": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", - "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==", - "dependencies": { - "dequal": "^2.0.0", - "diff": "^5.0.0", - "kleur": "^4.0.3", - "sade": "^1.7.3" - }, - "bin": { - "uvu": "bin.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/vfile": { - "version": "5.3.5", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.5.tgz", - "integrity": "sha512-U1ho2ga33eZ8y8pkbQLH54uKqGhFJ6GYIHnnG5AhRpAh3OWjkrRHKa/KogbmQn8We+c0KVV3rTOgR9V/WowbXQ==", - "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-location": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-4.1.0.tgz", - "integrity": "sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==", - "dependencies": { - "@types/unist": "^2.0.0", - "vfile": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-message": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.2.tgz", - "integrity": "sha512-QjSNP6Yxzyycd4SVOtmKKyTsSvClqBPJcd00Z0zuPj3hOIjg0rUPG6DbFGPvUKRgYyaIWLPKpuEclcuvb3H8qA==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vite": { - "version": "4.4.9", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz", - "integrity": "sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==", - "dev": true, - "dependencies": { - "esbuild": "^0.18.10", - "postcss": "^8.4.27", - "rollup": "^3.27.1" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - }, - "peerDependencies": { - "@types/node": ">= 14", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } - } - }, - "node_modules/w3c-xmlserializer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", - "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", - "dependencies": { - "xml-name-validator": "^4.0.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/web-namespaces": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", - "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/web-streams-polyfill": { - "version": "4.0.0-beta.3", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz", - "integrity": "sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==", - "engines": { - "node": ">= 14" - } - }, - "node_modules/webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "engines": { - "node": ">=12" - } - }, - "node_modules/whatwg-encoding": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", - "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", - "dependencies": { - "iconv-lite": "0.6.3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/whatwg-mimetype": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", - "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", - "engines": { - "node": ">=12" - } - }, - "node_modules/whatwg-url": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", - "dependencies": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-builtin-type": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", - "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", - "dev": true, - "dependencies": { - "function.prototype.name": "^1.1.5", - "has-tostringtag": "^1.0.0", - "is-async-function": "^2.0.0", - "is-date-object": "^1.0.5", - "is-finalizationregistry": "^1.0.2", - "is-generator-function": "^1.0.10", - "is-regex": "^1.1.4", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-collection": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", - "dev": true, - "dependencies": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", - "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/wicked-good-xpath": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/wicked-good-xpath/-/wicked-good-xpath-1.3.0.tgz", - "integrity": "sha512-Gd9+TUn5nXdwj/hFsPVx5cuHHiF5Bwuc30jZ4+ronF1qHK5O7HD0sgmXWSEgwKquT3ClLoKPVbO6qGwVwLzvAw==" - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "node_modules/ws": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", - "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xml-name-validator": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", - "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", - "engines": { - "node": ">=12" - } - }, - "node_modules/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" - }, - "node_modules/xmldom-sre": { - "version": "0.1.31", - "resolved": "https://registry.npmjs.org/xmldom-sre/-/xmldom-sre-0.1.31.tgz", - "integrity": "sha512-f9s+fUkX04BxQf+7mMWAp5zk61pciie+fFLC9hX9UVvCeJQfNHRHXpeo5MPcR0EUf57PYLdt+ZO4f3Ipk2oZUw==", - "engines": { - "node": ">=0.1" - } - }, - "node_modules/xmlhttprequest-ssl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", - "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/yaml": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.2.tgz", - "integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==", - "dev": true, - "engines": { - "node": ">= 14" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zwitch": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", - "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - } - }, - "dependencies": { - "@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true - }, - "@alloc/quick-lru": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", - "dev": true - }, - "@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@babel/code-frame": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", - "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", - "dev": true, - "requires": { - "@babel/highlight": "^7.22.5" - } - }, - "@babel/compat-data": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", - "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", - "dev": true - }, - "@babel/core": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.9.tgz", - "integrity": "sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.9", - "@babel/helper-compilation-targets": "^7.22.9", - "@babel/helper-module-transforms": "^7.22.9", - "@babel/helpers": "^7.22.6", - "@babel/parser": "^7.22.7", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.8", - "@babel/types": "^7.22.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.1" - } - }, - "@babel/generator": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.9.tgz", - "integrity": "sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.9.tgz", - "integrity": "sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.5", - "browserslist": "^4.21.9", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - } - }, - "@babel/helper-environment-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", - "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", - "dev": true - }, - "@babel/helper-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", - "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", - "dev": true, - "requires": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-module-transforms": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", - "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.5" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", - "dev": true - }, - "@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", - "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", - "dev": true - }, - "@babel/helpers": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.6.tgz", - "integrity": "sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==", - "dev": true, - "requires": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.6", - "@babel/types": "^7.22.5" - } - }, - "@babel/highlight": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", - "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.22.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.22.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.7.tgz", - "integrity": "sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==", - "dev": true - }, - "@babel/plugin-transform-react-jsx-self": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.22.5.tgz", - "integrity": "sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-react-jsx-source": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.22.5.tgz", - "integrity": "sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/runtime": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", - "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", - "requires": { - "regenerator-runtime": "^0.13.11" - } - }, - "@babel/template": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", - "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/traverse": { - "version": "7.22.8", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.8.tgz", - "integrity": "sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.7", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.22.7", - "@babel/types": "^7.22.5", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", - "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "to-fast-properties": "^2.0.0" - } - }, - "@esbuild/android-arm": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.11.tgz", - "integrity": "sha512-q4qlUf5ucwbUJZXF5tEQ8LF7y0Nk4P58hOsGk3ucY0oCwgQqAnqXVbUuahCddVHfrxmpyewRpiTHwVHIETYu7Q==", - "dev": true, - "optional": true - }, - "@esbuild/android-arm64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.11.tgz", - "integrity": "sha512-snieiq75Z1z5LJX9cduSAjUr7vEI1OdlzFPMw0HH5YI7qQHDd3qs+WZoMrWYDsfRJSq36lIA6mfZBkvL46KoIw==", - "dev": true, - "optional": true - }, - "@esbuild/android-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.11.tgz", - "integrity": "sha512-iPuoxQEV34+hTF6FT7om+Qwziv1U519lEOvekXO9zaMMlT9+XneAhKL32DW3H7okrCOBQ44BMihE8dclbZtTuw==", - "dev": true, - "optional": true - }, - "@esbuild/darwin-arm64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.11.tgz", - "integrity": "sha512-Gm0QkI3k402OpfMKyQEEMG0RuW2LQsSmI6OeO4El2ojJMoF5NLYb3qMIjvbG/lbMeLOGiW6ooU8xqc+S0fgz2w==", - "dev": true, - "optional": true - }, - "@esbuild/darwin-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.11.tgz", - "integrity": "sha512-N15Vzy0YNHu6cfyDOjiyfJlRJCB/ngKOAvoBf1qybG3eOq0SL2Lutzz9N7DYUbb7Q23XtHPn6lMDF6uWbGv9Fw==", - "dev": true, - "optional": true - }, - "@esbuild/freebsd-arm64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.11.tgz", - "integrity": "sha512-atEyuq6a3omEY5qAh5jIORWk8MzFnCpSTUruBgeyN9jZq1K/QI9uke0ATi3MHu4L8c59CnIi4+1jDKMuqmR71A==", - "dev": true, - "optional": true - }, - "@esbuild/freebsd-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.11.tgz", - "integrity": "sha512-XtuPrEfBj/YYYnAAB7KcorzzpGTvOr/dTtXPGesRfmflqhA4LMF0Gh/n5+a9JBzPuJ+CGk17CA++Hmr1F/gI0Q==", - "dev": true, - "optional": true - }, - "@esbuild/linux-arm": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.11.tgz", - "integrity": "sha512-Idipz+Taso/toi2ETugShXjQ3S59b6m62KmLHkJlSq/cBejixmIydqrtM2XTvNCywFl3VC7SreSf6NV0i6sRyg==", - "dev": true, - "optional": true - }, - "@esbuild/linux-arm64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.11.tgz", - "integrity": "sha512-c6Vh2WS9VFKxKZ2TvJdA7gdy0n6eSy+yunBvv4aqNCEhSWVor1TU43wNRp2YLO9Vng2G+W94aRz+ILDSwAiYog==", - "dev": true, - "optional": true - }, - "@esbuild/linux-ia32": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.11.tgz", - "integrity": "sha512-S3hkIF6KUqRh9n1Q0dSyYcWmcVa9Cg+mSoZEfFuzoYXXsk6196qndrM+ZiHNwpZKi3XOXpShZZ+9dfN5ykqjjw==", - "dev": true, - "optional": true - }, - "@esbuild/linux-loong64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.11.tgz", - "integrity": "sha512-MRESANOoObQINBA+RMZW+Z0TJWpibtE7cPFnahzyQHDCA9X9LOmGh68MVimZlM9J8n5Ia8lU773te6O3ILW8kw==", - "dev": true, - "optional": true - }, - "@esbuild/linux-mips64el": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.11.tgz", - "integrity": "sha512-qVyPIZrXNMOLYegtD1u8EBccCrBVshxMrn5MkuFc3mEVsw7CCQHaqZ4jm9hbn4gWY95XFnb7i4SsT3eflxZsUg==", - "dev": true, - "optional": true - }, - "@esbuild/linux-ppc64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.11.tgz", - "integrity": "sha512-T3yd8vJXfPirZaUOoA9D2ZjxZX4Gr3QuC3GztBJA6PklLotc/7sXTOuuRkhE9W/5JvJP/K9b99ayPNAD+R+4qQ==", - "dev": true, - "optional": true - }, - "@esbuild/linux-riscv64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.11.tgz", - "integrity": "sha512-evUoRPWiwuFk++snjH9e2cAjF5VVSTj+Dnf+rkO/Q20tRqv+644279TZlPK8nUGunjPAtQRCj1jQkDAvL6rm2w==", - "dev": true, - "optional": true - }, - "@esbuild/linux-s390x": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.11.tgz", - "integrity": "sha512-/SlRJ15XR6i93gRWquRxYCfhTeC5PdqEapKoLbX63PLCmAkXZHY2uQm2l9bN0oPHBsOw2IswRZctMYS0MijFcg==", - "dev": true, - "optional": true - }, - "@esbuild/linux-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.11.tgz", - "integrity": "sha512-xcncej+wF16WEmIwPtCHi0qmx1FweBqgsRtEL1mSHLFR6/mb3GEZfLQnx+pUDfRDEM4DQF8dpXIW7eDOZl1IbA==", - "dev": true, - "optional": true - }, - "@esbuild/netbsd-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.11.tgz", - "integrity": "sha512-aSjMHj/F7BuS1CptSXNg6S3M4F3bLp5wfFPIJM+Km2NfIVfFKhdmfHF9frhiCLIGVzDziggqWll0B+9AUbud/Q==", - "dev": true, - "optional": true - }, - "@esbuild/openbsd-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.11.tgz", - "integrity": "sha512-tNBq+6XIBZtht0xJGv7IBB5XaSyvYPCm1PxJ33zLQONdZoLVM0bgGqUrXnJyiEguD9LU4AHiu+GCXy/Hm9LsdQ==", - "dev": true, - "optional": true - }, - "@esbuild/sunos-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.11.tgz", - "integrity": "sha512-kxfbDOrH4dHuAAOhr7D7EqaYf+W45LsAOOhAet99EyuxxQmjbk8M9N4ezHcEiCYPaiW8Dj3K26Z2V17Gt6p3ng==", - "dev": true, - "optional": true - }, - "@esbuild/win32-arm64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.11.tgz", - "integrity": "sha512-Sh0dDRyk1Xi348idbal7lZyfSkjhJsdFeuC13zqdipsvMetlGiFQNdO+Yfp6f6B4FbyQm7qsk16yaZk25LChzg==", - "dev": true, - "optional": true - }, - "@esbuild/win32-ia32": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.11.tgz", - "integrity": "sha512-o9JUIKF1j0rqJTFbIoF4bXj6rvrTZYOrfRcGyL0Vm5uJ/j5CkBD/51tpdxe9lXEDouhRgdr/BYzUrDOvrWwJpg==", - "dev": true, - "optional": true - }, - "@esbuild/win32-x64": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.11.tgz", - "integrity": "sha512-rQI4cjLHd2hGsM1LqgDI7oOCYbQ6IBOVsX9ejuRMSze0GqXUG2ekwiKkiBU1pRGSeCqFFHxTrcEydB2Hyoz9CA==", - "dev": true, - "optional": true - }, - "@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^3.3.0" - } - }, - "@eslint-community/regexpp": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz", - "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==", - "dev": true - }, - "@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "globals": { - "version": "13.21.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", - "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - } - } - }, - "@eslint/js": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz", - "integrity": "sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==", - "dev": true - }, - "@heroicons/react": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/@heroicons/react/-/react-2.0.18.tgz", - "integrity": "sha512-7TyMjRrZZMBPa+/5Y8lN0iyvUU/01PeMGX2+RE7cQWpEUIcb4QotzUObFkJDejj/HUH4qjP/eQ0gzzKs2f+6Yw==", - "requires": {} - }, - "@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - }, - "dependencies": { - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - } - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@remix-run/router": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.8.0.tgz", - "integrity": "sha512-mrfKqIHnSZRyIzBcanNJmVQELTnX+qagEDlcKO90RgRBVOZGSGvZKeDihTRfWcqoDn5N/NkUcwWTccnpN18Tfg==" - }, - "@socket.io/component-emitter": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", - "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==" - }, - "@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==" - }, - "@types/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" - }, - "@types/cors": { - "version": "2.8.13", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz", - "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==", - "requires": { - "@types/node": "*" - } - }, - "@types/debug": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz", - "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==", - "requires": { - "@types/ms": "*" - } - }, - "@types/extend": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/extend/-/extend-3.0.1.tgz", - "integrity": "sha512-R1g/VyKFFI2HLC1QGAeTtCBWCo6n75l41OnsVYNbmKG+kempOESaodf6BeJyUM3Q0rKa/NQcTHbB2+66lNnxLw==" - }, - "@types/hast": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz", - "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==", - "requires": { - "@types/unist": "*" - } - }, - "@types/katex": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/@types/katex/-/katex-0.16.0.tgz", - "integrity": "sha512-hz+S3nV6Mym5xPbT9fnO8dDhBFQguMYpY0Ipxv06JMi1ORgnEM4M1ymWDUhUNer3ElLmT583opRo4RzxKmh9jw==" - }, - "@types/mathjax": { - "version": "0.0.37", - "resolved": "https://registry.npmjs.org/@types/mathjax/-/mathjax-0.0.37.tgz", - "integrity": "sha512-y0WSZBtBNQwcYipTU/BhgeFu1EZNlFvUNCmkMXV9kBQZq7/o5z82dNVyH3yy2Xv5zzeNeQoHSL4Xm06+EQiH+g==" - }, - "@types/mdast": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz", - "integrity": "sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==", - "requires": { - "@types/unist": "*" - } - }, - "@types/ms": { - "version": "0.7.31", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", - "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" - }, - "@types/node": { - "version": "18.15.11", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz", - "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==" - }, - "@types/node-fetch": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.4.tgz", - "integrity": "sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg==", - "requires": { - "@types/node": "*", - "form-data": "^3.0.0" - }, - "dependencies": { - "form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - } - } - }, - "@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" - }, - "@types/react": { - "version": "18.2.20", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.20.tgz", - "integrity": "sha512-WKNtmsLWJM/3D5mG4U84cysVY31ivmyw85dE84fOCk5Hx78wezB/XEjVPWl2JTZ5FkEeaTJf+VgUAUn3PE7Isw==", - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "@types/react-dom": { - "version": "18.2.7", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.7.tgz", - "integrity": "sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==", - "dev": true, - "requires": { - "@types/react": "*" - } - }, - "@types/scheduler": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", - "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" - }, - "@types/unist": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", - "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==" - }, - "@types/webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-xTE1E+YF4aWPJJeUzaZI5DRntlkY3+BCVJi0axFptnjGmAoWxkyREIh/XMrfxVLejwQxMCfDXdICo0VLxThrog==" - }, - "@types/whatwg-url": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz", - "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==", - "requires": { - "@types/node": "*", - "@types/webidl-conversions": "*" - } - }, - "@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" - }, - "@vitejs/plugin-react": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.0.4.tgz", - "integrity": "sha512-7wU921ABnNYkETiMaZy7XqpueMnpu5VxvVps13MjmCo+utBdD79sZzrApHawHtVX66cCJQQTXFcjH0y9dSUK8g==", - "dev": true, - "requires": { - "@babel/core": "^7.22.9", - "@babel/plugin-transform-react-jsx-self": "^7.22.5", - "@babel/plugin-transform-react-jsx-source": "^7.22.5", - "react-refresh": "^0.14.0" - } - }, - "abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" - }, - "abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "requires": { - "event-target-shim": "^5.0.0" - } - }, - "accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "requires": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - } - }, - "acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==" - }, - "acorn-globals": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", - "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", - "requires": { - "acorn": "^8.1.0", - "acorn-walk": "^8.0.2" - } - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} - }, - "acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "requires": { - "debug": "4" - } - }, - "agentkeepalive": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", - "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", - "requires": { - "humanize-ms": "^1.2.1" - } - }, - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", - "dev": true - }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "dev": true - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - } - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, - "array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" - } - }, - "array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - } - }, - "array.prototype.tosorted": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", - "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" - } - }, - "arraybuffer.prototype.slice": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", - "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", - "dev": true, - "requires": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", - "is-shared-array-buffer": "^1.0.2" - } - }, - "asynciterator.prototype": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", - "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.3" - } - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "autoprefixer": { - "version": "10.4.15", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.15.tgz", - "integrity": "sha512-KCuPB8ZCIqFdA4HwKXsvz7j6gvSDNhDP7WnUjBleRkKjPdvCmHFuQ77ocavI8FT6NdvlBnE2UFr2H4Mycn8Vew==", - "dev": true, - "requires": { - "browserslist": "^4.21.10", - "caniuse-lite": "^1.0.30001520", - "fraction.js": "^4.2.0", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - } - }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "dev": true - }, - "bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==" - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "base-64": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz", - "integrity": "sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA==" - }, - "base64id": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==" - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true - }, - "body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", - "requires": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "browserslist": { - "version": "4.21.10", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", - "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001517", - "electron-to-chromium": "^1.4.477", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.11" - } - }, - "bson": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/bson/-/bson-5.4.0.tgz", - "integrity": "sha512-WRZ5SQI5GfUuKnPTNmAYPiKIof3ORXAF4IRU5UcgmivNIon01rWQlw5RUH954dpu8yGL8T59YShVddIPaU/gFA==" - }, - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001520", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001520.tgz", - "integrity": "sha512-tahF5O9EiiTzwTUqAeFjIZbn4Dnqxzz7ktrgGlMYNLH43Ul26IgTMH/zvL3DG0lZxBYnlT04axvInszUsZULdA==", - "dev": true - }, - "ccount": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", - "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==" - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "character-entities": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", - "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==" - }, - "character-entities-legacy": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", - "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==" - }, - "character-reference-invalid": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", - "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==" - }, - "charenc": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", - "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==" - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "comma-separated-tokens": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.2.tgz", - "integrity": "sha512-G5yTt3KQN4Yn7Yk4ed73hlZ1evrFKXeUW3086p3PRFNp7m2vIjI6Pg+Kgb+oyzhd9F2qdcoj67+y3SdxL5XWsg==" - }, - "commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "requires": { - "safe-buffer": "5.2.1" - } - }, - "content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==" - }, - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, - "cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" - }, - "cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "requires": { - "object-assign": "^4", - "vary": "^1" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "crypt": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", - "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==" - }, - "crypto-js": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz", - "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true - }, - "cssom": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", - "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==" - }, - "cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "requires": { - "cssom": "~0.3.6" - }, - "dependencies": { - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" - } - } - }, - "csstype": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", - "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" - }, - "data-urls": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", - "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", - "requires": { - "abab": "^2.0.6", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "decimal.js": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" - }, - "decode-named-character-reference": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", - "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", - "requires": { - "character-entities": "^2.0.0" - } - }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "dev": true, - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" - }, - "dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==" - }, - "destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" - }, - "devlop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", - "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", - "requires": { - "dequal": "^2.0.0" - } - }, - "didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", - "dev": true - }, - "diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==" - }, - "digest-fetch": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/digest-fetch/-/digest-fetch-1.3.0.tgz", - "integrity": "sha512-CGJuv6iKNM7QyZlM2T3sPAdZWd/p9zQiRNS9G+9COUCwzWFTs0Xp8NF5iePx7wtvhDykReiRRrSeNb4oMmB8lA==", - "requires": { - "base-64": "^0.1.0", - "md5": "^2.3.0" - } - }, - "dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "dev": true - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "domexception": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", - "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", - "requires": { - "webidl-conversions": "^7.0.0" - } - }, - "dotenv": { - "version": "16.3.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", - "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==" - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - }, - "electron-to-chromium": { - "version": "1.4.484", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.484.tgz", - "integrity": "sha512-nO3ZEomTK2PO/3TUXgEx0A97xZTpKVf4p427lABHuCpT1IQ2N+njVh29DkQkCk6Q4m2wjU+faK4xAcfFndwjvw==", - "dev": true - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" - }, - "engine.io": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.2.tgz", - "integrity": "sha512-IXsMcGpw/xRfjra46sVZVHiSWo/nJ/3g1337q9KNXtS6YRzbW5yIzTCb9DjhrBe7r3GZQR0I4+nq+4ODk5g/cA==", - "requires": { - "@types/cookie": "^0.4.1", - "@types/cors": "^2.8.12", - "@types/node": ">=10.0.0", - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.4.1", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~5.2.1", - "ws": "~8.11.0" - }, - "dependencies": { - "cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==" - }, - "ws": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", - "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", - "requires": {} - } - } - }, - "engine.io-client": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.2.tgz", - "integrity": "sha512-CQZqbrpEYnrpGqC07a9dJDz4gePZUgTPMU3NKJPSeQOyw27Tst4Pl3FemKoFGAlHzgZmKjoRmiJvbWfhCXUlIg==", - "requires": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1", - "engine.io-parser": "~5.2.1", - "ws": "~8.11.0", - "xmlhttprequest-ssl": "~2.0.0" - }, - "dependencies": { - "ws": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", - "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", - "requires": {} - } - } - }, - "engine.io-parser": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.1.tgz", - "integrity": "sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ==" - }, - "entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==" - }, - "es-abstract": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", - "dev": true, - "requires": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.1", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "safe-array-concat": "^1.0.0", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.10" - } - }, - "es-iterator-helpers": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.13.tgz", - "integrity": "sha512-LK3VGwzvaPWobO8xzXXGRUOGw8Dcjyfk62CsY/wfHN75CwsJPbuypOYJxK6g5RyEL8YDjIWcl6jgd8foO6mmrA==", - "dev": true, - "requires": { - "asynciterator.prototype": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.21.3", - "es-set-tostringtag": "^2.0.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.2.1", - "globalthis": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "iterator.prototype": "^1.1.0", - "safe-array-concat": "^1.0.0" - } - }, - "es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" - } - }, - "es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "esbuild": { - "version": "0.18.11", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.11.tgz", - "integrity": "sha512-i8u6mQF0JKJUlGR3OdFLKldJQMMs8OqM9Cc3UCi9XXziJ9WERM5bfkHaEAy0YAvPRMgqSW55W7xYn84XtEFTtA==", - "dev": true, - "requires": { - "@esbuild/android-arm": "0.18.11", - "@esbuild/android-arm64": "0.18.11", - "@esbuild/android-x64": "0.18.11", - "@esbuild/darwin-arm64": "0.18.11", - "@esbuild/darwin-x64": "0.18.11", - "@esbuild/freebsd-arm64": "0.18.11", - "@esbuild/freebsd-x64": "0.18.11", - "@esbuild/linux-arm": "0.18.11", - "@esbuild/linux-arm64": "0.18.11", - "@esbuild/linux-ia32": "0.18.11", - "@esbuild/linux-loong64": "0.18.11", - "@esbuild/linux-mips64el": "0.18.11", - "@esbuild/linux-ppc64": "0.18.11", - "@esbuild/linux-riscv64": "0.18.11", - "@esbuild/linux-s390x": "0.18.11", - "@esbuild/linux-x64": "0.18.11", - "@esbuild/netbsd-x64": "0.18.11", - "@esbuild/openbsd-x64": "0.18.11", - "@esbuild/sunos-x64": "0.18.11", - "@esbuild/win32-arm64": "0.18.11", - "@esbuild/win32-ia32": "0.18.11", - "@esbuild/win32-x64": "0.18.11" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "escodegen": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", - "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", - "requires": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "source-map": "~0.6.1" - } - }, - "eslint": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz", - "integrity": "sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "^8.47.0", - "@humanwhocodes/config-array": "^0.11.10", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.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.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, - "requires": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - } - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - } - } - }, - "eslint-plugin-react": { - "version": "7.33.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", - "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", - "dev": true, - "requires": { - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "array.prototype.tosorted": "^1.1.1", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.0.12", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "object.hasown": "^1.1.2", - "object.values": "^1.1.6", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.4", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.8" - }, - "dependencies": { - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", - "dev": true, - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - } - } - }, - "eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", - "dev": true, - "requires": {} - }, - "eslint-plugin-react-refresh": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.3.tgz", - "integrity": "sha512-Hh0wv8bUNY877+sI0BlCUlsS0TYYQqvzEwJsJJPM2WF4RnTStSnSR3zdJYa2nPOJgg3UghXi54lVyMSmpCalzA==", - "dev": true, - "requires": {} - }, - "eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true - }, - "esm": { - "version": "3.2.25", - "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", - "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==" - }, - "espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "requires": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" - }, - "event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" - }, - "express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", - "requires": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", - "requires": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - } - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "requires": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } - } - } - }, - "express-rate-limit": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-6.9.0.tgz", - "integrity": "sha512-AnISR3V8qy4gpKM62/TzYdoFO9NV84fBx0POXzTryHU/qGUJBWuVGd+JhbvtVmKBv37t8/afmqdnv16xWoQxag==", - "requires": {} - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "fault": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/fault/-/fault-1.0.4.tgz", - "integrity": "sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==", - "requires": { - "format": "^0.2.0" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dev": true, - "requires": { - "is-callable": "^1.1.3" - } - }, - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "form-data-encoder": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.2.tgz", - "integrity": "sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==" - }, - "format": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", - "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==" - }, - "formdata-node": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/formdata-node/-/formdata-node-4.4.1.tgz", - "integrity": "sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==", - "requires": { - "node-domexception": "1.0.0", - "web-streams-polyfill": "4.0.0-beta.3" - } - }, - "forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" - }, - "fraction.js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", - "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", - "dev": true - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - } - }, - "functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true - }, - "fuse.js": { - "version": "6.6.2", - "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-6.6.2.tgz", - "integrity": "sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==" - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true - }, - "get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - } - }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "dev": true, - "requires": { - "define-properties": "^1.1.3" - } - }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.1" - } - }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "hast-util-embedded": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hast-util-embedded/-/hast-util-embedded-2.0.1.tgz", - "integrity": "sha512-QUdSOP1/o+/TxXtpPFXR2mUg2P+ySrmlX7QjwHZCXqMFyYk7YmcGSvqRW+4XgXAoHifdE1t2PwFaQK33TqVjSw==", - "requires": { - "hast-util-is-element": "^2.0.0" - } - }, - "hast-util-from-dom": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/hast-util-from-dom/-/hast-util-from-dom-4.2.0.tgz", - "integrity": "sha512-t1RJW/OpJbCAJQeKi3Qrj1cAOLA0+av/iPFori112+0X7R3wng+jxLA+kXec8K4szqPRGI8vPxbbpEYvvpwaeQ==", - "requires": { - "hastscript": "^7.0.0", - "web-namespaces": "^2.0.0" - } - }, - "hast-util-from-parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-7.1.2.tgz", - "integrity": "sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==", - "requires": { - "@types/hast": "^2.0.0", - "@types/unist": "^2.0.0", - "hastscript": "^7.0.0", - "property-information": "^6.0.0", - "vfile": "^5.0.0", - "vfile-location": "^4.0.0", - "web-namespaces": "^2.0.0" - } - }, - "hast-util-has-property": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-2.0.1.tgz", - "integrity": "sha512-X2+RwZIMTMKpXUzlotatPzWj8bspCymtXH3cfG3iQKV+wPF53Vgaqxi/eLqGck0wKq1kS9nvoB1wchbCPEL8sg==" - }, - "hast-util-is-body-ok-link": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hast-util-is-body-ok-link/-/hast-util-is-body-ok-link-2.0.0.tgz", - "integrity": "sha512-S58hCexyKdD31vMsErvgLfflW6vYWo/ixRLPJTtkOvLld24vyI8vmYmkgLA5LG3la2ME7nm7dLGdm48gfLRBfw==", - "requires": { - "@types/hast": "^2.0.0", - "hast-util-has-property": "^2.0.0", - "hast-util-is-element": "^2.0.0" - } - }, - "hast-util-is-element": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-2.1.3.tgz", - "integrity": "sha512-O1bKah6mhgEq2WtVMk+Ta5K7pPMqsBBlmzysLdcwKVrqzZQ0CHqUPiIVspNhAG1rvxpvJjtGee17XfauZYKqVA==", - "requires": { - "@types/hast": "^2.0.0", - "@types/unist": "^2.0.0" - } - }, - "hast-util-parse-selector": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz", - "integrity": "sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==", - "requires": { - "@types/hast": "^2.0.0" - } - }, - "hast-util-phrasing": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hast-util-phrasing/-/hast-util-phrasing-2.0.2.tgz", - "integrity": "sha512-yGkCfPkkfCyiLfK6KEl/orMDr/zgCnq/NaO9HfULx6/Zga5fso5eqQA5Ov/JZVqACygvw9shRYWgXNcG2ilo7w==", - "requires": { - "@types/hast": "^2.0.0", - "hast-util-embedded": "^2.0.0", - "hast-util-has-property": "^2.0.0", - "hast-util-is-body-ok-link": "^2.0.0", - "hast-util-is-element": "^2.0.0" - } - }, - "hast-util-to-mdast": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/hast-util-to-mdast/-/hast-util-to-mdast-8.4.1.tgz", - "integrity": "sha512-tfmBLASuCgyhCzpkTXM5kU8xeuS5jkMZ17BYm2YftGT5wvgc7uHXTZ/X8WfNd6F5NV/IGmrLsuahZ+jXQir4zQ==", - "requires": { - "@types/extend": "^3.0.0", - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "extend": "^3.0.0", - "hast-util-has-property": "^2.0.0", - "hast-util-is-element": "^2.0.0", - "hast-util-phrasing": "^2.0.0", - "hast-util-to-text": "^3.0.0", - "mdast-util-phrasing": "^3.0.0", - "mdast-util-to-string": "^3.0.0", - "rehype-minify-whitespace": "^5.0.0", - "trim-trailing-lines": "^2.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit": "^4.0.0" - } - }, - "hast-util-to-text": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-3.1.2.tgz", - "integrity": "sha512-tcllLfp23dJJ+ju5wCCZHVpzsQQ43+moJbqVX3jNWPB7z/KFC4FyZD6R7y94cHL6MQ33YtMZL8Z0aIXXI4XFTw==", - "requires": { - "@types/hast": "^2.0.0", - "@types/unist": "^2.0.0", - "hast-util-is-element": "^2.0.0", - "unist-util-find-after": "^4.0.0" - } - }, - "hast-util-whitespace": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.0.tgz", - "integrity": "sha512-Pkw+xBHuV6xFeJprJe2BBEoDV+AvQySaz3pPDRUs5PNZEMQjpXJJueqrpcHIXxnWTcAGi/UOCgVShlkY6kLoqg==" - }, - "hastscript": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-7.2.0.tgz", - "integrity": "sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==", - "requires": { - "@types/hast": "^2.0.0", - "comma-separated-tokens": "^2.0.0", - "hast-util-parse-selector": "^3.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0" - } - }, - "helmet": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/helmet/-/helmet-7.0.0.tgz", - "integrity": "sha512-MsIgYmdBh460ZZ8cJC81q4XJknjG567wzEmv46WOBblDb6TUd3z8/GhgmsM9pn8g2B80tAJ4m5/d3Bi1KrSUBQ==" - }, - "highlight.js": { - "version": "10.7.3", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", - "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==" - }, - "html-encoding-sniffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", - "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", - "requires": { - "whatwg-encoding": "^2.0.0" - } - }, - "http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - } - }, - "http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "requires": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - } - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", - "requires": { - "ms": "^2.0.0" - } - }, - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - }, - "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "inline-style-parser": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", - "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" - }, - "internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "dev": true, - "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", - "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" - }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" - }, - "is-alphabetical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", - "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==" - }, - "is-alphanumerical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", - "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", - "requires": { - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0" - } - }, - "is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - } - }, - "is-async-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", - "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "requires": { - "has-bigints": "^1.0.1" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true - }, - "is-core-module": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz", - "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-decimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", - "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true - }, - "is-finalizationregistry": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", - "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-hexadecimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", - "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==" - }, - "is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", - "dev": true - }, - "is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, - "is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==" - }, - "is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-set": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", - "dev": true - }, - "is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - } - }, - "is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", - "dev": true - }, - "is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-weakset": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "iterator.prototype": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.0.tgz", - "integrity": "sha512-rjuhAk1AJ1fssphHD0IFV6TWL40CwRZ53FrztKx43yk2v6rguBYsY4Bj1VU4HmoMmKwZUlx7mfnhDf9cOp4YTw==", - "dev": true, - "requires": { - "define-properties": "^1.1.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "has-tostringtag": "^1.0.0", - "reflect.getprototypeof": "^1.0.3" - } - }, - "jiti": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz", - "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==", - "dev": true - }, - "js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "jsdom": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", - "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", - "requires": { - "abab": "^2.0.6", - "acorn": "^8.8.1", - "acorn-globals": "^7.0.0", - "cssom": "^0.5.0", - "cssstyle": "^2.3.0", - "data-urls": "^3.0.2", - "decimal.js": "^10.4.2", - "domexception": "^4.0.0", - "escodegen": "^2.0.0", - "form-data": "^4.0.0", - "html-encoding-sniffer": "^3.0.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.1", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.2", - "parse5": "^7.1.1", - "saxes": "^6.0.0", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.1.2", - "w3c-xmlserializer": "^4.0.0", - "webidl-conversions": "^7.0.0", - "whatwg-encoding": "^2.0.0", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0", - "ws": "^8.11.0", - "xml-name-validator": "^4.0.0" - }, - "dependencies": { - "parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "requires": { - "entities": "^4.4.0" - } - } - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - }, - "jsx-ast-utils": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", - "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", - "dev": true, - "requires": { - "array-includes": "^3.1.5", - "object.assign": "^4.1.3" - } - }, - "katex": { - "version": "0.16.4", - "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.4.tgz", - "integrity": "sha512-WudRKUj8yyBeVDI4aYMNxhx5Vhh2PjpzQw1GRu/LVGqL4m1AxwD1GcUp0IMbdJaf5zsjtj8ghP0DOQRYhroNkw==", - "requires": { - "commander": "^8.0.0" - } - }, - "kleur": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", - "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==" - }, - "lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", - "dev": true - }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "longest-streak": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", - "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==" - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "lowlight": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/lowlight/-/lowlight-1.20.0.tgz", - "integrity": "sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==", - "requires": { - "fault": "^1.0.0", - "highlight.js": "~10.7.0" - } - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "markdown-table": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz", - "integrity": "sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==" - }, - "mathjax-full": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/mathjax-full/-/mathjax-full-3.2.2.tgz", - "integrity": "sha512-+LfG9Fik+OuI8SLwsiR02IVdjcnRCy5MufYLi0C3TdMT56L/pjB0alMVGgoWJF8pN9Rc7FESycZB9BMNWIid5w==", - "requires": { - "esm": "^3.2.25", - "mhchemparser": "^4.1.0", - "mj-context-menu": "^0.6.1", - "speech-rule-engine": "^4.0.6" - } - }, - "md5": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", - "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", - "requires": { - "charenc": "0.0.2", - "crypt": "0.0.2", - "is-buffer": "~1.1.6" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - } - } - }, - "mdast-util-definitions": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.1.tgz", - "integrity": "sha512-rQ+Gv7mHttxHOBx2dkF4HWTg+EE+UR78ptQWDylzPKaQuVGdG4HIoY3SrS/pCp80nZ04greFvXbVFHT+uf0JVQ==", - "requires": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "unist-util-visit": "^4.0.0" - } - }, - "mdast-util-find-and-replace": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.2.tgz", - "integrity": "sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==", - "requires": { - "@types/mdast": "^3.0.0", - "escape-string-regexp": "^5.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==" - } - } - }, - "mdast-util-from-markdown": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.2.0.tgz", - "integrity": "sha512-iZJyyvKD1+K7QX1b5jXdE7Sc5dtoTry1vzV28UZZe8Z1xVnB/czKntJ7ZAkG0tANqRnBF6p3p7GpU1y19DTf2Q==", - "requires": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "decode-named-character-reference": "^1.0.0", - "mdast-util-to-string": "^3.1.0", - "micromark": "^3.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-decode-string": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "unist-util-stringify-position": "^3.0.0", - "uvu": "^0.5.0" - } - }, - "mdast-util-gfm": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-2.0.2.tgz", - "integrity": "sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==", - "requires": { - "mdast-util-from-markdown": "^1.0.0", - "mdast-util-gfm-autolink-literal": "^1.0.0", - "mdast-util-gfm-footnote": "^1.0.0", - "mdast-util-gfm-strikethrough": "^1.0.0", - "mdast-util-gfm-table": "^1.0.0", - "mdast-util-gfm-task-list-item": "^1.0.0", - "mdast-util-to-markdown": "^1.0.0" - } - }, - "mdast-util-gfm-autolink-literal": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.3.tgz", - "integrity": "sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==", - "requires": { - "@types/mdast": "^3.0.0", - "ccount": "^2.0.0", - "mdast-util-find-and-replace": "^2.0.0", - "micromark-util-character": "^1.0.0" - } - }, - "mdast-util-gfm-footnote": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.2.tgz", - "integrity": "sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==", - "requires": { - "@types/mdast": "^3.0.0", - "mdast-util-to-markdown": "^1.3.0", - "micromark-util-normalize-identifier": "^1.0.0" - } - }, - "mdast-util-gfm-strikethrough": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.3.tgz", - "integrity": "sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==", - "requires": { - "@types/mdast": "^3.0.0", - "mdast-util-to-markdown": "^1.3.0" - } - }, - "mdast-util-gfm-table": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.7.tgz", - "integrity": "sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==", - "requires": { - "@types/mdast": "^3.0.0", - "markdown-table": "^3.0.0", - "mdast-util-from-markdown": "^1.0.0", - "mdast-util-to-markdown": "^1.3.0" - } - }, - "mdast-util-gfm-task-list-item": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.2.tgz", - "integrity": "sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==", - "requires": { - "@types/mdast": "^3.0.0", - "mdast-util-to-markdown": "^1.3.0" - } - }, - "mdast-util-math": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-math/-/mdast-util-math-2.0.2.tgz", - "integrity": "sha512-8gmkKVp9v6+Tgjtq6SYx9kGPpTf6FVYRa53/DLh479aldR9AyP48qeVOgNZ5X7QUK7nOy4yw7vg6mbiGcs9jWQ==", - "requires": { - "@types/mdast": "^3.0.0", - "longest-streak": "^3.0.0", - "mdast-util-to-markdown": "^1.3.0" - } - }, - "mdast-util-phrasing": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz", - "integrity": "sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==", - "requires": { - "@types/mdast": "^3.0.0", - "unist-util-is": "^5.0.0" - } - }, - "mdast-util-to-hast": { - "version": "12.2.4", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.2.4.tgz", - "integrity": "sha512-a21xoxSef1l8VhHxS1Dnyioz6grrJkoaCUgGzMD/7dWHvboYX3VW53esRUfB5tgTyz4Yos1n25SPcj35dJqmAg==", - "requires": { - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "mdast-util-definitions": "^5.0.0", - "micromark-util-sanitize-uri": "^1.1.0", - "trim-lines": "^3.0.0", - "unist-builder": "^3.0.0", - "unist-util-generated": "^2.0.0", - "unist-util-position": "^4.0.0", - "unist-util-visit": "^4.0.0" - } - }, - "mdast-util-to-markdown": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.5.0.tgz", - "integrity": "sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==", - "requires": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "longest-streak": "^3.0.0", - "mdast-util-phrasing": "^3.0.0", - "mdast-util-to-string": "^3.0.0", - "micromark-util-decode-string": "^1.0.0", - "unist-util-visit": "^4.0.0", - "zwitch": "^2.0.0" - } - }, - "mdast-util-to-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz", - "integrity": "sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==" - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" - }, - "memory-pager": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", - "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", - "optional": true - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" - }, - "mhchemparser": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/mhchemparser/-/mhchemparser-4.1.1.tgz", - "integrity": "sha512-R75CUN6O6e1t8bgailrF1qPq+HhVeFTM3XQ0uzI+mXTybmphy3b6h4NbLOYhemViQ3lUs+6CKRkC3Ws1TlYREA==" - }, - "micromark": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.1.0.tgz", - "integrity": "sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==", - "requires": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "micromark-core-commonmark": "^1.0.1", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-combine-extensions": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-sanitize-uri": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" - } - }, - "micromark-core-commonmark": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz", - "integrity": "sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==", - "requires": { - "decode-named-character-reference": "^1.0.0", - "micromark-factory-destination": "^1.0.0", - "micromark-factory-label": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-factory-title": "^1.0.0", - "micromark-factory-whitespace": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-classify-character": "^1.0.0", - "micromark-util-html-tag-name": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" - } - }, - "micromark-extension-gfm": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-2.0.1.tgz", - "integrity": "sha512-p2sGjajLa0iYiGQdT0oelahRYtMWvLjy8J9LOCxzIQsllMCGLbsLW+Nc+N4vi02jcRJvedVJ68cjelKIO6bpDA==", - "requires": { - "micromark-extension-gfm-autolink-literal": "^1.0.0", - "micromark-extension-gfm-footnote": "^1.0.0", - "micromark-extension-gfm-strikethrough": "^1.0.0", - "micromark-extension-gfm-table": "^1.0.0", - "micromark-extension-gfm-tagfilter": "^1.0.0", - "micromark-extension-gfm-task-list-item": "^1.0.0", - "micromark-util-combine-extensions": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "micromark-extension-gfm-autolink-literal": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.3.tgz", - "integrity": "sha512-i3dmvU0htawfWED8aHMMAzAVp/F0Z+0bPh3YrbTPPL1v4YAlCZpy5rBO5p0LPYiZo0zFVkoYh7vDU7yQSiCMjg==", - "requires": { - "micromark-util-character": "^1.0.0", - "micromark-util-sanitize-uri": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "micromark-extension-gfm-footnote": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.0.4.tgz", - "integrity": "sha512-E/fmPmDqLiMUP8mLJ8NbJWJ4bTw6tS+FEQS8CcuDtZpILuOb2kjLqPEeAePF1djXROHXChM/wPJw0iS4kHCcIg==", - "requires": { - "micromark-core-commonmark": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-sanitize-uri": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "micromark-extension-gfm-strikethrough": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.4.tgz", - "integrity": "sha512-/vjHU/lalmjZCT5xt7CcHVJGq8sYRm80z24qAKXzaHzem/xsDYb2yLL+NNVbYvmpLx3O7SYPuGL5pzusL9CLIQ==", - "requires": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-classify-character": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "micromark-extension-gfm-table": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.5.tgz", - "integrity": "sha512-xAZ8J1X9W9K3JTJTUL7G6wSKhp2ZYHrFk5qJgY/4B33scJzE2kpfRL6oiw/veJTbt7jiM/1rngLlOKPWr1G+vg==", - "requires": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "micromark-extension-gfm-tagfilter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-1.0.1.tgz", - "integrity": "sha512-Ty6psLAcAjboRa/UKUbbUcwjVAv5plxmpUTy2XC/3nJFL37eHej8jrHrRzkqcpipJliuBH30DTs7+3wqNcQUVA==", - "requires": { - "micromark-util-types": "^1.0.0" - } - }, - "micromark-extension-gfm-task-list-item": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.3.tgz", - "integrity": "sha512-PpysK2S1Q/5VXi72IIapbi/jliaiOFzv7THH4amwXeYXLq3l1uo8/2Be0Ac1rEwK20MQEsGH2ltAZLNY2KI/0Q==", - "requires": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "micromark-extension-math": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-math/-/micromark-extension-math-2.1.0.tgz", - "integrity": "sha512-WH+fJkveMvM3ZN+deb/jT3UW623x8xO9ycfJNDC+UQXX+V72RO6hT9KqxA7c8XFwozAFJ7tufOeG+x/CVSXHUw==", - "requires": { - "@types/katex": "^0.16.0", - "katex": "^0.16.0", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "micromark-factory-destination": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz", - "integrity": "sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==", - "requires": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "micromark-factory-label": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz", - "integrity": "sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==", - "requires": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "micromark-factory-space": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz", - "integrity": "sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==", - "requires": { - "micromark-util-character": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "micromark-factory-title": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz", - "integrity": "sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==", - "requires": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "micromark-factory-whitespace": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz", - "integrity": "sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==", - "requires": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "micromark-util-character": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.1.0.tgz", - "integrity": "sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==", - "requires": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "micromark-util-chunked": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz", - "integrity": "sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==", - "requires": { - "micromark-util-symbol": "^1.0.0" - } - }, - "micromark-util-classify-character": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz", - "integrity": "sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==", - "requires": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "micromark-util-combine-extensions": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz", - "integrity": "sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==", - "requires": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "micromark-util-decode-numeric-character-reference": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz", - "integrity": "sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==", - "requires": { - "micromark-util-symbol": "^1.0.0" - } - }, - "micromark-util-decode-string": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz", - "integrity": "sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==", - "requires": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-symbol": "^1.0.0" - } - }, - "micromark-util-encode": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz", - "integrity": "sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==" - }, - "micromark-util-html-tag-name": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.1.0.tgz", - "integrity": "sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==" - }, - "micromark-util-normalize-identifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz", - "integrity": "sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==", - "requires": { - "micromark-util-symbol": "^1.0.0" - } - }, - "micromark-util-resolve-all": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz", - "integrity": "sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==", - "requires": { - "micromark-util-types": "^1.0.0" - } - }, - "micromark-util-sanitize-uri": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.1.0.tgz", - "integrity": "sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg==", - "requires": { - "micromark-util-character": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-symbol": "^1.0.0" - } - }, - "micromark-util-subtokenize": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz", - "integrity": "sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==", - "requires": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "micromark-util-symbol": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz", - "integrity": "sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==" - }, - "micromark-util-types": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.0.2.tgz", - "integrity": "sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==" - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "mj-context-menu": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/mj-context-menu/-/mj-context-menu-0.6.1.tgz", - "integrity": "sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA==" - }, - "mongodb": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-5.7.0.tgz", - "integrity": "sha512-zm82Bq33QbqtxDf58fLWBwTjARK3NSvKYjyz997KSy6hpat0prjeX/kxjbPVyZY60XYPDNETaHkHJI2UCzSLuw==", - "requires": { - "bson": "^5.4.0", - "mongodb-connection-string-url": "^2.6.0", - "saslprep": "^1.0.3", - "socks": "^2.7.1" - } - }, - "mongodb-connection-string-url": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.6.0.tgz", - "integrity": "sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ==", - "requires": { - "@types/whatwg-url": "^8.2.1", - "whatwg-url": "^11.0.0" - } - }, - "mri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", - "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "dev": true, - "requires": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", - "dev": true - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" - }, - "node-domexception": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", - "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==" - }, - "node-fetch": { - "version": "2.6.13", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.13.tgz", - "integrity": "sha512-StxNAxh15zr77QvvkmveSQ8uCQ4+v5FkvNTj0OESmiHu+VRi/gXArXtkWMElOsOUNLtUEvI4yS+rdtOHZTwlQA==", - "requires": { - "whatwg-url": "^5.0.0" - }, - "dependencies": { - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - } - } - }, - "node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", - "dev": true - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "dev": true - }, - "nwsapi": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", - "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - }, - "object-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", - "dev": true - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.hasown": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", - "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", - "dev": true, - "requires": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "requires": { - "ee-first": "1.1.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "openai": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/openai/-/openai-4.0.1.tgz", - "integrity": "sha512-UanMv/kCD/ylgOdBrkkRgkoFXdfENrXYWNvYdvPttXZaEJmRVY9MZSknlkWYH7iPMX6tTcz6szbI2d3O04UFag==", - "requires": { - "@types/node": "^18.11.18", - "@types/node-fetch": "^2.6.4", - "abort-controller": "^3.0.0", - "agentkeepalive": "^4.2.1", - "digest-fetch": "^1.3.0", - "form-data-encoder": "1.7.2", - "formdata-node": "^4.3.2", - "node-fetch": "^2.6.7" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-entities": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", - "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", - "requires": { - "character-entities": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "character-reference-invalid": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-hexadecimal": "^1.0.0" - }, - "dependencies": { - "character-entities": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", - "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==" - } - } - }, - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true - }, - "pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", - "dev": true - }, - "postcss": { - "version": "8.4.28", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.28.tgz", - "integrity": "sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==", - "dev": true, - "requires": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - } - }, - "postcss-import": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", - "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - } - }, - "postcss-js": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", - "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", - "dev": true, - "requires": { - "camelcase-css": "^2.0.1" - } - }, - "postcss-load-config": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", - "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", - "dev": true, - "requires": { - "lilconfig": "^2.0.5", - "yaml": "^2.1.1" - } - }, - "postcss-nested": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", - "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.11" - } - }, - "postcss-selector-parser": { - "version": "6.0.12", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.12.tgz", - "integrity": "sha512-NdxGCAZdRrwVI1sy59+Wzrh+pMMHxapGnpfenDVlMEXoOcvt4pGE0JLK9YY2F5dLxcFYA/YbVQKhcGU+FtSYQg==", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true - }, - "prismjs": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", - "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==" - }, - "prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - }, - "dependencies": { - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - } - } - }, - "property-information": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.1.1.tgz", - "integrity": "sha512-hrzC564QIl0r0vy4l6MvRLhafmUowhO/O3KgVSoXIbbA2Sz4j8HGpJc6T2cubRVwMwpdiG/vKGfhT4IixmKN9w==" - }, - "proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "requires": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - } - }, - "psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" - }, - "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" - }, - "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "requires": { - "side-channel": "^1.0.4" - } - }, - "querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - }, - "raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", - "requires": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "dependencies": { - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - } - } - }, - "react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "requires": { - "loose-envify": "^1.1.0" - } - }, - "react-contenteditable": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/react-contenteditable/-/react-contenteditable-3.3.7.tgz", - "integrity": "sha512-GA9NbC0DkDdpN3iGvib/OMHWTJzDX2cfkgy5Tt98JJAbA3kLnyrNbBIpsSpPpq7T8d3scD39DHP+j8mAM7BIfQ==", - "requires": { - "fast-deep-equal": "^3.1.3", - "prop-types": "^15.7.1" - } - }, - "react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "requires": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - }, - "react-markdown": { - "version": "8.0.7", - "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-8.0.7.tgz", - "integrity": "sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ==", - "requires": { - "@types/hast": "^2.0.0", - "@types/prop-types": "^15.0.0", - "@types/unist": "^2.0.0", - "comma-separated-tokens": "^2.0.0", - "hast-util-whitespace": "^2.0.0", - "prop-types": "^15.0.0", - "property-information": "^6.0.0", - "react-is": "^18.0.0", - "remark-parse": "^10.0.0", - "remark-rehype": "^10.0.0", - "space-separated-tokens": "^2.0.0", - "style-to-object": "^0.4.0", - "unified": "^10.0.0", - "unist-util-visit": "^4.0.0", - "vfile": "^5.0.0" - }, - "dependencies": { - "unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", - "requires": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - } - } - } - }, - "react-refresh": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", - "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", - "dev": true - }, - "react-router": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.15.0.tgz", - "integrity": "sha512-NIytlzvzLwJkCQj2HLefmeakxxWHWAP+02EGqWEZy+DgfHHKQMUoBBjUQLOtFInBMhWtb3hiUy6MfFgwLjXhqg==", - "requires": { - "@remix-run/router": "1.8.0" - } - }, - "react-router-dom": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.15.0.tgz", - "integrity": "sha512-aR42t0fs7brintwBGAv2+mGlCtgtFQeOzK0BM1/OiqEzRejOZtpMZepvgkscpMUnKb8YO84G7s3LsHnnDNonbQ==", - "requires": { - "@remix-run/router": "1.8.0", - "react-router": "6.15.0" - } - }, - "react-syntax-highlighter": { - "version": "15.5.0", - "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-15.5.0.tgz", - "integrity": "sha512-+zq2myprEnQmH5yw6Gqc8lD55QHnpKaU8TOcFeC/Lg/MQSs8UknEA0JC4nTZGFAXC2J2Hyj/ijJ7NlabyPi2gg==", - "requires": { - "@babel/runtime": "^7.3.1", - "highlight.js": "^10.4.1", - "lowlight": "^1.17.0", - "prismjs": "^1.27.0", - "refractor": "^3.6.0" - } - }, - "read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "dev": true, - "requires": { - "pify": "^2.3.0" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "reflect.getprototypeof": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.3.tgz", - "integrity": "sha512-TTAOZpkJ2YLxl7mVHWrNo3iDMEkYlva/kgFcXndqMgbo/AZUmmavEkdXV+hXtE4P8xdyEKRzalaFqZVuwIk/Nw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.1", - "globalthis": "^1.0.3", - "which-builtin-type": "^1.1.3" - } - }, - "refractor": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/refractor/-/refractor-3.6.0.tgz", - "integrity": "sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==", - "requires": { - "hastscript": "^6.0.0", - "parse-entities": "^2.0.0", - "prismjs": "~1.27.0" - }, - "dependencies": { - "comma-separated-tokens": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", - "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==" - }, - "hast-util-parse-selector": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz", - "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==" - }, - "hastscript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz", - "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==", - "requires": { - "@types/hast": "^2.0.0", - "comma-separated-tokens": "^1.0.0", - "hast-util-parse-selector": "^2.0.0", - "property-information": "^5.0.0", - "space-separated-tokens": "^1.0.0" - } - }, - "prismjs": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.27.0.tgz", - "integrity": "sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==" - }, - "property-information": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz", - "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==", - "requires": { - "xtend": "^4.0.0" - } - }, - "space-separated-tokens": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", - "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==" - } - } - }, - "regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" - }, - "regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - } - }, - "rehype-mathjax": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/rehype-mathjax/-/rehype-mathjax-4.0.3.tgz", - "integrity": "sha512-QIwWH9U+r54nMQklVkT1qluxhKyzdPWz9dFwgel3BrseQsWZafRTDTUj8VR8/14nFuRIV2ChuCMz4zpACPoYvg==", - "requires": { - "@types/hast": "^2.0.0", - "@types/mathjax": "^0.0.37", - "hast-util-from-dom": "^4.0.0", - "hast-util-to-text": "^3.1.0", - "jsdom": "^20.0.0", - "mathjax-full": "^3.0.0", - "unified": "^10.0.0", - "unist-util-visit": "^4.0.0" - }, - "dependencies": { - "unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", - "requires": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - } - } - } - }, - "rehype-minify-whitespace": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/rehype-minify-whitespace/-/rehype-minify-whitespace-5.0.1.tgz", - "integrity": "sha512-PPp4lWJiBPlePI/dv1BeYktbwkfgXkrK59MUa+tYbMPgleod+4DvFK2PLU0O0O60/xuhHfiR9GUIUlXTU8sRIQ==", - "requires": { - "@types/hast": "^2.0.0", - "hast-util-embedded": "^2.0.0", - "hast-util-is-element": "^2.0.0", - "hast-util-whitespace": "^2.0.0", - "unified": "^10.0.0", - "unist-util-is": "^5.0.0" - }, - "dependencies": { - "unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", - "requires": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - } - } - } - }, - "rehype-parse": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-8.0.4.tgz", - "integrity": "sha512-MJJKONunHjoTh4kc3dsM1v3C9kGrrxvA3U8PxZlP2SjH8RNUSrb+lF7Y0KVaUDnGH2QZ5vAn7ulkiajM9ifuqg==", - "requires": { - "@types/hast": "^2.0.0", - "hast-util-from-parse5": "^7.0.0", - "parse5": "^6.0.0", - "unified": "^10.0.0" - }, - "dependencies": { - "unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", - "requires": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - } - } - } - }, - "rehype-remark": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/rehype-remark/-/rehype-remark-9.1.2.tgz", - "integrity": "sha512-c0fG3/CrJ95zAQ07xqHSkdpZybwdsY7X5dNWvgL2XqLKZuqmG3+vk6kP/4miCnp+R+x/0uKKRSpfXb9aGR8Z5w==", - "requires": { - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "hast-util-to-mdast": "^8.3.0", - "unified": "^10.0.0" - }, - "dependencies": { - "unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", - "requires": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - } - } - } - }, - "remark-gfm": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-3.0.1.tgz", - "integrity": "sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==", - "requires": { - "@types/mdast": "^3.0.0", - "mdast-util-gfm": "^2.0.0", - "micromark-extension-gfm": "^2.0.0", - "unified": "^10.0.0" - }, - "dependencies": { - "unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", - "requires": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - } - } - } - }, - "remark-math": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/remark-math/-/remark-math-5.1.1.tgz", - "integrity": "sha512-cE5T2R/xLVtfFI4cCePtiRn+e6jKMtFDR3P8V3qpv8wpKjwvHoBA4eJzvX+nVrnlNy0911bdGmuspCSwetfYHw==", - "requires": { - "@types/mdast": "^3.0.0", - "mdast-util-math": "^2.0.0", - "micromark-extension-math": "^2.0.0", - "unified": "^10.0.0" - }, - "dependencies": { - "unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", - "requires": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - } - } - } - }, - "remark-parse": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.1.tgz", - "integrity": "sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==", - "requires": { - "@types/mdast": "^3.0.0", - "mdast-util-from-markdown": "^1.0.0", - "unified": "^10.0.0" - }, - "dependencies": { - "unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", - "requires": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - } - } - } - }, - "remark-rehype": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz", - "integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==", - "requires": { - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "mdast-util-to-hast": "^12.1.0", - "unified": "^10.0.0" - }, - "dependencies": { - "unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", - "requires": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - } - } - } - }, - "remark-stringify": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-10.0.3.tgz", - "integrity": "sha512-koyOzCMYoUHudypbj4XpnAKFbkddRMYZHwghnxd7ue5210WzGw6kOBwauJTRUMq16jsovXx8dYNvSSWP89kZ3A==", - "requires": { - "@types/mdast": "^3.0.0", - "mdast-util-to-markdown": "^1.0.0", - "unified": "^10.0.0" - }, - "dependencies": { - "unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", - "requires": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - } - } - } - }, - "remove-markdown": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/remove-markdown/-/remove-markdown-0.5.0.tgz", - "integrity": "sha512-x917M80K97K5IN1L8lUvFehsfhR8cYjGQ/yAMRI9E7JIKivtl5Emo5iD13DhMr+VojzMCiYk8V2byNPwT/oapg==" - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" - }, - "resolve": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", - "dev": true, - "requires": { - "is-core-module": "^2.11.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "rollup": { - "version": "3.28.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.28.0.tgz", - "integrity": "sha512-d7zhvo1OUY2SXSM6pfNjgD5+d0Nz87CUp4mt8l/GgVP3oBsPwzNvSzyu1me6BSG9JIgWNTVcafIXBIyM8yQ3yw==", - "dev": true, - "requires": { - "fsevents": "~2.3.2" - } - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "sade": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", - "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", - "requires": { - "mri": "^1.1.0" - } - }, - "safe-array-concat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", - "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "saslprep": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz", - "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==", - "optional": true, - "requires": { - "sparse-bitfield": "^3.0.3" - } - }, - "saxes": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", - "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", - "requires": { - "xmlchars": "^2.2.0" - } - }, - "scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", - "requires": { - "loose-envify": "^1.1.0" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - }, - "send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "requires": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - } - } - }, - "serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - } - }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==" - }, - "socket.io": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.2.tgz", - "integrity": "sha512-bvKVS29/I5fl2FGLNHuXlQaUH/BlzX1IN6S+NKLNZpBsPZIDH+90eQmCs2Railn4YUiww4SzUedJ6+uzwFnKLw==", - "requires": { - "accepts": "~1.3.4", - "base64id": "~2.0.0", - "cors": "~2.8.5", - "debug": "~4.3.2", - "engine.io": "~6.5.2", - "socket.io-adapter": "~2.5.2", - "socket.io-parser": "~4.2.4" - } - }, - "socket.io-adapter": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz", - "integrity": "sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==", - "requires": { - "ws": "~8.11.0" - }, - "dependencies": { - "ws": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", - "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", - "requires": {} - } - } - }, - "socket.io-client": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.2.tgz", - "integrity": "sha512-vtA0uD4ibrYD793SOIAwlo8cj6haOeMHrGvwPxJsxH7CeIksqJ+3Zc06RvWTIFgiSqx4A3sOnTXpfAEE2Zyz6w==", - "requires": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.2", - "engine.io-client": "~6.5.2", - "socket.io-parser": "~4.2.4" - } - }, - "socket.io-parser": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", - "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", - "requires": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1" - } - }, - "socks": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", - "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", - "requires": { - "ip": "^2.0.0", - "smart-buffer": "^4.2.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true - }, - "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true - }, - "space-separated-tokens": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.1.tgz", - "integrity": "sha512-ekwEbFp5aqSPKaqeY1PGrlGQxPNaq+Cnx4+bE2D8sciBQrHpbwoBbawqTN2+6jPs9IdWxxiUcN0K2pkczD3zmw==" - }, - "sparse-bitfield": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", - "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==", - "optional": true, - "requires": { - "memory-pager": "^1.0.2" - } - }, - "speech-rule-engine": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.0.7.tgz", - "integrity": "sha512-sJrL3/wHzNwJRLBdf6CjJWIlxC04iYKkyXvYSVsWVOiC2DSkHmxsqOhEeMsBA9XK+CHuNcsdkbFDnoUfAsmp9g==", - "requires": { - "commander": "9.2.0", - "wicked-good-xpath": "1.3.0", - "xmldom-sre": "0.1.31" - }, - "dependencies": { - "commander": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.2.0.tgz", - "integrity": "sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==" - } - } - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" - }, - "string.prototype.matchall": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4" - } - }, - "string.prototype.trim": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - }, - "style-to-object": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.1.tgz", - "integrity": "sha512-HFpbb5gr2ypci7Qw+IOhnP2zOU7e77b+rzM+wTzXzfi1PrtBCX0E7Pk4wL4iTLnhzZ+JgEGAhX81ebTg/aYjQw==", - "requires": { - "inline-style-parser": "0.1.1" - } - }, - "sucrase": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz", - "integrity": "sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.2", - "commander": "^4.0.0", - "glob": "7.1.6", - "lines-and-columns": "^1.1.6", - "mz": "^2.7.0", - "pirates": "^4.0.1", - "ts-interface-checker": "^0.1.9" - }, - "dependencies": { - "commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true - }, - "symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" - }, - "tailwindcss": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.3.tgz", - "integrity": "sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==", - "dev": true, - "requires": { - "@alloc/quick-lru": "^5.2.0", - "arg": "^5.0.2", - "chokidar": "^3.5.3", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.2.12", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "jiti": "^1.18.2", - "lilconfig": "^2.1.0", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.23", - "postcss-import": "^15.1.0", - "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.1", - "postcss-nested": "^6.0.1", - "postcss-selector-parser": "^6.0.11", - "resolve": "^1.22.2", - "sucrase": "^3.32.0" - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "dev": true, - "requires": { - "any-promise": "^1.0.0" - } - }, - "thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", - "dev": true, - "requires": { - "thenify": ">= 3.1.0 < 4" - } - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" - }, - "tough-cookie": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", - "requires": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - } - }, - "tr46": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", - "requires": { - "punycode": "^2.1.1" - } - }, - "trim-lines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", - "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==" - }, - "trim-trailing-lines": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-2.1.0.tgz", - "integrity": "sha512-5UR5Biq4VlVOtzqkm2AZlgvSlDJtME46uV0br0gENbwN4l5+mMKT4b9gJKqWtuL2zAIqajGJGuvbCbcAJUZqBg==" - }, - "trough": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", - "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==" - }, - "ts-interface-checker": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", - "dev": true - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typed-array-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" - } - }, - "typed-array-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" - } - }, - "typed-array-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" - } - }, - "typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - } - }, - "unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - } - }, - "unified": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.2.tgz", - "integrity": "sha512-Zta++onvS/dJ6xUvXQOR5q8XJZOkiMCE5wQ8Yv9mLR25pxRS567EX0GO6HZRxxNV/lznwfsvRZ/1pqe9K9QLeQ==", - "requires": { - "@types/unist": "^3.0.0", - "@ungap/structured-clone": "^1.0.0", - "bail": "^2.0.0", - "devlop": "^1.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^6.0.0" - }, - "dependencies": { - "@types/unist": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.0.tgz", - "integrity": "sha512-MFETx3tbTjE7Uk6vvnWINA/1iJ7LuMdO4fcq8UfF0pRbj01aGLduVvQcRyswuACJdpnHgg8E3rQLhaRdNEJS0w==" - }, - "unist-util-stringify-position": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", - "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", - "requires": { - "@types/unist": "^3.0.0" - } - }, - "vfile": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", - "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", - "requires": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0", - "vfile-message": "^4.0.0" - } - }, - "vfile-message": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", - "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", - "requires": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0" - } - } - } - }, - "unist-builder": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-3.0.0.tgz", - "integrity": "sha512-GFxmfEAa0vi9i5sd0R2kcrI9ks0r82NasRq5QHh2ysGngrc6GiqD5CDf1FjPenY4vApmFASBIIlk/jj5J5YbmQ==", - "requires": { - "@types/unist": "^2.0.0" - } - }, - "unist-util-find-after": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-4.0.1.tgz", - "integrity": "sha512-QO/PuPMm2ERxC6vFXEPtmAutOopy5PknD+Oq64gGwxKtk4xwo9Z97t9Av1obPmGU0IyTa6EKYUfTrK2QJS3Ozw==", - "requires": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" - } - }, - "unist-util-generated": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.0.tgz", - "integrity": "sha512-TiWE6DVtVe7Ye2QxOVW9kqybs6cZexNwTwSMVgkfjEReqy/xwGpAXb99OxktoWwmL+Z+Epb0Dn8/GNDYP1wnUw==" - }, - "unist-util-is": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz", - "integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==" - }, - "unist-util-position": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.3.tgz", - "integrity": "sha512-p/5EMGIa1qwbXjA+QgcBXaPWjSnZfQ2Sc3yBEEfgPwsEmJd8Qh+DSk3LGnmOM4S1bY2C0AjmMnB8RuEYxpPwXQ==", - "requires": { - "@types/unist": "^2.0.0" - } - }, - "unist-util-stringify-position": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.2.tgz", - "integrity": "sha512-7A6eiDCs9UtjcwZOcCpM4aPII3bAAGv13E96IkawkOAW0OhH+yRxtY0lzo8KiHpzEMfH7Q+FizUmwp8Iqy5EWg==", - "requires": { - "@types/unist": "^2.0.0" - } - }, - "unist-util-visit": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.1.tgz", - "integrity": "sha512-n9KN3WV9k4h1DxYR1LoajgN93wpEi/7ZplVe02IoB4gH5ctI1AaF2670BLHQYbwj+pY83gFtyeySFiyMHJklrg==", - "requires": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.1.1" - } - }, - "unist-util-visit-parents": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.1.tgz", - "integrity": "sha512-gks4baapT/kNRaWxuGkl5BIhoanZo7sC/cUT/JToSRNL1dYoXRFl75d++NkjYk4TAu2uv2Px+l8guMajogeuiw==", - "requires": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" - } - }, - "universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==" - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" - }, - "update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", - "dev": true, - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "requires": { - "punycode": "^2.1.0" - } - }, - "url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" - }, - "uvu": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", - "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==", - "requires": { - "dequal": "^2.0.0", - "diff": "^5.0.0", - "kleur": "^4.0.3", - "sade": "^1.7.3" - } - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" - }, - "vfile": { - "version": "5.3.5", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.5.tgz", - "integrity": "sha512-U1ho2ga33eZ8y8pkbQLH54uKqGhFJ6GYIHnnG5AhRpAh3OWjkrRHKa/KogbmQn8We+c0KVV3rTOgR9V/WowbXQ==", - "requires": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" - } - }, - "vfile-location": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-4.1.0.tgz", - "integrity": "sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==", - "requires": { - "@types/unist": "^2.0.0", - "vfile": "^5.0.0" - } - }, - "vfile-message": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.2.tgz", - "integrity": "sha512-QjSNP6Yxzyycd4SVOtmKKyTsSvClqBPJcd00Z0zuPj3hOIjg0rUPG6DbFGPvUKRgYyaIWLPKpuEclcuvb3H8qA==", - "requires": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" - } - }, - "vite": { - "version": "4.4.9", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz", - "integrity": "sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==", - "dev": true, - "requires": { - "esbuild": "^0.18.10", - "fsevents": "~2.3.2", - "postcss": "^8.4.27", - "rollup": "^3.27.1" - } - }, - "w3c-xmlserializer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", - "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", - "requires": { - "xml-name-validator": "^4.0.0" - } - }, - "web-namespaces": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", - "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==" - }, - "web-streams-polyfill": { - "version": "4.0.0-beta.3", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz", - "integrity": "sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==" - }, - "webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==" - }, - "whatwg-encoding": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", - "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", - "requires": { - "iconv-lite": "0.6.3" - } - }, - "whatwg-mimetype": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", - "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==" - }, - "whatwg-url": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", - "requires": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "which-builtin-type": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", - "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", - "dev": true, - "requires": { - "function.prototype.name": "^1.1.5", - "has-tostringtag": "^1.0.0", - "is-async-function": "^2.0.0", - "is-date-object": "^1.0.5", - "is-finalizationregistry": "^1.0.2", - "is-generator-function": "^1.0.10", - "is-regex": "^1.1.4", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" - } - }, - "which-collection": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", - "dev": true, - "requires": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" - } - }, - "which-typed-array": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", - "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - } - }, - "wicked-good-xpath": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/wicked-good-xpath/-/wicked-good-xpath-1.3.0.tgz", - "integrity": "sha512-Gd9+TUn5nXdwj/hFsPVx5cuHHiF5Bwuc30jZ4+ronF1qHK5O7HD0sgmXWSEgwKquT3ClLoKPVbO6qGwVwLzvAw==" - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "ws": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", - "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", - "requires": {} - }, - "xml-name-validator": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", - "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==" - }, - "xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" - }, - "xmldom-sre": { - "version": "0.1.31", - "resolved": "https://registry.npmjs.org/xmldom-sre/-/xmldom-sre-0.1.31.tgz", - "integrity": "sha512-f9s+fUkX04BxQf+7mMWAp5zk61pciie+fFLC9hX9UVvCeJQfNHRHXpeo5MPcR0EUf57PYLdt+ZO4f3Ipk2oZUw==" - }, - "xmlhttprequest-ssl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", - "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==" - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "yaml": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.2.tgz", - "integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==", - "dev": true - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true - }, - "zwitch": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", - "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==" - } - } -} diff --git a/package.json b/package.json deleted file mode 100644 index 2ea1342..0000000 --- a/package.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "name": "anopaper", - "private": true, - "version": "1.0.0", - "author": "anopaper", - "license": "GPL-3.0-only", - "scripts": { - "dev": "vite", - "build": "vite build --emptyOutDir", - "preview": "vite preview", - "start": "node index", - "bstart": "npm run build && npm run start" - }, - "dependencies": { - "@heroicons/react": "^2.0.18", - "ajv": "^8.11.0", - "body-parser": "^1.20.1", - "crypto-js": "^4.1.1", - "dotenv": "^16.3.1", - "express": "^4.18.2", - "express-rate-limit": "^6.9.0", - "fuse.js": "^6.6.2", - "helmet": "^7.0.0", - "js-sha3": "^0.8.0", - "mongodb": "^5.7.0", - "openai": "^4.0.1", - "react": "^18.2.0", - "react-contenteditable": "^3.3.7", - "react-dom": "^18.2.0", - "react-markdown": "^8.0.7", - "react-router-dom": "^6.15.0", - "react-syntax-highlighter": "^15.5.0", - "rehype-mathjax": "^4.0.3", - "rehype-parse": "^8.0.4", - "rehype-remark": "^9.1.2", - "remark-gfm": "^3.0.1", - "remark-math": "^5.1.1", - "remark-stringify": "^10.0.3", - "remove-markdown": "^0.5.0", - "socket.io": "^4.7.2", - "socket.io-client": "^4.7.2", - "unified": "^11.0.2" - }, - "devDependencies": { - "@types/react": "^18.2.20", - "@types/react-dom": "^18.2.7", - "@vitejs/plugin-react": "^4.0.4", - "autoprefixer": "^10.4.15", - "eslint": "^8.47.0", - "eslint-plugin-react": "^7.33.2", - "eslint-plugin-react-hooks": "^4.6.0", - "eslint-plugin-react-refresh": "^0.4.3", - "postcss": "^8.4.28", - "tailwindcss": "^3.3.3", - "vite": "^4.4.9" - } -} diff --git a/postcss.config.cjs b/postcss.config.cjs deleted file mode 100644 index 33ad091..0000000 --- a/postcss.config.cjs +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - plugins: { - tailwindcss: {}, - autoprefixer: {}, - }, -} diff --git a/public/ico.png b/public/ico.png deleted file mode 100644 index 449ed6c63f29694da5556271c38ce557cff4136e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13909 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 diff --git a/public/localisation/en/about.md b/public/localisation/en/about.md deleted file mode 100644 index c34785e..0000000 --- a/public/localisation/en/about.md +++ /dev/null @@ -1,19 +0,0 @@ -## Anopaper - anonymous notes service - ---- - -#### AnoPaper allows you to save and share notes anonymously. - -##### Functionality: - -- Notes support markdown format. For example, the entry: `### Level 3 Heading` would look like this: - -> ### Level 3 heading - -**Mathjax syntax is also supported** For example: `$\sum{i=1}^n i^2$` would look like this: $\sum_{i=1}^n i^2$ - -- Public notes are available only by link. -- When you click on the link, the note is saved locally and deleted from the server. -- Non-public notes are saved locally and are not sent to the server.` - ---- diff --git a/public/localisation/ru/about.md b/public/localisation/ru/about.md deleted file mode 100644 index 0531128..0000000 --- a/public/localisation/ru/about.md +++ /dev/null @@ -1,19 +0,0 @@ -## Anopaper - сервис анонимных записок - ---- - -#### AnoPaper позволяет анонимно сохранять и публиковать заметки. - -##### Функционал: - -- Заметки поддерживают формат markdown. Например запись: `### Заголовок 3-го уровня` будет выглядеть так: - -> ### Заголовок 3-го уровня - -**Так же поддерживается синтаксис mathjax** Например запись: `$\sum_{i=1}^n a_i$` будет выглядеть так: $\sum_{i=1}^n a_i$ - -- Публичные заметки доступны только по ссылке. -- При переходе по ссылке заметка сохраняется локально и удаляется с сервера. -- Не публичные заметки сохраняются локально и не отправляются на сервер.` - ---- diff --git a/src/App.css b/src/App.css deleted file mode 100644 index fb07e7d..0000000 --- a/src/App.css +++ /dev/null @@ -1,33 +0,0 @@ -/* - Copyright (c) 2023 artegoser (Artemy Egorov) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ - -::-webkit-scrollbar { - width: 5px; -} - -::-webkit-scrollbar-track { - background: #f2f2f2; -} - -::-webkit-scrollbar-thumb { - background: #bdbdbd; - border-radius: 10px; -} - -::-webkit-scrollbar-thumb:hover { - background: #6e6e6e; -} diff --git a/src/App.jsx b/src/App.jsx deleted file mode 100644 index 8a0572f..0000000 --- a/src/App.jsx +++ /dev/null @@ -1,106 +0,0 @@ -/* - Copyright (c) 2023 artegoser (Artemy Egorov) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ - -import "./App.css"; -import { Routes, Route } from "react-router-dom"; -import Menu from "./components/menu"; -import CreateNote from "./pages/create"; -import Save from "./pages/save-local"; -import Publish from "./pages/publish"; -import NotePage from "./pages/note"; -import Notes from "./pages/notes"; -import PubNote from "./pages/pubNote"; -import PubError from "./pages/pubError"; -import PubNoteSafe from "./pages/pubNoteSafe"; -import RenderMarkdown from "./components/markdown"; -import socket from "./components/socket"; -import Settings from "./pages/settings"; -import { useState } from "react"; -import { localesProcess } from "./components/utils"; -import { ButtonWithIcon } from "./components/button"; -import { LinkIcon } from "@heroicons/react/24/outline"; - -function App() { - Storage.prototype.setObj = function (key, obj) { - return this.setItem(key, JSON.stringify(obj)); - }; - Storage.prototype.getObj = function (key) { - return JSON.parse(this.getItem(key)) || {}; - }; - - const [key, setKey] = useState(Math.random()); - - window.settings = localStorage.getObj("settings") || {}; - - localesProcess(); - - window.addEventListener("reRenderPage", () => { - setKey(Math.random()); - }); - - window.socket = socket; - - if (settings.userName == "bruh") { - document.body.classList.add( - "transition-transform", - "transform", - "rotate-180" - ); - } else if (document.body.classList.contains("transition-transform")) { - document.body.classList.remove("rotate-180"); - document.body.classList.add("rotate-0"); - } - - return ( -
- -
- - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - -
- {locals.about_md} -
- - - } - /> - } /> -
-
-
- ); -} - -export default App; diff --git a/src/components/button.jsx b/src/components/button.jsx deleted file mode 100644 index 43922b6..0000000 --- a/src/components/button.jsx +++ /dev/null @@ -1,82 +0,0 @@ -/* - Copyright (c) 2023 artegoser (Artemy Egorov) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ - -import { Link } from "react-router-dom"; - -function Button({ - href, - className, - onClick, - w, - children, - color = "bg-zinc-100 hover:bg-zinc-300 dark:bg-zinc-600 dark:hover:bg-zinc-800", -}) { - return ( - -
- {children} -
- - ); -} - -function IconWithText(props) { - if (props.reverse) { - return ( -
-
{props.children}
-
{props.icon}
-
- ); - } - return ( -
-
{props.icon}
-
{props.children}
-
- ); -} - -function ButtonWithIcon(props) { - return ( - - ); -} - -export { Button, IconWithText, ButtonWithIcon }; diff --git a/src/components/checkbox.jsx b/src/components/checkbox.jsx deleted file mode 100644 index 1d7ad0b..0000000 --- a/src/components/checkbox.jsx +++ /dev/null @@ -1,40 +0,0 @@ -/* - Copyright (c) 2023 artegoser (Artemy Egorov) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ - -function CheckBox(props) { - return ( -
- - -
- ); -} - -export { CheckBox }; diff --git a/src/components/copytocb.jsx b/src/components/copytocb.jsx deleted file mode 100644 index 6294517..0000000 --- a/src/components/copytocb.jsx +++ /dev/null @@ -1,83 +0,0 @@ -/* - Copyright (c) 2023 artegoser (Artemy Egorov) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ - -import { useState } from "react"; -import { ClipboardIcon, CheckIcon } from "@heroicons/react/24/outline"; -import { useEffect } from "react"; - -function CopyToClipboard(props) { - let [copied, setCopied] = useState(false); - - useEffect(() => { - if (copied === true) { - setTimeout(() => { - setCopied(false); - }, 1000); - } - }); - - return ( -
{ - navigator.clipboard.writeText(props.text); - setCopied(true); - }} - > -
{props.text}
-
- {copied === true ? ( - - ) : ( - - )} -
-
- ); -} - -function CodeCopyBtn({ text }) { - let [copied, setCopied] = useState(false); - - useEffect(() => { - if (copied === true) { - setTimeout(() => { - setCopied(false); - }, 1000); - } - }); - - return ( -
{ - navigator.clipboard.writeText(text); - setCopied(true); - }} - > -
- {copied === true ? ( - - ) : ( - - )} -
-
- ); -} - -export { CopyToClipboard, CodeCopyBtn }; diff --git a/src/components/markdown.jsx b/src/components/markdown.jsx deleted file mode 100644 index c0adc59..0000000 --- a/src/components/markdown.jsx +++ /dev/null @@ -1,74 +0,0 @@ -/* - Copyright (c) 2023 artegoser (Artemy Egorov) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ - -import rehypeMathjax from "rehype-mathjax"; -import remarkMath from "remark-math"; -import ReactMarkdown from "react-markdown"; -import remarkGfm from "remark-gfm"; - -import SyntaxHighlighter from "react-syntax-highlighter"; -import { darcula, github } from "react-syntax-highlighter/dist/esm/styles/hljs"; - -import { CodeCopyBtn } from "./copytocb"; - -let theme = window.matchMedia("(prefers-color-scheme: dark)").matches - ? "dark" - : "light"; - -function CodeBlock(props) { - let text = props.children[0]; - let oneline = text.indexOf("\n") <= 1; - if (oneline) { - return {text}; - } else - return ( - - {text} - - ); -} - -function RenderMarkdown(props) { - return ( - - {props.children} - - ); -} - -function Pre({ children }) { - let text = children[0].props.children[0]; - let oneline = text.indexOf("\n") <= 1; - return ( -
-      {!oneline && }
-      {children}
-    
- ); -} - -export default RenderMarkdown; diff --git a/src/components/menu.jsx b/src/components/menu.jsx deleted file mode 100644 index 96883ad..0000000 --- a/src/components/menu.jsx +++ /dev/null @@ -1,72 +0,0 @@ -/* - Copyright (c) 2023 artegoser (Artemy Egorov) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ - -import { ButtonWithIcon } from "./button"; -import { - MagnifyingGlassCircleIcon, - PencilIcon, - ExclamationCircleIcon, - Cog6ToothIcon, - ChevronDownIcon, -} from "@heroicons/react/24/outline"; -import { useState } from "react"; - -function Menu() { - const [hidden, setHidden] = useState(window.innerWidth < 1024 ? true : false); - - return ( -
- {window.innerWidth < 1024 && ( - { - setHidden(!hidden); - }} - iconClass={`transition-transform transform translate-z-0 h-7 w-7 ${ - !hidden ? "rotate-180" : "rotate-0" - }`} - /> - )} - {!hidden && ( - <> - - - - - - )} -
- ); -} - -export default Menu; diff --git a/src/components/note.jsx b/src/components/note.jsx deleted file mode 100644 index c0f47e1..0000000 --- a/src/components/note.jsx +++ /dev/null @@ -1,47 +0,0 @@ -/* - Copyright (c) 2023 artegoser (Artemy Egorov) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ - -import RenderMarkdown from "../components/markdown"; -import { timestamp2text } from "./utils"; - -function Note({ note }) { - return ( - <> -
-
-

- {note.name} -

-
- {`${timestamp2text(note.time)} ${ - note.pub ? `| ${locals.PublicNote}` : `| ${locals.LocalNote}` - }`} -
-
-
- {note.text} -
-
-
- - -
- - ); -} - -export default Note; diff --git a/src/components/openai.js b/src/components/openai.js deleted file mode 100644 index 4366455..0000000 --- a/src/components/openai.js +++ /dev/null @@ -1,45 +0,0 @@ -/* - Copyright (c) 2023 artegoser (Artemy Egorov) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ - -import { Configuration, OpenAIApi } from "openai"; - -async function Complete(text) { - document.body.style.cursor = "wait"; - - let initText = text; - - const configuration = new Configuration({ - apiKey: settings.openAiKey, - }); - const openai = new OpenAIApi(configuration); - const response = await openai.createCompletion({ - model: "text-davinci-003", - prompt: initText, - max_tokens: 1000, - temperature: 1, - top_p: 1, - n: 1, - stream: false, - logprobs: null, - }); - - document.body.style.cursor = "default"; - - return initText + response.data.choices[0].text; -} - -export { Complete }; diff --git a/src/components/settingsInputs.jsx b/src/components/settingsInputs.jsx deleted file mode 100644 index 931384f..0000000 --- a/src/components/settingsInputs.jsx +++ /dev/null @@ -1,194 +0,0 @@ -/* - Copyright (c) 2023 artegoser (Artemy Egorov) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ -/* eslint-disable react-refresh/only-export-components */ -import { CheckBox } from "./checkbox"; -import { inputStyle, settingsAddInput } from "./styles"; -import { ButtonWithIcon } from "./button"; -import { Complete } from "../components/openai"; -import { DocumentTextIcon } from "@heroicons/react/24/outline"; - -function SettingsCheckBox({ label, title, className, settingName, onClick }) { - return ( - { - !!settingName && setSetting(settingName, e.target.checked); - !!onClick && onClick(e); - }} - /> - ); -} - -function SettingsTextInput({ - placeholder, - title, - label, - className, - settingName, - onChange, - secret, -}) { - return ( -
- - { - !!settingName && setSetting(settingName, e.target.value); - !!onChange && onChange(e); - }} - /> -
- ); -} - -function setSetting(settingName, value) { - window.settings[settingName] = value; - localStorage.setObj("settings", window.settings); -} - -function SettingsSelectInput({ - label, - className, - settingName, - options, - onChange, -}) { - return ( -
- - -
- ); -} - -function SettingsSection({ name, children }) { - return ( -
-

- {name} -

-
{children}
-
- ); -} - -function NoteNameInput({ value, onChange, preview = false }) { - return ( - - ); -} - -function NoteTextArea({ value, onChange, preview = false }) { - return ( - - ); -} - -function NotesAdditionalSettings({ - noteText = localStorage.getItem("NoteText"), - onClickAIComp, - onClickCollabEdit, -}) { - return ( - <> - {settings.additionalFeatures && ( -
- - {!!settings.openAiKey && ( - { - let text = await Complete(noteText); - document.getElementById("noteTextArea").value = text; - - onClickAIComp(text); - }} - /> - )} - - -
- )} - - ); -} - -export { - SettingsCheckBox, - SettingsTextInput, - SettingsSelectInput, - SettingsSection, - setSetting, - NoteNameInput, - NoteTextArea, - NotesAdditionalSettings, -}; diff --git a/src/components/socket.js b/src/components/socket.js deleted file mode 100644 index 84edadc..0000000 --- a/src/components/socket.js +++ /dev/null @@ -1,49 +0,0 @@ -/* - Copyright (c) 2023 artegoser (Artemy Egorov) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ - -import { io } from "socket.io-client"; -import { reRenderPage } from "./utils"; - -const socket = io(); - -function onConnect() { - console.log("Socket connected"); -} - -function onDisconnect() { - console.log("Socket disconnected, local mode only"); - window.alreadyConnected = false; -} - -function onFooEvent() { - console.log("bar"); -} - -function onSync({ settings, Notes, NoteText, NoteName }) { - localStorage.setItem("Notes", Notes); - localStorage.setItem("NoteText", NoteText); - localStorage.setItem("NoteName", NoteName); - localStorage.setItem("settings", settings); - reRenderPage(); -} - -socket.on("connect", onConnect); -socket.on("disconnect", onDisconnect); -socket.on("foo", onFooEvent); -socket.on("broadcastSync", onSync); - -export default socket; diff --git a/src/components/styles.js b/src/components/styles.js deleted file mode 100644 index 4e494e4..0000000 --- a/src/components/styles.js +++ /dev/null @@ -1,22 +0,0 @@ -/* - Copyright (c) 2023 artegoser (Artemy Egorov) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ - -let inputStyle = - "block px-3 py-1.5 text-base font-normal text-gray-700 dark:text-white bg-white dark:bg-zinc-900 bg-clip-padding border border-solid border-gray-300 rounded-lg transition ease-in-out focus:border-blue-600 focus:outline-none"; -let settingsAddInput = "w-full lg:w-1/4"; - -export { inputStyle, settingsAddInput }; diff --git a/src/components/utils.js b/src/components/utils.js deleted file mode 100644 index 42c715c..0000000 --- a/src/components/utils.js +++ /dev/null @@ -1,117 +0,0 @@ -/* - Copyright (c) 2023 artegoser (Artemy Egorov) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ - -import { Locales } from "../localisation/main"; - -function timestamp2text(time) { - time = new Date(time); - return time.toLocaleString(settings.language); -} - -function reRenderPage() { - window.dispatchEvent(new Event("reRenderPage")); -} - -function localesProcess(reRender) { - let locale = - window.settings.language || - navigator.language || - navigator.userLanguage || - "en-US"; - - let lang = locale.split("-")[0]; - - let localeObj = Object.assign({}, Locales.en); - Object.assign(localeObj, Locales[lang]); - Object.assign(localeObj, Locales[locale]); - - window.locals = localeObj; - - if (reRender) reRenderPage(); -} - -async function getNetLocale(lang, fileName) { - return (await (await fetch(`localisation/${lang}/${fileName}`)).text()) || ""; -} - -function nameUpdate(val) { - socket.emit("nameChanged", { - name: val, - room: settings.CollabEditPassword, - }); - window.lastSocketUpdate = Date.now(); -} - -function textUpdate(val) { - socket.emit("textChanged", { - text: val, - room: settings.CollabEditPassword, - }); - window.lastSocketUpdate = Date.now(); -} - -function collab_edit_init(setName, setText, saveToLocalStorage = true) { - if (settings.CollabEdit === true) { - if (!window.alreadyConnected) { - socket.emit("joinRoom", settings.CollabEditPassword); - window.alreadyConnected = true; - window.lastSocketUpdate = Date.now(); - window.socketTimeout = 100; - window.nameChanged = false; - window.textChanged = false; - - setInterval(() => { - if (window.nameChanged) { - nameUpdate(window.nameChanged); - window.nameChanged = false; - } - - if (window.textChanged) { - textUpdate(window.textChanged); - window.textChanged = false; - } - }, window.socketTimeout); - } - - socket.on("textChanged", (data) => { - setText(data.text); - if (saveToLocalStorage) localStorage.setItem("NoteText", data.text); - document.getElementById("noteTextArea").value = data.text; - }); - - socket.on("nameChanged", (data) => { - setName(data.name); - if (saveToLocalStorage) localStorage.setItem("NoteName", data.name); - document.getElementById("noteNameInput").value = data.name; - }); - - socket.on("roomJoined", () => { - nameUpdate(localStorage.getItem("NoteName"), true); - textUpdate(localStorage.getItem("NoteText"), true); - }); - } -} - -export { - timestamp2text, - reRenderPage, - localesProcess, - getNetLocale, - collab_edit_init, - nameUpdate, - textUpdate, -}; diff --git a/src/index.css b/src/index.css deleted file mode 100644 index 373d3f8..0000000 --- a/src/index.css +++ /dev/null @@ -1,118 +0,0 @@ -/* - Copyright (c) 2023 artegoser (Artemy Egorov) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ - -@tailwind base; -@tailwind components; -@tailwind utilities; - -@layer base { - /* styles for displaying markdown */ - .md h1 { - @apply text-6xl; - } - .md h2 { - @apply text-5xl; - } - .md h3 { - @apply text-4xl; - } - .md h4 { - @apply text-3xl; - } - .md h5 { - @apply text-2xl; - } - .md h6 { - @apply text-xl; - } - - .md blockquote { - @apply border-l-4 pl-2 rounded-lg ml-4 mt-2 mb-2; - @apply bg-zinc-200 border-zinc-400; - @apply dark:bg-zinc-800 dark:border-zinc-600; - @apply pb-2; - } - - .md hr { - @apply mb-4 mt-4 border-2 rounded-lg; - } - - .md ul { - @apply list-disc list-inside ml-4; - } - - .md li ul { - @apply list-disc list-inside; - } - - .md ol { - @apply list-decimal list-inside ml-4; - } - - .md li ol { - @apply list-decimal list-inside ml-4; - } - - .md-code { - @apply p-1; - @apply rounded-lg; - @apply bg-zinc-200 border-zinc-400; - @apply dark:bg-zinc-800 dark:border-zinc-600 overflow-auto; - } - - .md a { - @apply inline-block bg-transparent text-blue-600; - } - - .md table { - @apply w-full lg:w-1/2; - border-style: hidden; - } - - .md table thead { - @apply bg-zinc-200 dark:bg-zinc-800; - } - - .md table tr { - @apply border-2 border-zinc-400; - } - - .md img { - @apply w-96 ease-[cubic-bezier(.69,.58,.32,1.69)] hover:scale-105 rounded-2xl hover:drop-shadow-2xl transition duration-500 lg:ml-5; - } - - .md .math-inline { - display: inline-block; - } - .md li p { - display: inline; - } - - /* other styles */ - - .blog-pre { - @apply mt-2 mb-2 relative; - } - - .code-copy-btn { - @apply text-zinc-400 dark:text-zinc-300 absolute right-2 top-2 cursor-pointer; - } - - .code-copy-btn:hover { - @apply text-zinc-500 dark:text-zinc-400; - } -} diff --git a/src/localisation/en.js b/src/localisation/en.js deleted file mode 100644 index 7fc8923..0000000 --- a/src/localisation/en.js +++ /dev/null @@ -1,81 +0,0 @@ -/* - Copyright (c) 2023 artegoser (Artemy Egorov) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ - -import { getNetLocale } from "../components/utils"; - -let en = { - about_md: await getNetLocale("en", "about.md"), - Notes: "Notes", - Write: "Write", - Chat: "Chat", - Settings: "Settings", - About: "About", - Name: "Name", - UserName: "Username", - User: "User", - PhotoUrl: "Photo URL", - Url: "URL", - Status: "Status", - UserStatus: "User status", - EditPreview: "Editing in preview", - EditPreviewWarn: - "Can cause irreversible text changes, such as breaking code tags", - PublicNote: "Public note", - PublicNoteTitle: "If enabled, note will be visible to all users", - Interface: "Interface", - Language: "Language", - ThirdPartyApi: "Third party API", - OpenAiKey: "OpenAI API key", - Key: "Key", - Preview: "Preview", - NotePlaceholder: - "Your note starts here. You can use markdown, MathJax and GFM.", - NoteName: "Note name", - Publish: "Publish", - Save: "Save", - WriteNote: "Write note", - PubError: "Error in publishing note", - PubErrorMsg: "Note was not published due to an unknown error", - PubErrorMsgNoName: "Note was not published, because it does not have a name.", - PubErrorMsgNoText: "Note was not published, because it does not have a text.", - Back: "Back", - PubNoteNotExist: "This note does not exist", - NoteNotExist: "This note does not exist", - Idontexists: "I don't exist", - PubUrlPlaceholder: - "The link to send a public note. When you click this link, the note will disappear from the server and be saved locally.", - Delete: "Delete", - Open: "Open", - NoNotesYet: "No notes yet", - AIComplete: "Continue Note (AI)", - AdditionalFeatures: "Additional features", - CollabEdit: "Collaborative editing", - Password: "Password", - SyncPassword: "Sync password", - CollabEditPassword: "Password for collaborative editing", - BroadcastSync: "Getting notes, settings from another device", - SyncAll: "Send data to all devices", - Sync: "Sync", - Search: "Search", - NoNotesFound: "No notes found", - LocalNote: "Local", - Menu: "Menu", - SourceCode: "Source code", - Edit: "Edit", -}; - -export default en; diff --git a/src/localisation/eo.js b/src/localisation/eo.js deleted file mode 100644 index 16a61c0..0000000 --- a/src/localisation/eo.js +++ /dev/null @@ -1,80 +0,0 @@ -/* - Copyright (c) 2023 artegoser (Artemy Egorov) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ - -//translated with Google Translate -//if you want to help with translations, please contribute to this project - -let eo = { - Notes: "Notoj", - Write: "Skribu", - Chat: "Babilejo", - Settings: "Agordoj", - About: "Pri", - Name: "Nomo", - UserName: "Uzantnomo", - User: "Uzanto", - PhotoUrl: "Foto URL", - Url: "url", - Status: "Statuso", - UserStatus: "Uzanto -Statuso", - EditPreview: "Redaktado en Antaŭrigardo", - EditPreviewWarn: - "Povas kaŭzi neinversigeblajn tekstajn ŝanĝojn, kiel rompi kodajn etikedojn", - PublicNote: "Publika Noto", - PublicNoteTitle: "Se ebligita, noto estos videbla por ĉiuj uzantoj", - Interface: "Interfaco", - Language: "Lingvo", - ThirdPartyApi: "Tria API", - OpenAiKey: "OpenAI API ŝlosilo", - Key: "Ŝlosilo", - Preview: "Antaŭrigardo", - NotePlaceholder: - "Via noto komenciĝas ĉi tie.Vi povas uzi Markdown, Mathjax kaj GFM.", - NoteName: "Note nomo", - Publish: "Publikigi", - Save: "Savi", - WriteNote: "Skribu Noton", - PubError: "Eraro en Eldona Noto", - PubErrorMsg: "Noto ne estis publikigita pro nekonata eraro", - PubErrorMsgNoName: "Noto ne estis publikigita, ĉar ĝi ne havas nomon.", - PubErrorMsgNoText: "Noto ne estis publikigita, ĉar ĝi ne havas tekston.", - Back: "Reen", - PubNoteNotExist: "Ĉi tiu noto ne ekzistas", - NoteNotExist: "Ĉi tiu noto ne ekzistas", - Idontexists: "Mi ne ekzistas", - PubUrlPlaceholder: - "La ligo por sendi publikan noton.Kiam vi alklakas ĉi tiun ligon, la noto malaperos de la servilo kaj estos konservita surloke.", - Delete: "Forigi", - Open: "Malferma", - NoNotesYet: "Ankoraŭ neniuj notoj", - AIComplete: "Daŭrigu Noton (AI)", - AdditionalFeatures: "Pliaj Trajtoj", - CollabEdit: "Kunlabora Redaktado", - Password: "Pasvorto", - SyncPassword: "Sinkrona pasvorto", - CollabEditPassword: "Pasvorto por kunlabora redaktado", - BroadcastSync: "Ricevante notojn, agordojn de alia aparato", - SyncAll: "Sendado de datumoj", - Sync: "Sinkronigi", - Search: "Serĉo", - NoNotesFound: "Neniuj notoj trovitaj", - LocalNote: "Loka", - PublishNote: "Publika", - Menu: "Menuo", -}; - -export default eo; diff --git a/src/localisation/es.js b/src/localisation/es.js deleted file mode 100644 index 30009ea..0000000 --- a/src/localisation/es.js +++ /dev/null @@ -1,80 +0,0 @@ -/* - Copyright (c) 2023 artegoser (Artemy Egorov) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ - -//translated with Google Translate -//if you want to help with translations, please contribute to this project - -let es = { - Notes: "Notas", - Write: "Escribir", - Chat: "Charlar", - Settings: "Ajustes", - About: "Acerca de", - Name: "Nombre", - UserName: "Nombre de usuario", - User: "Usuaria", - PhotoUrl: "URL fotográfica", - Url: "Url", - Status: "Estado", - UserStatus: "Estatus de usuario", - EditPreview: "Edición en vista previa", - EditPreviewWarn: - "Puede causar cambios de texto irreversibles, como etiquetas de código de ruptura", - PublicNote: "Nota pública", - PublicNoteTitle: - "Si está habilitado, Note será visible para todos los usuarios", - Interface: "Interfaz", - Language: "Idioma", - ThirdPartyApi: "API de terceros", - OpenAiKey: "Clave de API de OpenAI", - Key: "Llave", - Preview: "Avance", - NotePlaceholder: "Tu nota comienza aquí.Puede usar Markdown, MathJax y GFM.", - NoteName: "Nombre de nota", - Publish: "Publicar", - Save: "Ahorrar", - WriteNote: "Toma nota", - PubError: "Error en la nota de publicación", - PubErrorMsg: "La nota no se publicó debido a un error desconocido", - PubErrorMsgNoName: "No se publicó una nota, porque no tiene un nombre.", - PubErrorMsgNoText: "La nota no se publicó, porque no tiene un texto.", - Back: "Atrás", - PubNoteNotExist: "Esta nota no existe", - NoteNotExist: "Esta nota no existe", - Idontexists: "No existe", - PubUrlPlaceholder: - "El enlace para enviar una nota pública.Cuando haga clic en este enlace, la nota desaparecerá del servidor y se guardará localmente.", - Delete: "Borrar", - Open: "Abierto", - NoNotesYet: "No hay notas todavía", - AIComplete: "Continuar nota (ai)", - AdditionalFeatures: "Características adicionales", - CollabEdit: "Edición colaborativa", - Password: "Contraseña", - SyncPassword: "Sincronización de contraseña", - CollabEditPassword: "Contraseña para edición colaborativa", - BroadcastSync: "Obtener notas, configuraciones de otro dispositivo", - SyncAll: "Envío de datos", - Sync: "Sincronización", - Search: "Buscar", - NoNotesFound: "No se encontraron notas", - LocalNote: "Local", - PublishNote: "Pública", - Menu: "Menú", -}; - -export default es; diff --git a/src/localisation/ja.js b/src/localisation/ja.js deleted file mode 100644 index 3758b31..0000000 --- a/src/localisation/ja.js +++ /dev/null @@ -1,80 +0,0 @@ -/* - Copyright (c) 2023 artegoser (Artemy Egorov) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ - -//translated with Google Translate -//if you want to help with translations, please contribute to this project - -let ja = { - Notes: "ノート", - Write: "書く", - Chat: "チャット", - Settings: "設定", - About: "だいたい", - Name: "名前", - UserName: "ユーザー名", - User: "ユーザー", - PhotoUrl: "写真の URL", - Url: "URL", - Status: "スターテス", - UserStatus: "ユーザーステータス", - EditPreview: "プレビューでの編集", - EditPreviewWarn: - "コードタグの破損など、元に戻せないテキスト変更を引き起こす可能性があります", - PublicNote: "公開メモ", - PublicNoteTitle: "有効にすると、メモはすべてのユーザーに表示されます", - Interface: "インターフェース", - Language: "言語", - ThirdPartyApi: "サードパーティ API", - OpenAiKey: "OpenAI API キー", - Key: "鍵", - Preview: "プレビュー", - NotePlaceholder: - "あなたのメモはここから始まります。マークダウン、MathJax、GFM を使用できます。", - NoteName: "音名", - Publish: "公開", - Save: "保存", - WriteNote: "記帳", - PubError: "メモの公開エラー", - PubErrorMsg: "不明なエラーのため、ノートは公開されませんでした", - PubErrorMsgNoName: "名前がないため、ノートは公開されませんでした。", - PubErrorMsgNoText: "テキストがないため、ノートは公開されませんでした。", - Back: "戻る", - PubNoteNotExist: "このメモは存在しません", - NoteNotExist: "このメモは存在しません", - Idontexists: "私は存在しません", - PubUrlPlaceholder: - "公開メモを送信するためのリンク。このリンクをクリックすると、メモはサーバーから消え、ローカルに保存されます。", - Delete: "消去", - Open: "開ける", - NoNotesYet: "メモはまだありません", - AIComplete: "継続評価 (AI)", - AdditionalFeatures: "追加機能", - CollabEdit: "共同編集", - Password: "パスワード", - SyncPassword: "パスワードを同期", - CollabEditPassword: "共同編集用パスワード", - BroadcastSync: "別のデバイスからメモ、設定を取得する", - SyncAll: "すべてのデバイスにデータを送信", - Sync: "同期", - Search: "検索", - NoNotesFound: "メモが見つかりません", - LocalNote: "地元", - PublishNote: "公共", - Menu: "メニュー", -}; - -export default ja; diff --git a/src/localisation/main.js b/src/localisation/main.js deleted file mode 100644 index f4827d2..0000000 --- a/src/localisation/main.js +++ /dev/null @@ -1,61 +0,0 @@ -/* - Copyright (c) 2023 artegoser (Artemy Egorov) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ - -import ru from "./ru"; -import en from "./en"; -import es from "./es"; -import eo from "./eo"; -import ja from "./ja"; -import zh from "./zh"; - -let Locales = { - ru, - en, - es, - eo, - ja, - zh, -}; - -let langChoices = [ - { - value: "ru-RU", - label: "Русский", - }, - { - value: "en-US", - label: "English (US)", - }, - { - value: "es", - label: "Español", - }, - { - value: "eo", - label: "Esperanto", - }, - { - value: "ja-JP", - label: "日本語", - }, - { - value: "zh-CN", - label: "中国人", - }, -]; - -export { Locales, langChoices }; diff --git a/src/localisation/ru.js b/src/localisation/ru.js deleted file mode 100644 index 9ddbc77..0000000 --- a/src/localisation/ru.js +++ /dev/null @@ -1,83 +0,0 @@ -/* - Copyright (c) 2023 artegoser (Artemy Egorov) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ - -import { getNetLocale } from "../components/utils"; - -let ru = { - about_md: await getNetLocale("ru", "about.md"), - Notes: "Заметки", - Write: "Написать", - Chat: "Чат", - Settings: "Настройки", - About: "Подробнее", - Name: "Имя", - UserName: "Имя пользователя", - User: "Пользователь", - PhotoUrl: "Ссылка на фото", - Url: "Ссылка", - Status: "Статус", - UserStatus: "Статус пользователя", - EditPreview: "Редактирование в предпросмотре", - EditPreviewWarn: - "Может вызывать необратимые изменения текста, например ломает теги кода", - PublicNote: "Публичная заметка", - PublicNoteTitle: "Если включено, то заметка будет видна всем пользователям", - Interface: "Интерфейс", - Language: "Язык", - ThirdPartyApi: "Сторонний API", - OpenAiKey: "OpenAI API ключ", - Key: "Ключ", - Preview: "Предпросмотр", - NotePlaceholder: - "Ваша заметка начинается здесь. Вы можете использовать markdown, MathJax и GFM.", - NoteName: "Название заметки", - Publish: "Опубликовать", - Save: "Сохранить", - WriteNote: "Написать заметку", - PubError: "Ошибка в публикации заметки", - PubErrorMsg: "Заметка не была опубликована из-за неизвестной ошибки", - PubErrorMsgNoName: - "Заметка не была опубликована, так как отсутствует название.", - PubErrorMsgNoText: "Заметка не была опубликована, так как отсутствует текст.", - Back: "Назад", - PubNoteNotExist: "Такой публичной заметки не существует", - NoteNotExist: "Заметки не существует", - Idontexists: "Меня не существует", - PubUrlPlaceholder: - "Ссылка для отправки публичной заметки. При переходе на эту ссылку, заметка исчезнет с сервера и будет сохранена локально.", - Delete: "Удалить", - Open: "Открыть", - NoNotesYet: "Заметок пока нет", - AIComplete: "Продолжить заметку (ИИ)", - AdditionalFeatures: "Дополнительные функции", - CollabEdit: "Совместное редактирование", - Password: "Пароль", - CollabEditPassword: "Пароль для совместного редактирования", - SyncPassword: "Пароль для синхронизации", - BroadcastSync: "Получение заметок, настроек с другого устройства", - SyncAll: "Отправить данные", - Sync: "Синхронизация", - Search: "Поиск", - NoNotesFound: "Заметок не найдено", - LocalNote: "Локальная", - PublishNote: "Публичная", - Menu: "Меню", - SourceCode: "Исходный код", - Edit: "Изменить", -}; - -export default ru; diff --git a/src/localisation/zh.js b/src/localisation/zh.js deleted file mode 100644 index 78c7265..0000000 --- a/src/localisation/zh.js +++ /dev/null @@ -1,78 +0,0 @@ -/* - Copyright (c) 2023 artegoser (Artemy Egorov) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ - -//translated with Google Translate -//if you want to help with translations, please contribute to this project - -let zh = { - Notes: "笔记", - Write: "写", - Chat: "聊天", - Settings: "设置", - About: "关于", - Name: "姓名", - UserName: "用户名", - User: "用户", - PhotoUrl: "照片网址", - Url: "网址", - Status: "地位", - UserStatus: "用户状态", - EditPreview: "在预览中编辑", - EditPreviewWarn: "可能导致不可逆转的文本更改,例如破坏代码标签", - PublicNote: "公众号", - PublicNoteTitle: "如果启用,注释将对所有用户可见", - Interface: "界面", - Language: "语言", - ThirdPartyApi: "第三方接口", - OpenAiKey: "OpenAI API 密钥", - Key: "钥匙", - Preview: "预览", - NotePlaceholder: "你的笔记从这里开始。你可以使用 markdown、MathJax 和 GFM。", - NoteName: "笔记名称", - Publish: "发布", - Save: "节省", - WriteNote: "写笔记", - PubError: "发布笔记时出错", - PubErrorMsg: "由于未知错误,笔记未发布", - PubErrorMsgNoName: "注释未发布,因为它没有名称。", - PubErrorMsgNoText: "注释未发布,因为它没有文本。", - Back: "后退", - PubNoteNotExist: "此备注不存在", - NoteNotExist: "此备注不存在", - Idontexists: "我不存在", - PubUrlPlaceholder: - "发送公共笔记的链接。当您单击此链接时,该笔记将从服务器上消失并保存在本地。", - Delete: "删除", - Open: "打开", - NoNotesYet: "还没有笔记", - AIComplete: "继续评级 (AI)", - AdditionalFeatures: "附加功能", - CollabEdit: "协同编辑", - Password: "密码", - SyncPassword: "同步密码", - CollabEditPassword: "协同编辑密码", - BroadcastSync: "从另一台设备获取笔记、设置", - SyncAll: "向所有设备发送数据", - Sync: "同步", - Search: "搜索", - NoNotesFound: "找不到笔记", - LocalNote: "当地的", - PublishNote: "民众", - Menu: "菜单", -}; - -export default zh; diff --git a/src/main.jsx b/src/main.jsx deleted file mode 100644 index dad614e..0000000 --- a/src/main.jsx +++ /dev/null @@ -1,30 +0,0 @@ -/* - Copyright (c) 2023 artegoser (Artemy Egorov) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ - -import React from "react"; -import ReactDOM from "react-dom/client"; -import App from "./App"; -import "./index.css"; -import { BrowserRouter } from "react-router-dom"; - -ReactDOM.createRoot(document.getElementById("root")).render( - - - - - -); diff --git a/src/pages/create.jsx b/src/pages/create.jsx deleted file mode 100644 index 0fb1b97..0000000 --- a/src/pages/create.jsx +++ /dev/null @@ -1,167 +0,0 @@ -/* - Copyright (c) 2023 artegoser (Artemy Egorov) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ - -import { ButtonWithIcon } from "../components/button"; -import { ChevronDoubleRightIcon } from "@heroicons/react/24/outline"; -import { CheckBox } from "../components/checkbox"; -import { useState } from "react"; -import RenderMarkdown from "../components/markdown"; -import { - collab_edit_init, - timestamp2text, - textUpdate, -} from "../components/utils"; -import rehypeRemark from "rehype-remark/lib"; -import ContentEditable from "react-contenteditable"; -import ReactDOMServer from "react-dom/server"; -import { unified } from "unified"; -import rehypeParse from "rehype-parse"; -import remarkStringify from "remark-stringify"; -import remarkGfm from "remark-gfm"; -import remarkMath from "remark-math"; -import { - NoteNameInput, - NoteTextArea, - NotesAdditionalSettings, - SettingsCheckBox, -} from "../components/settingsInputs"; - -function CreateNote() { - const [preview, setPreview] = useState(false); - const [publicState, setPublicState] = useState(settings.publicNote); - const [text, setText] = useState(localStorage.getItem("NoteText")); - const [name, setName] = useState(localStorage.getItem("NoteName")); - - async function previewChange(val) { - let md = await unified() - .use(remarkGfm) - .use(remarkMath) - .use(rehypeParse) - .use(rehypeRemark) - .use(remarkStringify) - .process(val.target.value); - - md = md.value.trim(); - - localStorage.setItem("NoteText", md); - - if (settings.CollabEdit === true) { - socket.emit("textChanged", { - text: md, - room: settings.CollabEditPassword, - }); - } - } - - collab_edit_init(setName, setText, false); - - return ( -
-
-

- {`${preview ? "" : locals.WriteNote}`} -

- { - setText(localStorage.getItem("NoteText")); - setPreview(val.target.checked); - }} - /> -
- - { - setName(e.target.value); - localStorage.setItem("NoteName", e.target.value); - window.nameChanged = e.target.value; - }} - preview={preview} - /> - - { - setText(e.target.value); - localStorage.setItem("NoteText", e.target.value); - window.textChanged = e.target.value; - }} - preview={preview} - /> - - {preview && ( -
-

- {name} -

-
- {timestamp2text(Date.now())} -
-
- )} - {preview && ( -
- {text} - )} - /> -
- )} - -
- { - setPublicState(val.target.checked); - }} - /> -
- -
- - { - localStorage.setItem("NoteText", text); - setText(text); - - if (settings.CollabEdit === true) { - textUpdate(text); - } - }} - /> -
-
- ); -} - -export default CreateNote; diff --git a/src/pages/note.jsx b/src/pages/note.jsx deleted file mode 100644 index f6df7fe..0000000 --- a/src/pages/note.jsx +++ /dev/null @@ -1,145 +0,0 @@ -/* - Copyright (c) 2023 artegoser (Artemy Egorov) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ - -import { useParams } from "react-router-dom"; -import { - ArchiveBoxArrowDownIcon, - ChevronDoubleLeftIcon, - ChevronDoubleRightIcon, - PencilIcon, - TrashIcon, -} from "@heroicons/react/24/outline"; -import { ButtonWithIcon } from "../components/button"; -import Note from "../components/note"; -import { useState } from "react"; -import { - NoteNameInput, - NoteTextArea, - NotesAdditionalSettings, -} from "../components/settingsInputs"; -import { collab_edit_init, nameUpdate, textUpdate } from "../components/utils"; - -function NotePage() { - let params = useParams(); - - let notes = localStorage.getObj("Notes"); - let note = notes[params.id]; - - let [edit, setEdit] = useState(false); - let [text, setText] = useState(note.text); - let [name, setName] = useState(note.name); - - collab_edit_init(setName, setText, false); - - return ( -
- - - {note ? ( - edit ? ( - <> - { - setName(e.target.value); - window.nameChanged = e.target.value; - }} - /> - { - setText(e.target.value); - window.textChanged = e.target.value; - }} - /> -
- { - setText(text); - if (settings.CollabEdit === true) { - textUpdate(text); - } - }} - /> -
- - ) : ( - - ) - ) : ( -
{locals.NoteNotExists}
- )} - {note && ( -
-
- { - if (edit) { - notes[params.id].name = name; - notes[params.id].text = text; - localStorage.setObj("Notes", notes); - } else { - if (settings.CollabEdit === true) { - textUpdate(notes[params.id].text); - nameUpdate(notes[params.id].name); - } - } - - setEdit(!edit); - }} - /> - - {!edit && ( - <> - - { - let notesObj = localStorage.getObj("Notes"); - - delete notesObj[params.id]; - - localStorage.setObj("Notes", notesObj); - }} - /> - - )} -
-
- )} -
- ); -} - -export default NotePage; diff --git a/src/pages/notes.jsx b/src/pages/notes.jsx deleted file mode 100644 index acb2a9a..0000000 --- a/src/pages/notes.jsx +++ /dev/null @@ -1,127 +0,0 @@ -/* - Copyright (c) 2023 artegoser (Artemy Egorov) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ - -import { ButtonWithIcon } from "../components/button"; -import { ChevronDoubleRightIcon } from "@heroicons/react/24/outline"; -import { timestamp2text } from "../components/utils"; -import Fuse from "fuse.js"; -import { inputStyle } from "../components/styles"; -import { useState } from "react"; -import { setSetting } from "../components/settingsInputs"; -import RemoveMarkdown from "remove-markdown"; - -function Notes() { - if (!settings.newNotes) { - let notesObj = localStorage.getObj("Notes"); - let notes = Object.entries(notesObj); - for (let [id, note] of notes) { - note.id = id; - note.textTime = timestamp2text(note.time); - notesObj[id] = note; - } - localStorage.setObj("Notes", notesObj); - setSetting("newNotes", true); - } - - let n = Object.values(localStorage.getObj("Notes")); - - const [search, setSearch] = useState(""); - const [indexed, setIndexed] = useState(false); - - if (search && !indexed) { - window.fuseIndex = new Fuse(n, { - includeScore: true, - useExtendedSearch: true, - keys: [ - "name", - "textTime", - { - name: "text", - getFn: (obj) => RemoveMarkdown(obj.text), - }, - ], - }); - setIndexed(true); - } - - let found = search === "" ? n : window.fuseIndex.search(search); - - if (search !== "") { - found = found - .sort((a, b) => { - return a.score - b.score; - }) - .map(({ item }) => item); - } else { - found = found.sort((a, b) => { - return b.time - a.time; - }); - } - - let notes = found.map((item) => { - return ( -
-
- {item.name} -
-
-
{timestamp2text(item.time)}
-
- -
-
-
- ); - }); - - if (n.length === 0) { - return ( -
-

{locals.NoNotesYet}

-
- ); - } - - return ( -
- { - setSearch(e.target.value); - }} - /> - {notes} - {found.length === 0 && ( -
-

{locals.NoNotesFound}

-
- )} -
- ); -} - -export default Notes; diff --git a/src/pages/pubError.jsx b/src/pages/pubError.jsx deleted file mode 100644 index 2359959..0000000 --- a/src/pages/pubError.jsx +++ /dev/null @@ -1,51 +0,0 @@ -/* - Copyright (c) 2023 artegoser (Artemy Egorov) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ - -import { timestamp2text } from "../components/utils"; -import { ChevronDoubleLeftIcon } from "@heroicons/react/24/outline"; -import { ButtonWithIcon } from "../components/button"; -import { useSearchParams } from "react-router-dom"; - -function PubError() { - const [searchParams] = useSearchParams(); - let err = searchParams.get("err"); - - return ( -
- - -
-
-

- {locals.PubError} -

-
- {timestamp2text(Date.now())} -
-
-
{err ? err : locals.PubErrorMsg}
-
-
- ); -} - -export default PubError; diff --git a/src/pages/pubNote.jsx b/src/pages/pubNote.jsx deleted file mode 100644 index a1e2a97..0000000 --- a/src/pages/pubNote.jsx +++ /dev/null @@ -1,89 +0,0 @@ -/* - Copyright (c) 2023 artegoser (Artemy Egorov) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ - -import RenderMarkdown from "../components/markdown"; -import { useState } from "react"; -import { Navigate, useParams } from "react-router-dom"; -import { timestamp2text } from "../components/utils"; -import { ChevronDoubleLeftIcon } from "@heroicons/react/24/outline"; -import { ButtonWithIcon } from "../components/button"; - -function PubNote() { - let params = useParams(); - - let [note, setNote] = useState(false); - - if (note === false) - fetch(`/get-note/del/${params.id}`) - .then((data) => { - data - .json() - .then((data) => { - setNote(data); - }) - .catch(() => { - setNote({ - text: "Такой публичной заметки не сущуествует", - name: "Меня не существует", - time: Date.now(), - save: false, - }); - }); - }) - .catch(() => { - setNote({ - text: "Такой публичной заметки не сущуествует", - name: "Меня не существует", - time: Date.now(), - save: false, - }); - }); - else { - if (note.save !== false) { - localStorage.setItem("NotePubTime", note.time); - localStorage.setItem("NoteName", note.name); - localStorage.setItem("NoteText", note.text); - return ; - } else { - return ( -
- -
-
-

- {note.name || "Загрузка..."} -

-
- {timestamp2text(note.time || Date.now())} -
-
-
- {note.text || "Загрузка..."} -
-
-
- ); - } - } -} - -export default PubNote; diff --git a/src/pages/pubNoteSafe.jsx b/src/pages/pubNoteSafe.jsx deleted file mode 100644 index a954237..0000000 --- a/src/pages/pubNoteSafe.jsx +++ /dev/null @@ -1,80 +0,0 @@ -/* - Copyright (c) 2023 artegoser (Artemy Egorov) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ - -import { useState } from "react"; -import { useParams } from "react-router-dom"; -import { ChevronDoubleLeftIcon } from "@heroicons/react/24/outline"; -import { ButtonWithIcon } from "../components/button"; -import { CopyToClipboard } from "../components/copytocb"; -import Note from "../components/note"; - -function PubNoteSafe() { - let params = useParams(); - - let [note, setNote] = useState(false); - let nullNote = { - text: locals.PubNoteNotExist, - name: locals.Idontexists, - time: Date.now(), - code: 0, - }; - - if (note === false) - fetch(`/get-note/safe/${params.id}`) - .then((data) => { - data - .json() - .then((data) => { - data.code = 1; - setNote(data); - }) - .catch(() => { - setNote(nullNote); - }); - }) - .catch(() => { - setNote(nullNote); - }); - - return ( -
- - - {note?.code === 1 && ( -
-
-

- {locals.PubUrlPlaceholder} -

- -
-
- )} - - -
- ); -} - -export default PubNoteSafe; diff --git a/src/pages/publish.jsx b/src/pages/publish.jsx deleted file mode 100644 index c496a61..0000000 --- a/src/pages/publish.jsx +++ /dev/null @@ -1,81 +0,0 @@ -/* - Copyright (c) 2023 artegoser (Artemy Egorov) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ - -import { useEffect } from "react"; -import { useNavigate } from "react-router-dom"; -import { useSearchParams } from "react-router-dom"; - -function Publish() { - const navigate = useNavigate(); - const [searchParams] = useSearchParams(); - - useEffect(() => { - let err = false; - - let note; - - if (searchParams.get("local_id")) { - let localNote = - localStorage.getObj("Notes")[searchParams.get("local_id")]; - note = { - name: localNote.name, - text: localNote.text, - }; - } else { - note = { - name: localStorage.getItem("NoteName"), - text: localStorage.getItem("NoteText"), - }; - } - - if (!note.name) { - err = locals.PubErrorMsgNoName; - } - if (!note.text) { - err = locals.PubErrorMsgNoText; - } - - fetch(`/publish`, { - method: "POST", - headers: { - "Content-Type": "application/json;charset=utf-8", - }, - body: JSON.stringify(note), - }) - .then((data) => { - data - .json() - .then((data) => { - localStorage.removeItem("NoteName"); - localStorage.removeItem("NoteText"); - navigate(`/pubNotesSafe/${data.id}`, { replace: true }); - }) - .catch(() => { - if (err == false) { - navigate(`/pubError`, { replace: true }); - } else navigate(`/pubError?err=${err}`, { replace: true }); - }); - }) - .catch(() => { - navigate(`/pubError`, { replace: true }); - }); - }); - - return
; -} - -export default Publish; diff --git a/src/pages/save-local.jsx b/src/pages/save-local.jsx deleted file mode 100644 index ad7bfd5..0000000 --- a/src/pages/save-local.jsx +++ /dev/null @@ -1,51 +0,0 @@ -/* - Copyright (c) 2023 artegoser (Artemy Egorov) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ - -import { Navigate } from "react-router-dom"; -import { timestamp2text } from "../components/utils"; - -function Save() { - let name = localStorage.getItem("NoteName"); - let text = localStorage.getItem("NoteText"); - let pubTime = Number(localStorage.getItem("NotePubTime")); - - if (!name || !text) return ; - - let notesObj = localStorage.getObj("Notes"); - - let time = Date.now(); - - notesObj[time] = { - id: time, - name, - text, - time, - textTime: timestamp2text(time), - pubTime, - pub: !!pubTime, - }; - - localStorage.setObj("Notes", notesObj); - - localStorage.removeItem("NoteName"); - localStorage.removeItem("NoteText"); - localStorage.removeItem("NotePubTime"); - - return ; -} - -export default Save; diff --git a/src/pages/settings.jsx b/src/pages/settings.jsx deleted file mode 100644 index 77cc0eb..0000000 --- a/src/pages/settings.jsx +++ /dev/null @@ -1,160 +0,0 @@ -/* - Copyright (c) 2023 artegoser (Artemy Egorov) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ - -import { - SettingsCheckBox, - SettingsTextInput, - SettingsSelectInput, - SettingsSection, - setSetting, -} from "../components/settingsInputs"; -import { ButtonWithIcon } from "../components/button"; -import { ChevronDoubleRightIcon } from "@heroicons/react/24/outline"; -import { localesProcess, reRenderPage } from "../components/utils"; -import { langChoices } from "../localisation/main"; - -function Settings() { - let lastName = settings.userName; - - return ( -
-

- {locals.Settings} -

- - - { - if (settings.userName == "bruh") { - lastName = settings.userName; - reRenderPage(); - } else if (lastName == "bruh") { - lastName = settings.userName; - reRenderPage(); - } - }} - /> - - - - - - - - - - - - - - - - { - window.alreadyConnected = false; - }} - /> - - - - { - if (e.target.checked) { - socket.emit("joinRoom", settings.SyncPassword); - } else { - socket.emit("leaveRoom"); - } - }} - /> - - - - { - socket.emit("broadcastSync", { - data: { - settings: localStorage.getItem("settings"), - Notes: localStorage.getItem("Notes"), - NoteText: localStorage.getItem("NoteText"), - NoteName: localStorage.getItem("NoteName"), - }, - room: settings.SyncPassword, - }); - }} - /> - - - - { - localesProcess(true); - setSetting("newNotes", false); - }} - /> - - - - - -
- ); -} - -export default Settings; diff --git a/tailwind.config.cjs b/tailwind.config.cjs deleted file mode 100644 index ecf62b5..0000000 --- a/tailwind.config.cjs +++ /dev/null @@ -1,8 +0,0 @@ -/** @type {import('tailwindcss').Config} */ -module.exports = { - content: ["./index.html", "./src/**/*.{js,ts,jsx,tsx}"], - theme: { - extend: {}, - }, - plugins: [], -}; diff --git a/vite.config.js b/vite.config.js deleted file mode 100644 index af6b85a..0000000 --- a/vite.config.js +++ /dev/null @@ -1,11 +0,0 @@ -import { defineConfig } from "vite"; -import react from "@vitejs/plugin-react"; - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [react()], - build: { - outDir: "./dist", - target: "esnext", - }, -});