diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..2415415 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,13 @@ +FROM ubuntu:20.04 +FROM node:20-alpine + +WORKDIR /web + +COPY *.json *.cjs *.ts src static webassembly ./ + + +WORKDIR / + +#RUN npm install + +#RUN npm run build \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..81eda26 --- /dev/null +++ b/LICENSE @@ -0,0 +1,232 @@ +GNU GENERAL PUBLIC LICENSE +Version 3, 29 June 2007 + +Copyright © 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. + + SDcmWeb + Copyright (C) 2025 develop + + 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: + + SDcmWeb Copyright (C) 2025 develop + 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 new file mode 100644 index 0000000..5e33701 --- /dev/null +++ b/README.md @@ -0,0 +1,57 @@ +# SDcmWeb + +Cloud PACS Viewer using "Sveltekit and EMSDK" + + +ssdoctors@6fe57d3cfa83:~/project/SDcmWeb$ emcc -v +emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 4.0.12-git (31f8eac8436fbf984f189645ceea16f0b942eb30) +clang version 22.0.0git (https:/github.com/llvm/llvm-project e3af202fd212a66700170717856a8fa9aa7ed426) +Target: wasm32-unknown-emscripten +Thread model: posix +InstalledDir: /home/ssdoctors/emsdk/upstream/bin +Build config: +assertions + +DCMTK v3.6.9 + +"devDependencies": { + "@fortawesome/free-brands-svg-icons": "^5.15.4", + "@fortawesome/free-regular-svg-icons": "^5.15.4", + "@fortawesome/free-solid-svg-icons": "^5.15.4", + "@sveltejs/adapter-node": "^1.3.1", + "@sveltejs/adapter-static": "^1.0.0-next.50", + "@sveltejs/kit": "^1.20.4", + "@tailwindcss/forms": "^0.5.6", + "@tailwindcss/typography": "github:tailwindcss/typography", + "@types/pg": "^8.15.4", + "@typescript-eslint/eslint-plugin": "^6.0.0", + "@typescript-eslint/parser": "^6.0.0", + "autoprefixer": "^10.4.16", + "axios": "^1.6.0", + "eslint": "^8.28.0", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-svelte": "^2.30.0", + "flowbite": "^1.8.1", + "flowbite-svelte": "^0.44.18", + "flowbite-svelte-icons": "^0.4.4", + "postcss": "^8.4.24", + "postcss-load-config": "^4.0.1", + "prettier": "^2.8.0", + "prettier-plugin-svelte": "^2.10.1", + "svelte": "^4.0.5", + "svelte-check": "^3.4.3", + "svelte-icons": "^2.1.0", + "svelte-resize-observer": "^2.0.0", + "tailwindcss": "^3.3.5", + "tslib": "^2.4.1", + "typescript": "^5.0.0", + "vite": "^4.4.2" + }, + "type": "module", + "dependencies": { + "d3": "^7.8.5", + "layercake": "^8.0.2", + "pg": "^8.16.3", + "svelte-gestures": "^1.5.2", + "svelte-table": "^0.6.1", + "tw-elements": "^1.0.0" + } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..c5b91d5 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,4828 @@ +{ + "name": "t5", + "version": "0.0.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "t5", + "version": "0.0.1", + "dependencies": { + "d3": "^7.8.5", + "layercake": "^8.0.2", + "pg": "^8.16.3", + "svelte-gestures": "^1.5.2", + "svelte-table": "^0.6.1", + "tw-elements": "^1.0.0" + }, + "devDependencies": { + "@fortawesome/free-brands-svg-icons": "^5.15.4", + "@fortawesome/free-regular-svg-icons": "^5.15.4", + "@fortawesome/free-solid-svg-icons": "^5.15.4", + "@sveltejs/adapter-node": "^1.3.1", + "@sveltejs/adapter-static": "^1.0.0-next.50", + "@sveltejs/kit": "^1.20.4", + "@tailwindcss/forms": "^0.5.6", + "@tailwindcss/typography": "github:tailwindcss/typography", + "@types/pg": "^8.15.4", + "@typescript-eslint/eslint-plugin": "^6.0.0", + "@typescript-eslint/parser": "^6.0.0", + "autoprefixer": "^10.4.16", + "axios": "^1.6.0", + "eslint": "^8.28.0", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-svelte": "^2.30.0", + "postcss": "^8.4.24", + "postcss-load-config": "^4.0.1", + "prettier": "^2.8.0", + "prettier-plugin-svelte": "^2.10.1", + "svelte": "^4.0.5", + "svelte-check": "^3.4.3", + "svelte-icons": "^2.1.0", + "svelte-resize-observer": "^2.0.0", + "tailwindcss": "^3.3.5", + "tslib": "^2.4.1", + "typescript": "^5.0.0", + "vite": "^4.4.2" + } + }, + "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==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "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.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", + "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", + "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/js": { + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.52.0.tgz", + "integrity": "sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@fastify/busboy": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.0.0.tgz", + "integrity": "sha512-JUFJad5lv7jxj926GPgymrWQxxjPYuJNiNjNMzqT+HiuP6Vl3dk5xzG+8sTX96np0ZAluvaMzPsjhHZ5rNuNQQ==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@fortawesome/fontawesome-common-types": { + "version": "0.2.36", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.36.tgz", + "integrity": "sha512-a/7BiSgobHAgBWeN7N0w+lAhInrGxksn13uK7231n2m8EDPE3BMCl9NZLTGrj9ZXfCmC6LM0QLqXidIizVQ6yg==", + "dev": true, + "hasInstallScript": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/free-brands-svg-icons": { + "version": "5.15.4", + "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.15.4.tgz", + "integrity": "sha512-f1witbwycL9cTENJegcmcZRYyawAFbm8+c6IirLmwbbpqz46wyjbQYLuxOc7weXFXfB7QR8/Vd2u5R3q6JYD9g==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@fortawesome/fontawesome-common-types": "^0.2.36" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/free-regular-svg-icons": { + "version": "5.15.4", + "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-5.15.4.tgz", + "integrity": "sha512-9VNNnU3CXHy9XednJ3wzQp6SwNwT3XaM26oS4Rp391GsxVYA+0oDR2J194YCIWf7jNRCYKjUCOduxdceLrx+xw==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@fortawesome/fontawesome-common-types": "^0.2.36" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/free-solid-svg-icons": { + "version": "5.15.4", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.4.tgz", + "integrity": "sha512-JLmQfz6tdtwxoihXLg6lT78BorrFyCf59SAwBM6qV/0zXyVeDygJVb3fk+j5Qat+Yvcxp1buLTY5iDh1ZSAQ8w==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@fortawesome/fontawesome-common-types": "^0.2.36" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.13", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", + "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.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": "2.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", + "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", + "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==", + "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.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "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==", + "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==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "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==", + "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==", + "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==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.23", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.23.tgz", + "integrity": "sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==", + "dev": true + }, + "node_modules/@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@rollup/plugin-commonjs": { + "version": "25.0.7", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-25.0.7.tgz", + "integrity": "sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "commondir": "^1.0.1", + "estree-walker": "^2.0.2", + "glob": "^8.0.3", + "is-reference": "1.2.1", + "magic-string": "^0.30.3" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.68.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-commonjs/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@rollup/plugin-commonjs/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "node_modules/@rollup/plugin-commonjs/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@rollup/plugin-commonjs/node_modules/is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "dev": true, + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@rollup/plugin-commonjs/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@rollup/plugin-json": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.0.1.tgz", + "integrity": "sha512-RgVfl5hWMkxN1h/uZj8FVESvPuBJ/uf6ly6GTj0GONnkfoBN5KC0MSz+PN2OLDgYXMhtG0mWpTrkiOjoxAIevw==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz", + "integrity": "sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "@types/resolve": "1.20.2", + "deepmerge": "^4.2.2", + "is-builtin-module": "^3.2.1", + "is-module": "^1.0.0", + "resolve": "^1.22.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.78.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.5.tgz", + "integrity": "sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "node_modules/@sveltejs/adapter-node": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-node/-/adapter-node-1.3.1.tgz", + "integrity": "sha512-A0VgRQDCDPzdLNoiAbcOxGw4zT1Mc+n1LwT1OmO350R7WxrEqdMUChPPOd1iMfIDWlP4ie6E2d/WQf5es2d4Zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/plugin-commonjs": "^25.0.0", + "@rollup/plugin-json": "^6.0.0", + "@rollup/plugin-node-resolve": "^15.0.1", + "rollup": "^3.7.0" + }, + "peerDependencies": { + "@sveltejs/kit": "^1.0.0" + } + }, + "node_modules/@sveltejs/adapter-static": { + "version": "1.0.0-next.50", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-static/-/adapter-static-1.0.0-next.50.tgz", + "integrity": "sha512-xZKBmiwFGW8nrH8+eysUAAo9XrtApI81q0m67y1bexVw8IY7/x741b6VEklNM7BZ7js0Mi2x+yCkHpOee8UZKQ==", + "dev": true, + "peerDependencies": { + "@sveltejs/kit": "^1.0.0-next.587" + } + }, + "node_modules/@sveltejs/kit": { + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-1.26.0.tgz", + "integrity": "sha512-CV/AlTziC05yrz7UjVqEd0pH6+2dnrbmcnHGr2d3jXtmOgzNnlDkXtX8g3BfJ6nntsPD+0jtS2PzhvRHblRz4A==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@sveltejs/vite-plugin-svelte": "^2.4.1", + "@types/cookie": "^0.5.1", + "cookie": "^0.5.0", + "devalue": "^4.3.1", + "esm-env": "^1.0.0", + "kleur": "^4.1.5", + "magic-string": "^0.30.0", + "mrmime": "^1.0.1", + "sade": "^1.8.1", + "set-cookie-parser": "^2.6.0", + "sirv": "^2.0.2", + "tiny-glob": "^0.2.9", + "undici": "~5.26.2" + }, + "bin": { + "svelte-kit": "svelte-kit.js" + }, + "engines": { + "node": "^16.14 || >=18" + }, + "peerDependencies": { + "svelte": "^3.54.0 || ^4.0.0-next.0", + "vite": "^4.0.0" + } + }, + "node_modules/@sveltejs/vite-plugin-svelte": { + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-2.4.6.tgz", + "integrity": "sha512-zO79p0+DZnXPnF0ltIigWDx/ux7Ni+HRaFOw720Qeivc1azFUrJxTl0OryXVibYNx1hCboGia1NRV3x8RNv4cA==", + "dev": true, + "dependencies": { + "@sveltejs/vite-plugin-svelte-inspector": "^1.0.4", + "debug": "^4.3.4", + "deepmerge": "^4.3.1", + "kleur": "^4.1.5", + "magic-string": "^0.30.3", + "svelte-hmr": "^0.15.3", + "vitefu": "^0.2.4" + }, + "engines": { + "node": "^14.18.0 || >= 16" + }, + "peerDependencies": { + "svelte": "^3.54.0 || ^4.0.0", + "vite": "^4.0.0" + } + }, + "node_modules/@sveltejs/vite-plugin-svelte-inspector": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-1.0.4.tgz", + "integrity": "sha512-zjiuZ3yydBtwpF3bj0kQNV0YXe+iKE545QGZVTaylW3eAzFr+pJ/cwK8lZEaRp4JtaJXhD5DyWAV4AxLh6DgaQ==", + "dev": true, + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": "^14.18.0 || >= 16" + }, + "peerDependencies": { + "@sveltejs/vite-plugin-svelte": "^2.2.0", + "svelte": "^3.54.0 || ^4.0.0", + "vite": "^4.0.0" + } + }, + "node_modules/@tailwindcss/forms": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.6.tgz", + "integrity": "sha512-Fw+2BJ0tmAwK/w01tEFL5TiaJBX1NLT1/YbWgvm7ws3Qcn11kiXxzNTEQDMs5V3mQemhB56l3u0i9dwdzSQldA==", + "dev": true, + "dependencies": { + "mini-svg-data-uri": "^1.2.3" + }, + "peerDependencies": { + "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1" + } + }, + "node_modules/@tailwindcss/typography": { + "version": "0.5.10", + "resolved": "git+ssh://git@github.com/tailwindcss/typography.git#a86e6015694c3435ff6cef84f3dd61b81adf26e1", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash.castarray": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "postcss-selector-parser": "6.0.10" + }, + "peerDependencies": { + "tailwindcss": ">=3.0.0 || insiders" + } + }, + "node_modules/@tailwindcss/typography/node_modules/postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@types/cookie": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.5.3.tgz", + "integrity": "sha512-SLg07AS9z1Ab2LU+QxzU8RCmzsja80ywjf/t5oqw+4NSH20gIGlhLOrBDm1L3PBWzPa4+wkgFQVZAjE6Ioj2ug==", + "dev": true + }, + "node_modules/@types/estree": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.3.tgz", + "integrity": "sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==" + }, + "node_modules/@types/json-schema": { + "version": "7.0.14", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz", + "integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==", + "dev": true + }, + "node_modules/@types/node": { + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.1.0.tgz", + "integrity": "sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.8.0" + } + }, + "node_modules/@types/pg": { + "version": "8.15.4", + "resolved": "https://registry.npmjs.org/@types/pg/-/pg-8.15.4.tgz", + "integrity": "sha512-I6UNVBAoYbvuWkkU3oosC8yxqH21f4/Jc4DK71JLG3dT2mdlGe1z+ep/LQGXaKaOgcvUrsQoPRqfgtMcvZiJhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "pg-protocol": "*", + "pg-types": "^2.2.0" + } + }, + "node_modules/@types/pug": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@types/pug/-/pug-2.0.8.tgz", + "integrity": "sha512-QzhsZ1dMGyJbn/D9V80zp4GIA4J4rfAjCCxc3MP+new0E8dyVdSkR735Lx+n3LIaHNFcjHL5+TbziccuT+fdoQ==", + "dev": true + }, + "node_modules/@types/resolve": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", + "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", + "dev": true + }, + "node_modules/@types/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.8.0.tgz", + "integrity": "sha512-GosF4238Tkes2SHPQ1i8f6rMtG6zlKwMEB0abqSJ3Npvos+doIlc/ATG+vX1G9coDF3Ex78zM3heXHLyWEwLUw==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.8.0", + "@typescript-eslint/type-utils": "6.8.0", + "@typescript-eslint/utils": "6.8.0", + "@typescript-eslint/visitor-keys": "6.8.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.8.0.tgz", + "integrity": "sha512-5tNs6Bw0j6BdWuP8Fx+VH4G9fEPDxnVI7yH1IAPkQH5RUtvKwRoqdecAPdQXv4rSOADAaz1LFBZvZG7VbXivSg==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "6.8.0", + "@typescript-eslint/types": "6.8.0", + "@typescript-eslint/typescript-estree": "6.8.0", + "@typescript-eslint/visitor-keys": "6.8.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.8.0.tgz", + "integrity": "sha512-xe0HNBVwCph7rak+ZHcFD6A+q50SMsFwcmfdjs9Kz4qDh5hWhaPhFjRs/SODEhroBI5Ruyvyz9LfwUJ624O40g==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.8.0", + "@typescript-eslint/visitor-keys": "6.8.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.8.0.tgz", + "integrity": "sha512-RYOJdlkTJIXW7GSldUIHqc/Hkto8E+fZN96dMIFhuTJcQwdRoGN2rEWA8U6oXbLo0qufH7NPElUb+MceHtz54g==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "6.8.0", + "@typescript-eslint/utils": "6.8.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.8.0.tgz", + "integrity": "sha512-p5qOxSum7W3k+llc7owEStXlGmSl8FcGvhYt8Vjy7FqEnmkCVlM3P57XQEGj58oqaBWDQXbJDZxwUWMS/EAPNQ==", + "dev": true, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.8.0.tgz", + "integrity": "sha512-ISgV0lQ8XgW+mvv5My/+iTUdRmGspducmQcDw5JxznasXNnZn3SKNrTRuMsEXv+V/O+Lw9AGcQCfVaOPCAk/Zg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.8.0", + "@typescript-eslint/visitor-keys": "6.8.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.8.0.tgz", + "integrity": "sha512-dKs1itdE2qFG4jr0dlYLQVppqTE+Itt7GmIf/vX6CSvsW+3ov8PbWauVKyyfNngokhIO9sKZeRGCUo1+N7U98Q==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.8.0", + "@typescript-eslint/types": "6.8.0", + "@typescript-eslint/typescript-estree": "6.8.0", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.8.0.tgz", + "integrity": "sha512-oqAnbA7c+pgOhW2OhGvxm0t1BULX5peQI/rLsNDpGM78EebV3C9IGbX5HNZabuZ6UQrYveCLjKo8Iy/lLlBkkg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.8.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "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==", + "dev": true + }, + "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-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/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/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": "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/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "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==" + }, + "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/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "node_modules/autoprefixer": { + "version": "10.4.16", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", + "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==", + "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.30001538", + "fraction.js": "^4.3.6", + "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/axios": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.0.tgz", + "integrity": "sha512-EZ1DYihju9pwVB+jg67ogm+Tmqc6JmhamRN6I4Zt8DfZu5lbcQGw3ozH9lFejSJgs/ibaef3A9PMXPLeefFGJg==", + "dev": true, + "dependencies": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/axobject-query": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", + "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "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==" + }, + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", + "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "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.30001541", + "electron-to-chromium": "^1.4.535", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001726", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001726.tgz", + "integrity": "sha512-VQAUIUzBiZ/UnlM28fSp2CRF3ivUn1BWEvxMcVTNwpw91Py1pGbPIyIKtd+tzct9C3ouceCVdGAXxZOpZAsgdw==", + "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" + } + ], + "license": "CC-BY-4.0" + }, + "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/chart.js": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-3.9.1.tgz", + "integrity": "sha512-Ro2JbLmvg83gXF5F4sniaQ+lTbSv18E+TIf2cOeiH1Iqd2PGFOtem+DUufMZsCJwFE7ywPOpfXFBwRTGq7dh6w==" + }, + "node_modules/chartjs-plugin-datalabels": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/chartjs-plugin-datalabels/-/chartjs-plugin-datalabels-2.2.0.tgz", + "integrity": "sha512-14ZU30lH7n89oq+A4bWaJPnAG8a7ZTk7dKf48YAzMvJjQtjrgg5Dpk9f+LbjCF6bpx3RAGTeL13IXpKQYyRvlw==", + "peerDependencies": { + "chart.js": ">=3.0.0" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "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==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/code-red": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/code-red/-/code-red-1.0.4.tgz", + "integrity": "sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15", + "@types/estree": "^1.0.1", + "acorn": "^8.10.0", + "estree-walker": "^3.0.3", + "periscopic": "^3.1.0" + } + }, + "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/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "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/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/custom-event-polyfill": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/custom-event-polyfill/-/custom-event-polyfill-1.0.7.tgz", + "integrity": "sha512-TDDkd5DkaZxZFM8p+1I3yAlvM3rSr1wbrOliG4yJiwinMZN8z/iGL7BTlDkrJcYTmgUSb4ywVCc3ZaUtOtC76w==" + }, + "node_modules/d3": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/d3/-/d3-7.8.5.tgz", + "integrity": "sha512-JgoahDG51ncUfJu6wX/1vWQEqOflgXyl4MaHqlcSruTez7yhaRKR9i8VjjcQGeS2en/jnFivXuaIMnseMMt0XA==", + "dependencies": { + "d3-array": "3", + "d3-axis": "3", + "d3-brush": "3", + "d3-chord": "3", + "d3-color": "3", + "d3-contour": "4", + "d3-delaunay": "6", + "d3-dispatch": "3", + "d3-drag": "3", + "d3-dsv": "3", + "d3-ease": "3", + "d3-fetch": "3", + "d3-force": "3", + "d3-format": "3", + "d3-geo": "3", + "d3-hierarchy": "3", + "d3-interpolate": "3", + "d3-path": "3", + "d3-polygon": "3", + "d3-quadtree": "3", + "d3-random": "3", + "d3-scale": "4", + "d3-scale-chromatic": "3", + "d3-selection": "3", + "d3-shape": "3", + "d3-time": "3", + "d3-time-format": "4", + "d3-timer": "3", + "d3-transition": "3", + "d3-zoom": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-array": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", + "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", + "dependencies": { + "internmap": "1 - 2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-axis": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz", + "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-brush": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz", + "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "3", + "d3-transition": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-chord": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz", + "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", + "dependencies": { + "d3-path": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-contour": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz", + "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==", + "dependencies": { + "d3-array": "^3.2.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-delaunay": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", + "dependencies": { + "delaunator": "5" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dispatch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", + "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-drag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", + "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-selection": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dsv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", + "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", + "dependencies": { + "commander": "7", + "iconv-lite": "0.6", + "rw": "1" + }, + "bin": { + "csv2json": "bin/dsv2json.js", + "csv2tsv": "bin/dsv2dsv.js", + "dsv2dsv": "bin/dsv2dsv.js", + "dsv2json": "bin/dsv2json.js", + "json2csv": "bin/json2dsv.js", + "json2dsv": "bin/json2dsv.js", + "json2tsv": "bin/json2dsv.js", + "tsv2csv": "bin/dsv2dsv.js", + "tsv2json": "bin/dsv2json.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dsv/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/d3-ease": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-fetch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz", + "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", + "dependencies": { + "d3-dsv": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-force": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", + "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-quadtree": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-format": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", + "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-geo": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.0.tgz", + "integrity": "sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==", + "dependencies": { + "d3-array": "2.5.0 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-hierarchy": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", + "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "dependencies": { + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-polygon": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz", + "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-quadtree": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", + "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-random": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz", + "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "dependencies": { + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale-chromatic": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz", + "integrity": "sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==", + "dependencies": { + "d3-color": "1 - 3", + "d3-interpolate": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-selection": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", + "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-shape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "dependencies": { + "d3-path": "^3.1.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "dependencies": { + "d3-array": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time-format": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "dependencies": { + "d3-time": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-timer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-transition": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", + "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", + "dependencies": { + "d3-color": "1 - 3", + "d3-dispatch": "1 - 3", + "d3-ease": "1 - 3", + "d3-interpolate": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "d3-selection": "2 - 3" + } + }, + "node_modules/d3-zoom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", + "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "2 - 3", + "d3-transition": "2 - 3" + }, + "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==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "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/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delaunator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.0.tgz", + "integrity": "sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==", + "dependencies": { + "robust-predicates": "^3.0.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "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/detect-autofill": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/detect-autofill/-/detect-autofill-1.1.4.tgz", + "integrity": "sha512-utCBQwCR/beSnADQmBC7C4tTueBBkYCl6WSpfGUkYKO/+MzPxqYGj6G4MvHzcKmH1gCTK+VunX2vaagvkRXPvA==", + "dependencies": { + "custom-event-polyfill": "^1.0.7" + } + }, + "node_modules/detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/devalue": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-4.3.2.tgz", + "integrity": "sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==", + "dev": true + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "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/electron-to-chromium": { + "version": "1.4.563", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.563.tgz", + "integrity": "sha512-dg5gj5qOgfZNkPNeyKBZQAQitIQ/xwfIDmEQJHCbXaD9ebTZxwJXUsDYcBlAvZGZLi+/354l35J1wkmP6CqYaw==", + "dev": true + }, + "node_modules/es6-promise": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", + "integrity": "sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==", + "dev": true + }, + "node_modules/esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" + } + }, + "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-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": { + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.52.0.tgz", + "integrity": "sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "8.52.0", + "@humanwhocodes/config-array": "^0.11.13", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "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-config-prettier": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", + "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-svelte": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-2.34.0.tgz", + "integrity": "sha512-4RYUgNai7wr0v+T/kljMiYSjC/oqwgq5i+cPppawryAayj4C7WK1ixFlWCGmNmBppnoKCl4iA4ZPzPtlHcb4CA==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@jridgewell/sourcemap-codec": "^1.4.14", + "debug": "^4.3.1", + "esutils": "^2.0.3", + "known-css-properties": "^0.28.0", + "postcss": "^8.4.5", + "postcss-load-config": "^3.1.4", + "postcss-safe-parser": "^6.0.0", + "postcss-selector-parser": "^6.0.11", + "semver": "^7.5.3", + "svelte-eslint-parser": ">=0.33.0 <1.0.0" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0-0", + "svelte": "^3.37.0 || ^4.0.0" + }, + "peerDependenciesMeta": { + "svelte": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-svelte/node_modules/postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dev": true, + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "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/eslint-plugin-svelte/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "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/esm-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.0.0.tgz", + "integrity": "sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==", + "dev": true + }, + "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/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==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dependencies": { + "@types/estree": "^1.0.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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "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==", + "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.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "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==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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.1.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", + "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "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==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "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==" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "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==", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalyzer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz", + "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==", + "dev": true + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", + "dev": true + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "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-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/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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==", + "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/internmap": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", + "engines": { + "node": ">=12" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-builtin-module": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", + "dev": true, + "dependencies": { + "builtin-modules": "^3.3.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "dev": true + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-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-reference": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz", + "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==", + "dependencies": { + "@types/estree": "*" + } + }, + "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/jiti": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.20.0.tgz", + "integrity": "sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "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/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "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/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/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/known-css-properties": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.28.0.tgz", + "integrity": "sha512-9pSL5XB4J+ifHP0e0jmmC98OGC1nL8/JjS+fi6mnTlIf//yt/MfVLtKg7S6nCtj/8KTcWX7nRlY0XywoYY1ISQ==", + "dev": true + }, + "node_modules/layercake": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/layercake/-/layercake-8.0.2.tgz", + "integrity": "sha512-rkXJCXNev6kRxD0VCIDs9vnT2F91dtewqBlaK4K/njvgfyQj5NDHfyYmgqj6Y4wnbaNCMVUqhD1bq1NGzb6xfA==", + "dependencies": { + "d3-array": "^3.2.4", + "d3-color": "^3.1.0", + "d3-scale": "^4.0.2", + "d3-shape": "^3.2.0" + }, + "peerDependencies": { + "svelte": "3 - 4", + "typescript": "^5.0.2" + } + }, + "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/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "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==" + }, + "node_modules/locate-character": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz", + "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==" + }, + "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.castarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", + "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==", + "dev": true + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true + }, + "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/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/magic-string": { + "version": "0.30.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", + "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/mini-svg-data-uri": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", + "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", + "dev": true, + "bin": { + "mini-svg-data-uri": "cli.js" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/mrmime": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", + "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "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==", + "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/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==", + "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/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==", + "engines": { + "node": ">= 6" + } + }, + "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==", + "dependencies": { + "wrappy": "1" + } + }, + "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/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/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==", + "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==" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/perfect-scrollbar": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/perfect-scrollbar/-/perfect-scrollbar-1.5.5.tgz", + "integrity": "sha512-dzalfutyP3e/FOpdlhVryN4AJ5XDVauVWxybSkLZmakFE2sS3y3pc4JnSprw8tGmHvkaG5Edr5T7LBTZ+WWU2g==" + }, + "node_modules/periscopic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz", + "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^3.0.0", + "is-reference": "^3.0.0" + } + }, + "node_modules/pg": { + "version": "8.16.3", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.16.3.tgz", + "integrity": "sha512-enxc1h0jA/aq5oSDMvqyW3q89ra6XIIDZgCX9vkMrnz5DFTw/Ny3Li2lFQ+pt3L6MCgm/5o2o8HW9hiJji+xvw==", + "license": "MIT", + "dependencies": { + "pg-connection-string": "^2.9.1", + "pg-pool": "^3.10.1", + "pg-protocol": "^1.10.3", + "pg-types": "2.2.0", + "pgpass": "1.0.5" + }, + "engines": { + "node": ">= 16.0.0" + }, + "optionalDependencies": { + "pg-cloudflare": "^1.2.7" + }, + "peerDependencies": { + "pg-native": ">=3.0.1" + }, + "peerDependenciesMeta": { + "pg-native": { + "optional": true + } + } + }, + "node_modules/pg-cloudflare": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.2.7.tgz", + "integrity": "sha512-YgCtzMH0ptvZJslLM1ffsY4EuGaU0cx4XSdXLRFae8bPP4dS5xL1tNB3k2o/N64cHJpwU7dxKli/nZ2lUa5fLg==", + "license": "MIT", + "optional": true + }, + "node_modules/pg-connection-string": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.9.1.tgz", + "integrity": "sha512-nkc6NpDcvPVpZXxrreI/FOtX3XemeLl8E0qFr6F2Lrm/I8WOnaWNhIPK2Z7OHpw7gh5XJThi6j6ppgNoaT1w4w==", + "license": "MIT" + }, + "node_modules/pg-int8": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", + "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==", + "license": "ISC", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/pg-pool": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.10.1.tgz", + "integrity": "sha512-Tu8jMlcX+9d8+QVzKIvM/uJtp07PKr82IUOYEphaWcoBhIYkoHpLXN3qO59nAI11ripznDsEzEv8nUxBVWajGg==", + "license": "MIT", + "peerDependencies": { + "pg": ">=8.0" + } + }, + "node_modules/pg-protocol": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.10.3.tgz", + "integrity": "sha512-6DIBgBQaTKDJyxnXaLiLR8wBpQQcGWuAESkRBX/t6OwA8YsqP+iVSiond2EDy6Y/dsGk8rh/jtax3js5NeV7JQ==", + "license": "MIT" + }, + "node_modules/pg-types": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", + "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", + "license": "MIT", + "dependencies": { + "pg-int8": "1.0.1", + "postgres-array": "~2.0.0", + "postgres-bytea": "~1.0.0", + "postgres-date": "~1.0.4", + "postgres-interval": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pgpass": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz", + "integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==", + "license": "MIT", + "dependencies": { + "split2": "^4.1.0" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "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==", + "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-safe-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz", + "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==", + "dev": true, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.3.3" + } + }, + "node_modules/postcss-scss": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.9.tgz", + "integrity": "sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss-scss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.4.29" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "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==" + }, + "node_modules/postgres-array": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", + "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/postgres-bytea": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz", + "integrity": "sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postgres-date": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", + "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postgres-interval": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", + "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", + "license": "MIT", + "dependencies": { + "xtend": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-plugin-svelte": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-2.10.1.tgz", + "integrity": "sha512-Wlq7Z5v2ueCubWo0TZzKc9XHcm7TDxqcuzRuGd0gcENfzfT4JZ9yDlCbEgxWgiPmLHkBjfOtpAWkcT28MCDpUQ==", + "dev": true, + "peerDependencies": { + "prettier": "^1.16.4 || ^2.0.0", + "svelte": "^3.2.0 || ^4.0.0-next.0" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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==", + "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/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "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==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dependencies": { + "is-core-module": "^2.13.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==", + "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/robust-predicates": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", + "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==" + }, + "node_modules/rollup": { + "version": "3.29.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", + "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", + "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==", + "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/rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==" + }, + "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==", + "dev": true, + "dependencies": { + "mri": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "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/sander": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/sander/-/sander-0.5.1.tgz", + "integrity": "sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==", + "dev": true, + "dependencies": { + "es6-promise": "^3.1.2", + "graceful-fs": "^4.1.3", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.2" + } + }, + "node_modules/sander/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/set-cookie-parser": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz", + "integrity": "sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==", + "dev": true + }, + "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/sirv": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.3.tgz", + "integrity": "sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==", + "dev": true, + "dependencies": { + "@polka/url": "^1.0.0-next.20", + "mrmime": "^1.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/sorcery": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/sorcery/-/sorcery-0.11.0.tgz", + "integrity": "sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.14", + "buffer-crc32": "^0.2.5", + "minimist": "^1.2.0", + "sander": "^0.5.0" + }, + "bin": { + "sorcery": "bin/sorcery" + } + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "license": "ISC", + "engines": { + "node": ">= 10.x" + } + }, + "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-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.0" + }, + "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/sucrase": { + "version": "3.34.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz", + "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", + "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/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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/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==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svelte": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.2.tgz", + "integrity": "sha512-My2tytF2e2NnHSpn2M7/3VdXT4JdTglYVUuSuK/mXL2XtulPYbeBfl8Dm1QiaKRn0zoULRnL+EtfZHHP0k4H3A==", + "dependencies": { + "@ampproject/remapping": "^2.2.1", + "@jridgewell/sourcemap-codec": "^1.4.15", + "@jridgewell/trace-mapping": "^0.3.18", + "acorn": "^8.9.0", + "aria-query": "^5.3.0", + "axobject-query": "^3.2.1", + "code-red": "^1.0.3", + "css-tree": "^2.3.1", + "estree-walker": "^3.0.3", + "is-reference": "^3.0.1", + "locate-character": "^3.0.0", + "magic-string": "^0.30.4", + "periscopic": "^3.1.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/svelte-check": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-3.5.2.tgz", + "integrity": "sha512-5a/YWbiH4c+AqAUP+0VneiV5bP8YOk9JL3jwvN+k2PEPLgpu85bjQc5eE67+eIZBBwUEJzmO3I92OqKcqbp3fw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "chokidar": "^3.4.1", + "fast-glob": "^3.2.7", + "import-fresh": "^3.2.1", + "picocolors": "^1.0.0", + "sade": "^1.7.4", + "svelte-preprocess": "^5.0.4", + "typescript": "^5.0.3" + }, + "bin": { + "svelte-check": "bin/svelte-check" + }, + "peerDependencies": { + "svelte": "^3.55.0 || ^4.0.0-next.0 || ^4.0.0" + } + }, + "node_modules/svelte-eslint-parser": { + "version": "0.33.1", + "resolved": "https://registry.npmjs.org/svelte-eslint-parser/-/svelte-eslint-parser-0.33.1.tgz", + "integrity": "sha512-vo7xPGTlKBGdLH8T5L64FipvTrqv3OQRx9d2z5X05KKZDlF4rQk8KViZO4flKERY+5BiVdOh7zZ7JGJWo5P0uA==", + "dev": true, + "dependencies": { + "eslint-scope": "^7.0.0", + "eslint-visitor-keys": "^3.0.0", + "espree": "^9.0.0", + "postcss": "^8.4.29", + "postcss-scss": "^4.0.8" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + }, + "peerDependencies": { + "svelte": "^3.37.0 || ^4.0.0" + }, + "peerDependenciesMeta": { + "svelte": { + "optional": true + } + } + }, + "node_modules/svelte-gestures": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/svelte-gestures/-/svelte-gestures-1.5.2.tgz", + "integrity": "sha512-bXGFqpNAAYCM4XsxjaHMAoPQC3IRjrgGS+Sm/pE1ZftYu9gGRWvDF8g6cwl2b751R2kN1SwNEd6XV7zVh9mcew==" + }, + "node_modules/svelte-hmr": { + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.15.3.tgz", + "integrity": "sha512-41snaPswvSf8TJUhlkoJBekRrABDXDMdpNpT2tfHIv4JuhgvHqLMhEPGtaQn0BmbNSTkuz2Ed20DF2eHw0SmBQ==", + "dev": true, + "engines": { + "node": "^12.20 || ^14.13.1 || >= 16" + }, + "peerDependencies": { + "svelte": "^3.19.0 || ^4.0.0" + } + }, + "node_modules/svelte-icons": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/svelte-icons/-/svelte-icons-2.1.0.tgz", + "integrity": "sha512-rHPQjweEc9fGSnvM0/4gA3pDHwyZyYsC5KhttCZRhSMJfLttJST5Uq0B16Czhw+HQ+HbSOk8kLigMlPs7gZtfg==", + "dev": true + }, + "node_modules/svelte-preprocess": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-5.0.4.tgz", + "integrity": "sha512-ABia2QegosxOGsVlsSBJvoWeXy1wUKSfF7SWJdTjLAbx/Y3SrVevvvbFNQqrSJw89+lNSsM58SipmZJ5SRi5iw==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@types/pug": "^2.0.6", + "detect-indent": "^6.1.0", + "magic-string": "^0.27.0", + "sorcery": "^0.11.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">= 14.10.0" + }, + "peerDependencies": { + "@babel/core": "^7.10.2", + "coffeescript": "^2.5.1", + "less": "^3.11.3 || ^4.0.0", + "postcss": "^7 || ^8", + "postcss-load-config": "^2.1.0 || ^3.0.0 || ^4.0.0", + "pug": "^3.0.0", + "sass": "^1.26.8", + "stylus": "^0.55.0", + "sugarss": "^2.0.0 || ^3.0.0 || ^4.0.0", + "svelte": "^3.23.0 || ^4.0.0-next.0 || ^4.0.0", + "typescript": ">=3.9.5 || ^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "coffeescript": { + "optional": true + }, + "less": { + "optional": true + }, + "postcss": { + "optional": true + }, + "postcss-load-config": { + "optional": true + }, + "pug": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/svelte-preprocess/node_modules/magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/svelte-resize-observer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/svelte-resize-observer/-/svelte-resize-observer-2.0.0.tgz", + "integrity": "sha512-hMG30MeUFiVhAeAGWoasBGNAFWa/K8mAIvbpjdaYRqNcU5nkxvjZYhzOhQ8rYbHSd2Hflk2s21yFR7CNKEHZpw==", + "dev": true, + "dependencies": { + "resize-observer-polyfill": "^1.5.1" + } + }, + "node_modules/svelte-table": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/svelte-table/-/svelte-table-0.6.1.tgz", + "integrity": "sha512-DfSwLs19mtp9V4rFo4oYv8T0YWFOR0Yy+43qtj3fPbZhd1h3vyycJ5c6mFlxICnsNYOD7WOjmQ/EpXY85mmJMQ==" + }, + "node_modules/tailwindcss": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.5.tgz", + "integrity": "sha512-5SEZU4J7pxZgSkv7FP1zY8i2TIAOooNZ1e/OGtxIEv6GltpoiXUqWvLy89+a10qYTB1N5Ifkuw9lqQkN9sscvA==", + "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.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.19.1", + "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==", + "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==", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tiny-glob": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", + "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==", + "dev": true, + "dependencies": { + "globalyzer": "0.1.0", + "globrex": "^0.1.2" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ts-api-utils": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", + "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==", + "dev": true, + "engines": { + "node": ">=16.13.0" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "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==" + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, + "node_modules/tw-elements": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/tw-elements/-/tw-elements-1.0.0.tgz", + "integrity": "sha512-pD2bA1bTGzvigU79dz4pGvO207CCOpzhwlxzb7hswx40SMMkJISOkoDxU2ot3OQ7LTZM5GwuLDkZ+dquK0wdYQ==", + "dependencies": { + "@popperjs/core": "^2.6.0", + "chart.js": "^3.7.1", + "chartjs-plugin-datalabels": "^2.0.0", + "deepmerge": "^4.2.2", + "detect-autofill": "^1.1.3", + "perfect-scrollbar": "^1.5.5", + "tailwindcss": "3.3.0" + } + }, + "node_modules/tw-elements/node_modules/postcss-import": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", + "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/tw-elements/node_modules/postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "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/tw-elements/node_modules/postcss-nested": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz", + "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/tw-elements/node_modules/tailwindcss": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.0.tgz", + "integrity": "sha512-hOXlFx+YcklJ8kXiCAfk/FMyr4Pm9ck477G0m/us2344Vuj355IpoEDB5UmGAsSpTBmr+4ZhjzW04JuFXkb/fw==", + "dependencies": { + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "color-name": "^1.1.4", + "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.17.2", + "lilconfig": "^2.0.6", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.0.9", + "postcss-import": "^14.1.0", + "postcss-js": "^4.0.0", + "postcss-load-config": "^3.1.4", + "postcss-nested": "6.0.0", + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0", + "quick-lru": "^5.1.1", + "resolve": "^1.22.1", + "sucrase": "^3.29.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=12.13.0" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/tw-elements/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } + }, + "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/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/typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.26.5.tgz", + "integrity": "sha512-cSb4bPFd5qgR7qr2jYAi0hlX9n5YKK2ONKkLFkxl+v/9BvC0sOpZjBHDBSXc5lWAf5ty9oZdRXytBIHzgUcerw==", + "dev": true, + "dependencies": { + "@fastify/busboy": "^2.0.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/undici-types": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz", + "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==", + "dev": true, + "license": "MIT" + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "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==", + "dev": true, + "dependencies": { + "punycode": "^2.1.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==" + }, + "node_modules/vite": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.0.tgz", + "integrity": "sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==", + "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/vitefu": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.5.tgz", + "integrity": "sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==", + "dev": true, + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "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/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yaml": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.3.tgz", + "integrity": "sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==", + "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" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..0e390df --- /dev/null +++ b/package.json @@ -0,0 +1,53 @@ +{ + "name": "t5", + "version": "0.0.1", + "private": true, + "scripts": { + "dev": "vite dev --host", + "build": "vite build", + "preview": "vite preview", + "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", + "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", + "lint": "prettier --plugin-search-dir . --check . && eslint .", + "format": "prettier --plugin-search-dir . --write ." + }, + "devDependencies": { + "@fortawesome/free-brands-svg-icons": "^5.15.4", + "@fortawesome/free-regular-svg-icons": "^5.15.4", + "@fortawesome/free-solid-svg-icons": "^5.15.4", + "@sveltejs/adapter-node": "^1.3.1", + "@sveltejs/adapter-static": "^1.0.0-next.50", + "@sveltejs/kit": "^1.20.4", + "@tailwindcss/forms": "^0.5.6", + "@tailwindcss/typography": "github:tailwindcss/typography", + "@types/pg": "^8.15.4", + "@typescript-eslint/eslint-plugin": "^6.0.0", + "@typescript-eslint/parser": "^6.0.0", + "autoprefixer": "^10.4.16", + "axios": "^1.6.0", + "eslint": "^8.28.0", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-svelte": "^2.30.0", + "postcss": "^8.4.24", + "postcss-load-config": "^4.0.1", + "prettier": "^2.8.0", + "prettier-plugin-svelte": "^2.10.1", + "svelte": "^4.0.5", + "svelte-check": "^3.4.3", + "svelte-icons": "^2.1.0", + "svelte-resize-observer": "^2.0.0", + "tailwindcss": "^3.3.5", + "tslib": "^2.4.1", + "typescript": "^5.0.0", + "vite": "^4.4.2" + }, + "type": "module", + "dependencies": { + "d3": "^7.8.5", + "layercake": "^8.0.2", + "pg": "^8.16.3", + "svelte-gestures": "^1.5.2", + "svelte-table": "^0.6.1", + "tw-elements": "^1.0.0" + } +} diff --git a/postcss.config.cjs b/postcss.config.cjs new file mode 100644 index 0000000..182fe66 --- /dev/null +++ b/postcss.config.cjs @@ -0,0 +1,14 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ +const tailwindcss = require('tailwindcss'); +const autoprefixer = require('autoprefixer'); + +const config = { + plugins: [ + //Some plugins, like tailwindcss/nesting, need to run before Tailwind, + tailwindcss(), + //But others, like autoprefixer, need to run after, + autoprefixer + ] +}; + +module.exports = config; diff --git a/src/app.d.ts b/src/app.d.ts new file mode 100644 index 0000000..f59b884 --- /dev/null +++ b/src/app.d.ts @@ -0,0 +1,12 @@ +// See https://kit.svelte.dev/docs/types#app +// for information about these interfaces +declare global { + namespace App { + // interface Error {} + // interface Locals {} + // interface PageData {} + // interface Platform {} + } +} + +export {}; diff --git a/src/app.html b/src/app.html new file mode 100644 index 0000000..ff6ec60 --- /dev/null +++ b/src/app.html @@ -0,0 +1,15 @@ + + + + + + + + %sveltekit.head% + + +
%sveltekit.body%
+ + + + diff --git a/src/app.postcss b/src/app.postcss new file mode 100644 index 0000000..1a7b7cf --- /dev/null +++ b/src/app.postcss @@ -0,0 +1,4 @@ +/* Write your global styles here, in PostCSS syntax */ +@tailwind base; +@tailwind components; +@tailwind utilities; diff --git a/src/hooks.server.ts b/src/hooks.server.ts new file mode 100644 index 0000000..a4f26e3 --- /dev/null +++ b/src/hooks.server.ts @@ -0,0 +1,35 @@ +import type { Handle } from '@sveltejs/kit'; + +/** + * 이 핸들러는 모든 서버 요청을 가로채서 + * API 경로에 대한 CORS 헤더와 사이트 전반의 보안 헤더를 추가합니다. + */ +export const handle: Handle = async ({ event, resolve }) => { + // 1. API 경로('/api/')에 대한 CORS Preflight 요청(OPTIONS) 처리 + // - API 경로가 아니라면 이 로직은 건너뜁니다. + if (event.url.pathname.startsWith('/api') && event.request.method === 'OPTIONS') { + return new Response(null, { + headers: { + 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, PATCH, OPTIONS', + 'Access-Control-Allow-Origin': '*', // 보안을 위해 실제 프로덕션에서는 특정 도메인을 지정하는 것이 좋습니다. + 'Access-Control-Allow-Headers': 'Content-Type, Authorization', // 필요한 헤더만 명시적으로 허용하는 것이 더 안전합니다. + } + }); + } + + // 2. SvelteKit이 요청을 정상적으로 처리하도록 전달 + const response = await resolve(event); + + // 3. 실제 API 응답에 CORS 헤더 추가 + if (event.url.pathname.startsWith('/api')) { + // .append() 대신 .set()을 사용하면 헤더가 중복으로 추가되는 것을 방지할 수 있습니다. + response.headers.set('Access-Control-Allow-Origin', '*'); // 위와 동일하게 프로덕션에서는 특정 도메인 사용을 권장합니다. + } + + // 4. 모든 응답에 보안 관련 헤더 추가 (SharedArrayBuffer 등 사용 시 필요) + // - 이 헤더들은 사이트의 보안을 강화합니다. + response.headers.set('Cross-Origin-Opener-Policy', 'same-origin'); + response.headers.set('Cross-Origin-Embedder-Policy', 'require-corp'); + + return response; +}; \ No newline at end of file diff --git a/src/lib/components/DatePicker.svelte b/src/lib/components/DatePicker.svelte new file mode 100644 index 0000000..1d50673 --- /dev/null +++ b/src/lib/components/DatePicker.svelte @@ -0,0 +1,361 @@ + + +
+ + + + {#if isOpen} +
+
+ + + + + +
+ + {#if currentView === 'days'} +
+
+
+
+
+
+
+
+
+
(hoveredDate = null)}> + {#each calendarDays as day} + {#if day} + + {:else} +
+ {/if} + {/each} +
+ {:else if currentView === 'months'} +
+ {#each monthNames as monthName, i} + + {/each} +
+ {:else if currentView === 'years'} +
+ {#each yearsInView as year} + + {/each} +
+ {/if} + +
+
+ + + + + + + + + + + +
+
+
+ {/if} +
diff --git a/src/lib/components/Viewer.svelte b/src/lib/components/Viewer.svelte new file mode 100644 index 0000000..a9027a0 --- /dev/null +++ b/src/lib/components/Viewer.svelte @@ -0,0 +1,1255 @@ + + +
+ + + + {#if downloadProgress !== null} +
+
+
+ {/if} + + {#if overlayStatus !== 'hidden'} +
+
+ {#if overlayStatus === 'loading' && downloadProgress === null} +
+ {/if} + {overlayMessage} +
+
+ {/if} + + + + + {#if showHistogram} +
+ +
+ {/if} +
+ + diff --git a/src/lib/index.ts b/src/lib/index.ts new file mode 100644 index 0000000..856f2b6 --- /dev/null +++ b/src/lib/index.ts @@ -0,0 +1 @@ +// place files you want to import through the `$lib` alias in this folder. diff --git a/src/lib/server/db.ts b/src/lib/server/db.ts new file mode 100644 index 0000000..ad2920e --- /dev/null +++ b/src/lib/server/db.ts @@ -0,0 +1,14 @@ +// src/lib/server/db.ts + +import pg, { type QueryResult } from 'pg'; +import { PRIVATE_POSTGRES_URL } from '$env/static/private'; + +// Pool 클래스로 pool 객체의 타입을 명시합니다. +const pool = new pg.Pool({ + connectionString: PRIVATE_POSTGRES_URL +}); + +export default { + // query 함수의 매개변수와 반환 값에 타입을 지정합니다. + query: (text: string, params: any[]): Promise> => pool.query(text, params) +}; \ No newline at end of file diff --git a/src/lib/store/theme.ts b/src/lib/store/theme.ts new file mode 100644 index 0000000..5078331 --- /dev/null +++ b/src/lib/store/theme.ts @@ -0,0 +1,30 @@ +// src/lib/store/theme.ts + +import { writable } from 'svelte/store'; +import { browser } from '$app/environment'; + +export type Theme = 'light' | 'dark' | 'system'; + +// 1. 기본 테마를 'dark'로 설정합니다. +const defaultValue: Theme = 'dark'; + +// 2. 브라우저 환경에서만 localStorage 값을 읽어옵니다. +// 저장된 값이 없으면 위에서 설정한 'dark'를 기본값으로 사용합니다. +const initialValue = browser ? (localStorage.getItem('theme') as Theme) || defaultValue : defaultValue; + +// 3. Writable 스토어를 생성합니다. +const theme = writable(initialValue); + +// 4. 스토어의 값이 변경될 때마다 localStorage에 저장하고 태그의 클래스를 업데이트합니다. +if (browser) { + theme.subscribe((value) => { + // 요소에 'dark' 클래스를 추가하거나 제거합니다. + const isDark = value === 'dark' || (value === 'system' && window.matchMedia('(prefers-color-scheme: dark)').matches); + document.documentElement.classList.toggle('dark', isDark); + + // 사용자의 테마 선택을 localStorage에 저장합니다. + localStorage.setItem('theme', value); + }); +} + +export { theme }; \ No newline at end of file diff --git a/src/lib/types.ts b/src/lib/types.ts new file mode 100644 index 0000000..80797f6 --- /dev/null +++ b/src/lib/types.ts @@ -0,0 +1,135 @@ +// --- TypeScript 타입 정의 --- +export interface EmscriptenModule { + ccall: (ident: string, returnType: string | null, argTypes: string[], args: any[]) => any; + addFunction: (func: Function, signature: string) => number; + _malloc: (size: number) => number; + HEAPU8: Uint8Array; + canvas: HTMLCanvasElement; + setStatus: (text: string) => void; + UTF8ToString: (ptr: number) => string; + _free: (ptr: number) => void; + DoMouseDown: (x: number, y: number) => void; + DoMouseUp: (x: number, y: number) => void; + DoMouseMove: (x: number, y: number) => void; + DoMouseWheelZoom: (deltaY: number) => void; + DoPinchZoom: (scale: number, x: number, y: number) => void; + _getDumpJson: () => JSON|any; + _ParseDicomToPixelData: (buffer: number, nDataSize: number) => number; + _GetTotalFrames: () => number; + _GetFrameWidth: () => number; + _GetFrameHeight: () => number; + _GetFrameSizeUncompressed: () => number; + _GetPaletteEntries: () => number; + _GetBitsAllocated: () => number; + _GetBitsStored: () => number; + _IsUseMonochrome1: () => boolean; + _GetSamplesPerPixel: () => number; + _GetDefaultWindowCenter: () => number; + _GetDefaultWindowWidth: () => number; + _GetColorType: () => number; + _GetWidth: () => number; + _GetHeight: () => number; + _GetFrameTime: () => number; + _GetFrameDelay: () => number; + + _GetPixelData: () => number; // Returns a pointer (memory address) + _GetPaletteData: () => number; // Returns a pointer (memory address) + _SetDicomData: ( + pPixelData: number, + pPaletteData: number, + nFrameWidth: number, + nFrameHeight: number, + nBitsAllocated: number, + nBitsStored: number, + nSamplesPerPixel: number, + nDefaultWindowWidth: number, + nDefaultWindowCenter: number, + nPaletteEntries: number, + nColortype: number, + bUseMonochrome1: boolean, + nTotalFrames: number, + fFrameTime: number, + fFrameDelay: number + ) => void; + + // ✨ Wasm 모듈 생성 시 옵션을 위한 타입 추가 + wasmBinary?: ArrayBuffer; +} + +export type DCM_ViewerState = { + fileUrl: string | null | undefined; //Loading중인 fileUrl + visible: boolean; //Viewer가 Visible 상태인지 관리 1x1, 2x2, 3x3에 따라 invisible상태일수 있음(이때 opengl update안하게함) + viewerID: number; //Viewer의 Index + WindowWidthLevel?: { //Viewer의 Window Width/Level + WindowWidth: number; + WindowCenter: number; + }; + camera: { //Viewer의 Camera State + aspect: number; + basepan_x: number; + basepan_y: number; + cameraUpdated: boolean; + pan_x: number; + pan_y: number; + viewport_x: number; + viewport_y: number; + width: number; + height: number; + windowResized: boolean; + zoom: number; + }; +}; + +//DicomImage 타입을 정의합니다. +export interface DicomImage { + metadata: { + totalFrames: number; //전체 프레임 개수(MultiFrame Image일수 있음) + imageWidth: number; + imageHeight: number; + frameSizeUncompressed: number; + paletteEntries: number; + bitsAllocated: number; + bitsStored: number; + samplesPerPixel: number; + defaultWindowWidth: number; + defaultWindowCenter: number; + colorType: number; + bUseMonochrome1: boolean; + frameTime: number; + frameDelay: number; + }; + pixelData?: Uint8Array; + paletteData?: Uint8Array; // 팔레트는 선택사항이므로 '?'를 붙입니다. + fileUrl?: string; +} + +// --- Enum 및 상태 변수 --- +export enum InteractionMode { + MODE_NONE = 0x00, + MODE_PAN = 0x01, + MODE_WIDTHLEVEL = 0x02, + MODE_ZOOM = 0x04, + MODE_SCROLL = 0x08, +} + +// --- 타입 정의 --- +export type DownloadState = { + url: string; + total: number; + loaded: number; +}; + +export type ViewerInstance = { + + setInteractionMode: (mode: number) => void; + resetView?: () => void; + ResetWindowWidthLevel?: () => void; + UpdateViewerState?: (state: DCM_ViewerState) => void; + GetViewerStateFromWasm: () => DCM_ViewerState; + loadFileAndProcessInWasm: (url: string, state: DCM_ViewerState, updateViewerState?: boolean) => Promise; + processDicomData: (packet: ArrayBuffer, state: DCM_ViewerState, updateViewerState?: boolean) => Promise; + loadDicomImage: (imageData: DicomImage, transferViewerState: DCM_ViewerState, updateViewerState: boolean) => Promise; + clearViewer: () => void; + + initialize: () => Promise; +}; \ No newline at end of file diff --git a/src/lib/viewer/test.js b/src/lib/viewer/test.js new file mode 100644 index 0000000..5c836fe --- /dev/null +++ b/src/lib/viewer/test.js @@ -0,0 +1,11978 @@ +// This code implements the `-sMODULARIZE` settings by taking the generated +// JS program code (INNER_JS_CODE) and wrapping it in a factory function. + +// When targetting node and ES6 we use `await import ..` in the generated code +// so the outer function needs to be marked as async. +async function createDicomViewerModule(moduleArg = {}) { + var moduleRtn; + +// include: shell.js +// The Module object: Our interface to the outside world. We import +// and export values on it. There are various ways Module can be used: +// 1. Not defined. We create it here +// 2. A function parameter, function(moduleArg) => Promise +// 3. pre-run appended it, var Module = {}; ..generated code.. +// 4. External script tag defines var Module. +// We need to check if Module already exists (e.g. case 3 above). +// Substitution will be replaced with actual code on later stage of the build, +// this way Closure Compiler will not mangle it (e.g. case 4. above). +// Note that if you want to run closure, and also to use Module +// after the generated code, you will need to define var Module = {}; +// before the code. Then that object will be used in the code, and you +// can continue to use Module afterwards as well. +var Module = moduleArg; + +// Determine the runtime environment we are in. You can customize this by +// setting the ENVIRONMENT setting at compile time (see settings.js). +var ENVIRONMENT_IS_WEB = true; + +var ENVIRONMENT_IS_WORKER = false; + +var ENVIRONMENT_IS_NODE = false; + +var ENVIRONMENT_IS_SHELL = false; + +// --pre-jses are emitted after the Module integration code, so that they can +// refer to Module (if they choose; they can also define Module) +var arguments_ = []; + +var thisProgram = "./this.program"; + +var quit_ = (status, toThrow) => { + throw toThrow; +}; + +var _scriptName = import.meta.url; + +// `/` should be present at the end if `scriptDirectory` is not empty +var scriptDirectory = ""; + +function locateFile(path) { + if (Module["locateFile"]) { + return Module["locateFile"](path, scriptDirectory); + } + return scriptDirectory + path; +} + +// Hooks that are implemented differently in different runtime environments. +var readAsync, readBinary; + +if (ENVIRONMENT_IS_SHELL) { + const isNode = typeof process == "object" && process.versions?.node && process.type != "renderer"; + if (isNode || typeof window == "object" || typeof WorkerGlobalScope != "undefined") throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)"); +} else // Note that this includes Node.js workers when relevant (pthreads is enabled). +// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and +// ENVIRONMENT_IS_NODE. +if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + try { + scriptDirectory = new URL(".", _scriptName).href; + } catch {} + if (!(typeof window == "object" || typeof WorkerGlobalScope != "undefined")) throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)"); + { + // include: web_or_worker_shell_read.js + readAsync = async url => { + assert(!isFileURI(url), "readAsync does not work with file:// URLs"); + var response = await fetch(url, { + credentials: "same-origin" + }); + if (response.ok) { + return response.arrayBuffer(); + } + throw new Error(response.status + " : " + response.url); + }; + } +} else { + throw new Error("environment detection error"); +} + +var out = console.log.bind(console); + +var err = console.error.bind(console); + +var IDBFS = "IDBFS is no longer included by default; build with -lidbfs.js"; + +var PROXYFS = "PROXYFS is no longer included by default; build with -lproxyfs.js"; + +var WORKERFS = "WORKERFS is no longer included by default; build with -lworkerfs.js"; + +var FETCHFS = "FETCHFS is no longer included by default; build with -lfetchfs.js"; + +var ICASEFS = "ICASEFS is no longer included by default; build with -licasefs.js"; + +var JSFILEFS = "JSFILEFS is no longer included by default; build with -ljsfilefs.js"; + +var OPFS = "OPFS is no longer included by default; build with -lopfs.js"; + +var NODEFS = "NODEFS is no longer included by default; build with -lnodefs.js"; + +// perform assertions in shell.js after we set up out() and err(), as otherwise +// if an assertion fails it cannot print the message +assert(!ENVIRONMENT_IS_WORKER, "worker environment detected but not enabled at build time. Add `worker` to `-sENVIRONMENT` to enable."); + +assert(!ENVIRONMENT_IS_NODE, "node environment detected but not enabled at build time. Add `node` to `-sENVIRONMENT` to enable."); + +assert(!ENVIRONMENT_IS_SHELL, "shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable."); + +// end include: shell.js +// include: preamble.js +// === Preamble library stuff === +// Documentation for the public APIs defined in this file must be updated in: +// site/source/docs/api_reference/preamble.js.rst +// A prebuilt local version of the documentation is available at: +// site/build/text/docs/api_reference/preamble.js.txt +// You can also build docs locally as HTML or other formats in site/ +// An online HTML version (which may be of a different version of Emscripten) +// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html +var wasmBinary; + +if (typeof WebAssembly != "object") { + err("no native wasm support detected"); +} + +// Wasm globals +//======================================== +// Runtime essentials +//======================================== +// whether we are quitting the application. no code should run after this. +// set in exit() and abort() +var ABORT = false; + +// set by exit() and abort(). Passed to 'onExit' handler. +// NOTE: This is also used as the process return code code in shell environments +// but only when noExitRuntime is false. +var EXITSTATUS; + +// In STRICT mode, we only define assert() when ASSERTIONS is set. i.e. we +// don't define it at all in release modes. This matches the behaviour of +// MINIMAL_RUNTIME. +// TODO(sbc): Make this the default even without STRICT enabled. +/** @type {function(*, string=)} */ function assert(condition, text) { + if (!condition) { + abort("Assertion failed" + (text ? ": " + text : "")); + } +} + +// We used to include malloc/free by default in the past. Show a helpful error in +// builds with assertions. +/** + * Indicates whether filename is delivered via file protocol (as opposed to http/https) + * @noinline + */ var isFileURI = filename => filename.startsWith("file://"); + +// include: runtime_common.js +// include: runtime_stack_check.js +// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. +function writeStackCookie() { + var max = _emscripten_stack_get_end(); + assert((max & 3) == 0); + // If the stack ends at address zero we write our cookies 4 bytes into the + // stack. This prevents interference with SAFE_HEAP and ASAN which also + // monitor writes to address zero. + if (max == 0) { + max += 4; + } + // The stack grow downwards towards _emscripten_stack_get_end. + // We write cookies to the final two words in the stack and detect if they are + // ever overwritten. + HEAPU32[((max) >>> 2) >>> 0] = 34821223; + HEAPU32[(((max) + (4)) >>> 2) >>> 0] = 2310721022; + // Also test the global address 0 for integrity. + HEAPU32[((0) >>> 2) >>> 0] = 1668509029; +} + +function checkStackCookie() { + if (ABORT) return; + var max = _emscripten_stack_get_end(); + // See writeStackCookie(). + if (max == 0) { + max += 4; + } + var cookie1 = HEAPU32[((max) >>> 2) >>> 0]; + var cookie2 = HEAPU32[(((max) + (4)) >>> 2) >>> 0]; + if (cookie1 != 34821223 || cookie2 != 2310721022) { + abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`); + } + // Also test the global address 0 for integrity. + if (HEAPU32[((0) >>> 2) >>> 0] != 1668509029) { + abort("Runtime error: The application has corrupted its heap memory area (address zero)!"); + } +} + +// end include: runtime_stack_check.js +// include: runtime_exceptions.js +// end include: runtime_exceptions.js +// include: runtime_debug.js +var runtimeDebug = true; + +// Switch to false at runtime to disable logging at the right times +// Used by XXXXX_DEBUG settings to output debug messages. +function dbg(...args) { + if (!runtimeDebug && typeof runtimeDebug != "undefined") return; + // TODO(sbc): Make this configurable somehow. Its not always convenient for + // logging to show up as warnings. + console.warn(...args); +} + +// Endianness check +(() => { + var h16 = new Int16Array(1); + var h8 = new Int8Array(h16.buffer); + h16[0] = 25459; + if (h8[0] !== 115 || h8[1] !== 99) throw "Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)"; +})(); + +function consumedModuleProp(prop) { + if (!Object.getOwnPropertyDescriptor(Module, prop)) { + Object.defineProperty(Module, prop, { + configurable: true, + set() { + abort(`Attempt to set \`Module.${prop}\` after it has already been processed. This can happen, for example, when code is injected via '--post-js' rather than '--pre-js'`); + } + }); + } +} + +function makeInvalidEarlyAccess(name) { + return () => assert(false, `call to '${name}' via reference taken before Wasm module initialization`); +} + +function ignoredModuleProp(prop) { + if (Object.getOwnPropertyDescriptor(Module, prop)) { + abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`); + } +} + +// forcing the filesystem exports a few things by default +function isExportedByForceFilesystem(name) { + return name === "FS_createPath" || name === "FS_createDataFile" || name === "FS_createPreloadedFile" || name === "FS_unlink" || name === "addRunDependency" || // The old FS has some functionality that WasmFS lacks. + name === "FS_createLazyFile" || name === "FS_createDevice" || name === "removeRunDependency"; +} + +/** + * Intercept access to a global symbol. This enables us to give informative + * warnings/errors when folks attempt to use symbols they did not include in + * their build, or no symbols that no longer exist. + */ function hookGlobalSymbolAccess(sym, func) { + if (typeof globalThis != "undefined" && !Object.getOwnPropertyDescriptor(globalThis, sym)) { + Object.defineProperty(globalThis, sym, { + configurable: true, + get() { + func(); + return undefined; + } + }); + } +} + +function missingGlobal(sym, msg) { + hookGlobalSymbolAccess(sym, () => { + warnOnce(`\`${sym}\` is not longer defined by emscripten. ${msg}`); + }); +} + +missingGlobal("buffer", "Please use HEAP8.buffer or wasmMemory.buffer"); + +missingGlobal("asm", "Please use wasmExports instead"); + +function missingLibrarySymbol(sym) { + hookGlobalSymbolAccess(sym, () => { + // Can't `abort()` here because it would break code that does runtime + // checks. e.g. `if (typeof SDL === 'undefined')`. + var msg = `\`${sym}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`; + // DEFAULT_LIBRARY_FUNCS_TO_INCLUDE requires the name as it appears in + // library.js, which means $name for a JS name with no prefix, or name + // for a JS name like _name. + var librarySymbol = sym; + if (!librarySymbol.startsWith("_")) { + librarySymbol = "$" + sym; + } + msg += ` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${librarySymbol}')`; + if (isExportedByForceFilesystem(sym)) { + msg += ". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"; + } + warnOnce(msg); + }); + // Any symbol that is not included from the JS library is also (by definition) + // not exported on the Module object. + unexportedRuntimeSymbol(sym); +} + +function unexportedRuntimeSymbol(sym) { + if (!Object.getOwnPropertyDescriptor(Module, sym)) { + Object.defineProperty(Module, sym, { + configurable: true, + get() { + var msg = `'${sym}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`; + if (isExportedByForceFilesystem(sym)) { + msg += ". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"; + } + abort(msg); + } + }); + } +} + +// end include: runtime_debug.js +var readyPromiseResolve, readyPromiseReject; + +// Memory management +var wasmMemory; + +var /** @type {!Int8Array} */ HEAP8, /** @type {!Uint8Array} */ HEAPU8, /** @type {!Int16Array} */ HEAP16, /** @type {!Uint16Array} */ HEAPU16, /** @type {!Int32Array} */ HEAP32, /** @type {!Uint32Array} */ HEAPU32, /** @type {!Float32Array} */ HEAPF32, /** @type {!Float64Array} */ HEAPF64; + +// BigInt64Array type is not correctly defined in closure +var /** not-@type {!BigInt64Array} */ HEAP64, /* BigUint64Array type is not correctly defined in closure +/** not-@type {!BigUint64Array} */ HEAPU64; + +var runtimeInitialized = false; + +function updateMemoryViews() { + var b = wasmMemory.buffer; + HEAP8 = new Int8Array(b); + HEAP16 = new Int16Array(b); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(b); + HEAPU16 = new Uint16Array(b); + HEAP32 = new Int32Array(b); + HEAPU32 = new Uint32Array(b); + HEAPF32 = new Float32Array(b); + HEAPF64 = new Float64Array(b); + HEAP64 = new BigInt64Array(b); + HEAPU64 = new BigUint64Array(b); +} + +// include: memoryprofiler.js +// end include: memoryprofiler.js +// end include: runtime_common.js +assert(typeof Int32Array != "undefined" && typeof Float64Array !== "undefined" && Int32Array.prototype.subarray != undefined && Int32Array.prototype.set != undefined, "JS engine does not provide full typed array support"); + +function preRun() { + if (Module["preRun"]) { + if (typeof Module["preRun"] == "function") Module["preRun"] = [ Module["preRun"] ]; + while (Module["preRun"].length) { + addOnPreRun(Module["preRun"].shift()); + } + } + consumedModuleProp("preRun"); + // Begin ATPRERUNS hooks + callRuntimeCallbacks(onPreRuns); +} + +function initRuntime() { + assert(!runtimeInitialized); + runtimeInitialized = true; + checkStackCookie(); + // Begin ATINITS hooks + SOCKFS.root = FS.mount(SOCKFS, {}, null); + if (!Module["noFSInit"] && !FS.initialized) FS.init(); + TTY.init(); + // End ATINITS hooks + wasmExports["__wasm_call_ctors"](); + // Begin ATPOSTCTORS hooks + FS.ignorePermissions = false; +} + +function preMain() { + checkStackCookie(); +} + +function postRun() { + checkStackCookie(); + // PThreads reuse the runtime from the main thread. + if (Module["postRun"]) { + if (typeof Module["postRun"] == "function") Module["postRun"] = [ Module["postRun"] ]; + while (Module["postRun"].length) { + addOnPostRun(Module["postRun"].shift()); + } + } + consumedModuleProp("postRun"); + // Begin ATPOSTRUNS hooks + callRuntimeCallbacks(onPostRuns); +} + +// A counter of dependencies for calling run(). If we need to +// do asynchronous work before running, increment this and +// decrement it. Incrementing must happen in a place like +// Module.preRun (used by emcc to add file preloading). +// Note that you can add dependencies in preRun, even though +// it happens right before run - run will be postponed until +// the dependencies are met. +var runDependencies = 0; + +var dependenciesFulfilled = null; + +// overridden to take different actions when all run dependencies are fulfilled +var runDependencyTracking = {}; + +var runDependencyWatcher = null; + +function addRunDependency(id) { + runDependencies++; + Module["monitorRunDependencies"]?.(runDependencies); + if (id) { + assert(!runDependencyTracking[id]); + runDependencyTracking[id] = 1; + if (runDependencyWatcher === null && typeof setInterval != "undefined") { + // Check for missing dependencies every few seconds + runDependencyWatcher = setInterval(() => { + if (ABORT) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + return; + } + var shown = false; + for (var dep in runDependencyTracking) { + if (!shown) { + shown = true; + err("still waiting on run dependencies:"); + } + err(`dependency: ${dep}`); + } + if (shown) { + err("(end of list)"); + } + }, 1e4); + } + } else { + err("warning: run dependency added without ID"); + } +} + +function removeRunDependency(id) { + runDependencies--; + Module["monitorRunDependencies"]?.(runDependencies); + if (id) { + assert(runDependencyTracking[id]); + delete runDependencyTracking[id]; + } else { + err("warning: run dependency removed without ID"); + } + if (runDependencies == 0) { + if (runDependencyWatcher !== null) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + } + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback(); + } + } +} + +/** @param {string|number=} what */ function abort(what) { + Module["onAbort"]?.(what); + what = "Aborted(" + what + ")"; + // TODO(sbc): Should we remove printing and leave it up to whoever + // catches the exception? + err(what); + ABORT = true; + // Use a wasm runtime error, because a JS error might be seen as a foreign + // exception, which means we'd run destructors on it. We need the error to + // simply make the program stop. + // FIXME This approach does not work in Wasm EH because it currently does not assume + // all RuntimeErrors are from traps; it decides whether a RuntimeError is from + // a trap or not based on a hidden field within the object. So at the moment + // we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that + // allows this in the wasm spec. + // Suppress closure compiler warning here. Closure compiler's builtin extern + // definition for WebAssembly.RuntimeError claims it takes no arguments even + // though it can. + // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed. + /** @suppress {checkTypes} */ var e = new WebAssembly.RuntimeError(what); + readyPromiseReject?.(e); + // Throw the error whether or not MODULARIZE is set because abort is used + // in code paths apart from instantiation where an exception is expected + // to be thrown when abort is called. + throw e; +} + +function createExportWrapper(name, nargs) { + return (...args) => { + assert(runtimeInitialized, `native function \`${name}\` called before runtime initialization`); + var f = wasmExports[name]; + assert(f, `exported native function \`${name}\` not found`); + // Only assert for too many arguments. Too few can be valid since the missing arguments will be zero filled. + assert(args.length <= nargs, `native function \`${name}\` called with ${args.length} args but expects ${nargs}`); + return f(...args); + }; +} + +var wasmBinaryFile; + +function findWasmBinary() { + if (Module["locateFile"]) { + return locateFile("test.wasm"); + } + // Use bundler-friendly `new URL(..., import.meta.url)` pattern; works in browsers too. + return new URL("test.wasm", import.meta.url).href; +} + +function getBinarySync(file) { + if (file == wasmBinaryFile && wasmBinary) { + return new Uint8Array(wasmBinary); + } + if (readBinary) { + return readBinary(file); + } + throw "both async and sync fetching of the wasm failed"; +} + +async function getWasmBinary(binaryFile) { + // If we don't have the binary yet, load it asynchronously using readAsync. + if (!wasmBinary) { + // Fetch the binary using readAsync + try { + var response = await readAsync(binaryFile); + return new Uint8Array(response); + } catch {} + } + // Otherwise, getBinarySync should be able to get it synchronously + return getBinarySync(binaryFile); +} + +async function instantiateArrayBuffer(binaryFile, imports) { + try { + var binary = await getWasmBinary(binaryFile); + var instance = await WebAssembly.instantiate(binary, imports); + return instance; + } catch (reason) { + err(`failed to asynchronously prepare wasm: ${reason}`); + // Warn on some common problems. + if (isFileURI(wasmBinaryFile)) { + err(`warning: Loading from a file URI (${wasmBinaryFile}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`); + } + abort(reason); + } +} + +async function instantiateAsync(binary, binaryFile, imports) { + if (!binary && typeof WebAssembly.instantiateStreaming == "function") { + try { + var response = fetch(binaryFile, { + credentials: "same-origin" + }); + var instantiationResult = await WebAssembly.instantiateStreaming(response, imports); + return instantiationResult; + } catch (reason) { + // We expect the most common failure cause to be a bad MIME type for the binary, + // in which case falling back to ArrayBuffer instantiation should work. + err(`wasm streaming compile failed: ${reason}`); + err("falling back to ArrayBuffer instantiation"); + } + } + return instantiateArrayBuffer(binaryFile, imports); +} + +function getWasmImports() { + // prepare imports + return { + "env": wasmImports, + "wasi_snapshot_preview1": wasmImports + }; +} + +// Create the wasm instance. +// Receives the wasm imports, returns the exports. +async function createWasm() { + // Load the wasm module and create an instance of using native support in the JS engine. + // handle a generated wasm instance, receiving its exports and + // performing other necessary setup + /** @param {WebAssembly.Module=} module*/ function receiveInstance(instance, module) { + wasmExports = instance.exports; + wasmExports = applySignatureConversions(wasmExports); + wasmMemory = wasmExports["memory"]; + assert(wasmMemory, "memory not found in wasm exports"); + updateMemoryViews(); + wasmTable = wasmExports["__indirect_function_table"]; + assert(wasmTable, "table not found in wasm exports"); + assignWasmExports(wasmExports); + removeRunDependency("wasm-instantiate"); + return wasmExports; + } + // wait for the pthread pool (if any) + addRunDependency("wasm-instantiate"); + // Prefer streaming instantiation if available. + // Async compilation can be confusing when an error on the page overwrites Module + // (for example, if the order of elements is wrong, and the one defining Module is + // later), so we save Module and check it later. + var trueModule = Module; + function receiveInstantiationResult(result) { + // 'result' is a ResultObject object which has both the module and instance. + // receiveInstance() will swap in the exports (to Module.asm) so they can be called + assert(Module === trueModule, "the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"); + trueModule = null; + // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. + // When the regression is fixed, can restore the above PTHREADS-enabled path. + return receiveInstance(result["instance"]); + } + var info = getWasmImports(); + // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback + // to manually instantiate the Wasm module themselves. This allows pages to + // run the instantiation parallel to any other async startup actions they are + // performing. + // Also pthreads and wasm workers initialize the wasm instance through this + // path. + if (Module["instantiateWasm"]) { + return new Promise((resolve, reject) => { + try { + Module["instantiateWasm"](info, (mod, inst) => { + resolve(receiveInstance(mod, inst)); + }); + } catch (e) { + err(`Module.instantiateWasm callback failed with error: ${e}`); + reject(e); + } + }); + } + wasmBinaryFile ??= findWasmBinary(); + var result = await instantiateAsync(wasmBinary, wasmBinaryFile, info); + var exports = receiveInstantiationResult(result); + return exports; +} + +// end include: preamble.js +// Begin JS library code +class ExitStatus { + name="ExitStatus"; + constructor(status) { + this.message = `Program terminated with exit(${status})`; + this.status = status; + } +} + +var callRuntimeCallbacks = callbacks => { + while (callbacks.length > 0) { + // Pass the module as the first argument. + callbacks.shift()(Module); + } +}; + +var onPostRuns = []; + +var addOnPostRun = cb => onPostRuns.push(cb); + +var onPreRuns = []; + +var addOnPreRun = cb => onPreRuns.push(cb); + +/** + * @param {number} ptr + * @param {string} type + */ function getValue(ptr, type = "i8") { + if (type.endsWith("*")) type = "*"; + switch (type) { + case "i1": + return HEAP8[ptr >>> 0]; + + case "i8": + return HEAP8[ptr >>> 0]; + + case "i16": + return HEAP16[((ptr) >>> 1) >>> 0]; + + case "i32": + return HEAP32[((ptr) >>> 2) >>> 0]; + + case "i64": + return HEAP64[((ptr) >>> 3) >>> 0]; + + case "float": + return HEAPF32[((ptr) >>> 2) >>> 0]; + + case "double": + return HEAPF64[((ptr) >>> 3) >>> 0]; + + case "*": + return HEAPU32[((ptr) >>> 2) >>> 0]; + + default: + abort(`invalid type for getValue: ${type}`); + } +} + +var noExitRuntime = true; + +var ptrToString = ptr => { + assert(typeof ptr === "number"); + return "0x" + ptr.toString(16).padStart(8, "0"); +}; + +/** + * @param {number} ptr + * @param {number} value + * @param {string} type + */ function setValue(ptr, value, type = "i8") { + if (type.endsWith("*")) type = "*"; + switch (type) { + case "i1": + HEAP8[ptr >>> 0] = value; + break; + + case "i8": + HEAP8[ptr >>> 0] = value; + break; + + case "i16": + HEAP16[((ptr) >>> 1) >>> 0] = value; + break; + + case "i32": + HEAP32[((ptr) >>> 2) >>> 0] = value; + break; + + case "i64": + HEAP64[((ptr) >>> 3) >>> 0] = BigInt(value); + break; + + case "float": + HEAPF32[((ptr) >>> 2) >>> 0] = value; + break; + + case "double": + HEAPF64[((ptr) >>> 3) >>> 0] = value; + break; + + case "*": + HEAPU32[((ptr) >>> 2) >>> 0] = value; + break; + + default: + abort(`invalid type for setValue: ${type}`); + } +} + +var stackRestore = val => __emscripten_stack_restore(val); + +var stackSave = () => _emscripten_stack_get_current(); + +var warnOnce = text => { + warnOnce.shown ||= {}; + if (!warnOnce.shown[text]) { + warnOnce.shown[text] = 1; + err(text); + } +}; + +var INT53_MAX = 9007199254740992; + +var INT53_MIN = -9007199254740992; + +var bigintToI53Checked = num => (num < INT53_MIN || num > INT53_MAX) ? NaN : Number(num); + +var UTF8Decoder = typeof TextDecoder != "undefined" ? new TextDecoder : undefined; + +var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => { + var maxIdx = idx + maxBytesToRead; + if (ignoreNul) return maxIdx; + // TextDecoder needs to know the byte length in advance, it doesn't stop on + // null terminator by itself. + // As a tiny code save trick, compare idx against maxIdx using a negation, + // so that maxBytesToRead=undefined/NaN means Infinity. + while (heapOrArray[idx] && !(idx >= maxIdx)) ++idx; + return idx; +}; + +/** + * Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given + * array that contains uint8 values, returns a copy of that string as a + * Javascript String object. + * heapOrArray is either a regular array, or a JavaScript typed array view. + * @param {number=} idx + * @param {number=} maxBytesToRead + * @param {boolean=} ignoreNul - If true, the function will not stop on a NUL character. + * @return {string} + */ var UTF8ArrayToString = (heapOrArray, idx = 0, maxBytesToRead, ignoreNul) => { + idx >>>= 0; + var endPtr = findStringEnd(heapOrArray, idx, maxBytesToRead, ignoreNul); + // When using conditional TextDecoder, skip it for short strings as the overhead of the native call is not worth it. + if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { + return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); + } + var str = ""; + while (idx < endPtr) { + // For UTF8 byte structure, see: + // http://en.wikipedia.org/wiki/UTF-8#Description + // https://www.ietf.org/rfc/rfc2279.txt + // https://tools.ietf.org/html/rfc3629 + var u0 = heapOrArray[idx++]; + if (!(u0 & 128)) { + str += String.fromCharCode(u0); + continue; + } + var u1 = heapOrArray[idx++] & 63; + if ((u0 & 224) == 192) { + str += String.fromCharCode(((u0 & 31) << 6) | u1); + continue; + } + var u2 = heapOrArray[idx++] & 63; + if ((u0 & 240) == 224) { + u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; + } else { + if ((u0 & 248) != 240) warnOnce("Invalid UTF-8 leading byte " + ptrToString(u0) + " encountered when deserializing a UTF-8 string in wasm memory to a JS string!"); + u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heapOrArray[idx++] & 63); + } + if (u0 < 65536) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 65536; + str += String.fromCharCode(55296 | (ch >> 10), 56320 | (ch & 1023)); + } + } + return str; +}; + +/** + * Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the + * emscripten HEAP, returns a copy of that string as a Javascript String object. + * + * @param {number} ptr + * @param {number=} maxBytesToRead - An optional length that specifies the + * maximum number of bytes to read. You can omit this parameter to scan the + * string until the first 0 byte. If maxBytesToRead is passed, and the string + * at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the + * string will cut short at that byte index. + * @param {boolean=} ignoreNul - If true, the function will not stop on a NUL character. + * @return {string} + */ var UTF8ToString = (ptr, maxBytesToRead, ignoreNul) => { + assert(typeof ptr == "number", `UTF8ToString expects a number (got ${typeof ptr})`); + ptr >>>= 0; + return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead, ignoreNul) : ""; +}; + +function ___assert_fail(condition, filename, line, func) { + condition >>>= 0; + filename >>>= 0; + func >>>= 0; + return abort(`Assertion failed: ${UTF8ToString(condition)}, at: ` + [ filename ? UTF8ToString(filename) : "unknown filename", line, func ? UTF8ToString(func) : "unknown function" ]); +} + +class ExceptionInfo { + // excPtr - Thrown object pointer to wrap. Metadata pointer is calculated from it. + constructor(excPtr) { + this.excPtr = excPtr; + this.ptr = excPtr - 24; + } + set_type(type) { + HEAPU32[(((this.ptr) + (4)) >>> 2) >>> 0] = type; + } + get_type() { + return HEAPU32[(((this.ptr) + (4)) >>> 2) >>> 0]; + } + set_destructor(destructor) { + HEAPU32[(((this.ptr) + (8)) >>> 2) >>> 0] = destructor; + } + get_destructor() { + return HEAPU32[(((this.ptr) + (8)) >>> 2) >>> 0]; + } + set_caught(caught) { + caught = caught ? 1 : 0; + HEAP8[(this.ptr) + (12) >>> 0] = caught; + } + get_caught() { + return HEAP8[(this.ptr) + (12) >>> 0] != 0; + } + set_rethrown(rethrown) { + rethrown = rethrown ? 1 : 0; + HEAP8[(this.ptr) + (13) >>> 0] = rethrown; + } + get_rethrown() { + return HEAP8[(this.ptr) + (13) >>> 0] != 0; + } + // Initialize native structure fields. Should be called once after allocated. + init(type, destructor) { + this.set_adjusted_ptr(0); + this.set_type(type); + this.set_destructor(destructor); + } + set_adjusted_ptr(adjustedPtr) { + HEAPU32[(((this.ptr) + (16)) >>> 2) >>> 0] = adjustedPtr; + } + get_adjusted_ptr() { + return HEAPU32[(((this.ptr) + (16)) >>> 2) >>> 0]; + } +} + +var exceptionLast = 0; + +var uncaughtExceptionCount = 0; + +function ___cxa_throw(ptr, type, destructor) { + ptr >>>= 0; + type >>>= 0; + destructor >>>= 0; + var info = new ExceptionInfo(ptr); + // Initialize ExceptionInfo content after it was allocated in __cxa_allocate_exception. + info.init(type, destructor); + exceptionLast = ptr; + uncaughtExceptionCount++; + assert(false, "Exception thrown, but exception catching is not enabled. Compile with -sNO_DISABLE_EXCEPTION_CATCHING or -sEXCEPTION_CATCHING_ALLOWED=[..] to catch."); +} + +var initRandomFill = () => view => crypto.getRandomValues(view); + +var randomFill = view => { + // Lazily init on the first invocation. + (randomFill = initRandomFill())(view); +}; + +var PATH = { + isAbs: path => path.charAt(0) === "/", + splitPath: filename => { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1); + }, + normalizeArray: (parts, allowAboveRoot) => { + // if the path tries to go above the root, `up` ends up > 0 + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === ".") { + parts.splice(i, 1); + } else if (last === "..") { + parts.splice(i, 1); + up++; + } else if (up) { + parts.splice(i, 1); + up--; + } + } + // if the path is allowed to go above the root, restore leading ..s + if (allowAboveRoot) { + for (;up; up--) { + parts.unshift(".."); + } + } + return parts; + }, + normalize: path => { + var isAbsolute = PATH.isAbs(path), trailingSlash = path.slice(-1) === "/"; + // Normalize the path + path = PATH.normalizeArray(path.split("/").filter(p => !!p), !isAbsolute).join("/"); + if (!path && !isAbsolute) { + path = "."; + } + if (path && trailingSlash) { + path += "/"; + } + return (isAbsolute ? "/" : "") + path; + }, + dirname: path => { + var result = PATH.splitPath(path), root = result[0], dir = result[1]; + if (!root && !dir) { + // No dirname whatsoever + return "."; + } + if (dir) { + // It has a dirname, strip trailing slash + dir = dir.slice(0, -1); + } + return root + dir; + }, + basename: path => path && path.match(/([^\/]+|\/)\/*$/)[1], + join: (...paths) => PATH.normalize(paths.join("/")), + join2: (l, r) => PATH.normalize(l + "/" + r) +}; + +var PATH_FS = { + resolve: (...args) => { + var resolvedPath = "", resolvedAbsolute = false; + for (var i = args.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = (i >= 0) ? args[i] : FS.cwd(); + // Skip empty and invalid entries + if (typeof path != "string") { + throw new TypeError("Arguments to path.resolve must be strings"); + } else if (!path) { + return ""; + } + resolvedPath = path + "/" + resolvedPath; + resolvedAbsolute = PATH.isAbs(path); + } + // At this point the path should be resolved to a full absolute path, but + // handle relative paths to be safe (might happen when process.cwd() fails) + resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter(p => !!p), !resolvedAbsolute).join("/"); + return ((resolvedAbsolute ? "/" : "") + resolvedPath) || "."; + }, + relative: (from, to) => { + from = PATH_FS.resolve(from).slice(1); + to = PATH_FS.resolve(to).slice(1); + function trim(arr) { + var start = 0; + for (;start < arr.length; start++) { + if (arr[start] !== "") break; + } + var end = arr.length - 1; + for (;end >= 0; end--) { + if (arr[end] !== "") break; + } + if (start > end) return []; + return arr.slice(start, end - start + 1); + } + var fromParts = trim(from.split("/")); + var toParts = trim(to.split("/")); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push(".."); + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join("/"); + } +}; + +var FS_stdin_getChar_buffer = []; + +var lengthBytesUTF8 = str => { + var len = 0; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code + // unit, not a Unicode code point of the character! So decode + // UTF16->UTF32->UTF8. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var c = str.charCodeAt(i); + // possibly a lead surrogate + if (c <= 127) { + len++; + } else if (c <= 2047) { + len += 2; + } else if (c >= 55296 && c <= 57343) { + len += 4; + ++i; + } else { + len += 3; + } + } + return len; +}; + +var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => { + outIdx >>>= 0; + assert(typeof str === "string", `stringToUTF8Array expects a string (got ${typeof str})`); + // Parameter maxBytesToWrite is not optional. Negative values, 0, null, + // undefined and false each don't write out any bytes. + if (!(maxBytesToWrite > 0)) return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; + // -1 for string null terminator. + for (var i = 0; i < str.length; ++i) { + // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description + // and https://www.ietf.org/rfc/rfc2279.txt + // and https://tools.ietf.org/html/rfc3629 + var u = str.codePointAt(i); + if (u <= 127) { + if (outIdx >= endIdx) break; + heap[outIdx++ >>> 0] = u; + } else if (u <= 2047) { + if (outIdx + 1 >= endIdx) break; + heap[outIdx++ >>> 0] = 192 | (u >> 6); + heap[outIdx++ >>> 0] = 128 | (u & 63); + } else if (u <= 65535) { + if (outIdx + 2 >= endIdx) break; + heap[outIdx++ >>> 0] = 224 | (u >> 12); + heap[outIdx++ >>> 0] = 128 | ((u >> 6) & 63); + heap[outIdx++ >>> 0] = 128 | (u & 63); + } else { + if (outIdx + 3 >= endIdx) break; + if (u > 1114111) warnOnce("Invalid Unicode code point " + ptrToString(u) + " encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF)."); + heap[outIdx++ >>> 0] = 240 | (u >> 18); + heap[outIdx++ >>> 0] = 128 | ((u >> 12) & 63); + heap[outIdx++ >>> 0] = 128 | ((u >> 6) & 63); + heap[outIdx++ >>> 0] = 128 | (u & 63); + // Gotcha: if codePoint is over 0xFFFF, it is represented as a surrogate pair in UTF-16. + // We need to manually skip over the second code unit for correct iteration. + i++; + } + } + // Null-terminate the pointer to the buffer. + heap[outIdx >>> 0] = 0; + return outIdx - startIdx; +}; + +/** @type {function(string, boolean=, number=)} */ var intArrayFromString = (stringy, dontAddNull, length) => { + var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1; + var u8array = new Array(len); + var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); + if (dontAddNull) u8array.length = numBytesWritten; + return u8array; +}; + +var FS_stdin_getChar = () => { + if (!FS_stdin_getChar_buffer.length) { + var result = null; + if (typeof window != "undefined" && typeof window.prompt == "function") { + // Browser. + result = window.prompt("Input: "); + // returns null on cancel + if (result !== null) { + result += "\n"; + } + } else {} + if (!result) { + return null; + } + FS_stdin_getChar_buffer = intArrayFromString(result, true); + } + return FS_stdin_getChar_buffer.shift(); +}; + +var TTY = { + ttys: [], + init() {}, + shutdown() {}, + register(dev, ops) { + TTY.ttys[dev] = { + input: [], + output: [], + ops + }; + FS.registerDevice(dev, TTY.stream_ops); + }, + stream_ops: { + open(stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(43); + } + stream.tty = tty; + stream.seekable = false; + }, + close(stream) { + // flush any pending line data + stream.tty.ops.fsync(stream.tty); + }, + fsync(stream) { + stream.tty.ops.fsync(stream.tty); + }, + read(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(60); + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result; + } + if (bytesRead) { + stream.node.atime = Date.now(); + } + return bytesRead; + }, + write(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(60); + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset + i]); + } + } catch (e) { + throw new FS.ErrnoError(29); + } + if (length) { + stream.node.mtime = stream.node.ctime = Date.now(); + } + return i; + } + }, + default_tty_ops: { + get_char(tty) { + return FS_stdin_getChar(); + }, + put_char(tty, val) { + if (val === null || val === 10) { + out(UTF8ArrayToString(tty.output)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); + } + }, + fsync(tty) { + if (tty.output?.length > 0) { + out(UTF8ArrayToString(tty.output)); + tty.output = []; + } + }, + ioctl_tcgets(tty) { + // typical setting + return { + c_iflag: 25856, + c_oflag: 5, + c_cflag: 191, + c_lflag: 35387, + c_cc: [ 3, 28, 127, 21, 4, 0, 1, 0, 17, 19, 26, 0, 18, 15, 23, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] + }; + }, + ioctl_tcsets(tty, optional_actions, data) { + // currently just ignore + return 0; + }, + ioctl_tiocgwinsz(tty) { + return [ 24, 80 ]; + } + }, + default_tty1_ops: { + put_char(tty, val) { + if (val === null || val === 10) { + err(UTF8ArrayToString(tty.output)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); + } + }, + fsync(tty) { + if (tty.output?.length > 0) { + err(UTF8ArrayToString(tty.output)); + tty.output = []; + } + } + } +}; + +var mmapAlloc = size => { + abort("internal error: mmapAlloc called but `emscripten_builtin_memalign` native symbol not exported"); +}; + +var MEMFS = { + ops_table: null, + mount(mount) { + return MEMFS.createNode(null, "/", 16895, 0); + }, + createNode(parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + // no supported + throw new FS.ErrnoError(63); + } + MEMFS.ops_table ||= { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, + stream: { + llseek: MEMFS.stream_ops.llseek + } + }, + file: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync + } + }, + link: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }, + stream: {} + }, + chrdev: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: FS.chrdev_stream_ops + } + }; + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {}; + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; + // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. + // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred + // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size + // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. + node.contents = null; + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream; + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream; + } + node.atime = node.mtime = node.ctime = Date.now(); + // add the new node to the parent + if (parent) { + parent.contents[name] = node; + parent.atime = parent.mtime = parent.ctime = node.atime; + } + return node; + }, + getFileDataAsTypedArray(node) { + if (!node.contents) return new Uint8Array(0); + if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); + // Make sure to not return excess unused bytes. + return new Uint8Array(node.contents); + }, + expandFileStorage(node, newCapacity) { + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) return; + // No need to expand, the storage was already large enough. + // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. + // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to + // avoid overshooting the allocation cap by a very large margin. + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125)) >>> 0); + if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); + // At minimum allocate 256b for each file when expanding. + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); + // Allocate new storage. + if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); + }, + resizeFileStorage(node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; + // Fully decommit when requesting a resize to zero. + node.usedBytes = 0; + } else { + var oldContents = node.contents; + node.contents = new Uint8Array(newSize); + // Allocate new storage. + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); + } + node.usedBytes = newSize; + } + }, + node_ops: { + getattr(node) { + var attr = {}; + // device numbers reuse inode numbers. + attr.dev = FS.isChrdev(node.mode) ? node.id : 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; + if (FS.isDir(node.mode)) { + attr.size = 4096; + } else if (FS.isFile(node.mode)) { + attr.size = node.usedBytes; + } else if (FS.isLink(node.mode)) { + attr.size = node.link.length; + } else { + attr.size = 0; + } + attr.atime = new Date(node.atime); + attr.mtime = new Date(node.mtime); + attr.ctime = new Date(node.ctime); + // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), + // but this is not required by the standard. + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr; + }, + setattr(node, attr) { + for (const key of [ "mode", "atime", "mtime", "ctime" ]) { + if (attr[key] != null) { + node[key] = attr[key]; + } + } + if (attr.size !== undefined) { + MEMFS.resizeFileStorage(node, attr.size); + } + }, + lookup(parent, name) { + throw new FS.ErrnoError(44); + }, + mknod(parent, name, mode, dev) { + return MEMFS.createNode(parent, name, mode, dev); + }, + rename(old_node, new_dir, new_name) { + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) {} + if (new_node) { + if (FS.isDir(old_node.mode)) { + // if we're overwriting a directory at new_name, make sure it's empty. + for (var i in new_node.contents) { + throw new FS.ErrnoError(55); + } + } + FS.hashRemoveNode(new_node); + } + // do the internal rewiring + delete old_node.parent.contents[old_node.name]; + new_dir.contents[new_name] = old_node; + old_node.name = new_name; + new_dir.ctime = new_dir.mtime = old_node.parent.ctime = old_node.parent.mtime = Date.now(); + }, + unlink(parent, name) { + delete parent.contents[name]; + parent.ctime = parent.mtime = Date.now(); + }, + rmdir(parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(55); + } + delete parent.contents[name]; + parent.ctime = parent.mtime = Date.now(); + }, + readdir(node) { + return [ ".", "..", ...Object.keys(node.contents) ]; + }, + symlink(parent, newname, oldpath) { + var node = MEMFS.createNode(parent, newname, 511 | 40960, 0); + node.link = oldpath; + return node; + }, + readlink(node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(28); + } + return node.link; + } + }, + stream_ops: { + read(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) return 0; + var size = Math.min(stream.node.usedBytes - position, length); + assert(size >= 0); + if (size > 8 && contents.subarray) { + // non-trivial, and typed array + buffer.set(contents.subarray(position, position + size), offset); + } else { + for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; + } + return size; + }, + write(stream, buffer, offset, length, position, canOwn) { + // The data buffer should be a typed array view + assert(!(buffer instanceof ArrayBuffer)); + // If the buffer is located in main memory (HEAP), and if + // memory can grow, we can't hold on to references of the + // memory buffer, as they may get invalidated. That means we + // need to do copy its contents. + if (buffer.buffer === HEAP8.buffer) { + canOwn = false; + } + if (!length) return 0; + var node = stream.node; + node.mtime = node.ctime = Date.now(); + if (buffer.subarray && (!node.contents || node.contents.subarray)) { + // This write is from a typed array to a typed array? + if (canOwn) { + assert(position === 0, "canOwn must imply no weird position inside the file"); + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length; + } else if (node.usedBytes === 0 && position === 0) { + // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. + node.contents = buffer.slice(offset, offset + length); + node.usedBytes = length; + return length; + } else if (position + length <= node.usedBytes) { + // Writing to an already allocated and used subrange of the file? + node.contents.set(buffer.subarray(offset, offset + length), position); + return length; + } + } + // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. + MEMFS.expandFileStorage(node, position + length); + if (node.contents.subarray && buffer.subarray) { + // Use typed array write which is available. + node.contents.set(buffer.subarray(offset, offset + length), position); + } else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i]; + } + } + node.usedBytes = Math.max(node.usedBytes, position + length); + return length; + }, + llseek(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes; + } + } + if (position < 0) { + throw new FS.ErrnoError(28); + } + return position; + }, + mmap(stream, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + var ptr; + var allocated; + var contents = stream.node.contents; + // Only make a new copy when MAP_PRIVATE is specified. + if (!(flags & 2) && contents && contents.buffer === HEAP8.buffer) { + // We can't emulate MAP_SHARED when the file is not backed by the + // buffer we're mapping to (e.g. the HEAP buffer). + allocated = false; + ptr = contents.byteOffset; + } else { + allocated = true; + ptr = mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + if (contents) { + // Try to avoid unnecessary slices. + if (position > 0 || position + length < contents.length) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call(contents, position, position + length); + } + } + HEAP8.set(contents, ptr >>> 0); + } + } + return { + ptr, + allocated + }; + }, + msync(stream, buffer, offset, length, mmapFlags) { + MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + // should we check if bytesWritten and length are the same? + return 0; + } + } +}; + +var asyncLoad = async url => { + var arrayBuffer = await readAsync(url); + assert(arrayBuffer, `Loading data file "${url}" failed (no arrayBuffer).`); + return new Uint8Array(arrayBuffer); +}; + +var FS_createDataFile = (...args) => FS.createDataFile(...args); + +var getUniqueRunDependency = id => { + var orig = id; + while (1) { + if (!runDependencyTracking[id]) return id; + id = orig + Math.random(); + } +}; + +var preloadPlugins = []; + +var FS_handledByPreloadPlugin = (byteArray, fullname, finish, onerror) => { + // Ensure plugins are ready. + if (typeof Browser != "undefined") Browser.init(); + var handled = false; + preloadPlugins.forEach(plugin => { + if (handled) return; + if (plugin["canHandle"](fullname)) { + plugin["handle"](byteArray, fullname, finish, onerror); + handled = true; + } + }); + return handled; +}; + +var FS_createPreloadedFile = (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => { + // TODO we should allow people to just pass in a complete filename instead + // of parent and name being that we just join them anyways + var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; + var dep = getUniqueRunDependency(`cp ${fullname}`); + // might have several active requests for the same fullname + function processData(byteArray) { + function finish(byteArray) { + preFinish?.(); + if (!dontCreateFile) { + FS_createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); + } + onload?.(); + removeRunDependency(dep); + } + if (FS_handledByPreloadPlugin(byteArray, fullname, finish, () => { + onerror?.(); + removeRunDependency(dep); + })) { + return; + } + finish(byteArray); + } + addRunDependency(dep); + if (typeof url == "string") { + asyncLoad(url).then(processData, onerror); + } else { + processData(url); + } +}; + +var FS_modeStringToFlags = str => { + var flagModes = { + "r": 0, + "r+": 2, + "w": 512 | 64 | 1, + "w+": 512 | 64 | 2, + "a": 1024 | 64 | 1, + "a+": 1024 | 64 | 2 + }; + var flags = flagModes[str]; + if (typeof flags == "undefined") { + throw new Error(`Unknown file open mode: ${str}`); + } + return flags; +}; + +var FS_getMode = (canRead, canWrite) => { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode; +}; + +var strError = errno => UTF8ToString(_strerror(errno)); + +var ERRNO_CODES = { + "EPERM": 63, + "ENOENT": 44, + "ESRCH": 71, + "EINTR": 27, + "EIO": 29, + "ENXIO": 60, + "E2BIG": 1, + "ENOEXEC": 45, + "EBADF": 8, + "ECHILD": 12, + "EAGAIN": 6, + "EWOULDBLOCK": 6, + "ENOMEM": 48, + "EACCES": 2, + "EFAULT": 21, + "ENOTBLK": 105, + "EBUSY": 10, + "EEXIST": 20, + "EXDEV": 75, + "ENODEV": 43, + "ENOTDIR": 54, + "EISDIR": 31, + "EINVAL": 28, + "ENFILE": 41, + "EMFILE": 33, + "ENOTTY": 59, + "ETXTBSY": 74, + "EFBIG": 22, + "ENOSPC": 51, + "ESPIPE": 70, + "EROFS": 69, + "EMLINK": 34, + "EPIPE": 64, + "EDOM": 18, + "ERANGE": 68, + "ENOMSG": 49, + "EIDRM": 24, + "ECHRNG": 106, + "EL2NSYNC": 156, + "EL3HLT": 107, + "EL3RST": 108, + "ELNRNG": 109, + "EUNATCH": 110, + "ENOCSI": 111, + "EL2HLT": 112, + "EDEADLK": 16, + "ENOLCK": 46, + "EBADE": 113, + "EBADR": 114, + "EXFULL": 115, + "ENOANO": 104, + "EBADRQC": 103, + "EBADSLT": 102, + "EDEADLOCK": 16, + "EBFONT": 101, + "ENOSTR": 100, + "ENODATA": 116, + "ETIME": 117, + "ENOSR": 118, + "ENONET": 119, + "ENOPKG": 120, + "EREMOTE": 121, + "ENOLINK": 47, + "EADV": 122, + "ESRMNT": 123, + "ECOMM": 124, + "EPROTO": 65, + "EMULTIHOP": 36, + "EDOTDOT": 125, + "EBADMSG": 9, + "ENOTUNIQ": 126, + "EBADFD": 127, + "EREMCHG": 128, + "ELIBACC": 129, + "ELIBBAD": 130, + "ELIBSCN": 131, + "ELIBMAX": 132, + "ELIBEXEC": 133, + "ENOSYS": 52, + "ENOTEMPTY": 55, + "ENAMETOOLONG": 37, + "ELOOP": 32, + "EOPNOTSUPP": 138, + "EPFNOSUPPORT": 139, + "ECONNRESET": 15, + "ENOBUFS": 42, + "EAFNOSUPPORT": 5, + "EPROTOTYPE": 67, + "ENOTSOCK": 57, + "ENOPROTOOPT": 50, + "ESHUTDOWN": 140, + "ECONNREFUSED": 14, + "EADDRINUSE": 3, + "ECONNABORTED": 13, + "ENETUNREACH": 40, + "ENETDOWN": 38, + "ETIMEDOUT": 73, + "EHOSTDOWN": 142, + "EHOSTUNREACH": 23, + "EINPROGRESS": 26, + "EALREADY": 7, + "EDESTADDRREQ": 17, + "EMSGSIZE": 35, + "EPROTONOSUPPORT": 66, + "ESOCKTNOSUPPORT": 137, + "EADDRNOTAVAIL": 4, + "ENETRESET": 39, + "EISCONN": 30, + "ENOTCONN": 53, + "ETOOMANYREFS": 141, + "EUSERS": 136, + "EDQUOT": 19, + "ESTALE": 72, + "ENOTSUP": 138, + "ENOMEDIUM": 148, + "EILSEQ": 25, + "EOVERFLOW": 61, + "ECANCELED": 11, + "ENOTRECOVERABLE": 56, + "EOWNERDEAD": 62, + "ESTRPIPE": 135 +}; + +var FS = { + root: null, + mounts: [], + devices: {}, + streams: [], + nextInode: 1, + nameTable: null, + currentPath: "/", + initialized: false, + ignorePermissions: true, + filesystems: null, + syncFSRequests: 0, + readFiles: {}, + ErrnoError: class extends Error { + name="ErrnoError"; + // We set the `name` property to be able to identify `FS.ErrnoError` + // - the `name` is a standard ECMA-262 property of error objects. Kind of good to have it anyway. + // - when using PROXYFS, an error can come from an underlying FS + // as different FS objects have their own FS.ErrnoError each, + // the test `err instanceof FS.ErrnoError` won't detect an error coming from another filesystem, causing bugs. + // we'll use the reliable test `err.name == "ErrnoError"` instead + constructor(errno) { + super(runtimeInitialized ? strError(errno) : ""); + this.errno = errno; + for (var key in ERRNO_CODES) { + if (ERRNO_CODES[key] === errno) { + this.code = key; + break; + } + } + } + }, + FSStream: class { + shared={}; + get object() { + return this.node; + } + set object(val) { + this.node = val; + } + get isRead() { + return (this.flags & 2097155) !== 1; + } + get isWrite() { + return (this.flags & 2097155) !== 0; + } + get isAppend() { + return (this.flags & 1024); + } + get flags() { + return this.shared.flags; + } + set flags(val) { + this.shared.flags = val; + } + get position() { + return this.shared.position; + } + set position(val) { + this.shared.position = val; + } + }, + FSNode: class { + node_ops={}; + stream_ops={}; + readMode=292 | 73; + writeMode=146; + mounted=null; + constructor(parent, name, mode, rdev) { + if (!parent) { + parent = this; + } + this.parent = parent; + this.mount = parent.mount; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.rdev = rdev; + this.atime = this.mtime = this.ctime = Date.now(); + } + get read() { + return (this.mode & this.readMode) === this.readMode; + } + set read(val) { + val ? this.mode |= this.readMode : this.mode &= ~this.readMode; + } + get write() { + return (this.mode & this.writeMode) === this.writeMode; + } + set write(val) { + val ? this.mode |= this.writeMode : this.mode &= ~this.writeMode; + } + get isFolder() { + return FS.isDir(this.mode); + } + get isDevice() { + return FS.isChrdev(this.mode); + } + }, + lookupPath(path, opts = {}) { + if (!path) { + throw new FS.ErrnoError(44); + } + opts.follow_mount ??= true; + if (!PATH.isAbs(path)) { + path = FS.cwd() + "/" + path; + } + // limit max consecutive symlinks to 40 (SYMLOOP_MAX). + linkloop: for (var nlinks = 0; nlinks < 40; nlinks++) { + // split the absolute path + var parts = path.split("/").filter(p => !!p); + // start at the root + var current = FS.root; + var current_path = "/"; + for (var i = 0; i < parts.length; i++) { + var islast = (i === parts.length - 1); + if (islast && opts.parent) { + // stop resolving + break; + } + if (parts[i] === ".") { + continue; + } + if (parts[i] === "..") { + current_path = PATH.dirname(current_path); + if (FS.isRoot(current)) { + path = current_path + "/" + parts.slice(i + 1).join("/"); + // We're making progress here, don't let many consecutive ..'s + // lead to ELOOP + nlinks--; + continue linkloop; + } else { + current = current.parent; + } + continue; + } + current_path = PATH.join2(current_path, parts[i]); + try { + current = FS.lookupNode(current, parts[i]); + } catch (e) { + // if noent_okay is true, suppress a ENOENT in the last component + // and return an object with an undefined node. This is needed for + // resolving symlinks in the path when creating a file. + if ((e?.errno === 44) && islast && opts.noent_okay) { + return { + path: current_path + }; + } + throw e; + } + // jump to the mount's root node if this is a mountpoint + if (FS.isMountpoint(current) && (!islast || opts.follow_mount)) { + current = current.mounted.root; + } + // by default, lookupPath will not follow a symlink if it is the final path component. + // setting opts.follow = true will override this behavior. + if (FS.isLink(current.mode) && (!islast || opts.follow)) { + if (!current.node_ops.readlink) { + throw new FS.ErrnoError(52); + } + var link = current.node_ops.readlink(current); + if (!PATH.isAbs(link)) { + link = PATH.dirname(current_path) + "/" + link; + } + path = link + "/" + parts.slice(i + 1).join("/"); + continue linkloop; + } + } + return { + path: current_path, + node: current + }; + } + throw new FS.ErrnoError(32); + }, + getPath(node) { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) return mount; + return mount[mount.length - 1] !== "/" ? `${mount}/${path}` : mount + path; + } + path = path ? `${node.name}/${path}` : node.name; + node = node.parent; + } + }, + hashName(parentid, name) { + var hash = 0; + for (var i = 0; i < name.length; i++) { + hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; + } + return ((parentid + hash) >>> 0) % FS.nameTable.length; + }, + hashAddNode(node) { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node; + }, + hashRemoveNode(node) { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next; + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break; + } + current = current.name_next; + } + } + }, + lookupNode(parent, name) { + var errCode = FS.mayLookup(parent); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node; + } + } + // if we failed to find it in the cache, call into the VFS + return FS.lookup(parent, name); + }, + createNode(parent, name, mode, rdev) { + assert(typeof parent == "object"); + var node = new FS.FSNode(parent, name, mode, rdev); + FS.hashAddNode(node); + return node; + }, + destroyNode(node) { + FS.hashRemoveNode(node); + }, + isRoot(node) { + return node === node.parent; + }, + isMountpoint(node) { + return !!node.mounted; + }, + isFile(mode) { + return (mode & 61440) === 32768; + }, + isDir(mode) { + return (mode & 61440) === 16384; + }, + isLink(mode) { + return (mode & 61440) === 40960; + }, + isChrdev(mode) { + return (mode & 61440) === 8192; + }, + isBlkdev(mode) { + return (mode & 61440) === 24576; + }, + isFIFO(mode) { + return (mode & 61440) === 4096; + }, + isSocket(mode) { + return (mode & 49152) === 49152; + }, + flagsToPermissionString(flag) { + var perms = [ "r", "w", "rw" ][flag & 3]; + if ((flag & 512)) { + perms += "w"; + } + return perms; + }, + nodePermissions(node, perms) { + if (FS.ignorePermissions) { + return 0; + } + // return 0 if any user, group or owner bits are set. + if (perms.includes("r") && !(node.mode & 292)) { + return 2; + } else if (perms.includes("w") && !(node.mode & 146)) { + return 2; + } else if (perms.includes("x") && !(node.mode & 73)) { + return 2; + } + return 0; + }, + mayLookup(dir) { + if (!FS.isDir(dir.mode)) return 54; + var errCode = FS.nodePermissions(dir, "x"); + if (errCode) return errCode; + if (!dir.node_ops.lookup) return 2; + return 0; + }, + mayCreate(dir, name) { + if (!FS.isDir(dir.mode)) { + return 54; + } + try { + var node = FS.lookupNode(dir, name); + return 20; + } catch (e) {} + return FS.nodePermissions(dir, "wx"); + }, + mayDelete(dir, name, isdir) { + var node; + try { + node = FS.lookupNode(dir, name); + } catch (e) { + return e.errno; + } + var errCode = FS.nodePermissions(dir, "wx"); + if (errCode) { + return errCode; + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54; + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10; + } + } else { + if (FS.isDir(node.mode)) { + return 31; + } + } + return 0; + }, + mayOpen(node, flags) { + if (!node) { + return 44; + } + if (FS.isLink(node.mode)) { + return 32; + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== "r" || (flags & (512 | 64))) { + // TODO: check for O_SEARCH? (== search for dir only) + return 31; + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); + }, + checkOpExists(op, err) { + if (!op) { + throw new FS.ErrnoError(err); + } + return op; + }, + MAX_OPEN_FDS: 4096, + nextfd() { + for (var fd = 0; fd <= FS.MAX_OPEN_FDS; fd++) { + if (!FS.streams[fd]) { + return fd; + } + } + throw new FS.ErrnoError(33); + }, + getStreamChecked(fd) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + return stream; + }, + getStream: fd => FS.streams[fd], + createStream(stream, fd = -1) { + assert(fd >= -1); + // clone it, so we can return an instance of FSStream + stream = Object.assign(new FS.FSStream, stream); + if (fd == -1) { + fd = FS.nextfd(); + } + stream.fd = fd; + FS.streams[fd] = stream; + return stream; + }, + closeStream(fd) { + FS.streams[fd] = null; + }, + dupStream(origStream, fd = -1) { + var stream = FS.createStream(origStream, fd); + stream.stream_ops?.dup?.(stream); + return stream; + }, + doSetAttr(stream, node, attr) { + var setattr = stream?.stream_ops.setattr; + var arg = setattr ? stream : node; + setattr ??= node.node_ops.setattr; + FS.checkOpExists(setattr, 63); + setattr(arg, attr); + }, + chrdev_stream_ops: { + open(stream) { + var device = FS.getDevice(stream.node.rdev); + // override node's stream ops with the device's + stream.stream_ops = device.stream_ops; + // forward the open call + stream.stream_ops.open?.(stream); + }, + llseek() { + throw new FS.ErrnoError(70); + } + }, + major: dev => ((dev) >> 8), + minor: dev => ((dev) & 255), + makedev: (ma, mi) => ((ma) << 8 | (mi)), + registerDevice(dev, ops) { + FS.devices[dev] = { + stream_ops: ops + }; + }, + getDevice: dev => FS.devices[dev], + getMounts(mount) { + var mounts = []; + var check = [ mount ]; + while (check.length) { + var m = check.pop(); + mounts.push(m); + check.push(...m.mounts); + } + return mounts; + }, + syncfs(populate, callback) { + if (typeof populate == "function") { + callback = populate; + populate = false; + } + FS.syncFSRequests++; + if (FS.syncFSRequests > 1) { + err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`); + } + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + function doCallback(errCode) { + assert(FS.syncFSRequests > 0); + FS.syncFSRequests--; + return callback(errCode); + } + function done(errCode) { + if (errCode) { + if (!done.errored) { + done.errored = true; + return doCallback(errCode); + } + return; + } + if (++completed >= mounts.length) { + doCallback(null); + } + } + // sync all mounts + mounts.forEach(mount => { + if (!mount.type.syncfs) { + return done(null); + } + mount.type.syncfs(mount, populate, done); + }); + }, + mount(type, opts, mountpoint) { + if (typeof type == "string") { + // The filesystem was not included, and instead we have an error + // message stored in the variable. + throw type; + } + var root = mountpoint === "/"; + var pseudo = !mountpoint; + var node; + if (root && FS.root) { + throw new FS.ErrnoError(10); + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { + follow_mount: false + }); + mountpoint = lookup.path; + // use the absolute path + node = lookup.node; + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + } + var mount = { + type, + opts, + mountpoint, + mounts: [] + }; + // create a root node for the fs + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + if (root) { + FS.root = mountRoot; + } else if (node) { + // set as a mountpoint + node.mounted = mount; + // add the new mount to the current mount's children + if (node.mount) { + node.mount.mounts.push(mount); + } + } + return mountRoot; + }, + unmount(mountpoint) { + var lookup = FS.lookupPath(mountpoint, { + follow_mount: false + }); + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28); + } + // destroy the nodes for this mount, and all its child mounts + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + Object.keys(FS.nameTable).forEach(hash => { + var current = FS.nameTable[hash]; + while (current) { + var next = current.name_next; + if (mounts.includes(current.mount)) { + FS.destroyNode(current); + } + current = next; + } + }); + // no longer a mountpoint + node.mounted = null; + // remove this mount from the child mounts + var idx = node.mount.mounts.indexOf(mount); + assert(idx !== -1); + node.mount.mounts.splice(idx, 1); + }, + lookup(parent, name) { + return parent.node_ops.lookup(parent, name); + }, + mknod(path, mode, dev) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name) { + throw new FS.ErrnoError(28); + } + if (name === "." || name === "..") { + throw new FS.ErrnoError(20); + } + var errCode = FS.mayCreate(parent, name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.mknod(parent, name, mode, dev); + }, + statfs(path) { + return FS.statfsNode(FS.lookupPath(path, { + follow: true + }).node); + }, + statfsStream(stream) { + // We keep a separate statfsStream function because noderawfs overrides + // it. In noderawfs, stream.node is sometimes null. Instead, we need to + // look at stream.path. + return FS.statfsNode(stream.node); + }, + statfsNode(node) { + // NOTE: None of the defaults here are true. We're just returning safe and + // sane values. Currently nodefs and rawfs replace these defaults, + // other file systems leave them alone. + var rtn = { + bsize: 4096, + frsize: 4096, + blocks: 1e6, + bfree: 5e5, + bavail: 5e5, + files: FS.nextInode, + ffree: FS.nextInode - 1, + fsid: 42, + flags: 2, + namelen: 255 + }; + if (node.node_ops.statfs) { + Object.assign(rtn, node.node_ops.statfs(node.mount.opts.root)); + } + return rtn; + }, + create(path, mode = 438) { + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0); + }, + mkdir(path, mode = 511) { + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0); + }, + mkdirTree(path, mode) { + var dirs = path.split("/"); + var d = ""; + for (var dir of dirs) { + if (!dir) continue; + if (d || PATH.isAbs(path)) d += "/"; + d += dir; + try { + FS.mkdir(d, mode); + } catch (e) { + if (e.errno != 20) throw e; + } + } + }, + mkdev(path, mode, dev) { + if (typeof dev == "undefined") { + dev = mode; + mode = 438; + } + mode |= 8192; + return FS.mknod(path, mode, dev); + }, + symlink(oldpath, newpath) { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44); + } + var lookup = FS.lookupPath(newpath, { + parent: true + }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var newname = PATH.basename(newpath); + var errCode = FS.mayCreate(parent, newname); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.symlink(parent, newname, oldpath); + }, + rename(old_path, new_path) { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + // parents must exist + var lookup, old_dir, new_dir; + // let the errors from non existent directories percolate up + lookup = FS.lookupPath(old_path, { + parent: true + }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { + parent: true + }); + new_dir = lookup.node; + if (!old_dir || !new_dir) throw new FS.ErrnoError(44); + // need to be part of the same mount + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75); + } + // source must exist + var old_node = FS.lookupNode(old_dir, old_name); + // old path should not be an ancestor of the new path + var relative = PATH_FS.relative(old_path, new_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(28); + } + // new path should not be an ancestor of the old path + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(55); + } + // see if the new path already exists + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) {} + // early out if nothing needs to change + if (old_node === new_node) { + return; + } + // we'll need to delete the old entry + var isdir = FS.isDir(old_node.mode); + var errCode = FS.mayDelete(old_dir, old_name, isdir); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + // need delete permissions if we'll be overwriting. + // need create permissions if new doesn't already exist. + errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { + throw new FS.ErrnoError(10); + } + // if we are going to change the parent, check write permissions + if (new_dir !== old_dir) { + errCode = FS.nodePermissions(old_dir, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + // remove the node from the lookup hash + FS.hashRemoveNode(old_node); + // do the underlying fs rename + try { + old_dir.node_ops.rename(old_node, new_dir, new_name); + // update old node (we do this here to avoid each backend + // needing to) + old_node.parent = new_dir; + } catch (e) { + throw e; + } finally { + // add the node back to the hash (in case node_ops.rename + // changed its name) + FS.hashAddNode(old_node); + } + }, + rmdir(path) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, true); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + }, + readdir(path) { + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + var readdir = FS.checkOpExists(node.node_ops.readdir, 54); + return readdir(node); + }, + unlink(path) { + var lookup = FS.lookupPath(path, { + parent: true + }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, false); + if (errCode) { + // According to POSIX, we should map EISDIR to EPERM, but + // we instead do what Linux does (and we must, as we use + // the musl linux libc). + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + }, + readlink(path) { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28); + } + return link.node_ops.readlink(link); + }, + stat(path, dontFollow) { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + var node = lookup.node; + var getattr = FS.checkOpExists(node.node_ops.getattr, 63); + return getattr(node); + }, + fstat(fd) { + var stream = FS.getStreamChecked(fd); + var node = stream.node; + var getattr = stream.stream_ops.getattr; + var arg = getattr ? stream : node; + getattr ??= node.node_ops.getattr; + FS.checkOpExists(getattr, 63); + return getattr(arg); + }, + lstat(path) { + return FS.stat(path, true); + }, + doChmod(stream, node, mode, dontFollow) { + FS.doSetAttr(stream, node, { + mode: (mode & 4095) | (node.mode & ~4095), + ctime: Date.now(), + dontFollow + }); + }, + chmod(path, mode, dontFollow) { + var node; + if (typeof path == "string") { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + node = lookup.node; + } else { + node = path; + } + FS.doChmod(null, node, mode, dontFollow); + }, + lchmod(path, mode) { + FS.chmod(path, mode, true); + }, + fchmod(fd, mode) { + var stream = FS.getStreamChecked(fd); + FS.doChmod(stream, stream.node, mode, false); + }, + doChown(stream, node, dontFollow) { + FS.doSetAttr(stream, node, { + timestamp: Date.now(), + dontFollow + }); + }, + chown(path, uid, gid, dontFollow) { + var node; + if (typeof path == "string") { + var lookup = FS.lookupPath(path, { + follow: !dontFollow + }); + node = lookup.node; + } else { + node = path; + } + FS.doChown(null, node, dontFollow); + }, + lchown(path, uid, gid) { + FS.chown(path, uid, gid, true); + }, + fchown(fd, uid, gid) { + var stream = FS.getStreamChecked(fd); + FS.doChown(stream, stream.node, false); + }, + doTruncate(stream, node, len) { + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28); + } + var errCode = FS.nodePermissions(node, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + FS.doSetAttr(stream, node, { + size: len, + timestamp: Date.now() + }); + }, + truncate(path, len) { + if (len < 0) { + throw new FS.ErrnoError(28); + } + var node; + if (typeof path == "string") { + var lookup = FS.lookupPath(path, { + follow: true + }); + node = lookup.node; + } else { + node = path; + } + FS.doTruncate(null, node, len); + }, + ftruncate(fd, len) { + var stream = FS.getStreamChecked(fd); + if (len < 0 || (stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28); + } + FS.doTruncate(stream, stream.node, len); + }, + utime(path, atime, mtime) { + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + var setattr = FS.checkOpExists(node.node_ops.setattr, 63); + setattr(node, { + atime, + mtime + }); + }, + open(path, flags, mode = 438) { + if (path === "") { + throw new FS.ErrnoError(44); + } + flags = typeof flags == "string" ? FS_modeStringToFlags(flags) : flags; + if ((flags & 64)) { + mode = (mode & 4095) | 32768; + } else { + mode = 0; + } + var node; + var isDirPath; + if (typeof path == "object") { + node = path; + } else { + isDirPath = path.endsWith("/"); + // noent_okay makes it so that if the final component of the path + // doesn't exist, lookupPath returns `node: undefined`. `path` will be + // updated to point to the target of all symlinks. + var lookup = FS.lookupPath(path, { + follow: !(flags & 131072), + noent_okay: true + }); + node = lookup.node; + path = lookup.path; + } + // perhaps we need to create the node + var created = false; + if ((flags & 64)) { + if (node) { + // if O_CREAT and O_EXCL are set, error out if the node already exists + if ((flags & 128)) { + throw new FS.ErrnoError(20); + } + } else if (isDirPath) { + throw new FS.ErrnoError(31); + } else { + // node doesn't exist, try to create it + // Ignore the permission bits here to ensure we can `open` this new + // file below. We use chmod below the apply the permissions once the + // file is open. + node = FS.mknod(path, mode | 511, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(44); + } + // can't truncate a device + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + // if asked only for a directory, then this must be one + if ((flags & 65536) && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + // check permissions, if this is not a file we just created now (it is ok to + // create and write to a file with read-only permissions; it is read-only + // for later use) + if (!created) { + var errCode = FS.mayOpen(node, flags); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + // do truncation if necessary + if ((flags & 512) && !created) { + FS.truncate(node, 0); + } + // we've already handled these, don't pass down to the underlying vfs + flags &= ~(128 | 512 | 131072); + // register the stream with the filesystem + var stream = FS.createStream({ + node, + path: FS.getPath(node), + // we want the absolute path to the node + flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + // used by the file family libc calls (fopen, fwrite, ferror, etc.) + ungotten: [], + error: false + }); + // call the new stream's open function + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + if (created) { + FS.chmod(node, mode & 511); + } + if (Module["logReadFiles"] && !(flags & 1)) { + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + } + } + return stream; + }, + close(stream) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (stream.getdents) stream.getdents = null; + // free readdir state + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream); + } + } catch (e) { + throw e; + } finally { + FS.closeStream(stream.fd); + } + stream.fd = null; + }, + isClosed(stream) { + return stream.fd === null; + }, + llseek(stream, offset, whence) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70); + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28); + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; + }, + read(stream, buffer, offset, length, position) { + assert(offset >= 0); + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28); + } + var seeking = typeof position != "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) stream.position += bytesRead; + return bytesRead; + }, + write(stream, buffer, offset, length, position, canOwn) { + assert(offset >= 0); + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28); + } + if (stream.seekable && stream.flags & 1024) { + // seek to the end before writing in append mode + FS.llseek(stream, 0, 2); + } + var seeking = typeof position != "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + return bytesWritten; + }, + mmap(stream, length, position, prot, flags) { + // User requests writing to file (prot & PROT_WRITE != 0). + // Checking if we have permissions to write to the file unless + // MAP_PRIVATE flag is set. According to POSIX spec it is possible + // to write to file opened in read-only mode with MAP_PRIVATE flag, + // as all modifications will be visible only in the memory of + // the current process. + if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) { + throw new FS.ErrnoError(2); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43); + } + if (!length) { + throw new FS.ErrnoError(28); + } + return stream.stream_ops.mmap(stream, length, position, prot, flags); + }, + msync(stream, buffer, offset, length, mmapFlags) { + assert(offset >= 0); + if (!stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); + }, + ioctl(stream, cmd, arg) { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + }, + readFile(path, opts = {}) { + opts.flags = opts.flags || 0; + opts.encoding = opts.encoding || "binary"; + if (opts.encoding !== "utf8" && opts.encoding !== "binary") { + throw new Error(`Invalid encoding type "${opts.encoding}"`); + } + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === "utf8") { + buf = UTF8ArrayToString(buf); + } + FS.close(stream); + return buf; + }, + writeFile(path, data, opts = {}) { + opts.flags = opts.flags || 577; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data == "string") { + data = new Uint8Array(intArrayFromString(data, true)); + } + if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); + } else { + throw new Error("Unsupported data type"); + } + FS.close(stream); + }, + cwd: () => FS.currentPath, + chdir(path) { + var lookup = FS.lookupPath(path, { + follow: true + }); + if (lookup.node === null) { + throw new FS.ErrnoError(44); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54); + } + var errCode = FS.nodePermissions(lookup.node, "x"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + FS.currentPath = lookup.path; + }, + createDefaultDirectories() { + FS.mkdir("/tmp"); + FS.mkdir("/home"); + FS.mkdir("/home/web_user"); + }, + createDefaultDevices() { + // create /dev + FS.mkdir("/dev"); + // setup /dev/null + FS.registerDevice(FS.makedev(1, 3), { + read: () => 0, + write: (stream, buffer, offset, length, pos) => length, + llseek: () => 0 + }); + FS.mkdev("/dev/null", FS.makedev(1, 3)); + // setup /dev/tty and /dev/tty1 + // stderr needs to print output using err() rather than out() + // so we register a second tty just for it. + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev("/dev/tty", FS.makedev(5, 0)); + FS.mkdev("/dev/tty1", FS.makedev(6, 0)); + // setup /dev/[u]random + // use a buffer to avoid overhead of individual crypto calls per byte + var randomBuffer = new Uint8Array(1024), randomLeft = 0; + var randomByte = () => { + if (randomLeft === 0) { + randomFill(randomBuffer); + randomLeft = randomBuffer.byteLength; + } + return randomBuffer[--randomLeft]; + }; + FS.createDevice("/dev", "random", randomByte); + FS.createDevice("/dev", "urandom", randomByte); + // we're not going to emulate the actual shm device, + // just create the tmp dirs that reside in it commonly + FS.mkdir("/dev/shm"); + FS.mkdir("/dev/shm/tmp"); + }, + createSpecialDirectories() { + // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the + // name of the stream for fd 6 (see test_unistd_ttyname) + FS.mkdir("/proc"); + var proc_self = FS.mkdir("/proc/self"); + FS.mkdir("/proc/self/fd"); + FS.mount({ + mount() { + var node = FS.createNode(proc_self, "fd", 16895, 73); + node.stream_ops = { + llseek: MEMFS.stream_ops.llseek + }; + node.node_ops = { + lookup(parent, name) { + var fd = +name; + var stream = FS.getStreamChecked(fd); + var ret = { + parent: null, + mount: { + mountpoint: "fake" + }, + node_ops: { + readlink: () => stream.path + }, + id: fd + 1 + }; + ret.parent = ret; + // make it look like a simple root node + return ret; + }, + readdir() { + return Array.from(FS.streams.entries()).filter(([k, v]) => v).map(([k, v]) => k.toString()); + } + }; + return node; + } + }, {}, "/proc/self/fd"); + }, + createStandardStreams(input, output, error) { + // TODO deprecate the old functionality of a single + // input / output callback and that utilizes FS.createDevice + // and instead require a unique set of stream ops + // by default, we symlink the standard streams to the + // default tty devices. however, if the standard streams + // have been overwritten we create a unique device for + // them instead. + if (input) { + FS.createDevice("/dev", "stdin", input); + } else { + FS.symlink("/dev/tty", "/dev/stdin"); + } + if (output) { + FS.createDevice("/dev", "stdout", null, output); + } else { + FS.symlink("/dev/tty", "/dev/stdout"); + } + if (error) { + FS.createDevice("/dev", "stderr", null, error); + } else { + FS.symlink("/dev/tty1", "/dev/stderr"); + } + // open default streams for the stdin, stdout and stderr devices + var stdin = FS.open("/dev/stdin", 0); + var stdout = FS.open("/dev/stdout", 1); + var stderr = FS.open("/dev/stderr", 1); + assert(stdin.fd === 0, `invalid handle for stdin (${stdin.fd})`); + assert(stdout.fd === 1, `invalid handle for stdout (${stdout.fd})`); + assert(stderr.fd === 2, `invalid handle for stderr (${stderr.fd})`); + }, + staticInit() { + FS.nameTable = new Array(4096); + FS.mount(MEMFS, {}, "/"); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + FS.filesystems = { + "MEMFS": MEMFS + }; + }, + init(input, output, error) { + assert(!FS.initialized, "FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"); + FS.initialized = true; + // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here + input ??= Module["stdin"]; + output ??= Module["stdout"]; + error ??= Module["stderr"]; + FS.createStandardStreams(input, output, error); + }, + quit() { + FS.initialized = false; + // force-flush all streams, so we get musl std streams printed out + _fflush(0); + // close all of our streams + for (var stream of FS.streams) { + if (stream) { + FS.close(stream); + } + } + }, + findObject(path, dontResolveLastLink) { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (!ret.exists) { + return null; + } + return ret.object; + }, + analyzePath(path, dontResolveLastLink) { + // operate from within the context of the symlink's target + try { + var lookup = FS.lookupPath(path, { + follow: !dontResolveLastLink + }); + path = lookup.path; + } catch (e) {} + var ret = { + isRoot: false, + exists: false, + error: 0, + name: null, + path: null, + object: null, + parentExists: false, + parentPath: null, + parentObject: null + }; + try { + var lookup = FS.lookupPath(path, { + parent: true + }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { + follow: !dontResolveLastLink + }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === "/"; + } catch (e) { + ret.error = e.errno; + } + return ret; + }, + createPath(parent, path, canRead, canWrite) { + parent = typeof parent == "string" ? parent : FS.getPath(parent); + var parts = path.split("/").reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current); + } catch (e) { + if (e.errno != 20) throw e; + } + parent = current; + } + return current; + }, + createFile(parent, name, properties, canRead, canWrite) { + var path = PATH.join2(typeof parent == "string" ? parent : FS.getPath(parent), name); + var mode = FS_getMode(canRead, canWrite); + return FS.create(path, mode); + }, + createDataFile(parent, name, data, canRead, canWrite, canOwn) { + var path = name; + if (parent) { + parent = typeof parent == "string" ? parent : FS.getPath(parent); + path = name ? PATH.join2(parent, name) : parent; + } + var mode = FS_getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data == "string") { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); + data = arr; + } + // make sure we can write to the file + FS.chmod(node, mode | 146); + var stream = FS.open(node, 577); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); + } + }, + createDevice(parent, name, input, output) { + var path = PATH.join2(typeof parent == "string" ? parent : FS.getPath(parent), name); + var mode = FS_getMode(!!input, !!output); + FS.createDevice.major ??= 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + // Create a fake device that a set of stream ops to emulate + // the old behavior. + FS.registerDevice(dev, { + open(stream) { + stream.seekable = false; + }, + close(stream) { + // flush any pending line data + if (output?.buffer?.length) { + output(10); + } + }, + read(stream, buffer, offset, length, pos) { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input(); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result; + } + if (bytesRead) { + stream.node.atime = Date.now(); + } + return bytesRead; + }, + write(stream, buffer, offset, length, pos) { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset + i]); + } catch (e) { + throw new FS.ErrnoError(29); + } + } + if (length) { + stream.node.mtime = stream.node.ctime = Date.now(); + } + return i; + } + }); + return FS.mkdev(path, mode, dev); + }, + forceLoadFile(obj) { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; + if (typeof XMLHttpRequest != "undefined") { + throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); + } else { + // Command-line. + try { + obj.contents = readBinary(obj.url); + obj.usedBytes = obj.contents.length; + } catch (e) { + throw new FS.ErrnoError(29); + } + } + }, + createLazyFile(parent, name, url, canRead, canWrite) { + // Lazy chunked Uint8Array (implements get and length from Uint8Array). + // Actual getting is abstracted away for eventual reuse. + class LazyUint8Array { + lengthKnown=false; + chunks=[]; + // Loaded chunks. Index is the chunk number + get(idx) { + if (idx > this.length - 1 || idx < 0) { + return undefined; + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = (idx / this.chunkSize) | 0; + return this.getter(chunkNum)[chunkOffset]; + } + setDataGetter(getter) { + this.getter = getter; + } + cacheLength() { + // Find length + var xhr = new XMLHttpRequest; + xhr.open("HEAD", url, false); + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; + var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; + var chunkSize = 1024 * 1024; + // Chunk size in bytes + if (!hasByteServing) chunkSize = datalength; + // Function to get a range from the remote URL. + var doXHR = (from, to) => { + if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); + if (to > datalength - 1) throw new Error("only " + datalength + " bytes available! programmer error!"); + // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. + var xhr = new XMLHttpRequest; + xhr.open("GET", url, false); + if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); + // Some hints to the browser that we want binary data. + xhr.responseType = "arraybuffer"; + if (xhr.overrideMimeType) { + xhr.overrideMimeType("text/plain; charset=x-user-defined"); + } + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + if (xhr.response !== undefined) { + return new Uint8Array(/** @type{Array} */ (xhr.response || [])); + } + return intArrayFromString(xhr.responseText || "", true); + }; + var lazyArray = this; + lazyArray.setDataGetter(chunkNum => { + var start = chunkNum * chunkSize; + var end = (chunkNum + 1) * chunkSize - 1; + // including this byte + end = Math.min(end, datalength - 1); + // if datalength-1 is selected, this is the last block + if (typeof lazyArray.chunks[chunkNum] == "undefined") { + lazyArray.chunks[chunkNum] = doXHR(start, end); + } + if (typeof lazyArray.chunks[chunkNum] == "undefined") throw new Error("doXHR failed!"); + return lazyArray.chunks[chunkNum]; + }); + if (usesGzip || !datalength) { + // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length + chunkSize = datalength = 1; + // this will force getter(0)/doXHR do download the whole file + datalength = this.getter(0).length; + chunkSize = datalength; + out("LazyFiles on gzip forces download of the whole file when length is accessed"); + } + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true; + } + get length() { + if (!this.lengthKnown) { + this.cacheLength(); + } + return this._length; + } + get chunkSize() { + if (!this.lengthKnown) { + this.cacheLength(); + } + return this._chunkSize; + } + } + if (typeof XMLHttpRequest != "undefined") { + if (!ENVIRONMENT_IS_WORKER) throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; + var lazyArray = new LazyUint8Array; + var properties = { + isDevice: false, + contents: lazyArray + }; + } else { + var properties = { + isDevice: false, + url + }; + } + var node = FS.createFile(parent, name, properties, canRead, canWrite); + // This is a total hack, but I want to get this lazy file code out of the + // core of MEMFS. If we want to keep this lazy file concept I feel it should + // be its own thin LAZYFS proxying calls to MEMFS. + if (properties.contents) { + node.contents = properties.contents; + } else if (properties.url) { + node.contents = null; + node.url = properties.url; + } + // Add a function that defers querying the file size until it is asked the first time. + Object.defineProperties(node, { + usedBytes: { + get: function() { + return this.contents.length; + } + } + }); + // override each stream op with one that tries to force load the lazy file first + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach(key => { + var fn = node.stream_ops[key]; + stream_ops[key] = (...args) => { + FS.forceLoadFile(node); + return fn(...args); + }; + }); + function writeChunks(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= contents.length) return 0; + var size = Math.min(contents.length - position, length); + assert(size >= 0); + if (contents.slice) { + // normal array + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i]; + } + } else { + for (var i = 0; i < size; i++) { + // LazyUint8Array from sync binary XHR + buffer[offset + i] = contents.get(position + i); + } + } + return size; + } + // use a custom read function + stream_ops.read = (stream, buffer, offset, length, position) => { + FS.forceLoadFile(node); + return writeChunks(stream, buffer, offset, length, position); + }; + // use a custom mmap function + stream_ops.mmap = (stream, length, position, prot, flags) => { + FS.forceLoadFile(node); + var ptr = mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + writeChunks(stream, HEAP8, ptr, length, position); + return { + ptr, + allocated: true + }; + }; + node.stream_ops = stream_ops; + return node; + }, + absolutePath() { + abort("FS.absolutePath has been removed; use PATH_FS.resolve instead"); + }, + createFolder() { + abort("FS.createFolder has been removed; use FS.mkdir instead"); + }, + createLink() { + abort("FS.createLink has been removed; use FS.symlink instead"); + }, + joinPath() { + abort("FS.joinPath has been removed; use PATH.join instead"); + }, + mmapAlloc() { + abort("FS.mmapAlloc has been replaced by the top level function mmapAlloc"); + }, + standardizePath() { + abort("FS.standardizePath has been removed; use PATH.normalize instead"); + } +}; + +var SOCKFS = { + websocketArgs: {}, + callbacks: {}, + on(event, callback) { + SOCKFS.callbacks[event] = callback; + }, + emit(event, param) { + SOCKFS.callbacks[event]?.(param); + }, + mount(mount) { + // The incomming Module['websocket'] can be used for configuring + // configuring subprotocol/url, etc + SOCKFS.websocketArgs = Module["websocket"] || {}; + // Add the Event registration mechanism to the exported websocket configuration + // object so we can register network callbacks from native JavaScript too. + // For more documentation see system/include/emscripten/emscripten.h + (Module["websocket"] ??= {})["on"] = SOCKFS.on; + return FS.createNode(null, "/", 16895, 0); + }, + createSocket(family, type, protocol) { + // Emscripten only supports AF_INET + if (family != 2) { + throw new FS.ErrnoError(5); + } + type &= ~526336; + // Some applications may pass it; it makes no sense for a single process. + // Emscripten only supports SOCK_STREAM and SOCK_DGRAM + if (type != 1 && type != 2) { + throw new FS.ErrnoError(28); + } + var streaming = type == 1; + if (streaming && protocol && protocol != 6) { + throw new FS.ErrnoError(66); + } + // create our internal socket structure + var sock = { + family, + type, + protocol, + server: null, + error: null, + // Used in getsockopt for SOL_SOCKET/SO_ERROR test + peers: {}, + pending: [], + recv_queue: [], + sock_ops: SOCKFS.websocket_sock_ops + }; + // create the filesystem node to store the socket structure + var name = SOCKFS.nextname(); + var node = FS.createNode(SOCKFS.root, name, 49152, 0); + node.sock = sock; + // and the wrapping stream that enables library functions such + // as read and write to indirectly interact with the socket + var stream = FS.createStream({ + path: name, + node, + flags: 2, + seekable: false, + stream_ops: SOCKFS.stream_ops + }); + // map the new stream to the socket structure (sockets have a 1:1 + // relationship with a stream) + sock.stream = stream; + return sock; + }, + getSocket(fd) { + var stream = FS.getStream(fd); + if (!stream || !FS.isSocket(stream.node.mode)) { + return null; + } + return stream.node.sock; + }, + stream_ops: { + poll(stream) { + var sock = stream.node.sock; + return sock.sock_ops.poll(sock); + }, + ioctl(stream, request, varargs) { + var sock = stream.node.sock; + return sock.sock_ops.ioctl(sock, request, varargs); + }, + read(stream, buffer, offset, length, position) { + var sock = stream.node.sock; + var msg = sock.sock_ops.recvmsg(sock, length); + if (!msg) { + // socket is closed + return 0; + } + buffer.set(msg.buffer, offset); + return msg.buffer.length; + }, + write(stream, buffer, offset, length, position) { + var sock = stream.node.sock; + return sock.sock_ops.sendmsg(sock, buffer, offset, length); + }, + close(stream) { + var sock = stream.node.sock; + sock.sock_ops.close(sock); + } + }, + nextname() { + if (!SOCKFS.nextname.current) { + SOCKFS.nextname.current = 0; + } + return `socket[${SOCKFS.nextname.current++}]`; + }, + websocket_sock_ops: { + createPeer(sock, addr, port) { + var ws; + if (typeof addr == "object") { + ws = addr; + addr = null; + port = null; + } + if (ws) { + // for sockets that've already connected (e.g. we're the server) + // we can inspect the _socket property for the address + if (ws._socket) { + addr = ws._socket.remoteAddress; + port = ws._socket.remotePort; + } else { + var result = /ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url); + if (!result) { + throw new Error("WebSocket URL must be in the format ws(s)://address:port"); + } + addr = result[1]; + port = parseInt(result[2], 10); + } + } else { + // create the actual websocket object and connect + try { + // The default value is 'ws://' the replace is needed because the compiler replaces '//' comments with '#' + // comments without checking context, so we'd end up with ws:#, the replace swaps the '#' for '//' again. + var url = "ws://".replace("#", "//"); + // Make the WebSocket subprotocol (Sec-WebSocket-Protocol) default to binary if no configuration is set. + var subProtocols = "binary"; + // The default value is 'binary' + // The default WebSocket options + var opts = undefined; + // Fetch runtime WebSocket URL config. + if (SOCKFS.websocketArgs["url"]) { + url = SOCKFS.websocketArgs["url"]; + } + // Fetch runtime WebSocket subprotocol config. + if (SOCKFS.websocketArgs["subprotocol"]) { + subProtocols = SOCKFS.websocketArgs["subprotocol"]; + } else if (SOCKFS.websocketArgs["subprotocol"] === null) { + subProtocols = "null"; + } + if (url === "ws://" || url === "wss://") { + // Is the supplied URL config just a prefix, if so complete it. + var parts = addr.split("/"); + url = url + parts[0] + ":" + port + "/" + parts.slice(1).join("/"); + } + if (subProtocols !== "null") { + // The regex trims the string (removes spaces at the beginning and end, then splits the string by + // , into an Array. Whitespace removal is important for Websockify and ws. + subProtocols = subProtocols.replace(/^ +| +$/g, "").split(/ *, */); + opts = subProtocols; + } + // If node we use the ws library. + var WebSocketConstructor; + { + WebSocketConstructor = WebSocket; + } + ws = new WebSocketConstructor(url, opts); + ws.binaryType = "arraybuffer"; + } catch (e) { + throw new FS.ErrnoError(23); + } + } + var peer = { + addr, + port, + socket: ws, + msg_send_queue: [] + }; + SOCKFS.websocket_sock_ops.addPeer(sock, peer); + SOCKFS.websocket_sock_ops.handlePeerEvents(sock, peer); + // if this is a bound dgram socket, send the port number first to allow + // us to override the ephemeral port reported to us by remotePort on the + // remote end. + if (sock.type === 2 && typeof sock.sport != "undefined") { + peer.msg_send_queue.push(new Uint8Array([ 255, 255, 255, 255, "p".charCodeAt(0), "o".charCodeAt(0), "r".charCodeAt(0), "t".charCodeAt(0), ((sock.sport & 65280) >> 8), (sock.sport & 255) ])); + } + return peer; + }, + getPeer(sock, addr, port) { + return sock.peers[addr + ":" + port]; + }, + addPeer(sock, peer) { + sock.peers[peer.addr + ":" + peer.port] = peer; + }, + removePeer(sock, peer) { + delete sock.peers[peer.addr + ":" + peer.port]; + }, + handlePeerEvents(sock, peer) { + var first = true; + var handleOpen = function() { + sock.connecting = false; + SOCKFS.emit("open", sock.stream.fd); + try { + var queued = peer.msg_send_queue.shift(); + while (queued) { + peer.socket.send(queued); + queued = peer.msg_send_queue.shift(); + } + } catch (e) { + // not much we can do here in the way of proper error handling as we've already + // lied and said this data was sent. shut it down. + peer.socket.close(); + } + }; + function handleMessage(data) { + if (typeof data == "string") { + var encoder = new TextEncoder; + // should be utf-8 + data = encoder.encode(data); + } else { + assert(data.byteLength !== undefined); + // must receive an ArrayBuffer + if (data.byteLength == 0) { + // An empty ArrayBuffer will emit a pseudo disconnect event + // as recv/recvmsg will return zero which indicates that a socket + // has performed a shutdown although the connection has not been disconnected yet. + return; + } + data = new Uint8Array(data); + } + // if this is the port message, override the peer's port with it + var wasfirst = first; + first = false; + if (wasfirst && data.length === 10 && data[0] === 255 && data[1] === 255 && data[2] === 255 && data[3] === 255 && data[4] === "p".charCodeAt(0) && data[5] === "o".charCodeAt(0) && data[6] === "r".charCodeAt(0) && data[7] === "t".charCodeAt(0)) { + // update the peer's port and it's key in the peer map + var newport = ((data[8] << 8) | data[9]); + SOCKFS.websocket_sock_ops.removePeer(sock, peer); + peer.port = newport; + SOCKFS.websocket_sock_ops.addPeer(sock, peer); + return; + } + sock.recv_queue.push({ + addr: peer.addr, + port: peer.port, + data + }); + SOCKFS.emit("message", sock.stream.fd); + } + if (ENVIRONMENT_IS_NODE) { + peer.socket.on("open", handleOpen); + peer.socket.on("message", function(data, isBinary) { + if (!isBinary) { + return; + } + handleMessage((new Uint8Array(data)).buffer); + }); + peer.socket.on("close", function() { + SOCKFS.emit("close", sock.stream.fd); + }); + peer.socket.on("error", function(error) { + // Although the ws library may pass errors that may be more descriptive than + // ECONNREFUSED they are not necessarily the expected error code e.g. + // ENOTFOUND on getaddrinfo seems to be node.js specific, so using ECONNREFUSED + // is still probably the most useful thing to do. + sock.error = 14; + // Used in getsockopt for SOL_SOCKET/SO_ERROR test. + SOCKFS.emit("error", [ sock.stream.fd, sock.error, "ECONNREFUSED: Connection refused" ]); + }); + } else { + peer.socket.onopen = handleOpen; + peer.socket.onclose = function() { + SOCKFS.emit("close", sock.stream.fd); + }; + peer.socket.onmessage = function peer_socket_onmessage(event) { + handleMessage(event.data); + }; + peer.socket.onerror = function(error) { + // The WebSocket spec only allows a 'simple event' to be thrown on error, + // so we only really know as much as ECONNREFUSED. + sock.error = 14; + // Used in getsockopt for SOL_SOCKET/SO_ERROR test. + SOCKFS.emit("error", [ sock.stream.fd, sock.error, "ECONNREFUSED: Connection refused" ]); + }; + } + }, + poll(sock) { + if (sock.type === 1 && sock.server) { + // listen sockets should only say they're available for reading + // if there are pending clients. + return sock.pending.length ? (64 | 1) : 0; + } + var mask = 0; + var dest = sock.type === 1 ? // we only care about the socket state for connection-based sockets + SOCKFS.websocket_sock_ops.getPeer(sock, sock.daddr, sock.dport) : null; + if (sock.recv_queue.length || !dest || // connection-less sockets are always ready to read + (dest && dest.socket.readyState === dest.socket.CLOSING) || (dest && dest.socket.readyState === dest.socket.CLOSED)) { + // let recv return 0 once closed + mask |= (64 | 1); + } + if (!dest || // connection-less sockets are always ready to write + (dest && dest.socket.readyState === dest.socket.OPEN)) { + mask |= 4; + } + if ((dest && dest.socket.readyState === dest.socket.CLOSING) || (dest && dest.socket.readyState === dest.socket.CLOSED)) { + // When an non-blocking connect fails mark the socket as writable. + // Its up to the calling code to then use getsockopt with SO_ERROR to + // retrieve the error. + // See https://man7.org/linux/man-pages/man2/connect.2.html + if (sock.connecting) { + mask |= 4; + } else { + mask |= 16; + } + } + return mask; + }, + ioctl(sock, request, arg) { + switch (request) { + case 21531: + var bytes = 0; + if (sock.recv_queue.length) { + bytes = sock.recv_queue[0].data.length; + } + HEAP32[((arg) >>> 2) >>> 0] = bytes; + return 0; + + case 21537: + var on = HEAP32[((arg) >>> 2) >>> 0]; + if (on) { + sock.stream.flags |= 2048; + } else { + sock.stream.flags &= ~2048; + } + return 0; + + default: + return 28; + } + }, + close(sock) { + // if we've spawned a listen server, close it + if (sock.server) { + try { + sock.server.close(); + } catch (e) {} + sock.server = null; + } + // close any peer connections + for (var peer of Object.values(sock.peers)) { + try { + peer.socket.close(); + } catch (e) {} + SOCKFS.websocket_sock_ops.removePeer(sock, peer); + } + return 0; + }, + bind(sock, addr, port) { + if (typeof sock.saddr != "undefined" || typeof sock.sport != "undefined") { + throw new FS.ErrnoError(28); + } + sock.saddr = addr; + sock.sport = port; + // in order to emulate dgram sockets, we need to launch a listen server when + // binding on a connection-less socket + // note: this is only required on the server side + if (sock.type === 2) { + // close the existing server if it exists + if (sock.server) { + sock.server.close(); + sock.server = null; + } + // swallow error operation not supported error that occurs when binding in the + // browser where this isn't supported + try { + sock.sock_ops.listen(sock, 0); + } catch (e) { + if (!(e.name === "ErrnoError")) throw e; + if (e.errno !== 138) throw e; + } + } + }, + connect(sock, addr, port) { + if (sock.server) { + throw new FS.ErrnoError(138); + } + // TODO autobind + // if (!sock.addr && sock.type == 2) { + // } + // early out if we're already connected / in the middle of connecting + if (typeof sock.daddr != "undefined" && typeof sock.dport != "undefined") { + var dest = SOCKFS.websocket_sock_ops.getPeer(sock, sock.daddr, sock.dport); + if (dest) { + if (dest.socket.readyState === dest.socket.CONNECTING) { + throw new FS.ErrnoError(7); + } else { + throw new FS.ErrnoError(30); + } + } + } + // add the socket to our peer list and set our + // destination address / port to match + var peer = SOCKFS.websocket_sock_ops.createPeer(sock, addr, port); + sock.daddr = peer.addr; + sock.dport = peer.port; + // because we cannot synchronously block to wait for the WebSocket + // connection to complete, we return here pretending that the connection + // was a success. + sock.connecting = true; + }, + listen(sock, backlog) { + if (!ENVIRONMENT_IS_NODE) { + throw new FS.ErrnoError(138); + } + }, + accept(listensock) { + if (!listensock.server || !listensock.pending.length) { + throw new FS.ErrnoError(28); + } + var newsock = listensock.pending.shift(); + newsock.stream.flags = listensock.stream.flags; + return newsock; + }, + getname(sock, peer) { + var addr, port; + if (peer) { + if (sock.daddr === undefined || sock.dport === undefined) { + throw new FS.ErrnoError(53); + } + addr = sock.daddr; + port = sock.dport; + } else { + // TODO saddr and sport will be set for bind()'d UDP sockets, but what + // should we be returning for TCP sockets that've been connect()'d? + addr = sock.saddr || 0; + port = sock.sport || 0; + } + return { + addr, + port + }; + }, + sendmsg(sock, buffer, offset, length, addr, port) { + if (sock.type === 2) { + // connection-less sockets will honor the message address, + // and otherwise fall back to the bound destination address + if (addr === undefined || port === undefined) { + addr = sock.daddr; + port = sock.dport; + } + // if there was no address to fall back to, error out + if (addr === undefined || port === undefined) { + throw new FS.ErrnoError(17); + } + } else { + // connection-based sockets will only use the bound + addr = sock.daddr; + port = sock.dport; + } + // find the peer for the destination address + var dest = SOCKFS.websocket_sock_ops.getPeer(sock, addr, port); + // early out if not connected with a connection-based socket + if (sock.type === 1) { + if (!dest || dest.socket.readyState === dest.socket.CLOSING || dest.socket.readyState === dest.socket.CLOSED) { + throw new FS.ErrnoError(53); + } + } + // create a copy of the incoming data to send, as the WebSocket API + // doesn't work entirely with an ArrayBufferView, it'll just send + // the entire underlying buffer + if (ArrayBuffer.isView(buffer)) { + offset += buffer.byteOffset; + buffer = buffer.buffer; + } + var data = buffer.slice(offset, offset + length); + // if we don't have a cached connectionless UDP datagram connection, or + // the TCP socket is still connecting, queue the message to be sent upon + // connect, and lie, saying the data was sent now. + if (!dest || dest.socket.readyState !== dest.socket.OPEN) { + // if we're not connected, open a new connection + if (sock.type === 2) { + if (!dest || dest.socket.readyState === dest.socket.CLOSING || dest.socket.readyState === dest.socket.CLOSED) { + dest = SOCKFS.websocket_sock_ops.createPeer(sock, addr, port); + } + } + dest.msg_send_queue.push(data); + return length; + } + try { + // send the actual data + dest.socket.send(data); + return length; + } catch (e) { + throw new FS.ErrnoError(28); + } + }, + recvmsg(sock, length) { + // http://pubs.opengroup.org/onlinepubs/7908799/xns/recvmsg.html + if (sock.type === 1 && sock.server) { + // tcp servers should not be recv()'ing on the listen socket + throw new FS.ErrnoError(53); + } + var queued = sock.recv_queue.shift(); + if (!queued) { + if (sock.type === 1) { + var dest = SOCKFS.websocket_sock_ops.getPeer(sock, sock.daddr, sock.dport); + if (!dest) { + // if we have a destination address but are not connected, error out + throw new FS.ErrnoError(53); + } + if (dest.socket.readyState === dest.socket.CLOSING || dest.socket.readyState === dest.socket.CLOSED) { + // return null if the socket has closed + return null; + } + // else, our socket is in a valid state but truly has nothing available + throw new FS.ErrnoError(6); + } + throw new FS.ErrnoError(6); + } + // queued.data will be an ArrayBuffer if it's unadulterated, but if it's + // requeued TCP data it'll be an ArrayBufferView + var queuedLength = queued.data.byteLength || queued.data.length; + var queuedOffset = queued.data.byteOffset || 0; + var queuedBuffer = queued.data.buffer || queued.data; + var bytesRead = Math.min(length, queuedLength); + var res = { + buffer: new Uint8Array(queuedBuffer, queuedOffset, bytesRead), + addr: queued.addr, + port: queued.port + }; + // push back any unread data for TCP connections + if (sock.type === 1 && bytesRead < queuedLength) { + var bytesRemaining = queuedLength - bytesRead; + queued.data = new Uint8Array(queuedBuffer, queuedOffset + bytesRead, bytesRemaining); + sock.recv_queue.unshift(queued); + } + return res; + } + } +}; + +var getSocketFromFD = fd => { + var socket = SOCKFS.getSocket(fd); + if (!socket) throw new FS.ErrnoError(8); + return socket; +}; + +var inetNtop4 = addr => (addr & 255) + "." + ((addr >> 8) & 255) + "." + ((addr >> 16) & 255) + "." + ((addr >> 24) & 255); + +var inetNtop6 = ints => { + // ref: http://www.ietf.org/rfc/rfc2373.txt - section 2.5.4 + // Format for IPv4 compatible and mapped 128-bit IPv6 Addresses + // 128-bits are split into eight 16-bit words + // stored in network byte order (big-endian) + // | 80 bits | 16 | 32 bits | + // +-----------------------------------------------------------------+ + // | 10 bytes | 2 | 4 bytes | + // +--------------------------------------+--------------------------+ + // + 5 words | 1 | 2 words | + // +--------------------------------------+--------------------------+ + // |0000..............................0000|0000| IPv4 ADDRESS | (compatible) + // +--------------------------------------+----+---------------------+ + // |0000..............................0000|FFFF| IPv4 ADDRESS | (mapped) + // +--------------------------------------+----+---------------------+ + var str = ""; + var word = 0; + var longest = 0; + var lastzero = 0; + var zstart = 0; + var len = 0; + var i = 0; + var parts = [ ints[0] & 65535, (ints[0] >> 16), ints[1] & 65535, (ints[1] >> 16), ints[2] & 65535, (ints[2] >> 16), ints[3] & 65535, (ints[3] >> 16) ]; + // Handle IPv4-compatible, IPv4-mapped, loopback and any/unspecified addresses + var hasipv4 = true; + var v4part = ""; + // check if the 10 high-order bytes are all zeros (first 5 words) + for (i = 0; i < 5; i++) { + if (parts[i] !== 0) { + hasipv4 = false; + break; + } + } + if (hasipv4) { + // low-order 32-bits store an IPv4 address (bytes 13 to 16) (last 2 words) + v4part = inetNtop4(parts[6] | (parts[7] << 16)); + // IPv4-mapped IPv6 address if 16-bit value (bytes 11 and 12) == 0xFFFF (6th word) + if (parts[5] === -1) { + str = "::ffff:"; + str += v4part; + return str; + } + // IPv4-compatible IPv6 address if 16-bit value (bytes 11 and 12) == 0x0000 (6th word) + if (parts[5] === 0) { + str = "::"; + //special case IPv6 addresses + if (v4part === "0.0.0.0") v4part = ""; + // any/unspecified address + if (v4part === "0.0.0.1") v4part = "1"; + // loopback address + str += v4part; + return str; + } + } + // Handle all other IPv6 addresses + // first run to find the longest contiguous zero words + for (word = 0; word < 8; word++) { + if (parts[word] === 0) { + if (word - lastzero > 1) { + len = 0; + } + lastzero = word; + len++; + } + if (len > longest) { + longest = len; + zstart = word - longest + 1; + } + } + for (word = 0; word < 8; word++) { + if (longest > 1) { + // compress contiguous zeros - to produce "::" + if (parts[word] === 0 && word >= zstart && word < (zstart + longest)) { + if (word === zstart) { + str += ":"; + if (zstart === 0) str += ":"; + } + continue; + } + } + // converts 16-bit words from big-endian to little-endian before converting to hex string + str += Number(_ntohs(parts[word] & 65535)).toString(16); + str += word < 7 ? ":" : ""; + } + return str; +}; + +var readSockaddr = (sa, salen) => { + // family / port offsets are common to both sockaddr_in and sockaddr_in6 + var family = HEAP16[((sa) >>> 1) >>> 0]; + var port = _ntohs(HEAPU16[(((sa) + (2)) >>> 1) >>> 0]); + var addr; + switch (family) { + case 2: + if (salen !== 16) { + return { + errno: 28 + }; + } + addr = HEAP32[(((sa) + (4)) >>> 2) >>> 0]; + addr = inetNtop4(addr); + break; + + case 10: + if (salen !== 28) { + return { + errno: 28 + }; + } + addr = [ HEAP32[(((sa) + (8)) >>> 2) >>> 0], HEAP32[(((sa) + (12)) >>> 2) >>> 0], HEAP32[(((sa) + (16)) >>> 2) >>> 0], HEAP32[(((sa) + (20)) >>> 2) >>> 0] ]; + addr = inetNtop6(addr); + break; + + default: + return { + errno: 5 + }; + } + return { + family, + addr, + port + }; +}; + +var inetPton4 = str => { + var b = str.split("."); + for (var i = 0; i < 4; i++) { + var tmp = Number(b[i]); + if (isNaN(tmp)) return null; + b[i] = tmp; + } + return (b[0] | (b[1] << 8) | (b[2] << 16) | (b[3] << 24)) >>> 0; +}; + +var inetPton6 = str => { + var words; + var w, offset, z, i; + /* http://home.deds.nl/~aeron/regex/ */ var valid6regx = /^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i; + var parts = []; + if (!valid6regx.test(str)) { + return null; + } + if (str === "::") { + return [ 0, 0, 0, 0, 0, 0, 0, 0 ]; + } + // Z placeholder to keep track of zeros when splitting the string on ":" + if (str.startsWith("::")) { + str = str.replace("::", "Z:"); + } else { + str = str.replace("::", ":Z:"); + } + if (str.indexOf(".") > 0) { + // parse IPv4 embedded stress + str = str.replace(new RegExp("[.]", "g"), ":"); + words = str.split(":"); + words[words.length - 4] = Number(words[words.length - 4]) + Number(words[words.length - 3]) * 256; + words[words.length - 3] = Number(words[words.length - 2]) + Number(words[words.length - 1]) * 256; + words = words.slice(0, words.length - 2); + } else { + words = str.split(":"); + } + offset = 0; + z = 0; + for (w = 0; w < words.length; w++) { + if (typeof words[w] == "string") { + if (words[w] === "Z") { + // compressed zeros - write appropriate number of zero words + for (z = 0; z < (8 - words.length + 1); z++) { + parts[w + z] = 0; + } + offset = z - 1; + } else { + // parse hex to field to 16-bit value and write it in network byte-order + parts[w + offset] = _htons(parseInt(words[w], 16)); + } + } else { + // parsed IPv4 words + parts[w + offset] = words[w]; + } + } + return [ (parts[1] << 16) | parts[0], (parts[3] << 16) | parts[2], (parts[5] << 16) | parts[4], (parts[7] << 16) | parts[6] ]; +}; + +var DNS = { + address_map: { + id: 1, + addrs: {}, + names: {} + }, + lookup_name(name) { + // If the name is already a valid ipv4 / ipv6 address, don't generate a fake one. + var res = inetPton4(name); + if (res !== null) { + return name; + } + res = inetPton6(name); + if (res !== null) { + return name; + } + // See if this name is already mapped. + var addr; + if (DNS.address_map.addrs[name]) { + addr = DNS.address_map.addrs[name]; + } else { + var id = DNS.address_map.id++; + assert(id < 65535, "exceeded max address mappings of 65535"); + addr = "172.29." + (id & 255) + "." + (id & 65280); + DNS.address_map.names[addr] = name; + DNS.address_map.addrs[name] = addr; + } + return addr; + }, + lookup_addr(addr) { + if (DNS.address_map.names[addr]) { + return DNS.address_map.names[addr]; + } + return null; + } +}; + +var getSocketAddress = (addrp, addrlen) => { + var info = readSockaddr(addrp, addrlen); + if (info.errno) throw new FS.ErrnoError(info.errno); + info.addr = DNS.lookup_addr(info.addr) || info.addr; + return info; +}; + +function ___syscall_connect(fd, addr, addrlen, d1, d2, d3) { + addr >>>= 0; + addrlen >>>= 0; + try { + var sock = getSocketFromFD(fd); + var info = getSocketAddress(addr, addrlen); + sock.sock_ops.connect(sock, info.addr, info.port); + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +var SYSCALLS = { + DEFAULT_POLLMASK: 5, + calculateAt(dirfd, path, allowEmpty) { + if (PATH.isAbs(path)) { + return path; + } + // relative path + var dir; + if (dirfd === -100) { + dir = FS.cwd(); + } else { + var dirstream = SYSCALLS.getStreamFromFD(dirfd); + dir = dirstream.path; + } + if (path.length == 0) { + if (!allowEmpty) { + throw new FS.ErrnoError(44); + } + return dir; + } + return dir + "/" + path; + }, + writeStat(buf, stat) { + HEAP32[((buf) >>> 2) >>> 0] = stat.dev; + HEAP32[(((buf) + (4)) >>> 2) >>> 0] = stat.mode; + HEAPU32[(((buf) + (8)) >>> 2) >>> 0] = stat.nlink; + HEAP32[(((buf) + (12)) >>> 2) >>> 0] = stat.uid; + HEAP32[(((buf) + (16)) >>> 2) >>> 0] = stat.gid; + HEAP32[(((buf) + (20)) >>> 2) >>> 0] = stat.rdev; + HEAP64[(((buf) + (24)) >>> 3) >>> 0] = BigInt(stat.size); + HEAP32[(((buf) + (32)) >>> 2) >>> 0] = 4096; + HEAP32[(((buf) + (36)) >>> 2) >>> 0] = stat.blocks; + var atime = stat.atime.getTime(); + var mtime = stat.mtime.getTime(); + var ctime = stat.ctime.getTime(); + HEAP64[(((buf) + (40)) >>> 3) >>> 0] = BigInt(Math.floor(atime / 1e3)); + HEAPU32[(((buf) + (48)) >>> 2) >>> 0] = (atime % 1e3) * 1e3 * 1e3; + HEAP64[(((buf) + (56)) >>> 3) >>> 0] = BigInt(Math.floor(mtime / 1e3)); + HEAPU32[(((buf) + (64)) >>> 2) >>> 0] = (mtime % 1e3) * 1e3 * 1e3; + HEAP64[(((buf) + (72)) >>> 3) >>> 0] = BigInt(Math.floor(ctime / 1e3)); + HEAPU32[(((buf) + (80)) >>> 2) >>> 0] = (ctime % 1e3) * 1e3 * 1e3; + HEAP64[(((buf) + (88)) >>> 3) >>> 0] = BigInt(stat.ino); + return 0; + }, + writeStatFs(buf, stats) { + HEAP32[(((buf) + (4)) >>> 2) >>> 0] = stats.bsize; + HEAP32[(((buf) + (40)) >>> 2) >>> 0] = stats.bsize; + HEAP32[(((buf) + (8)) >>> 2) >>> 0] = stats.blocks; + HEAP32[(((buf) + (12)) >>> 2) >>> 0] = stats.bfree; + HEAP32[(((buf) + (16)) >>> 2) >>> 0] = stats.bavail; + HEAP32[(((buf) + (20)) >>> 2) >>> 0] = stats.files; + HEAP32[(((buf) + (24)) >>> 2) >>> 0] = stats.ffree; + HEAP32[(((buf) + (28)) >>> 2) >>> 0] = stats.fsid; + HEAP32[(((buf) + (44)) >>> 2) >>> 0] = stats.flags; + // ST_NOSUID + HEAP32[(((buf) + (36)) >>> 2) >>> 0] = stats.namelen; + }, + doMsync(addr, stream, len, flags, offset) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (flags & 2) { + // MAP_PRIVATE calls need not to be synced back to underlying fs + return 0; + } + var buffer = HEAPU8.slice(addr, addr + len); + FS.msync(stream, buffer, offset, len, flags); + }, + getStreamFromFD(fd) { + var stream = FS.getStreamChecked(fd); + return stream; + }, + varargs: undefined, + getStr(ptr) { + var ret = UTF8ToString(ptr); + return ret; + } +}; + +function ___syscall_faccessat(dirfd, path, amode, flags) { + path >>>= 0; + try { + path = SYSCALLS.getStr(path); + assert(!flags || flags == 512); + path = SYSCALLS.calculateAt(dirfd, path); + if (amode & ~7) { + // need a valid mode + return -28; + } + var lookup = FS.lookupPath(path, { + follow: true + }); + var node = lookup.node; + if (!node) { + return -44; + } + var perms = ""; + if (amode & 4) perms += "r"; + if (amode & 2) perms += "w"; + if (amode & 1) perms += "x"; + if (perms && FS.nodePermissions(node, perms)) { + return -2; + } + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +/** @suppress {duplicate } */ var syscallGetVarargI = () => { + assert(SYSCALLS.varargs != undefined); + // the `+` prepended here is necessary to convince the JSCompiler that varargs is indeed a number. + var ret = HEAP32[((+SYSCALLS.varargs) >>> 2) >>> 0]; + SYSCALLS.varargs += 4; + return ret; +}; + +var syscallGetVarargP = syscallGetVarargI; + +function ___syscall_fcntl64(fd, cmd, varargs) { + varargs >>>= 0; + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(fd); + switch (cmd) { + case 0: + { + var arg = syscallGetVarargI(); + if (arg < 0) { + return -28; + } + while (FS.streams[arg]) { + arg++; + } + var newStream; + newStream = FS.dupStream(stream, arg); + return newStream.fd; + } + + case 1: + case 2: + return 0; + + // FD_CLOEXEC makes no sense for a single process. + case 3: + return stream.flags; + + case 4: + { + var arg = syscallGetVarargI(); + stream.flags |= arg; + return 0; + } + + case 12: + { + var arg = syscallGetVarargP(); + var offset = 0; + // We're always unlocked. + HEAP16[(((arg) + (offset)) >>> 1) >>> 0] = 2; + return 0; + } + + case 13: + case 14: + // Pretend that the locking is successful. These are process-level locks, + // and Emscripten programs are a single process. If we supported linking a + // filesystem between programs, we'd need to do more here. + // See https://github.com/emscripten-core/emscripten/issues/23697 + return 0; + } + return -28; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_fstat64(fd, buf) { + buf >>>= 0; + try { + return SYSCALLS.writeStat(buf, FS.fstat(fd)); + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_ioctl(fd, op, varargs) { + varargs >>>= 0; + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(fd); + switch (op) { + case 21509: + { + if (!stream.tty) return -59; + return 0; + } + + case 21505: + { + if (!stream.tty) return -59; + if (stream.tty.ops.ioctl_tcgets) { + var termios = stream.tty.ops.ioctl_tcgets(stream); + var argp = syscallGetVarargP(); + HEAP32[((argp) >>> 2) >>> 0] = termios.c_iflag || 0; + HEAP32[(((argp) + (4)) >>> 2) >>> 0] = termios.c_oflag || 0; + HEAP32[(((argp) + (8)) >>> 2) >>> 0] = termios.c_cflag || 0; + HEAP32[(((argp) + (12)) >>> 2) >>> 0] = termios.c_lflag || 0; + for (var i = 0; i < 32; i++) { + HEAP8[(argp + i) + (17) >>> 0] = termios.c_cc[i] || 0; + } + return 0; + } + return 0; + } + + case 21510: + case 21511: + case 21512: + { + if (!stream.tty) return -59; + return 0; + } + + case 21506: + case 21507: + case 21508: + { + if (!stream.tty) return -59; + if (stream.tty.ops.ioctl_tcsets) { + var argp = syscallGetVarargP(); + var c_iflag = HEAP32[((argp) >>> 2) >>> 0]; + var c_oflag = HEAP32[(((argp) + (4)) >>> 2) >>> 0]; + var c_cflag = HEAP32[(((argp) + (8)) >>> 2) >>> 0]; + var c_lflag = HEAP32[(((argp) + (12)) >>> 2) >>> 0]; + var c_cc = []; + for (var i = 0; i < 32; i++) { + c_cc.push(HEAP8[(argp + i) + (17) >>> 0]); + } + return stream.tty.ops.ioctl_tcsets(stream.tty, op, { + c_iflag, + c_oflag, + c_cflag, + c_lflag, + c_cc + }); + } + return 0; + } + + case 21519: + { + if (!stream.tty) return -59; + var argp = syscallGetVarargP(); + HEAP32[((argp) >>> 2) >>> 0] = 0; + return 0; + } + + case 21520: + { + if (!stream.tty) return -59; + return -28; + } + + case 21537: + case 21531: + { + var argp = syscallGetVarargP(); + return FS.ioctl(stream, op, argp); + } + + case 21523: + { + // TODO: in theory we should write to the winsize struct that gets + // passed in, but for now musl doesn't read anything on it + if (!stream.tty) return -59; + if (stream.tty.ops.ioctl_tiocgwinsz) { + var winsize = stream.tty.ops.ioctl_tiocgwinsz(stream.tty); + var argp = syscallGetVarargP(); + HEAP16[((argp) >>> 1) >>> 0] = winsize[0]; + HEAP16[(((argp) + (2)) >>> 1) >>> 0] = winsize[1]; + } + return 0; + } + + case 21524: + { + // TODO: technically, this ioctl call should change the window size. + // but, since emscripten doesn't have any concept of a terminal window + // yet, we'll just silently throw it away as we do TIOCGWINSZ + if (!stream.tty) return -59; + return 0; + } + + case 21515: + { + if (!stream.tty) return -59; + return 0; + } + + default: + return -28; + } + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_lstat64(path, buf) { + path >>>= 0; + buf >>>= 0; + try { + path = SYSCALLS.getStr(path); + return SYSCALLS.writeStat(buf, FS.lstat(path)); + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_newfstatat(dirfd, path, buf, flags) { + path >>>= 0; + buf >>>= 0; + try { + path = SYSCALLS.getStr(path); + var nofollow = flags & 256; + var allowEmpty = flags & 4096; + flags = flags & (~6400); + assert(!flags, `unknown flags in __syscall_newfstatat: ${flags}`); + path = SYSCALLS.calculateAt(dirfd, path, allowEmpty); + return SYSCALLS.writeStat(buf, nofollow ? FS.lstat(path) : FS.stat(path)); + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_openat(dirfd, path, flags, varargs) { + path >>>= 0; + varargs >>>= 0; + SYSCALLS.varargs = varargs; + try { + path = SYSCALLS.getStr(path); + path = SYSCALLS.calculateAt(dirfd, path); + var mode = varargs ? syscallGetVarargI() : 0; + return FS.open(path, flags, mode).fd; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_renameat(olddirfd, oldpath, newdirfd, newpath) { + oldpath >>>= 0; + newpath >>>= 0; + try { + oldpath = SYSCALLS.getStr(oldpath); + newpath = SYSCALLS.getStr(newpath); + oldpath = SYSCALLS.calculateAt(olddirfd, oldpath); + newpath = SYSCALLS.calculateAt(newdirfd, newpath); + FS.rename(oldpath, newpath); + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_rmdir(path) { + path >>>= 0; + try { + path = SYSCALLS.getStr(path); + FS.rmdir(path); + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_sendto(fd, message, length, flags, addr, addr_len) { + message >>>= 0; + length >>>= 0; + addr >>>= 0; + addr_len >>>= 0; + try { + var sock = getSocketFromFD(fd); + if (!addr) { + // send, no address provided + return FS.write(sock.stream, HEAP8, message, length); + } + var dest = getSocketAddress(addr, addr_len); + // sendto an address + return sock.sock_ops.sendmsg(sock, HEAP8, message, length, dest.addr, dest.port); + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_socket(domain, type, protocol) { + try { + var sock = SOCKFS.createSocket(domain, type, protocol); + assert(sock.stream.fd < 64); + // XXX ? select() assumes socket fd values are in 0..63 + return sock.stream.fd; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_stat64(path, buf) { + path >>>= 0; + buf >>>= 0; + try { + path = SYSCALLS.getStr(path); + return SYSCALLS.writeStat(buf, FS.stat(path)); + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +function ___syscall_unlinkat(dirfd, path, flags) { + path >>>= 0; + try { + path = SYSCALLS.getStr(path); + path = SYSCALLS.calculateAt(dirfd, path); + if (!flags) { + FS.unlink(path); + } else if (flags === 512) { + FS.rmdir(path); + } else { + return -28; + } + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return -e.errno; + } +} + +var __abort_js = () => abort("native code called abort()"); + +var AsciiToString = ptr => { + ptr >>>= 0; + var str = ""; + while (1) { + var ch = HEAPU8[ptr++ >>> 0]; + if (!ch) return str; + str += String.fromCharCode(ch); + } +}; + +var awaitingDependencies = {}; + +var registeredTypes = {}; + +var typeDependencies = {}; + +var BindingError = class BindingError extends Error { + constructor(message) { + super(message); + this.name = "BindingError"; + } +}; + +var throwBindingError = message => { + throw new BindingError(message); +}; + +/** @param {Object=} options */ function sharedRegisterType(rawType, registeredInstance, options = {}) { + var name = registeredInstance.name; + if (!rawType) { + throwBindingError(`type "${name}" must have a positive integer typeid pointer`); + } + if (registeredTypes.hasOwnProperty(rawType)) { + if (options.ignoreDuplicateRegistrations) { + return; + } else { + throwBindingError(`Cannot register type '${name}' twice`); + } + } + registeredTypes[rawType] = registeredInstance; + delete typeDependencies[rawType]; + if (awaitingDependencies.hasOwnProperty(rawType)) { + var callbacks = awaitingDependencies[rawType]; + delete awaitingDependencies[rawType]; + callbacks.forEach(cb => cb()); + } +} + +/** @param {Object=} options */ function registerType(rawType, registeredInstance, options = {}) { + return sharedRegisterType(rawType, registeredInstance, options); +} + +var integerReadValueFromPointer = (name, width, signed) => { + // integers are quite common, so generate very specialized functions + switch (width) { + case 1: + return signed ? pointer => HEAP8[pointer >>> 0] : pointer => HEAPU8[pointer >>> 0]; + + case 2: + return signed ? pointer => HEAP16[((pointer) >>> 1) >>> 0] : pointer => HEAPU16[((pointer) >>> 1) >>> 0]; + + case 4: + return signed ? pointer => HEAP32[((pointer) >>> 2) >>> 0] : pointer => HEAPU32[((pointer) >>> 2) >>> 0]; + + case 8: + return signed ? pointer => HEAP64[((pointer) >>> 3) >>> 0] : pointer => HEAPU64[((pointer) >>> 3) >>> 0]; + + default: + throw new TypeError(`invalid integer width (${width}): ${name}`); + } +}; + +var embindRepr = v => { + if (v === null) { + return "null"; + } + var t = typeof v; + if (t === "object" || t === "array" || t === "function") { + return v.toString(); + } else { + return "" + v; + } +}; + +var assertIntegerRange = (typeName, value, minRange, maxRange) => { + if (value < minRange || value > maxRange) { + throw new TypeError(`Passing a number "${embindRepr(value)}" from JS side to C/C++ side to an argument of type "${typeName}", which is outside the valid range [${minRange}, ${maxRange}]!`); + } +}; + +/** @suppress {globalThis} */ var __embind_register_bigint = function(primitiveType, name, size, minRange, maxRange) { + primitiveType >>>= 0; + name >>>= 0; + size >>>= 0; + name = AsciiToString(name); + const isUnsignedType = minRange === 0n; + let fromWireType = value => value; + if (isUnsignedType) { + // uint64 get converted to int64 in ABI, fix them up like we do for 32-bit integers. + const bitSize = size * 8; + fromWireType = value => BigInt.asUintN(bitSize, value); + maxRange = fromWireType(maxRange); + } + registerType(primitiveType, { + name, + fromWireType, + toWireType: (destructors, value) => { + if (typeof value == "number") { + value = BigInt(value); + } else if (typeof value != "bigint") { + throw new TypeError(`Cannot convert "${embindRepr(value)}" to ${this.name}`); + } + assertIntegerRange(name, value, minRange, maxRange); + return value; + }, + readValueFromPointer: integerReadValueFromPointer(name, size, !isUnsignedType), + destructorFunction: null + }); +}; + +/** @suppress {globalThis} */ function __embind_register_bool(rawType, name, trueValue, falseValue) { + rawType >>>= 0; + name >>>= 0; + name = AsciiToString(name); + registerType(rawType, { + name, + fromWireType: function(wt) { + // ambiguous emscripten ABI: sometimes return values are + // true or false, and sometimes integers (0 or 1) + return !!wt; + }, + toWireType: function(destructors, o) { + return o ? trueValue : falseValue; + }, + readValueFromPointer: function(pointer) { + return this.fromWireType(HEAPU8[pointer >>> 0]); + }, + destructorFunction: null + }); +} + +var emval_freelist = []; + +var emval_handles = [ 0, 1, , 1, null, 1, true, 1, false, 1 ]; + +function __emval_decref(handle) { + handle >>>= 0; + if (handle > 9 && 0 === --emval_handles[handle + 1]) { + assert(emval_handles[handle] !== undefined, `Decref for unallocated handle.`); + emval_handles[handle] = undefined; + emval_freelist.push(handle); + } +} + +var Emval = { + toValue: handle => { + if (!handle) { + throwBindingError(`Cannot use deleted val. handle = ${handle}`); + } + // handle 2 is supposed to be `undefined`. + assert(handle === 2 || emval_handles[handle] !== undefined && handle % 2 === 0, `invalid handle: ${handle}`); + return emval_handles[handle]; + }, + toHandle: value => { + switch (value) { + case undefined: + return 2; + + case null: + return 4; + + case true: + return 6; + + case false: + return 8; + + default: + { + const handle = emval_freelist.pop() || emval_handles.length; + emval_handles[handle] = value; + emval_handles[handle + 1] = 1; + return handle; + } + } + } +}; + +/** @suppress {globalThis} */ function readPointer(pointer) { + return this.fromWireType(HEAPU32[((pointer) >>> 2) >>> 0]); +} + +var EmValType = { + name: "emscripten::val", + fromWireType: handle => { + var rv = Emval.toValue(handle); + __emval_decref(handle); + return rv; + }, + toWireType: (destructors, value) => Emval.toHandle(value), + readValueFromPointer: readPointer, + destructorFunction: null +}; + +function __embind_register_emval(rawType) { + rawType >>>= 0; + return registerType(rawType, EmValType); +} + +var floatReadValueFromPointer = (name, width) => { + switch (width) { + case 4: + return function(pointer) { + return this.fromWireType(HEAPF32[((pointer) >>> 2) >>> 0]); + }; + + case 8: + return function(pointer) { + return this.fromWireType(HEAPF64[((pointer) >>> 3) >>> 0]); + }; + + default: + throw new TypeError(`invalid float width (${width}): ${name}`); + } +}; + +var __embind_register_float = function(rawType, name, size) { + rawType >>>= 0; + name >>>= 0; + size >>>= 0; + name = AsciiToString(name); + registerType(rawType, { + name, + fromWireType: value => value, + toWireType: (destructors, value) => { + if (typeof value != "number" && typeof value != "boolean") { + throw new TypeError(`Cannot convert ${embindRepr(value)} to ${this.name}`); + } + // The VM will perform JS to Wasm value conversion, according to the spec: + // https://www.w3.org/TR/wasm-js-api-1/#towebassemblyvalue + return value; + }, + readValueFromPointer: floatReadValueFromPointer(name, size), + destructorFunction: null + }); +}; + +/** @suppress {globalThis} */ var __embind_register_integer = function(primitiveType, name, size, minRange, maxRange) { + primitiveType >>>= 0; + name >>>= 0; + size >>>= 0; + name = AsciiToString(name); + const isUnsignedType = minRange === 0; + let fromWireType = value => value; + if (isUnsignedType) { + var bitshift = 32 - 8 * size; + fromWireType = value => (value << bitshift) >>> bitshift; + maxRange = fromWireType(maxRange); + } + registerType(primitiveType, { + name, + fromWireType, + toWireType: (destructors, value) => { + if (typeof value != "number" && typeof value != "boolean") { + throw new TypeError(`Cannot convert "${embindRepr(value)}" to ${name}`); + } + assertIntegerRange(name, value, minRange, maxRange); + // The VM will perform JS to Wasm value conversion, according to the spec: + // https://www.w3.org/TR/wasm-js-api-1/#towebassemblyvalue + return value; + }, + readValueFromPointer: integerReadValueFromPointer(name, size, minRange !== 0), + destructorFunction: null + }); +}; + +function __embind_register_memory_view(rawType, dataTypeIndex, name) { + rawType >>>= 0; + name >>>= 0; + var typeMapping = [ Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array, BigInt64Array, BigUint64Array ]; + var TA = typeMapping[dataTypeIndex]; + function decodeMemoryView(handle) { + var size = HEAPU32[((handle) >>> 2) >>> 0]; + var data = HEAPU32[(((handle) + (4)) >>> 2) >>> 0]; + return new TA(HEAP8.buffer, data, size); + } + name = AsciiToString(name); + registerType(rawType, { + name, + fromWireType: decodeMemoryView, + readValueFromPointer: decodeMemoryView + }, { + ignoreDuplicateRegistrations: true + }); +} + +var stringToUTF8 = (str, outPtr, maxBytesToWrite) => { + assert(typeof maxBytesToWrite == "number", "stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"); + return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); +}; + +function __embind_register_std_string(rawType, name) { + rawType >>>= 0; + name >>>= 0; + name = AsciiToString(name); + var stdStringIsUTF8 = true; + registerType(rawType, { + name, + // For some method names we use string keys here since they are part of + // the public/external API and/or used by the runtime-generated code. + fromWireType(value) { + var length = HEAPU32[((value) >>> 2) >>> 0]; + var payload = value + 4; + var str; + if (stdStringIsUTF8) { + str = UTF8ToString(payload, length, true); + } else { + str = ""; + for (var i = 0; i < length; ++i) { + str += String.fromCharCode(HEAPU8[payload + i >>> 0]); + } + } + _free(value); + return str; + }, + toWireType(destructors, value) { + if (value instanceof ArrayBuffer) { + value = new Uint8Array(value); + } + var length; + var valueIsOfTypeString = (typeof value == "string"); + // We accept `string` or array views with single byte elements + if (!(valueIsOfTypeString || (ArrayBuffer.isView(value) && value.BYTES_PER_ELEMENT == 1))) { + throwBindingError("Cannot pass non-string to std::string"); + } + if (stdStringIsUTF8 && valueIsOfTypeString) { + length = lengthBytesUTF8(value); + } else { + length = value.length; + } + // assumes POINTER_SIZE alignment + var base = _malloc(4 + length + 1); + var ptr = base + 4; + HEAPU32[((base) >>> 2) >>> 0] = length; + if (valueIsOfTypeString) { + if (stdStringIsUTF8) { + stringToUTF8(value, ptr, length + 1); + } else { + for (var i = 0; i < length; ++i) { + var charCode = value.charCodeAt(i); + if (charCode > 255) { + _free(base); + throwBindingError("String has UTF-16 code units that do not fit in 8 bits"); + } + HEAPU8[ptr + i >>> 0] = charCode; + } + } + } else { + HEAPU8.set(value, ptr >>> 0); + } + if (destructors !== null) { + destructors.push(_free, base); + } + return base; + }, + readValueFromPointer: readPointer, + destructorFunction(ptr) { + _free(ptr); + } + }); +} + +var UTF16Decoder = typeof TextDecoder != "undefined" ? new TextDecoder("utf-16le") : undefined; + +var UTF16ToString = (ptr, maxBytesToRead, ignoreNul) => { + assert(ptr % 2 == 0, "Pointer passed to UTF16ToString must be aligned to two bytes!"); + var idx = ((ptr) >>> 1); + var endIdx = findStringEnd(HEAPU16, idx, maxBytesToRead / 2, ignoreNul); + // When using conditional TextDecoder, skip it for short strings as the overhead of the native call is not worth it. + if (endIdx - idx > 16 && UTF16Decoder) return UTF16Decoder.decode(HEAPU16.subarray(idx >>> 0, endIdx >>> 0)); + // Fallback: decode without UTF16Decoder + var str = ""; + // If maxBytesToRead is not passed explicitly, it will be undefined, and the + // for-loop's condition will always evaluate to true. The loop is then + // terminated on the first null char. + for (var i = idx; i < endIdx; ++i) { + var codeUnit = HEAPU16[i >>> 0]; + // fromCharCode constructs a character from a UTF-16 code unit, so we can + // pass the UTF16 string right through. + str += String.fromCharCode(codeUnit); + } + return str; +}; + +var stringToUTF16 = (str, outPtr, maxBytesToWrite) => { + assert(outPtr % 2 == 0, "Pointer passed to stringToUTF16 must be aligned to two bytes!"); + assert(typeof maxBytesToWrite == "number", "stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"); + // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. + maxBytesToWrite ??= 2147483647; + if (maxBytesToWrite < 2) return 0; + maxBytesToWrite -= 2; + // Null terminator. + var startPtr = outPtr; + var numCharsToWrite = (maxBytesToWrite < str.length * 2) ? (maxBytesToWrite / 2) : str.length; + for (var i = 0; i < numCharsToWrite; ++i) { + // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. + var codeUnit = str.charCodeAt(i); + // possibly a lead surrogate + HEAP16[((outPtr) >>> 1) >>> 0] = codeUnit; + outPtr += 2; + } + // Null-terminate the pointer to the HEAP. + HEAP16[((outPtr) >>> 1) >>> 0] = 0; + return outPtr - startPtr; +}; + +var lengthBytesUTF16 = str => str.length * 2; + +var UTF32ToString = (ptr, maxBytesToRead, ignoreNul) => { + assert(ptr % 4 == 0, "Pointer passed to UTF32ToString must be aligned to four bytes!"); + var str = ""; + var startIdx = ((ptr) >>> 2); + // If maxBytesToRead is not passed explicitly, it will be undefined, and this + // will always evaluate to true. This saves on code size. + for (var i = 0; !(i >= maxBytesToRead / 4); i++) { + var utf32 = HEAPU32[startIdx + i >>> 0]; + if (!utf32 && !ignoreNul) break; + str += String.fromCodePoint(utf32); + } + return str; +}; + +var stringToUTF32 = (str, outPtr, maxBytesToWrite) => { + outPtr >>>= 0; + assert(outPtr % 4 == 0, "Pointer passed to stringToUTF32 must be aligned to four bytes!"); + assert(typeof maxBytesToWrite == "number", "stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"); + // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. + maxBytesToWrite ??= 2147483647; + if (maxBytesToWrite < 4) return 0; + var startPtr = outPtr; + var endPtr = startPtr + maxBytesToWrite - 4; + for (var i = 0; i < str.length; ++i) { + var codePoint = str.codePointAt(i); + // Gotcha: if codePoint is over 0xFFFF, it is represented as a surrogate pair in UTF-16. + // We need to manually skip over the second code unit for correct iteration. + if (codePoint > 65535) { + i++; + } + HEAP32[((outPtr) >>> 2) >>> 0] = codePoint; + outPtr += 4; + if (outPtr + 4 > endPtr) break; + } + // Null-terminate the pointer to the HEAP. + HEAP32[((outPtr) >>> 2) >>> 0] = 0; + return outPtr - startPtr; +}; + +var lengthBytesUTF32 = str => { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var codePoint = str.codePointAt(i); + // Gotcha: if codePoint is over 0xFFFF, it is represented as a surrogate pair in UTF-16. + // We need to manually skip over the second code unit for correct iteration. + if (codePoint > 65535) { + i++; + } + len += 4; + } + return len; +}; + +function __embind_register_std_wstring(rawType, charSize, name) { + rawType >>>= 0; + charSize >>>= 0; + name >>>= 0; + name = AsciiToString(name); + var decodeString, encodeString, lengthBytesUTF; + if (charSize === 2) { + decodeString = UTF16ToString; + encodeString = stringToUTF16; + lengthBytesUTF = lengthBytesUTF16; + } else { + assert(charSize === 4, "only 2-byte and 4-byte strings are currently supported"); + decodeString = UTF32ToString; + encodeString = stringToUTF32; + lengthBytesUTF = lengthBytesUTF32; + } + registerType(rawType, { + name, + fromWireType: value => { + // Code mostly taken from _embind_register_std_string fromWireType + var length = HEAPU32[((value) >>> 2) >>> 0]; + var str = decodeString(value + 4, length * charSize, true); + _free(value); + return str; + }, + toWireType: (destructors, value) => { + if (!(typeof value == "string")) { + throwBindingError(`Cannot pass non-string to C++ string type ${name}`); + } + // assumes POINTER_SIZE alignment + var length = lengthBytesUTF(value); + var ptr = _malloc(4 + length + charSize); + HEAPU32[((ptr) >>> 2) >>> 0] = length / charSize; + encodeString(value, ptr + 4, length + charSize); + if (destructors !== null) { + destructors.push(_free, ptr); + } + return ptr; + }, + readValueFromPointer: readPointer, + destructorFunction(ptr) { + _free(ptr); + } + }); +} + +var __embind_register_void = function(rawType, name) { + rawType >>>= 0; + name >>>= 0; + name = AsciiToString(name); + registerType(rawType, { + isVoid: true, + // void return values can be optimized out sometimes + name, + fromWireType: () => undefined, + // TODO: assert if anything else is given? + toWireType: (destructors, o) => undefined + }); +}; + +var __emscripten_throw_longjmp = () => { + throw Infinity; +}; + +function __gmtime_js(time, tmPtr) { + time = bigintToI53Checked(time); + tmPtr >>>= 0; + var date = new Date(time * 1e3); + HEAP32[((tmPtr) >>> 2) >>> 0] = date.getUTCSeconds(); + HEAP32[(((tmPtr) + (4)) >>> 2) >>> 0] = date.getUTCMinutes(); + HEAP32[(((tmPtr) + (8)) >>> 2) >>> 0] = date.getUTCHours(); + HEAP32[(((tmPtr) + (12)) >>> 2) >>> 0] = date.getUTCDate(); + HEAP32[(((tmPtr) + (16)) >>> 2) >>> 0] = date.getUTCMonth(); + HEAP32[(((tmPtr) + (20)) >>> 2) >>> 0] = date.getUTCFullYear() - 1900; + HEAP32[(((tmPtr) + (24)) >>> 2) >>> 0] = date.getUTCDay(); + var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); + var yday = ((date.getTime() - start) / (1e3 * 60 * 60 * 24)) | 0; + HEAP32[(((tmPtr) + (28)) >>> 2) >>> 0] = yday; +} + +var isLeapYear = year => year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0); + +var MONTH_DAYS_LEAP_CUMULATIVE = [ 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335 ]; + +var MONTH_DAYS_REGULAR_CUMULATIVE = [ 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 ]; + +var ydayFromDate = date => { + var leap = isLeapYear(date.getFullYear()); + var monthDaysCumulative = (leap ? MONTH_DAYS_LEAP_CUMULATIVE : MONTH_DAYS_REGULAR_CUMULATIVE); + var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1; + // -1 since it's days since Jan 1 + return yday; +}; + +function __localtime_js(time, tmPtr) { + time = bigintToI53Checked(time); + tmPtr >>>= 0; + var date = new Date(time * 1e3); + HEAP32[((tmPtr) >>> 2) >>> 0] = date.getSeconds(); + HEAP32[(((tmPtr) + (4)) >>> 2) >>> 0] = date.getMinutes(); + HEAP32[(((tmPtr) + (8)) >>> 2) >>> 0] = date.getHours(); + HEAP32[(((tmPtr) + (12)) >>> 2) >>> 0] = date.getDate(); + HEAP32[(((tmPtr) + (16)) >>> 2) >>> 0] = date.getMonth(); + HEAP32[(((tmPtr) + (20)) >>> 2) >>> 0] = date.getFullYear() - 1900; + HEAP32[(((tmPtr) + (24)) >>> 2) >>> 0] = date.getDay(); + var yday = ydayFromDate(date) | 0; + HEAP32[(((tmPtr) + (28)) >>> 2) >>> 0] = yday; + HEAP32[(((tmPtr) + (36)) >>> 2) >>> 0] = -(date.getTimezoneOffset() * 60); + // Attention: DST is in December in South, and some regions don't have DST at all. + var start = new Date(date.getFullYear(), 0, 1); + var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); + var winterOffset = start.getTimezoneOffset(); + var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0; + HEAP32[(((tmPtr) + (32)) >>> 2) >>> 0] = dst; +} + +var __mktime_js = function(tmPtr) { + tmPtr >>>= 0; + var ret = (() => { + var date = new Date(HEAP32[(((tmPtr) + (20)) >>> 2) >>> 0] + 1900, HEAP32[(((tmPtr) + (16)) >>> 2) >>> 0], HEAP32[(((tmPtr) + (12)) >>> 2) >>> 0], HEAP32[(((tmPtr) + (8)) >>> 2) >>> 0], HEAP32[(((tmPtr) + (4)) >>> 2) >>> 0], HEAP32[((tmPtr) >>> 2) >>> 0], 0); + // There's an ambiguous hour when the time goes back; the tm_isdst field is + // used to disambiguate it. Date() basically guesses, so we fix it up if it + // guessed wrong, or fill in tm_isdst with the guess if it's -1. + var dst = HEAP32[(((tmPtr) + (32)) >>> 2) >>> 0]; + var guessedOffset = date.getTimezoneOffset(); + var start = new Date(date.getFullYear(), 0, 1); + var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); + var winterOffset = start.getTimezoneOffset(); + var dstOffset = Math.min(winterOffset, summerOffset); + // DST is in December in South + if (dst < 0) { + // Attention: some regions don't have DST at all. + HEAP32[(((tmPtr) + (32)) >>> 2) >>> 0] = Number(summerOffset != winterOffset && dstOffset == guessedOffset); + } else if ((dst > 0) != (dstOffset == guessedOffset)) { + var nonDstOffset = Math.max(winterOffset, summerOffset); + var trueOffset = dst > 0 ? dstOffset : nonDstOffset; + // Don't try setMinutes(date.getMinutes() + ...) -- it's messed up. + date.setTime(date.getTime() + (trueOffset - guessedOffset) * 6e4); + } + HEAP32[(((tmPtr) + (24)) >>> 2) >>> 0] = date.getDay(); + var yday = ydayFromDate(date) | 0; + HEAP32[(((tmPtr) + (28)) >>> 2) >>> 0] = yday; + // To match expected behavior, update fields from date + HEAP32[((tmPtr) >>> 2) >>> 0] = date.getSeconds(); + HEAP32[(((tmPtr) + (4)) >>> 2) >>> 0] = date.getMinutes(); + HEAP32[(((tmPtr) + (8)) >>> 2) >>> 0] = date.getHours(); + HEAP32[(((tmPtr) + (12)) >>> 2) >>> 0] = date.getDate(); + HEAP32[(((tmPtr) + (16)) >>> 2) >>> 0] = date.getMonth(); + HEAP32[(((tmPtr) + (20)) >>> 2) >>> 0] = date.getYear(); + var timeMs = date.getTime(); + if (isNaN(timeMs)) { + return -1; + } + // Return time in microseconds + return timeMs / 1e3; + })(); + return BigInt(ret); +}; + +var __tzset_js = function(timezone, daylight, std_name, dst_name) { + timezone >>>= 0; + daylight >>>= 0; + std_name >>>= 0; + dst_name >>>= 0; + // TODO: Use (malleable) environment variables instead of system settings. + var currentYear = (new Date).getFullYear(); + var winter = new Date(currentYear, 0, 1); + var summer = new Date(currentYear, 6, 1); + var winterOffset = winter.getTimezoneOffset(); + var summerOffset = summer.getTimezoneOffset(); + // Local standard timezone offset. Local standard time is not adjusted for + // daylight savings. This code uses the fact that getTimezoneOffset returns + // a greater value during Standard Time versus Daylight Saving Time (DST). + // Thus it determines the expected output during Standard Time, and it + // compares whether the output of the given date the same (Standard) or less + // (DST). + var stdTimezoneOffset = Math.max(winterOffset, summerOffset); + // timezone is specified as seconds west of UTC ("The external variable + // `timezone` shall be set to the difference, in seconds, between + // Coordinated Universal Time (UTC) and local standard time."), the same + // as returned by stdTimezoneOffset. + // See http://pubs.opengroup.org/onlinepubs/009695399/functions/tzset.html + HEAPU32[((timezone) >>> 2) >>> 0] = stdTimezoneOffset * 60; + HEAP32[((daylight) >>> 2) >>> 0] = Number(winterOffset != summerOffset); + var extractZone = timezoneOffset => { + // Why inverse sign? + // Read here https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset + var sign = timezoneOffset >= 0 ? "-" : "+"; + var absOffset = Math.abs(timezoneOffset); + var hours = String(Math.floor(absOffset / 60)).padStart(2, "0"); + var minutes = String(absOffset % 60).padStart(2, "0"); + return `UTC${sign}${hours}${minutes}`; + }; + var winterName = extractZone(winterOffset); + var summerName = extractZone(summerOffset); + assert(winterName); + assert(summerName); + assert(lengthBytesUTF8(winterName) <= 16, `timezone name truncated to fit in TZNAME_MAX (${winterName})`); + assert(lengthBytesUTF8(summerName) <= 16, `timezone name truncated to fit in TZNAME_MAX (${summerName})`); + if (summerOffset < winterOffset) { + // Northern hemisphere + stringToUTF8(winterName, std_name, 17); + stringToUTF8(summerName, dst_name, 17); + } else { + stringToUTF8(winterName, dst_name, 17); + stringToUTF8(summerName, std_name, 17); + } +}; + +var _emscripten_get_now = () => performance.now(); + +var _emscripten_date_now = () => Date.now(); + +var nowIsMonotonic = 1; + +var checkWasiClock = clock_id => clock_id >= 0 && clock_id <= 3; + +function _clock_time_get(clk_id, ignored_precision, ptime) { + ignored_precision = bigintToI53Checked(ignored_precision); + ptime >>>= 0; + if (!checkWasiClock(clk_id)) { + return 28; + } + var now; + // all wasi clocks but realtime are monotonic + if (clk_id === 0) { + now = _emscripten_date_now(); + } else if (nowIsMonotonic) { + now = _emscripten_get_now(); + } else { + return 52; + } + // "now" is in ms, and wasi times are in ns. + var nsec = Math.round(now * 1e3 * 1e3); + HEAP64[((ptime) >>> 3) >>> 0] = BigInt(nsec); + return 0; +} + +var handleException = e => { + // Certain exception types we do not treat as errors since they are used for + // internal control flow. + // 1. ExitStatus, which is thrown by exit() + // 2. "unwind", which is thrown by emscripten_unwind_to_js_event_loop() and others + // that wish to return to JS event loop. + if (e instanceof ExitStatus || e == "unwind") { + return EXITSTATUS; + } + checkStackCookie(); + if (e instanceof WebAssembly.RuntimeError) { + if (_emscripten_stack_get_current() <= 0) { + err("Stack overflow detected. You can try increasing -sSTACK_SIZE (currently set to 65536)"); + } + } + quit_(1, e); +}; + +var runtimeKeepaliveCounter = 0; + +var keepRuntimeAlive = () => noExitRuntime || runtimeKeepaliveCounter > 0; + +var _proc_exit = code => { + EXITSTATUS = code; + if (!keepRuntimeAlive()) { + Module["onExit"]?.(code); + ABORT = true; + } + quit_(code, new ExitStatus(code)); +}; + +/** @suppress {duplicate } */ /** @param {boolean|number=} implicit */ var exitJS = (status, implicit) => { + EXITSTATUS = status; + checkUnflushedContent(); + // if exit() was called explicitly, warn the user if the runtime isn't actually being shut down + if (keepRuntimeAlive() && !implicit) { + var msg = `program exited (with status: ${status}), but keepRuntimeAlive() is set (counter=${runtimeKeepaliveCounter}) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`; + readyPromiseReject?.(msg); + err(msg); + } + _proc_exit(status); +}; + +var _exit = exitJS; + +var maybeExit = () => { + if (!keepRuntimeAlive()) { + try { + _exit(EXITSTATUS); + } catch (e) { + handleException(e); + } + } +}; + +var callUserCallback = func => { + if (ABORT) { + err("user callback triggered after runtime exited or application aborted. Ignoring."); + return; + } + try { + func(); + maybeExit(); + } catch (e) { + handleException(e); + } +}; + +function getFullscreenElement() { + return document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.webkitCurrentFullScreenElement || document.msFullscreenElement; +} + +/** @param {number=} timeout */ var safeSetTimeout = (func, timeout) => setTimeout(() => { + callUserCallback(func); +}, timeout); + +var Browser = { + useWebGL: false, + isFullscreen: false, + pointerLock: false, + moduleContextCreatedCallbacks: [], + workers: [], + preloadedImages: {}, + preloadedAudios: {}, + getCanvas: () => Module["canvas"], + init() { + if (Browser.initted) return; + Browser.initted = true; + // Support for plugins that can process preloaded files. You can add more of these to + // your app by creating and appending to preloadPlugins. + // Each plugin is asked if it can handle a file based on the file's name. If it can, + // it is given the file's raw data. When it is done, it calls a callback with the file's + // (possibly modified) data. For example, a plugin might decompress a file, or it + // might create some side data structure for use later (like an Image element, etc.). + var imagePlugin = {}; + imagePlugin["canHandle"] = function imagePlugin_canHandle(name) { + return !Module["noImageDecoding"] && /\.(jpg|jpeg|png|bmp|webp)$/i.test(name); + }; + imagePlugin["handle"] = function imagePlugin_handle(byteArray, name, onload, onerror) { + var b = new Blob([ byteArray ], { + type: Browser.getMimetype(name) + }); + if (b.size !== byteArray.length) { + // Safari bug #118630 + // Safari's Blob can only take an ArrayBuffer + b = new Blob([ (new Uint8Array(byteArray)).buffer ], { + type: Browser.getMimetype(name) + }); + } + var url = URL.createObjectURL(b); + assert(typeof url == "string", "createObjectURL must return a url as a string"); + var img = new Image; + img.onload = () => { + assert(img.complete, `Image ${name} could not be decoded`); + var canvas = /** @type {!HTMLCanvasElement} */ (document.createElement("canvas")); + canvas.width = img.width; + canvas.height = img.height; + var ctx = canvas.getContext("2d"); + ctx.drawImage(img, 0, 0); + Browser.preloadedImages[name] = canvas; + URL.revokeObjectURL(url); + onload?.(byteArray); + }; + img.onerror = event => { + err(`Image ${url} could not be decoded`); + onerror?.(); + }; + img.src = url; + }; + preloadPlugins.push(imagePlugin); + var audioPlugin = {}; + audioPlugin["canHandle"] = function audioPlugin_canHandle(name) { + return !Module["noAudioDecoding"] && name.slice(-4) in { + ".ogg": 1, + ".wav": 1, + ".mp3": 1 + }; + }; + audioPlugin["handle"] = function audioPlugin_handle(byteArray, name, onload, onerror) { + var done = false; + function finish(audio) { + if (done) return; + done = true; + Browser.preloadedAudios[name] = audio; + onload?.(byteArray); + } + function fail() { + if (done) return; + done = true; + Browser.preloadedAudios[name] = new Audio; + // empty shim + onerror?.(); + } + var b = new Blob([ byteArray ], { + type: Browser.getMimetype(name) + }); + var url = URL.createObjectURL(b); + // XXX we never revoke this! + assert(typeof url == "string", "createObjectURL must return a url as a string"); + var audio = new Audio; + audio.addEventListener("canplaythrough", () => finish(audio), false); + // use addEventListener due to chromium bug 124926 + audio.onerror = function audio_onerror(event) { + if (done) return; + err(`warning: browser could not fully decode audio ${name}, trying slower base64 approach`); + function encode64(data) { + var BASE = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + var PAD = "="; + var ret = ""; + var leftchar = 0; + var leftbits = 0; + for (var i = 0; i < data.length; i++) { + leftchar = (leftchar << 8) | data[i]; + leftbits += 8; + while (leftbits >= 6) { + var curr = (leftchar >> (leftbits - 6)) & 63; + leftbits -= 6; + ret += BASE[curr]; + } + } + if (leftbits == 2) { + ret += BASE[(leftchar & 3) << 4]; + ret += PAD + PAD; + } else if (leftbits == 4) { + ret += BASE[(leftchar & 15) << 2]; + ret += PAD; + } + return ret; + } + audio.src = "data:audio/x-" + name.slice(-3) + ";base64," + encode64(byteArray); + finish(audio); + }; + audio.src = url; + // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror + safeSetTimeout(() => { + finish(audio); + }, 1e4); + }; + preloadPlugins.push(audioPlugin); + // Canvas event setup + function pointerLockChange() { + var canvas = Browser.getCanvas(); + Browser.pointerLock = document.pointerLockElement === canvas; + } + var canvas = Browser.getCanvas(); + if (canvas) { + // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module + // Module['forcedAspectRatio'] = 4 / 3; + document.addEventListener("pointerlockchange", pointerLockChange, false); + if (Module["elementPointerLock"]) { + canvas.addEventListener("click", ev => { + if (!Browser.pointerLock && Browser.getCanvas().requestPointerLock) { + Browser.getCanvas().requestPointerLock(); + ev.preventDefault(); + } + }, false); + } + } + }, + createContext(/** @type {HTMLCanvasElement} */ canvas, useWebGL, setInModule, webGLContextAttributes) { + if (useWebGL && Module["ctx"] && canvas == Browser.getCanvas()) return Module["ctx"]; + // no need to recreate GL context if it's already been created for this canvas. + var ctx; + var contextHandle; + if (useWebGL) { + // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. + var contextAttributes = { + antialias: false, + alpha: false, + majorVersion: 1 + }; + if (webGLContextAttributes) { + for (var attribute in webGLContextAttributes) { + contextAttributes[attribute] = webGLContextAttributes[attribute]; + } + } + // This check of existence of GL is here to satisfy Closure compiler, which yells if variable GL is referenced below but GL object is not + // actually compiled in because application is not doing any GL operations. TODO: Ideally if GL is not being used, this function + // Browser.createContext() should not even be emitted. + if (typeof GL != "undefined") { + contextHandle = GL.createContext(canvas, contextAttributes); + if (contextHandle) { + ctx = GL.getContext(contextHandle).GLctx; + } + } + } else { + ctx = canvas.getContext("2d"); + } + if (!ctx) return null; + if (setInModule) { + if (!useWebGL) assert(typeof GLctx == "undefined", "cannot set in module if GLctx is used, but we are a non-GL context that would replace it"); + Module["ctx"] = ctx; + if (useWebGL) GL.makeContextCurrent(contextHandle); + Browser.useWebGL = useWebGL; + Browser.moduleContextCreatedCallbacks.forEach(callback => callback()); + Browser.init(); + } + return ctx; + }, + fullscreenHandlersInstalled: false, + lockPointer: undefined, + resizeCanvas: undefined, + requestFullscreen(lockPointer, resizeCanvas) { + Browser.lockPointer = lockPointer; + Browser.resizeCanvas = resizeCanvas; + if (typeof Browser.lockPointer == "undefined") Browser.lockPointer = true; + if (typeof Browser.resizeCanvas == "undefined") Browser.resizeCanvas = false; + var canvas = Browser.getCanvas(); + function fullscreenChange() { + Browser.isFullscreen = false; + var canvasContainer = canvas.parentNode; + if (getFullscreenElement() === canvasContainer) { + canvas.exitFullscreen = Browser.exitFullscreen; + if (Browser.lockPointer) canvas.requestPointerLock(); + Browser.isFullscreen = true; + if (Browser.resizeCanvas) { + Browser.setFullscreenCanvasSize(); + } else { + Browser.updateCanvasDimensions(canvas); + } + } else { + // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen + canvasContainer.parentNode.insertBefore(canvas, canvasContainer); + canvasContainer.parentNode.removeChild(canvasContainer); + if (Browser.resizeCanvas) { + Browser.setWindowedCanvasSize(); + } else { + Browser.updateCanvasDimensions(canvas); + } + } + Module["onFullScreen"]?.(Browser.isFullscreen); + Module["onFullscreen"]?.(Browser.isFullscreen); + } + if (!Browser.fullscreenHandlersInstalled) { + Browser.fullscreenHandlersInstalled = true; + document.addEventListener("fullscreenchange", fullscreenChange, false); + document.addEventListener("mozfullscreenchange", fullscreenChange, false); + document.addEventListener("webkitfullscreenchange", fullscreenChange, false); + document.addEventListener("MSFullscreenChange", fullscreenChange, false); + } + // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root + var canvasContainer = document.createElement("div"); + canvas.parentNode.insertBefore(canvasContainer, canvas); + canvasContainer.appendChild(canvas); + // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) + canvasContainer.requestFullscreen = canvasContainer["requestFullscreen"] || canvasContainer["mozRequestFullScreen"] || canvasContainer["msRequestFullscreen"] || (canvasContainer["webkitRequestFullscreen"] ? () => canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]) : null) || (canvasContainer["webkitRequestFullScreen"] ? () => canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]) : null); + canvasContainer.requestFullscreen(); + }, + requestFullScreen() { + abort("Module.requestFullScreen has been replaced by Module.requestFullscreen (without a capital S)"); + }, + exitFullscreen() { + // This is workaround for chrome. Trying to exit from fullscreen + // not in fullscreen state will cause "TypeError: Document not active" + // in chrome. See https://github.com/emscripten-core/emscripten/pull/8236 + if (!Browser.isFullscreen) { + return false; + } + var CFS = document["exitFullscreen"] || document["cancelFullScreen"] || document["mozCancelFullScreen"] || document["msExitFullscreen"] || document["webkitCancelFullScreen"] || (() => {}); + CFS.apply(document, []); + return true; + }, + safeSetTimeout(func, timeout) { + // Legacy function, this is used by the SDL2 port so we need to keep it + // around at least until that is updated. + // See https://github.com/libsdl-org/SDL/pull/6304 + return safeSetTimeout(func, timeout); + }, + getMimetype(name) { + return { + "jpg": "image/jpeg", + "jpeg": "image/jpeg", + "png": "image/png", + "bmp": "image/bmp", + "ogg": "audio/ogg", + "wav": "audio/wav", + "mp3": "audio/mpeg" + }[name.slice(name.lastIndexOf(".") + 1)]; + }, + getUserMedia(func) { + window.getUserMedia ||= navigator["getUserMedia"] || navigator["mozGetUserMedia"]; + window.getUserMedia(func); + }, + getMovementX(event) { + return event["movementX"] || event["mozMovementX"] || event["webkitMovementX"] || 0; + }, + getMovementY(event) { + return event["movementY"] || event["mozMovementY"] || event["webkitMovementY"] || 0; + }, + getMouseWheelDelta(event) { + var delta = 0; + switch (event.type) { + case "DOMMouseScroll": + // 3 lines make up a step + delta = event.detail / 3; + break; + + case "mousewheel": + // 120 units make up a step + delta = event.wheelDelta / 120; + break; + + case "wheel": + delta = event.deltaY; + switch (event.deltaMode) { + case 0: + // DOM_DELTA_PIXEL: 100 pixels make up a step + delta /= 100; + break; + + case 1: + // DOM_DELTA_LINE: 3 lines make up a step + delta /= 3; + break; + + case 2: + // DOM_DELTA_PAGE: A page makes up 80 steps + delta *= 80; + break; + + default: + throw "unrecognized mouse wheel delta mode: " + event.deltaMode; + } + break; + + default: + throw "unrecognized mouse wheel event: " + event.type; + } + return delta; + }, + mouseX: 0, + mouseY: 0, + mouseMovementX: 0, + mouseMovementY: 0, + touches: {}, + lastTouches: {}, + calculateMouseCoords(pageX, pageY) { + // Calculate the movement based on the changes + // in the coordinates. + var canvas = Browser.getCanvas(); + var rect = canvas.getBoundingClientRect(); + // Neither .scrollX or .pageXOffset are defined in a spec, but + // we prefer .scrollX because it is currently in a spec draft. + // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) + var scrollX = ((typeof window.scrollX != "undefined") ? window.scrollX : window.pageXOffset); + var scrollY = ((typeof window.scrollY != "undefined") ? window.scrollY : window.pageYOffset); + // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset + // and we have no viable fallback. + assert((typeof scrollX != "undefined") && (typeof scrollY != "undefined"), "Unable to retrieve scroll position, mouse positions likely broken."); + var adjustedX = pageX - (scrollX + rect.left); + var adjustedY = pageY - (scrollY + rect.top); + // the canvas might be CSS-scaled compared to its backbuffer; + // SDL-using content will want mouse coordinates in terms + // of backbuffer units. + adjustedX = adjustedX * (canvas.width / rect.width); + adjustedY = adjustedY * (canvas.height / rect.height); + return { + x: adjustedX, + y: adjustedY + }; + }, + setMouseCoords(pageX, pageY) { + const {x, y} = Browser.calculateMouseCoords(pageX, pageY); + Browser.mouseMovementX = x - Browser.mouseX; + Browser.mouseMovementY = y - Browser.mouseY; + Browser.mouseX = x; + Browser.mouseY = y; + }, + calculateMouseEvent(event) { + // event should be mousemove, mousedown or mouseup + if (Browser.pointerLock) { + // When the pointer is locked, calculate the coordinates + // based on the movement of the mouse. + // Workaround for Firefox bug 764498 + if (event.type != "mousemove" && ("mozMovementX" in event)) { + Browser.mouseMovementX = Browser.mouseMovementY = 0; + } else { + Browser.mouseMovementX = Browser.getMovementX(event); + Browser.mouseMovementY = Browser.getMovementY(event); + } + // add the mouse delta to the current absolute mouse position + Browser.mouseX += Browser.mouseMovementX; + Browser.mouseY += Browser.mouseMovementY; + } else { + if (event.type === "touchstart" || event.type === "touchend" || event.type === "touchmove") { + var touch = event.touch; + if (touch === undefined) { + return; + } + var coords = Browser.calculateMouseCoords(touch.pageX, touch.pageY); + if (event.type === "touchstart") { + Browser.lastTouches[touch.identifier] = coords; + Browser.touches[touch.identifier] = coords; + } else if (event.type === "touchend" || event.type === "touchmove") { + var last = Browser.touches[touch.identifier]; + last ||= coords; + Browser.lastTouches[touch.identifier] = last; + Browser.touches[touch.identifier] = coords; + } + return; + } + Browser.setMouseCoords(event.pageX, event.pageY); + } + }, + resizeListeners: [], + updateResizeListeners() { + var canvas = Browser.getCanvas(); + Browser.resizeListeners.forEach(listener => listener(canvas.width, canvas.height)); + }, + setCanvasSize(width, height, noUpdates) { + var canvas = Browser.getCanvas(); + Browser.updateCanvasDimensions(canvas, width, height); + if (!noUpdates) Browser.updateResizeListeners(); + }, + windowedWidth: 0, + windowedHeight: 0, + setFullscreenCanvasSize() { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen) >>> 2) >>> 0]; + flags = flags | 8388608; + // set SDL_FULLSCREEN flag + HEAP32[((SDL.screen) >>> 2) >>> 0] = flags; + } + Browser.updateCanvasDimensions(Browser.getCanvas()); + Browser.updateResizeListeners(); + }, + setWindowedCanvasSize() { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen) >>> 2) >>> 0]; + flags = flags & ~8388608; + // clear SDL_FULLSCREEN flag + HEAP32[((SDL.screen) >>> 2) >>> 0] = flags; + } + Browser.updateCanvasDimensions(Browser.getCanvas()); + Browser.updateResizeListeners(); + }, + updateCanvasDimensions(canvas, wNative, hNative) { + if (wNative && hNative) { + canvas.widthNative = wNative; + canvas.heightNative = hNative; + } else { + wNative = canvas.widthNative; + hNative = canvas.heightNative; + } + var w = wNative; + var h = hNative; + if (Module["forcedAspectRatio"] > 0) { + if (w / h < Module["forcedAspectRatio"]) { + w = Math.round(h * Module["forcedAspectRatio"]); + } else { + h = Math.round(w / Module["forcedAspectRatio"]); + } + } + if ((getFullscreenElement() === canvas.parentNode) && (typeof screen != "undefined")) { + var factor = Math.min(screen.width / w, screen.height / h); + w = Math.round(w * factor); + h = Math.round(h * factor); + } + if (Browser.resizeCanvas) { + if (canvas.width != w) canvas.width = w; + if (canvas.height != h) canvas.height = h; + if (typeof canvas.style != "undefined") { + canvas.style.removeProperty("width"); + canvas.style.removeProperty("height"); + } + } else { + if (canvas.width != wNative) canvas.width = wNative; + if (canvas.height != hNative) canvas.height = hNative; + if (typeof canvas.style != "undefined") { + if (w != wNative || h != hNative) { + canvas.style.setProperty("width", w + "px", "important"); + canvas.style.setProperty("height", h + "px", "important"); + } else { + canvas.style.removeProperty("width"); + canvas.style.removeProperty("height"); + } + } + } + } +}; + +var EGL = { + errorCode: 12288, + defaultDisplayInitialized: false, + currentContext: 0, + currentReadSurface: 0, + currentDrawSurface: 0, + contextAttributes: { + alpha: false, + depth: false, + stencil: false, + antialias: false + }, + stringCache: {}, + setErrorCode(code) { + EGL.errorCode = code; + }, + chooseConfig(display, attribList, config, config_size, numConfigs) { + if (display != 62e3) { + EGL.setErrorCode(12296); + return 0; + } + if (attribList) { + // read attribList if it is non-null + for (;;) { + var param = HEAP32[((attribList) >>> 2) >>> 0]; + if (param == 12321) { + var alphaSize = HEAP32[(((attribList) + (4)) >>> 2) >>> 0]; + EGL.contextAttributes.alpha = (alphaSize > 0); + } else if (param == 12325) { + var depthSize = HEAP32[(((attribList) + (4)) >>> 2) >>> 0]; + EGL.contextAttributes.depth = (depthSize > 0); + } else if (param == 12326) { + var stencilSize = HEAP32[(((attribList) + (4)) >>> 2) >>> 0]; + EGL.contextAttributes.stencil = (stencilSize > 0); + } else if (param == 12337) { + var samples = HEAP32[(((attribList) + (4)) >>> 2) >>> 0]; + EGL.contextAttributes.antialias = (samples > 0); + } else if (param == 12338) { + var samples = HEAP32[(((attribList) + (4)) >>> 2) >>> 0]; + EGL.contextAttributes.antialias = (samples == 1); + } else if (param == 12544) { + var requestedPriority = HEAP32[(((attribList) + (4)) >>> 2) >>> 0]; + EGL.contextAttributes.lowLatency = (requestedPriority != 12547); + } else if (param == 12344) { + break; + } + attribList += 8; + } + } + if ((!config || !config_size) && !numConfigs) { + EGL.setErrorCode(12300); + return 0; + } + if (numConfigs) { + HEAP32[((numConfigs) >>> 2) >>> 0] = 1; + } + if (config && config_size > 0) { + HEAPU32[((config) >>> 2) >>> 0] = 62002; + } + EGL.setErrorCode(12288); + return 1; + } +}; + +var _eglBindAPI = api => { + if (api == 12448) { + EGL.setErrorCode(12288); + return 1; + } + // if (api == 0x30A1 /* EGL_OPENVG_API */ || api == 0x30A2 /* EGL_OPENGL_API */) { + EGL.setErrorCode(12300); + return 0; +}; + +function _eglChooseConfig(display, attrib_list, configs, config_size, numConfigs) { + display >>>= 0; + attrib_list >>>= 0; + configs >>>= 0; + numConfigs >>>= 0; + return EGL.chooseConfig(display, attrib_list, configs, config_size, numConfigs); +} + +var GLctx; + +var webgl_enable_ANGLE_instanced_arrays = ctx => { + // Extension available in WebGL 1 from Firefox 26 and Google Chrome 30 onwards. Core feature in WebGL 2. + var ext = ctx.getExtension("ANGLE_instanced_arrays"); + // Because this extension is a core function in WebGL 2, assign the extension entry points in place of + // where the core functions will reside in WebGL 2. This way the calling code can call these without + // having to dynamically branch depending if running against WebGL 1 or WebGL 2. + if (ext) { + ctx["vertexAttribDivisor"] = (index, divisor) => ext["vertexAttribDivisorANGLE"](index, divisor); + ctx["drawArraysInstanced"] = (mode, first, count, primcount) => ext["drawArraysInstancedANGLE"](mode, first, count, primcount); + ctx["drawElementsInstanced"] = (mode, count, type, indices, primcount) => ext["drawElementsInstancedANGLE"](mode, count, type, indices, primcount); + return 1; + } +}; + +var webgl_enable_OES_vertex_array_object = ctx => { + // Extension available in WebGL 1 from Firefox 25 and WebKit 536.28/desktop Safari 6.0.3 onwards. Core feature in WebGL 2. + var ext = ctx.getExtension("OES_vertex_array_object"); + if (ext) { + ctx["createVertexArray"] = () => ext["createVertexArrayOES"](); + ctx["deleteVertexArray"] = vao => ext["deleteVertexArrayOES"](vao); + ctx["bindVertexArray"] = vao => ext["bindVertexArrayOES"](vao); + ctx["isVertexArray"] = vao => ext["isVertexArrayOES"](vao); + return 1; + } +}; + +var webgl_enable_WEBGL_draw_buffers = ctx => { + // Extension available in WebGL 1 from Firefox 28 onwards. Core feature in WebGL 2. + var ext = ctx.getExtension("WEBGL_draw_buffers"); + if (ext) { + ctx["drawBuffers"] = (n, bufs) => ext["drawBuffersWEBGL"](n, bufs); + return 1; + } +}; + +var webgl_enable_EXT_polygon_offset_clamp = ctx => !!(ctx.extPolygonOffsetClamp = ctx.getExtension("EXT_polygon_offset_clamp")); + +var webgl_enable_EXT_clip_control = ctx => !!(ctx.extClipControl = ctx.getExtension("EXT_clip_control")); + +var webgl_enable_WEBGL_polygon_mode = ctx => !!(ctx.webglPolygonMode = ctx.getExtension("WEBGL_polygon_mode")); + +var webgl_enable_WEBGL_multi_draw = ctx => // Closure is expected to be allowed to minify the '.multiDrawWebgl' property, so not accessing it quoted. +!!(ctx.multiDrawWebgl = ctx.getExtension("WEBGL_multi_draw")); + +var getEmscriptenSupportedExtensions = ctx => { + // Restrict the list of advertised extensions to those that we actually + // support. + var supportedExtensions = [ // WebGL 1 extensions + "ANGLE_instanced_arrays", "EXT_blend_minmax", "EXT_disjoint_timer_query", "EXT_frag_depth", "EXT_shader_texture_lod", "EXT_sRGB", "OES_element_index_uint", "OES_fbo_render_mipmap", "OES_standard_derivatives", "OES_texture_float", "OES_texture_half_float", "OES_texture_half_float_linear", "OES_vertex_array_object", "WEBGL_color_buffer_float", "WEBGL_depth_texture", "WEBGL_draw_buffers", // WebGL 1 and WebGL 2 extensions + "EXT_clip_control", "EXT_color_buffer_half_float", "EXT_depth_clamp", "EXT_float_blend", "EXT_polygon_offset_clamp", "EXT_texture_compression_bptc", "EXT_texture_compression_rgtc", "EXT_texture_filter_anisotropic", "KHR_parallel_shader_compile", "OES_texture_float_linear", "WEBGL_blend_func_extended", "WEBGL_compressed_texture_astc", "WEBGL_compressed_texture_etc", "WEBGL_compressed_texture_etc1", "WEBGL_compressed_texture_s3tc", "WEBGL_compressed_texture_s3tc_srgb", "WEBGL_debug_renderer_info", "WEBGL_debug_shaders", "WEBGL_lose_context", "WEBGL_multi_draw", "WEBGL_polygon_mode" ]; + // .getSupportedExtensions() can return null if context is lost, so coerce to empty array. + return (ctx.getSupportedExtensions() || []).filter(ext => supportedExtensions.includes(ext)); +}; + +var GL = { + counter: 1, + buffers: [], + programs: [], + framebuffers: [], + renderbuffers: [], + textures: [], + shaders: [], + vaos: [], + contexts: [], + offscreenCanvases: {}, + queries: [], + stringCache: {}, + unpackAlignment: 4, + unpackRowLength: 0, + recordError: errorCode => { + if (!GL.lastError) { + GL.lastError = errorCode; + } + }, + getNewId: table => { + var ret = GL.counter++; + for (var i = table.length; i < ret; i++) { + table[i] = null; + } + return ret; + }, + genObject: (n, buffers, createFunction, objectTable) => { + for (var i = 0; i < n; i++) { + var buffer = GLctx[createFunction](); + var id = buffer && GL.getNewId(objectTable); + if (buffer) { + buffer.name = id; + objectTable[id] = buffer; + } else { + GL.recordError(1282); + } + HEAP32[(((buffers) + (i * 4)) >>> 2) >>> 0] = id; + } + }, + getSource: (shader, count, string, length) => { + var source = ""; + for (var i = 0; i < count; ++i) { + var len = length ? HEAPU32[(((length) + (i * 4)) >>> 2) >>> 0] : undefined; + source += UTF8ToString(HEAPU32[(((string) + (i * 4)) >>> 2) >>> 0], len); + } + return source; + }, + createContext: (/** @type {HTMLCanvasElement} */ canvas, webGLContextAttributes) => { + // BUG: Workaround Safari WebGL issue: After successfully acquiring WebGL + // context on a canvas, calling .getContext() will always return that + // context independent of which 'webgl' or 'webgl2' + // context version was passed. See: + // https://bugs.webkit.org/show_bug.cgi?id=222758 + // and: + // https://github.com/emscripten-core/emscripten/issues/13295. + // TODO: Once the bug is fixed and shipped in Safari, adjust the Safari + // version field in above check. + if (!canvas.getContextSafariWebGL2Fixed) { + canvas.getContextSafariWebGL2Fixed = canvas.getContext; + /** @type {function(this:HTMLCanvasElement, string, (Object|null)=): (Object|null)} */ function fixedGetContext(ver, attrs) { + var gl = canvas.getContextSafariWebGL2Fixed(ver, attrs); + return ((ver == "webgl") == (gl instanceof WebGLRenderingContext)) ? gl : null; + } + canvas.getContext = fixedGetContext; + } + var ctx = canvas.getContext("webgl", webGLContextAttributes); + if (!ctx) return 0; + var handle = GL.registerContext(ctx, webGLContextAttributes); + return handle; + }, + registerContext: (ctx, webGLContextAttributes) => { + // without pthreads a context is just an integer ID + var handle = GL.getNewId(GL.contexts); + var context = { + handle, + attributes: webGLContextAttributes, + version: webGLContextAttributes.majorVersion, + GLctx: ctx + }; + // Store the created context object so that we can access the context + // given a canvas without having to pass the parameters again. + if (ctx.canvas) ctx.canvas.GLctxObject = context; + GL.contexts[handle] = context; + if (typeof webGLContextAttributes.enableExtensionsByDefault == "undefined" || webGLContextAttributes.enableExtensionsByDefault) { + GL.initExtensions(context); + } + return handle; + }, + makeContextCurrent: contextHandle => { + // Active Emscripten GL layer context object. + GL.currentContext = GL.contexts[contextHandle]; + // Active WebGL context object. + Module["ctx"] = GLctx = GL.currentContext?.GLctx; + return !(contextHandle && !GLctx); + }, + getContext: contextHandle => GL.contexts[contextHandle], + deleteContext: contextHandle => { + if (GL.currentContext === GL.contexts[contextHandle]) { + GL.currentContext = null; + } + if (typeof JSEvents == "object") { + // Release all JS event handlers on the DOM element that the GL context is + // associated with since the context is now deleted. + JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); + } + // Make sure the canvas object no longer refers to the context object so + // there are no GC surprises. + if (GL.contexts[contextHandle]?.GLctx.canvas) { + GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; + } + GL.contexts[contextHandle] = null; + }, + initExtensions: context => { + // If this function is called without a specific context object, init the + // extensions of the currently active context. + context ||= GL.currentContext; + if (context.initExtensionsDone) return; + context.initExtensionsDone = true; + var GLctx = context.GLctx; + // Detect the presence of a few extensions manually, ction GL interop + // layer itself will need to know if they exist. + // Extensions that are available in both WebGL 1 and WebGL 2 + webgl_enable_WEBGL_multi_draw(GLctx); + webgl_enable_EXT_polygon_offset_clamp(GLctx); + webgl_enable_EXT_clip_control(GLctx); + webgl_enable_WEBGL_polygon_mode(GLctx); + // Extensions that are only available in WebGL 1 (the calls will be no-ops + // if called on a WebGL 2 context active) + webgl_enable_ANGLE_instanced_arrays(GLctx); + webgl_enable_OES_vertex_array_object(GLctx); + webgl_enable_WEBGL_draw_buffers(GLctx); + { + GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query"); + } + getEmscriptenSupportedExtensions(GLctx).forEach(ext => { + // WEBGL_lose_context, WEBGL_debug_renderer_info and WEBGL_debug_shaders + // are not enabled by default. + if (!ext.includes("lose_context") && !ext.includes("debug")) { + // Call .getExtension() to enable that extension permanently. + GLctx.getExtension(ext); + } + }); + } +}; + +function _eglCreateContext(display, config, hmm, contextAttribs) { + display >>>= 0; + config >>>= 0; + hmm >>>= 0; + contextAttribs >>>= 0; + if (display != 62e3) { + EGL.setErrorCode(12296); + return 0; + } + // EGL 1.4 spec says default EGL_CONTEXT_CLIENT_VERSION is GLES1, but this is not supported by Emscripten. + // So user must pass EGL_CONTEXT_CLIENT_VERSION == 2 to initialize EGL. + var glesContextVersion = 1; + for (;;) { + var param = HEAP32[((contextAttribs) >>> 2) >>> 0]; + if (param == 12440) { + glesContextVersion = HEAP32[(((contextAttribs) + (4)) >>> 2) >>> 0]; + } else if (param == 12344) { + break; + } else { + /* EGL1.4 specifies only EGL_CONTEXT_CLIENT_VERSION as supported attribute */ EGL.setErrorCode(12292); + return 0; + } + contextAttribs += 8; + } + if (glesContextVersion != 2) { + EGL.setErrorCode(12293); + return 0; + } + EGL.contextAttributes.majorVersion = glesContextVersion - 1; + // WebGL 1 is GLES 2, WebGL2 is GLES3 + EGL.contextAttributes.minorVersion = 0; + EGL.context = GL.createContext(Browser.getCanvas(), EGL.contextAttributes); + if (EGL.context != 0) { + EGL.setErrorCode(12288); + // Run callbacks so that GL emulation works + GL.makeContextCurrent(EGL.context); + Browser.useWebGL = true; + Browser.moduleContextCreatedCallbacks.forEach(callback => callback()); + // Note: This function only creates a context, but it shall not make it active. + GL.makeContextCurrent(null); + return 62004; + } else { + EGL.setErrorCode(12297); + // By the EGL 1.4 spec, an implementation that does not support GLES2 (WebGL in this case), this error code is set. + return 0; + } +} + +function _eglCreateWindowSurface(display, config, win, attrib_list) { + display >>>= 0; + config >>>= 0; + attrib_list >>>= 0; + if (display != 62e3) { + EGL.setErrorCode(12296); + return 0; + } + if (config != 62002) { + EGL.setErrorCode(12293); + return 0; + } + // TODO: Examine attrib_list! Parameters that can be present there are: + // - EGL_RENDER_BUFFER (must be EGL_BACK_BUFFER) + // - EGL_VG_COLORSPACE (can't be set) + // - EGL_VG_ALPHA_FORMAT (can't be set) + EGL.setErrorCode(12288); + return 62006; +} + +function _eglDestroyContext(display, context) { + display >>>= 0; + context >>>= 0; + if (display != 62e3) { + EGL.setErrorCode(12296); + return 0; + } + if (context != 62004) { + EGL.setErrorCode(12294); + return 0; + } + GL.deleteContext(EGL.context); + EGL.setErrorCode(12288); + if (EGL.currentContext == context) { + EGL.currentContext = 0; + } + return 1; +} + +function _eglDestroySurface(display, surface) { + display >>>= 0; + surface >>>= 0; + if (display != 62e3) { + EGL.setErrorCode(12296); + return 0; + } + if (surface != 62006) { + EGL.setErrorCode(12301); + return 1; + } + if (EGL.currentReadSurface == surface) { + EGL.currentReadSurface = 0; + } + if (EGL.currentDrawSurface == surface) { + EGL.currentDrawSurface = 0; + } + EGL.setErrorCode(12288); + return 1; +} + +function _eglGetConfigAttrib(display, config, attribute, value) { + display >>>= 0; + config >>>= 0; + value >>>= 0; + if (display != 62e3) { + EGL.setErrorCode(12296); + return 0; + } + if (config != 62002) { + EGL.setErrorCode(12293); + return 0; + } + if (!value) { + EGL.setErrorCode(12300); + return 0; + } + EGL.setErrorCode(12288); + switch (attribute) { + case 12320: + // EGL_BUFFER_SIZE + HEAP32[((value) >>> 2) >>> 0] = EGL.contextAttributes.alpha ? 32 : 24; + return 1; + + case 12321: + // EGL_ALPHA_SIZE + HEAP32[((value) >>> 2) >>> 0] = EGL.contextAttributes.alpha ? 8 : 0; + return 1; + + case 12322: + // EGL_BLUE_SIZE + HEAP32[((value) >>> 2) >>> 0] = 8; + return 1; + + case 12323: + // EGL_GREEN_SIZE + HEAP32[((value) >>> 2) >>> 0] = 8; + return 1; + + case 12324: + // EGL_RED_SIZE + HEAP32[((value) >>> 2) >>> 0] = 8; + return 1; + + case 12325: + // EGL_DEPTH_SIZE + HEAP32[((value) >>> 2) >>> 0] = EGL.contextAttributes.depth ? 24 : 0; + return 1; + + case 12326: + // EGL_STENCIL_SIZE + HEAP32[((value) >>> 2) >>> 0] = EGL.contextAttributes.stencil ? 8 : 0; + return 1; + + case 12327: + // EGL_CONFIG_CAVEAT + // We can return here one of EGL_NONE (0x3038), EGL_SLOW_CONFIG (0x3050) or EGL_NON_CONFORMANT_CONFIG (0x3051). + HEAP32[((value) >>> 2) >>> 0] = 12344; + return 1; + + case 12328: + // EGL_CONFIG_ID + HEAP32[((value) >>> 2) >>> 0] = 62002; + return 1; + + case 12329: + // EGL_LEVEL + HEAP32[((value) >>> 2) >>> 0] = 0; + return 1; + + case 12330: + // EGL_MAX_PBUFFER_HEIGHT + HEAP32[((value) >>> 2) >>> 0] = 4096; + return 1; + + case 12331: + // EGL_MAX_PBUFFER_PIXELS + HEAP32[((value) >>> 2) >>> 0] = 16777216; + return 1; + + case 12332: + // EGL_MAX_PBUFFER_WIDTH + HEAP32[((value) >>> 2) >>> 0] = 4096; + return 1; + + case 12333: + // EGL_NATIVE_RENDERABLE + HEAP32[((value) >>> 2) >>> 0] = 0; + return 1; + + case 12334: + // EGL_NATIVE_VISUAL_ID + HEAP32[((value) >>> 2) >>> 0] = 0; + return 1; + + case 12335: + // EGL_NATIVE_VISUAL_TYPE + HEAP32[((value) >>> 2) >>> 0] = 12344; + return 1; + + case 12337: + // EGL_SAMPLES + HEAP32[((value) >>> 2) >>> 0] = EGL.contextAttributes.antialias ? 4 : 0; + return 1; + + case 12338: + // EGL_SAMPLE_BUFFERS + HEAP32[((value) >>> 2) >>> 0] = EGL.contextAttributes.antialias ? 1 : 0; + return 1; + + case 12339: + // EGL_SURFACE_TYPE + HEAP32[((value) >>> 2) >>> 0] = 4; + return 1; + + case 12340: + // EGL_TRANSPARENT_TYPE + // If this returns EGL_TRANSPARENT_RGB (0x3052), transparency is used through color-keying. No such thing applies to Emscripten canvas. + HEAP32[((value) >>> 2) >>> 0] = 12344; + return 1; + + case 12341: + // EGL_TRANSPARENT_BLUE_VALUE + case 12342: + // EGL_TRANSPARENT_GREEN_VALUE + case 12343: + // EGL_TRANSPARENT_RED_VALUE + // "If EGL_TRANSPARENT_TYPE is EGL_NONE, then the values for EGL_TRANSPARENT_RED_VALUE, EGL_TRANSPARENT_GREEN_VALUE, and EGL_TRANSPARENT_BLUE_VALUE are undefined." + HEAP32[((value) >>> 2) >>> 0] = -1; + return 1; + + case 12345: + // EGL_BIND_TO_TEXTURE_RGB + case 12346: + // EGL_BIND_TO_TEXTURE_RGBA + HEAP32[((value) >>> 2) >>> 0] = 0; + return 1; + + case 12347: + // EGL_MIN_SWAP_INTERVAL + HEAP32[((value) >>> 2) >>> 0] = 0; + return 1; + + case 12348: + // EGL_MAX_SWAP_INTERVAL + HEAP32[((value) >>> 2) >>> 0] = 1; + return 1; + + case 12349: + // EGL_LUMINANCE_SIZE + case 12350: + // EGL_ALPHA_MASK_SIZE + HEAP32[((value) >>> 2) >>> 0] = 0; + return 1; + + case 12351: + // EGL_COLOR_BUFFER_TYPE + // EGL has two types of buffers: EGL_RGB_BUFFER and EGL_LUMINANCE_BUFFER. + HEAP32[((value) >>> 2) >>> 0] = 12430; + return 1; + + case 12352: + // EGL_RENDERABLE_TYPE + // A bit combination of EGL_OPENGL_ES_BIT,EGL_OPENVG_BIT,EGL_OPENGL_ES2_BIT and EGL_OPENGL_BIT. + HEAP32[((value) >>> 2) >>> 0] = 4; + return 1; + + case 12354: + // EGL_CONFORMANT + // "EGL_CONFORMANT is a mask indicating if a client API context created with respect to the corresponding EGLConfig will pass the required conformance tests for that API." + HEAP32[((value) >>> 2) >>> 0] = 0; + return 1; + + default: + EGL.setErrorCode(12292); + return 0; + } +} + +function _eglGetDisplay(nativeDisplayType) { + nativeDisplayType >>>= 0; + EGL.setErrorCode(12288); + // Emscripten EGL implementation "emulates" X11, and eglGetDisplay is + // expected to accept/receive a pointer to an X11 Display object (or + // EGL_DEFAULT_DISPLAY). + if (nativeDisplayType != 0 && nativeDisplayType != 1) { + return 0; + } + return 62e3; +} + +var _eglGetError = () => EGL.errorCode; + +function _eglInitialize(display, majorVersion, minorVersion) { + display >>>= 0; + majorVersion >>>= 0; + minorVersion >>>= 0; + if (display != 62e3) { + EGL.setErrorCode(12296); + return 0; + } + if (majorVersion) { + HEAP32[((majorVersion) >>> 2) >>> 0] = 1; + } + if (minorVersion) { + HEAP32[((minorVersion) >>> 2) >>> 0] = 4; + } + EGL.defaultDisplayInitialized = true; + EGL.setErrorCode(12288); + return 1; +} + +function _eglMakeCurrent(display, draw, read, context) { + display >>>= 0; + draw >>>= 0; + read >>>= 0; + context >>>= 0; + if (display != 62e3) { + EGL.setErrorCode(12296); + return 0; + } + //\todo An EGL_NOT_INITIALIZED error is generated if EGL is not initialized for dpy. + if (context != 0 && context != 62004) { + EGL.setErrorCode(12294); + return 0; + } + if ((read != 0 && read != 62006) || (draw != 0 && draw != 62006)) { + EGL.setErrorCode(12301); + return 0; + } + GL.makeContextCurrent(context ? EGL.context : null); + EGL.currentContext = context; + EGL.currentDrawSurface = draw; + EGL.currentReadSurface = read; + EGL.setErrorCode(12288); + return 1; +} + +var stringToNewUTF8 = str => { + var size = lengthBytesUTF8(str) + 1; + var ret = _malloc(size); + if (ret) stringToUTF8(str, ret, size); + return ret; +}; + +function _eglQueryString(display, name) { + display >>>= 0; + if (display != 62e3) { + EGL.setErrorCode(12296); + return 0; + } + //\todo An EGL_NOT_INITIALIZED error is generated if EGL is not initialized for dpy. + EGL.setErrorCode(12288); + if (EGL.stringCache[name]) return EGL.stringCache[name]; + var ret; + switch (name) { + case 12371: + ret = stringToNewUTF8("Emscripten"); + break; + + case 12372: + ret = stringToNewUTF8("1.4 Emscripten EGL"); + break; + + case 12373: + ret = stringToNewUTF8(""); + break; + + // Currently not supporting any EGL extensions. + case 12429: + ret = stringToNewUTF8("OpenGL_ES"); + break; + + default: + EGL.setErrorCode(12300); + return 0; + } + EGL.stringCache[name] = ret; + return ret; +} + +function _eglSwapBuffers(dpy, surface) { + dpy >>>= 0; + surface >>>= 0; + if (!EGL.defaultDisplayInitialized) { + EGL.setErrorCode(12289); + } else if (!GLctx) { + EGL.setErrorCode(12290); + } else if (GLctx.isContextLost()) { + EGL.setErrorCode(12302); + } else { + // According to documentation this does an implicit flush. + // Due to discussion at https://github.com/emscripten-core/emscripten/pull/1871 + // the flush was removed since this _may_ result in slowing code down. + //_glFlush(); + EGL.setErrorCode(12288); + return 1; + } + return 0; +} + +/** + * @param {number=} arg + * @param {boolean=} noSetTiming + */ var setMainLoop = (iterFunc, fps, simulateInfiniteLoop, arg, noSetTiming) => { + assert(!MainLoop.func, "emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."); + MainLoop.func = iterFunc; + MainLoop.arg = arg; + var thisMainLoopId = MainLoop.currentlyRunningMainloop; + function checkIsRunning() { + if (thisMainLoopId < MainLoop.currentlyRunningMainloop) { + maybeExit(); + return false; + } + return true; + } + // We create the loop runner here but it is not actually running until + // _emscripten_set_main_loop_timing is called (which might happen a + // later time). This member signifies that the current runner has not + // yet been started so that we can call runtimeKeepalivePush when it + // gets it timing set for the first time. + MainLoop.running = false; + MainLoop.runner = function MainLoop_runner() { + if (ABORT) return; + if (MainLoop.queue.length > 0) { + var start = Date.now(); + var blocker = MainLoop.queue.shift(); + blocker.func(blocker.arg); + if (MainLoop.remainingBlockers) { + var remaining = MainLoop.remainingBlockers; + var next = remaining % 1 == 0 ? remaining - 1 : Math.floor(remaining); + if (blocker.counted) { + MainLoop.remainingBlockers = next; + } else { + // not counted, but move the progress along a tiny bit + next = next + .5; + // do not steal all the next one's progress + MainLoop.remainingBlockers = (8 * remaining + next) / 9; + } + } + MainLoop.updateStatus(); + // catches pause/resume main loop from blocker execution + if (!checkIsRunning()) return; + setTimeout(MainLoop.runner, 0); + return; + } + // catch pauses from non-main loop sources + if (!checkIsRunning()) return; + // Implement very basic swap interval control + MainLoop.currentFrameNumber = MainLoop.currentFrameNumber + 1 | 0; + if (MainLoop.timingMode == 1 && MainLoop.timingValue > 1 && MainLoop.currentFrameNumber % MainLoop.timingValue != 0) { + // Not the scheduled time to render this frame - skip. + MainLoop.scheduler(); + return; + } else if (MainLoop.timingMode == 0) { + MainLoop.tickStartTime = _emscripten_get_now(); + } + if (MainLoop.method === "timeout" && Module["ctx"]) { + warnOnce("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"); + MainLoop.method = ""; + } + MainLoop.runIter(iterFunc); + // catch pauses from the main loop itself + if (!checkIsRunning()) return; + MainLoop.scheduler(); + }; + if (!noSetTiming) { + if (fps > 0) { + _emscripten_set_main_loop_timing(0, 1e3 / fps); + } else { + // Do rAF by rendering each frame (no decimating) + _emscripten_set_main_loop_timing(1, 1); + } + MainLoop.scheduler(); + } + if (simulateInfiniteLoop) { + throw "unwind"; + } +}; + +var MainLoop = { + running: false, + scheduler: null, + method: "", + currentlyRunningMainloop: 0, + func: null, + arg: 0, + timingMode: 0, + timingValue: 0, + currentFrameNumber: 0, + queue: [], + preMainLoop: [], + postMainLoop: [], + pause() { + MainLoop.scheduler = null; + // Incrementing this signals the previous main loop that it's now become old, and it must return. + MainLoop.currentlyRunningMainloop++; + }, + resume() { + MainLoop.currentlyRunningMainloop++; + var timingMode = MainLoop.timingMode; + var timingValue = MainLoop.timingValue; + var func = MainLoop.func; + MainLoop.func = null; + // do not set timing and call scheduler, we will do it on the next lines + setMainLoop(func, 0, false, MainLoop.arg, true); + _emscripten_set_main_loop_timing(timingMode, timingValue); + MainLoop.scheduler(); + }, + updateStatus() { + if (Module["setStatus"]) { + var message = Module["statusMessage"] || "Please wait..."; + var remaining = MainLoop.remainingBlockers ?? 0; + var expected = MainLoop.expectedBlockers ?? 0; + if (remaining) { + if (remaining < expected) { + Module["setStatus"](`{message} ({expected - remaining}/{expected})`); + } else { + Module["setStatus"](message); + } + } else { + Module["setStatus"](""); + } + } + }, + init() { + Module["preMainLoop"] && MainLoop.preMainLoop.push(Module["preMainLoop"]); + Module["postMainLoop"] && MainLoop.postMainLoop.push(Module["postMainLoop"]); + }, + runIter(func) { + if (ABORT) return; + for (var pre of MainLoop.preMainLoop) { + if (pre() === false) { + return; + } + } + callUserCallback(func); + for (var post of MainLoop.postMainLoop) { + post(); + } + checkStackCookie(); + }, + nextRAF: 0, + fakeRequestAnimationFrame(func) { + // try to keep 60fps between calls to here + var now = Date.now(); + if (MainLoop.nextRAF === 0) { + MainLoop.nextRAF = now + 1e3 / 60; + } else { + while (now + 2 >= MainLoop.nextRAF) { + // fudge a little, to avoid timer jitter causing us to do lots of delay:0 + MainLoop.nextRAF += 1e3 / 60; + } + } + var delay = Math.max(MainLoop.nextRAF - now, 0); + setTimeout(func, delay); + }, + requestAnimationFrame(func) { + if (typeof requestAnimationFrame == "function") { + requestAnimationFrame(func); + } else { + MainLoop.fakeRequestAnimationFrame(func); + } + } +}; + +var _emscripten_set_main_loop_timing = (mode, value) => { + MainLoop.timingMode = mode; + MainLoop.timingValue = value; + if (!MainLoop.func) { + err("emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up."); + return 1; + } + if (!MainLoop.running) { + MainLoop.running = true; + } + if (mode == 0) { + MainLoop.scheduler = function MainLoop_scheduler_setTimeout() { + var timeUntilNextTick = Math.max(0, MainLoop.tickStartTime + value - _emscripten_get_now()) | 0; + setTimeout(MainLoop.runner, timeUntilNextTick); + }; + MainLoop.method = "timeout"; + } else if (mode == 1) { + MainLoop.scheduler = function MainLoop_scheduler_rAF() { + MainLoop.requestAnimationFrame(MainLoop.runner); + }; + MainLoop.method = "rAF"; + } else if (mode == 2) { + if (typeof MainLoop.setImmediate == "undefined") { + if (typeof setImmediate == "undefined") { + // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) + var setImmediates = []; + var emscriptenMainLoopMessageId = "setimmediate"; + /** @param {Event} event */ var MainLoop_setImmediate_messageHandler = event => { + // When called in current thread or Worker, the main loop ID is structured slightly different to accommodate for --proxy-to-worker runtime listening to Worker events, + // so check for both cases. + if (event.data === emscriptenMainLoopMessageId || event.data.target === emscriptenMainLoopMessageId) { + event.stopPropagation(); + setImmediates.shift()(); + } + }; + addEventListener("message", MainLoop_setImmediate_messageHandler, true); + MainLoop.setImmediate = /** @type{function(function(): ?, ...?): number} */ (func => { + setImmediates.push(func); + if (ENVIRONMENT_IS_WORKER) { + Module["setImmediates"] ??= []; + Module["setImmediates"].push(func); + postMessage({ + target: emscriptenMainLoopMessageId + }); + } else postMessage(emscriptenMainLoopMessageId, "*"); + }); + } else { + MainLoop.setImmediate = setImmediate; + } + } + MainLoop.scheduler = function MainLoop_scheduler_setImmediate() { + MainLoop.setImmediate(MainLoop.runner); + }; + MainLoop.method = "immediate"; + } + return 0; +}; + +function _eglSwapInterval(display, interval) { + display >>>= 0; + if (display != 62e3) { + EGL.setErrorCode(12296); + return 0; + } + if (interval == 0) _emscripten_set_main_loop_timing(0, 0); else _emscripten_set_main_loop_timing(1, interval); + EGL.setErrorCode(12288); + return 1; +} + +function _eglTerminate(display) { + display >>>= 0; + if (display != 62e3) { + EGL.setErrorCode(12296); + return 0; + } + EGL.currentContext = 0; + EGL.currentReadSurface = 0; + EGL.currentDrawSurface = 0; + EGL.defaultDisplayInitialized = false; + EGL.setErrorCode(12288); + return 1; +} + +/** @suppress {duplicate } */ var _eglWaitClient = () => { + EGL.setErrorCode(12288); + return 1; +}; + +var _eglWaitGL = _eglWaitClient; + +var _eglWaitNative = nativeEngineId => { + EGL.setErrorCode(12288); + return 1; +}; + +var readEmAsmArgsArray = []; + +var readEmAsmArgs = (sigPtr, buf) => { + // Nobody should have mutated _readEmAsmArgsArray underneath us to be something else than an array. + assert(Array.isArray(readEmAsmArgsArray)); + // The input buffer is allocated on the stack, so it must be stack-aligned. + assert(buf % 16 == 0); + readEmAsmArgsArray.length = 0; + var ch; + // Most arguments are i32s, so shift the buffer pointer so it is a plain + // index into HEAP32. + while (ch = HEAPU8[sigPtr++ >>> 0]) { + var chr = String.fromCharCode(ch); + var validChars = [ "d", "f", "i", "p" ]; + // In WASM_BIGINT mode we support passing i64 values as bigint. + validChars.push("j"); + assert(validChars.includes(chr), `Invalid character ${ch}("${chr}") in readEmAsmArgs! Use only [${validChars}], and do not specify "v" for void return argument.`); + // Floats are always passed as doubles, so all types except for 'i' + // are 8 bytes and require alignment. + var wide = (ch != 105); + wide &= (ch != 112); + buf += wide && (buf % 8) ? 4 : 0; + readEmAsmArgsArray.push(// Special case for pointers under wasm64 or CAN_ADDRESS_2GB mode. + ch == 112 ? HEAPU32[((buf) >>> 2) >>> 0] : ch == 106 ? HEAP64[((buf) >>> 3) >>> 0] : ch == 105 ? HEAP32[((buf) >>> 2) >>> 0] : HEAPF64[((buf) >>> 3) >>> 0]); + buf += wide ? 8 : 4; + } + return readEmAsmArgsArray; +}; + +var runEmAsmFunction = (code, sigPtr, argbuf) => { + var args = readEmAsmArgs(sigPtr, argbuf); + assert(ASM_CONSTS.hasOwnProperty(code), `No EM_ASM constant found at address ${code}. The loaded WebAssembly file is likely out of sync with the generated JavaScript.`); + return ASM_CONSTS[code](...args); +}; + +function _emscripten_asm_const_int(code, sigPtr, argbuf) { + code >>>= 0; + sigPtr >>>= 0; + argbuf >>>= 0; + return runEmAsmFunction(code, sigPtr, argbuf); +} + +var runMainThreadEmAsm = (emAsmAddr, sigPtr, argbuf, sync) => { + var args = readEmAsmArgs(sigPtr, argbuf); + assert(ASM_CONSTS.hasOwnProperty(emAsmAddr), `No EM_ASM constant found at address ${emAsmAddr}. The loaded WebAssembly file is likely out of sync with the generated JavaScript.`); + return ASM_CONSTS[emAsmAddr](...args); +}; + +function _emscripten_asm_const_int_sync_on_main_thread(emAsmAddr, sigPtr, argbuf) { + emAsmAddr >>>= 0; + sigPtr >>>= 0; + argbuf >>>= 0; + return runMainThreadEmAsm(emAsmAddr, sigPtr, argbuf, 1); +} + +function _emscripten_asm_const_ptr_sync_on_main_thread(emAsmAddr, sigPtr, argbuf) { + emAsmAddr >>>= 0; + sigPtr >>>= 0; + argbuf >>>= 0; + return runMainThreadEmAsm(emAsmAddr, sigPtr, argbuf, 1); +} + +var wget = { + wgetRequests: {}, + nextWgetRequestHandle: 0, + getNextWgetRequestHandle() { + var handle = wget.nextWgetRequestHandle; + wget.nextWgetRequestHandle++; + return handle; + } +}; + +var _emscripten_async_wget2_abort = handle => { + var http = wget.wgetRequests[handle]; + http?.abort(); +}; + +var stackAlloc = sz => __emscripten_stack_alloc(sz); + +var stringToUTF8OnStack = str => { + var size = lengthBytesUTF8(str) + 1; + var ret = stackAlloc(size); + stringToUTF8(str, ret, size); + return ret; +}; + +var wasmTableMirror = []; + +/** @type {WebAssembly.Table} */ var wasmTable; + +var getWasmTableEntry = funcPtr => { + var func = wasmTableMirror[funcPtr]; + if (!func) { + /** @suppress {checkTypes} */ wasmTableMirror[funcPtr] = func = wasmTable.get(funcPtr); + } + /** @suppress {checkTypes} */ assert(wasmTable.get(funcPtr) == func, "JavaScript-side Wasm function table mirror is out of date!"); + return func; +}; + +function _emscripten_async_wget2_data(url, request, param, userdata, free, onload, onerror, onprogress) { + url >>>= 0; + request >>>= 0; + param >>>= 0; + userdata >>>= 0; + onload >>>= 0; + onerror >>>= 0; + onprogress >>>= 0; + var _url = UTF8ToString(url); + var _request = UTF8ToString(request); + var _param = UTF8ToString(param); + var http = new XMLHttpRequest; + http.open(_request, _url, true); + http.responseType = "arraybuffer"; + var handle = wget.getNextWgetRequestHandle(); + function onerrorjs() { + if (onerror) { + var sp = stackSave(); + var statusText = 0; + if (http.statusText) { + statusText = stringToUTF8OnStack(http.statusText); + } + getWasmTableEntry(onerror)(handle, userdata, http.status, statusText); + stackRestore(sp); + } + } + // LOAD + http.onload = e => { + if (http.status >= 200 && http.status < 300 || (http.status === 0 && _url.slice(0, 4).toLowerCase() != "http")) { + var byteArray = new Uint8Array(/** @type{ArrayBuffer} */ (http.response)); + var buffer = _malloc(byteArray.length); + HEAPU8.set(byteArray, buffer >>> 0); + if (onload) getWasmTableEntry(onload)(handle, userdata, buffer, byteArray.length); + _free(buffer); + } else { + onerrorjs(); + } + delete wget.wgetRequests[handle]; + }; + // ERROR + http.onerror = e => { + onerrorjs(); + delete wget.wgetRequests[handle]; + }; + // PROGRESS + http.onprogress = e => { + if (onprogress) getWasmTableEntry(onprogress)(handle, userdata, e.loaded, e.lengthComputable || e.lengthComputable === undefined ? e.total : 0); + }; + // ABORT + http.onabort = e => { + delete wget.wgetRequests[handle]; + }; + if (_request == "POST") { + //Send the proper header information along with the request + http.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); + http.send(_param); + } else { + http.send(null); + } + wget.wgetRequests[handle] = http; + return handle; +} + +var _emscripten_cancel_main_loop = () => { + MainLoop.pause(); + MainLoop.func = null; +}; + +function _emscripten_err(str) { + str >>>= 0; + return err(UTF8ToString(str)); +} + +var onExits = []; + +var addOnExit = cb => onExits.push(cb); + +var JSEvents = { + memcpy(target, src, size) { + HEAP8.set(HEAP8.subarray(src >>> 0, src + size >>> 0), target >>> 0); + }, + removeAllEventListeners() { + while (JSEvents.eventHandlers.length) { + JSEvents._removeHandler(JSEvents.eventHandlers.length - 1); + } + JSEvents.deferredCalls = []; + }, + inEventHandler: 0, + deferredCalls: [], + deferCall(targetFunction, precedence, argsList) { + function arraysHaveEqualContent(arrA, arrB) { + if (arrA.length != arrB.length) return false; + for (var i in arrA) { + if (arrA[i] != arrB[i]) return false; + } + return true; + } + // Test if the given call was already queued, and if so, don't add it again. + for (var call of JSEvents.deferredCalls) { + if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { + return; + } + } + JSEvents.deferredCalls.push({ + targetFunction, + precedence, + argsList + }); + JSEvents.deferredCalls.sort((x, y) => x.precedence < y.precedence); + }, + removeDeferredCalls(targetFunction) { + JSEvents.deferredCalls = JSEvents.deferredCalls.filter(call => call.targetFunction != targetFunction); + }, + canPerformEventHandlerRequests() { + if (navigator.userActivation) { + // Verify against transient activation status from UserActivation API + // whether it is possible to perform a request here without needing to defer. See + // https://developer.mozilla.org/en-US/docs/Web/Security/User_activation#transient_activation + // and https://caniuse.com/mdn-api_useractivation + // At the time of writing, Firefox does not support this API: https://bugzilla.mozilla.org/show_bug.cgi?id=1791079 + return navigator.userActivation.isActive; + } + return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; + }, + runDeferredCalls() { + if (!JSEvents.canPerformEventHandlerRequests()) { + return; + } + var deferredCalls = JSEvents.deferredCalls; + JSEvents.deferredCalls = []; + for (var call of deferredCalls) { + call.targetFunction(...call.argsList); + } + }, + eventHandlers: [], + removeAllHandlersOnTarget: (target, eventTypeString) => { + for (var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == target && (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { + JSEvents._removeHandler(i--); + } + } + }, + _removeHandler(i) { + var h = JSEvents.eventHandlers[i]; + h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); + JSEvents.eventHandlers.splice(i, 1); + }, + registerOrRemoveHandler(eventHandler) { + if (!eventHandler.target) { + err("registerOrRemoveHandler: the target element for event handler registration does not exist, when processing the following event handler registration:"); + console.dir(eventHandler); + return -4; + } + if (eventHandler.callbackfunc) { + eventHandler.eventListenerFunc = function(event) { + // Increment nesting count for the event handler. + ++JSEvents.inEventHandler; + JSEvents.currentEventHandler = eventHandler; + // Process any old deferred calls the user has placed. + JSEvents.runDeferredCalls(); + // Process the actual event, calls back to user C code handler. + eventHandler.handlerFunc(event); + // Process any new deferred calls that were placed right now from this event handler. + JSEvents.runDeferredCalls(); + // Out of event handler - restore nesting count. + --JSEvents.inEventHandler; + }; + eventHandler.target.addEventListener(eventHandler.eventTypeString, eventHandler.eventListenerFunc, eventHandler.useCapture); + JSEvents.eventHandlers.push(eventHandler); + } else { + for (var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == eventHandler.target && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { + JSEvents._removeHandler(i--); + } + } + } + return 0; + }, + getNodeNameForTarget(target) { + if (!target) return ""; + if (target == window) return "#window"; + if (target == screen) return "#screen"; + return target?.nodeName || ""; + }, + fullscreenEnabled() { + return document.fullscreenEnabled || document.webkitFullscreenEnabled; + } +}; + +/** @type {Object} */ var specialHTMLTargets = [ 0, document, window ]; + +var maybeCStringToJsString = cString => cString > 2 ? UTF8ToString(cString) : cString; + +/** @suppress {duplicate } */ var findEventTarget = target => { + target = maybeCStringToJsString(target); + var domElement = specialHTMLTargets[target] || document.querySelector(target); + return domElement; +}; + +var findCanvasEventTarget = findEventTarget; + +function _emscripten_get_canvas_element_size(target, width, height) { + target >>>= 0; + width >>>= 0; + height >>>= 0; + var canvas = findCanvasEventTarget(target); + if (!canvas) return -4; + HEAP32[((width) >>> 2) >>> 0] = canvas.width; + HEAP32[((height) >>> 2) >>> 0] = canvas.height; +} + +var getCanvasElementSize = target => { + var sp = stackSave(); + var w = stackAlloc(8); + var h = w + 4; + var targetInt = stringToUTF8OnStack(target.id); + var ret = _emscripten_get_canvas_element_size(targetInt, w, h); + var size = [ HEAP32[((w) >>> 2) >>> 0], HEAP32[((h) >>> 2) >>> 0] ]; + stackRestore(sp); + return size; +}; + +function _emscripten_set_canvas_element_size(target, width, height) { + target >>>= 0; + var canvas = findCanvasEventTarget(target); + if (!canvas) return -4; + canvas.width = width; + canvas.height = height; + return 0; +} + +var setCanvasElementSize = (target, width, height) => { + if (!target.controlTransferredOffscreen) { + target.width = width; + target.height = height; + } else { + // This function is being called from high-level JavaScript code instead of asm.js/Wasm, + // and it needs to synchronously proxy over to another thread, so marshal the string onto the heap to do the call. + var sp = stackSave(); + var targetInt = stringToUTF8OnStack(target.id); + _emscripten_set_canvas_element_size(targetInt, width, height); + stackRestore(sp); + } +}; + +var currentFullscreenStrategy = {}; + +var registerRestoreOldStyle = canvas => { + var canvasSize = getCanvasElementSize(canvas); + var oldWidth = canvasSize[0]; + var oldHeight = canvasSize[1]; + var oldCssWidth = canvas.style.width; + var oldCssHeight = canvas.style.height; + var oldBackgroundColor = canvas.style.backgroundColor; + // Chrome reads color from here. + var oldDocumentBackgroundColor = document.body.style.backgroundColor; + // IE11 reads color from here. + // Firefox always has black background color. + var oldPaddingLeft = canvas.style.paddingLeft; + // Chrome, FF, Safari + var oldPaddingRight = canvas.style.paddingRight; + var oldPaddingTop = canvas.style.paddingTop; + var oldPaddingBottom = canvas.style.paddingBottom; + var oldMarginLeft = canvas.style.marginLeft; + // IE11 + var oldMarginRight = canvas.style.marginRight; + var oldMarginTop = canvas.style.marginTop; + var oldMarginBottom = canvas.style.marginBottom; + var oldDocumentBodyMargin = document.body.style.margin; + var oldDocumentOverflow = document.documentElement.style.overflow; + // Chrome, Firefox + var oldDocumentScroll = document.body.scroll; + // IE + var oldImageRendering = canvas.style.imageRendering; + function restoreOldStyle() { + if (!getFullscreenElement()) { + document.removeEventListener("fullscreenchange", restoreOldStyle); + // Unprefixed Fullscreen API shipped in Chromium 71 (https://bugs.chromium.org/p/chromium/issues/detail?id=383813) + // As of Safari 13.0.3 on macOS Catalina 10.15.1 still ships with prefixed webkitfullscreenchange. TODO: revisit this check once Safari ships unprefixed version. + document.removeEventListener("webkitfullscreenchange", restoreOldStyle); + setCanvasElementSize(canvas, oldWidth, oldHeight); + canvas.style.width = oldCssWidth; + canvas.style.height = oldCssHeight; + canvas.style.backgroundColor = oldBackgroundColor; + // Chrome + // IE11 hack: assigning 'undefined' or an empty string to document.body.style.backgroundColor has no effect, so first assign back the default color + // before setting the undefined value. Setting undefined value is also important, or otherwise we would later treat that as something that the user + // had explicitly set so subsequent fullscreen transitions would not set background color properly. + if (!oldDocumentBackgroundColor) document.body.style.backgroundColor = "white"; + document.body.style.backgroundColor = oldDocumentBackgroundColor; + // IE11 + canvas.style.paddingLeft = oldPaddingLeft; + // Chrome, FF, Safari + canvas.style.paddingRight = oldPaddingRight; + canvas.style.paddingTop = oldPaddingTop; + canvas.style.paddingBottom = oldPaddingBottom; + canvas.style.marginLeft = oldMarginLeft; + // IE11 + canvas.style.marginRight = oldMarginRight; + canvas.style.marginTop = oldMarginTop; + canvas.style.marginBottom = oldMarginBottom; + document.body.style.margin = oldDocumentBodyMargin; + document.documentElement.style.overflow = oldDocumentOverflow; + // Chrome, Firefox + document.body.scroll = oldDocumentScroll; + // IE + canvas.style.imageRendering = oldImageRendering; + if (canvas.GLctxObject) canvas.GLctxObject.GLctx.viewport(0, 0, oldWidth, oldHeight); + if (currentFullscreenStrategy.canvasResizedCallback) { + getWasmTableEntry(currentFullscreenStrategy.canvasResizedCallback)(37, 0, currentFullscreenStrategy.canvasResizedCallbackUserData); + } + } + } + document.addEventListener("fullscreenchange", restoreOldStyle); + // Unprefixed Fullscreen API shipped in Chromium 71 (https://bugs.chromium.org/p/chromium/issues/detail?id=383813) + // As of Safari 13.0.3 on macOS Catalina 10.15.1 still ships with prefixed webkitfullscreenchange. TODO: revisit this check once Safari ships unprefixed version. + document.addEventListener("webkitfullscreenchange", restoreOldStyle); + return restoreOldStyle; +}; + +var setLetterbox = (element, topBottom, leftRight) => { + // Cannot use margin to specify letterboxes in FF or Chrome, since those ignore margins in fullscreen mode. + element.style.paddingLeft = element.style.paddingRight = leftRight + "px"; + element.style.paddingTop = element.style.paddingBottom = topBottom + "px"; +}; + +var getBoundingClientRect = e => specialHTMLTargets.indexOf(e) < 0 ? e.getBoundingClientRect() : { + "left": 0, + "top": 0 +}; + +var JSEvents_resizeCanvasForFullscreen = (target, strategy) => { + var restoreOldStyle = registerRestoreOldStyle(target); + var cssWidth = strategy.softFullscreen ? innerWidth : screen.width; + var cssHeight = strategy.softFullscreen ? innerHeight : screen.height; + var rect = getBoundingClientRect(target); + var windowedCssWidth = rect.width; + var windowedCssHeight = rect.height; + var canvasSize = getCanvasElementSize(target); + var windowedRttWidth = canvasSize[0]; + var windowedRttHeight = canvasSize[1]; + if (strategy.scaleMode == 3) { + setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2); + cssWidth = windowedCssWidth; + cssHeight = windowedCssHeight; + } else if (strategy.scaleMode == 2) { + if (cssWidth * windowedRttHeight < windowedRttWidth * cssHeight) { + var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth; + setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0); + cssHeight = desiredCssHeight; + } else { + var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; + setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); + cssWidth = desiredCssWidth; + } + } + // If we are adding padding, must choose a background color or otherwise Chrome will give the + // padding a default white color. Do it only if user has not customized their own background color. + target.style.backgroundColor ||= "black"; + // IE11 does the same, but requires the color to be set in the document body. + document.body.style.backgroundColor ||= "black"; + // IE11 + // Firefox always shows black letterboxes independent of style color. + target.style.width = cssWidth + "px"; + target.style.height = cssHeight + "px"; + if (strategy.filteringMode == 1) { + target.style.imageRendering = "optimizeSpeed"; + target.style.imageRendering = "-moz-crisp-edges"; + target.style.imageRendering = "-o-crisp-edges"; + target.style.imageRendering = "-webkit-optimize-contrast"; + target.style.imageRendering = "optimize-contrast"; + target.style.imageRendering = "crisp-edges"; + target.style.imageRendering = "pixelated"; + } + var dpiScale = (strategy.canvasResolutionScaleMode == 2) ? devicePixelRatio : 1; + if (strategy.canvasResolutionScaleMode != 0) { + var newWidth = (cssWidth * dpiScale) | 0; + var newHeight = (cssHeight * dpiScale) | 0; + setCanvasElementSize(target, newWidth, newHeight); + if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, newWidth, newHeight); + } + return restoreOldStyle; +}; + +var JSEvents_requestFullscreen = (target, strategy) => { + // EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT + EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE is a mode where no extra logic is performed to the DOM elements. + if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) { + JSEvents_resizeCanvasForFullscreen(target, strategy); + } + if (target.requestFullscreen) { + target.requestFullscreen(); + } else if (target.webkitRequestFullscreen) { + target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); + } else { + return JSEvents.fullscreenEnabled() ? -3 : -1; + } + currentFullscreenStrategy = strategy; + if (strategy.canvasResizedCallback) { + getWasmTableEntry(strategy.canvasResizedCallback)(37, 0, strategy.canvasResizedCallbackUserData); + } + return 0; +}; + +var _emscripten_exit_fullscreen = () => { + if (!JSEvents.fullscreenEnabled()) return -1; + // Make sure no queued up calls will fire after this. + JSEvents.removeDeferredCalls(JSEvents_requestFullscreen); + var d = specialHTMLTargets[1]; + if (d.exitFullscreen) { + d.fullscreenElement && d.exitFullscreen(); + } else if (d.webkitExitFullscreen) { + d.webkitFullscreenElement && d.webkitExitFullscreen(); + } else { + return -1; + } + return 0; +}; + +var requestPointerLock = target => { + if (target.requestPointerLock) { + target.requestPointerLock(); + } else { + // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, + // or if the whole browser just doesn't support the feature. + if (document.body.requestPointerLock) { + return -3; + } + return -1; + } + return 0; +}; + +var _emscripten_exit_pointerlock = () => { + // Make sure no queued up calls will fire after this. + JSEvents.removeDeferredCalls(requestPointerLock); + if (!document.exitPointerLock) return -1; + document.exitPointerLock(); + return 0; +}; + +var __emscripten_runtime_keepalive_clear = () => { + noExitRuntime = false; + runtimeKeepaliveCounter = 0; +}; + +var _emscripten_force_exit = status => { + warnOnce("emscripten_force_exit cannot actually shut down the runtime, as the build does not have EXIT_RUNTIME set"); + __emscripten_runtime_keepalive_clear(); + _exit(status); +}; + +var _emscripten_get_device_pixel_ratio = () => devicePixelRatio; + +function _emscripten_get_element_css_size(target, width, height) { + target >>>= 0; + width >>>= 0; + height >>>= 0; + target = findEventTarget(target); + if (!target) return -4; + var rect = getBoundingClientRect(target); + HEAPF64[((width) >>> 3) >>> 0] = rect.width; + HEAPF64[((height) >>> 3) >>> 0] = rect.height; + return 0; +} + +var fillGamepadEventData = (eventStruct, e) => { + HEAPF64[((eventStruct) >>> 3) >>> 0] = e.timestamp; + for (var i = 0; i < e.axes.length; ++i) { + HEAPF64[(((eventStruct + i * 8) + (16)) >>> 3) >>> 0] = e.axes[i]; + } + for (var i = 0; i < e.buttons.length; ++i) { + if (typeof e.buttons[i] == "object") { + HEAPF64[(((eventStruct + i * 8) + (528)) >>> 3) >>> 0] = e.buttons[i].value; + } else { + HEAPF64[(((eventStruct + i * 8) + (528)) >>> 3) >>> 0] = e.buttons[i]; + } + } + for (var i = 0; i < e.buttons.length; ++i) { + if (typeof e.buttons[i] == "object") { + HEAP8[(eventStruct + i) + (1040) >>> 0] = e.buttons[i].pressed; + } else { + // Assigning a boolean to HEAP32, that's ok, but Closure would like to warn about it: + /** @suppress {checkTypes} */ HEAP8[(eventStruct + i) + (1040) >>> 0] = e.buttons[i] == 1; + } + } + HEAP8[(eventStruct) + (1104) >>> 0] = e.connected; + HEAP32[(((eventStruct) + (1108)) >>> 2) >>> 0] = e.index; + HEAP32[(((eventStruct) + (8)) >>> 2) >>> 0] = e.axes.length; + HEAP32[(((eventStruct) + (12)) >>> 2) >>> 0] = e.buttons.length; + stringToUTF8(e.id, eventStruct + 1112, 64); + stringToUTF8(e.mapping, eventStruct + 1176, 64); +}; + +function _emscripten_get_gamepad_status(index, gamepadState) { + gamepadState >>>= 0; + if (!JSEvents.lastGamepadState) throw "emscripten_get_gamepad_status() can only be called after having first called emscripten_sample_gamepad_data() and that function has returned EMSCRIPTEN_RESULT_SUCCESS!"; + // INVALID_PARAM is returned on a Gamepad index that never was there. + if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; + // NO_DATA is returned on a Gamepad index that was removed. + // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. + // This is because gamepads must keep their original position in the array. + // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. + if (!JSEvents.lastGamepadState[index]) return -7; + fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); + return 0; +} + +var _emscripten_get_num_gamepads = () => { + if (!JSEvents.lastGamepadState) throw "emscripten_get_num_gamepads() can only be called after having first called emscripten_sample_gamepad_data() and that function has returned EMSCRIPTEN_RESULT_SUCCESS!"; + // N.B. Do not call emscripten_get_num_gamepads() unless having first called emscripten_sample_gamepad_data(), and that has returned EMSCRIPTEN_RESULT_SUCCESS. + // Otherwise the following line will throw an exception. + return JSEvents.lastGamepadState.length; +}; + +function _emscripten_get_screen_size(width, height) { + width >>>= 0; + height >>>= 0; + HEAP32[((width) >>> 2) >>> 0] = screen.width; + HEAP32[((height) >>> 2) >>> 0] = screen.height; +} + +/** @suppress {duplicate } */ var _glActiveTexture = x0 => GLctx.activeTexture(x0); + +var _emscripten_glActiveTexture = _glActiveTexture; + +/** @suppress {duplicate } */ var _glAttachShader = (program, shader) => { + GLctx.attachShader(GL.programs[program], GL.shaders[shader]); +}; + +var _emscripten_glAttachShader = _glAttachShader; + +/** @suppress {duplicate } */ var _glBeginQueryEXT = (target, id) => { + GLctx.disjointTimerQueryExt["beginQueryEXT"](target, GL.queries[id]); +}; + +var _emscripten_glBeginQueryEXT = _glBeginQueryEXT; + +/** @suppress {duplicate } */ function _glBindAttribLocation(program, index, name) { + name >>>= 0; + GLctx.bindAttribLocation(GL.programs[program], index, UTF8ToString(name)); +} + +var _emscripten_glBindAttribLocation = _glBindAttribLocation; + +/** @suppress {duplicate } */ var _glBindBuffer = (target, buffer) => { + GLctx.bindBuffer(target, GL.buffers[buffer]); +}; + +var _emscripten_glBindBuffer = _glBindBuffer; + +/** @suppress {duplicate } */ var _glBindFramebuffer = (target, framebuffer) => { + GLctx.bindFramebuffer(target, GL.framebuffers[framebuffer]); +}; + +var _emscripten_glBindFramebuffer = _glBindFramebuffer; + +/** @suppress {duplicate } */ var _glBindRenderbuffer = (target, renderbuffer) => { + GLctx.bindRenderbuffer(target, GL.renderbuffers[renderbuffer]); +}; + +var _emscripten_glBindRenderbuffer = _glBindRenderbuffer; + +/** @suppress {duplicate } */ var _glBindTexture = (target, texture) => { + GLctx.bindTexture(target, GL.textures[texture]); +}; + +var _emscripten_glBindTexture = _glBindTexture; + +/** @suppress {duplicate } */ var _glBindVertexArray = vao => { + GLctx.bindVertexArray(GL.vaos[vao]); +}; + +/** @suppress {duplicate } */ var _glBindVertexArrayOES = _glBindVertexArray; + +var _emscripten_glBindVertexArrayOES = _glBindVertexArrayOES; + +/** @suppress {duplicate } */ var _glBlendColor = (x0, x1, x2, x3) => GLctx.blendColor(x0, x1, x2, x3); + +var _emscripten_glBlendColor = _glBlendColor; + +/** @suppress {duplicate } */ var _glBlendEquation = x0 => GLctx.blendEquation(x0); + +var _emscripten_glBlendEquation = _glBlendEquation; + +/** @suppress {duplicate } */ var _glBlendEquationSeparate = (x0, x1) => GLctx.blendEquationSeparate(x0, x1); + +var _emscripten_glBlendEquationSeparate = _glBlendEquationSeparate; + +/** @suppress {duplicate } */ var _glBlendFunc = (x0, x1) => GLctx.blendFunc(x0, x1); + +var _emscripten_glBlendFunc = _glBlendFunc; + +/** @suppress {duplicate } */ var _glBlendFuncSeparate = (x0, x1, x2, x3) => GLctx.blendFuncSeparate(x0, x1, x2, x3); + +var _emscripten_glBlendFuncSeparate = _glBlendFuncSeparate; + +/** @suppress {duplicate } */ function _glBufferData(target, size, data, usage) { + size >>>= 0; + data >>>= 0; + // N.b. here first form specifies a heap subarray, second form an integer + // size, so the ?: code here is polymorphic. It is advised to avoid + // randomly mixing both uses in calling code, to avoid any potential JS + // engine JIT issues. + GLctx.bufferData(target, data ? HEAPU8.subarray(data >>> 0, data + size >>> 0) : size, usage); +} + +var _emscripten_glBufferData = _glBufferData; + +/** @suppress {duplicate } */ function _glBufferSubData(target, offset, size, data) { + offset >>>= 0; + size >>>= 0; + data >>>= 0; + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data >>> 0, data + size >>> 0)); +} + +var _emscripten_glBufferSubData = _glBufferSubData; + +/** @suppress {duplicate } */ var _glCheckFramebufferStatus = x0 => GLctx.checkFramebufferStatus(x0); + +var _emscripten_glCheckFramebufferStatus = _glCheckFramebufferStatus; + +/** @suppress {duplicate } */ var _glClear = x0 => GLctx.clear(x0); + +var _emscripten_glClear = _glClear; + +/** @suppress {duplicate } */ var _glClearColor = (x0, x1, x2, x3) => GLctx.clearColor(x0, x1, x2, x3); + +var _emscripten_glClearColor = _glClearColor; + +/** @suppress {duplicate } */ var _glClearDepthf = x0 => GLctx.clearDepth(x0); + +var _emscripten_glClearDepthf = _glClearDepthf; + +/** @suppress {duplicate } */ var _glClearStencil = x0 => GLctx.clearStencil(x0); + +var _emscripten_glClearStencil = _glClearStencil; + +/** @suppress {duplicate } */ var _glClipControlEXT = (origin, depth) => { + GLctx.extClipControl["clipControlEXT"](origin, depth); +}; + +var _emscripten_glClipControlEXT = _glClipControlEXT; + +/** @suppress {duplicate } */ var _glColorMask = (red, green, blue, alpha) => { + GLctx.colorMask(!!red, !!green, !!blue, !!alpha); +}; + +var _emscripten_glColorMask = _glColorMask; + +/** @suppress {duplicate } */ var _glCompileShader = shader => { + GLctx.compileShader(GL.shaders[shader]); +}; + +var _emscripten_glCompileShader = _glCompileShader; + +/** @suppress {duplicate } */ function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + data >>>= 0; + // `data` may be null here, which means "allocate uniniitalized space but + // don't upload" in GLES parlance, but `compressedTexImage2D` requires the + // final data parameter, so we simply pass a heap view starting at zero + // effectively uploading whatever happens to be near address zero. See + // https://github.com/emscripten-core/emscripten/issues/19300. + GLctx.compressedTexImage2D(target, level, internalFormat, width, height, border, HEAPU8.subarray((data) >>> 0, data + imageSize >>> 0)); +} + +var _emscripten_glCompressedTexImage2D = _glCompressedTexImage2D; + +/** @suppress {duplicate } */ function _glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { + data >>>= 0; + GLctx.compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, HEAPU8.subarray((data) >>> 0, data + imageSize >>> 0)); +} + +var _emscripten_glCompressedTexSubImage2D = _glCompressedTexSubImage2D; + +/** @suppress {duplicate } */ var _glCopyTexImage2D = (x0, x1, x2, x3, x4, x5, x6, x7) => GLctx.copyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7); + +var _emscripten_glCopyTexImage2D = _glCopyTexImage2D; + +/** @suppress {duplicate } */ var _glCopyTexSubImage2D = (x0, x1, x2, x3, x4, x5, x6, x7) => GLctx.copyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7); + +var _emscripten_glCopyTexSubImage2D = _glCopyTexSubImage2D; + +/** @suppress {duplicate } */ var _glCreateProgram = () => { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + // Store additional information needed for each shader program: + program.name = id; + // Lazy cache results of + // glGetProgramiv(GL_ACTIVE_UNIFORM_MAX_LENGTH/GL_ACTIVE_ATTRIBUTE_MAX_LENGTH/GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH) + program.maxUniformLength = program.maxAttributeLength = program.maxUniformBlockNameLength = 0; + program.uniformIdCounter = 1; + GL.programs[id] = program; + return id; +}; + +var _emscripten_glCreateProgram = _glCreateProgram; + +/** @suppress {duplicate } */ var _glCreateShader = shaderType => { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; +}; + +var _emscripten_glCreateShader = _glCreateShader; + +/** @suppress {duplicate } */ var _glCullFace = x0 => GLctx.cullFace(x0); + +var _emscripten_glCullFace = _glCullFace; + +/** @suppress {duplicate } */ function _glDeleteBuffers(n, buffers) { + buffers >>>= 0; + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers) + (i * 4)) >>> 2) >>> 0]; + var buffer = GL.buffers[id]; + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + } +} + +var _emscripten_glDeleteBuffers = _glDeleteBuffers; + +/** @suppress {duplicate } */ function _glDeleteFramebuffers(n, framebuffers) { + framebuffers >>>= 0; + for (var i = 0; i < n; ++i) { + var id = HEAP32[(((framebuffers) + (i * 4)) >>> 2) >>> 0]; + var framebuffer = GL.framebuffers[id]; + if (!framebuffer) continue; + // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". + GLctx.deleteFramebuffer(framebuffer); + framebuffer.name = 0; + GL.framebuffers[id] = null; + } +} + +var _emscripten_glDeleteFramebuffers = _glDeleteFramebuffers; + +/** @suppress {duplicate } */ var _glDeleteProgram = id => { + if (!id) return; + var program = GL.programs[id]; + if (!program) { + // glDeleteProgram actually signals an error when deleting a nonexisting + // object, unlike some other GL delete functions. + GL.recordError(1281); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; +}; + +var _emscripten_glDeleteProgram = _glDeleteProgram; + +/** @suppress {duplicate } */ function _glDeleteQueriesEXT(n, ids) { + ids >>>= 0; + for (var i = 0; i < n; i++) { + var id = HEAP32[(((ids) + (i * 4)) >>> 2) >>> 0]; + var query = GL.queries[id]; + if (!query) continue; + // GL spec: "unused names in ids are ignored, as is the name zero." + GLctx.disjointTimerQueryExt["deleteQueryEXT"](query); + GL.queries[id] = null; + } +} + +var _emscripten_glDeleteQueriesEXT = _glDeleteQueriesEXT; + +/** @suppress {duplicate } */ function _glDeleteRenderbuffers(n, renderbuffers) { + renderbuffers >>>= 0; + for (var i = 0; i < n; i++) { + var id = HEAP32[(((renderbuffers) + (i * 4)) >>> 2) >>> 0]; + var renderbuffer = GL.renderbuffers[id]; + if (!renderbuffer) continue; + // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". + GLctx.deleteRenderbuffer(renderbuffer); + renderbuffer.name = 0; + GL.renderbuffers[id] = null; + } +} + +var _emscripten_glDeleteRenderbuffers = _glDeleteRenderbuffers; + +/** @suppress {duplicate } */ var _glDeleteShader = id => { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { + // glDeleteShader actually signals an error when deleting a nonexisting + // object, unlike some other GL delete functions. + GL.recordError(1281); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; +}; + +var _emscripten_glDeleteShader = _glDeleteShader; + +/** @suppress {duplicate } */ function _glDeleteTextures(n, textures) { + textures >>>= 0; + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures) + (i * 4)) >>> 2) >>> 0]; + var texture = GL.textures[id]; + // GL spec: "glDeleteTextures silently ignores 0s and names that do not + // correspond to existing textures". + if (!texture) continue; + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } +} + +var _emscripten_glDeleteTextures = _glDeleteTextures; + +/** @suppress {duplicate } */ function _glDeleteVertexArrays(n, vaos) { + vaos >>>= 0; + for (var i = 0; i < n; i++) { + var id = HEAP32[(((vaos) + (i * 4)) >>> 2) >>> 0]; + GLctx.deleteVertexArray(GL.vaos[id]); + GL.vaos[id] = null; + } +} + +/** @suppress {duplicate } */ var _glDeleteVertexArraysOES = _glDeleteVertexArrays; + +var _emscripten_glDeleteVertexArraysOES = _glDeleteVertexArraysOES; + +/** @suppress {duplicate } */ var _glDepthFunc = x0 => GLctx.depthFunc(x0); + +var _emscripten_glDepthFunc = _glDepthFunc; + +/** @suppress {duplicate } */ var _glDepthMask = flag => { + GLctx.depthMask(!!flag); +}; + +var _emscripten_glDepthMask = _glDepthMask; + +/** @suppress {duplicate } */ var _glDepthRangef = (x0, x1) => GLctx.depthRange(x0, x1); + +var _emscripten_glDepthRangef = _glDepthRangef; + +/** @suppress {duplicate } */ var _glDetachShader = (program, shader) => { + GLctx.detachShader(GL.programs[program], GL.shaders[shader]); +}; + +var _emscripten_glDetachShader = _glDetachShader; + +/** @suppress {duplicate } */ var _glDisable = x0 => GLctx.disable(x0); + +var _emscripten_glDisable = _glDisable; + +/** @suppress {duplicate } */ var _glDisableVertexAttribArray = index => { + GLctx.disableVertexAttribArray(index); +}; + +var _emscripten_glDisableVertexAttribArray = _glDisableVertexAttribArray; + +/** @suppress {duplicate } */ var _glDrawArrays = (mode, first, count) => { + GLctx.drawArrays(mode, first, count); +}; + +var _emscripten_glDrawArrays = _glDrawArrays; + +/** @suppress {duplicate } */ var _glDrawArraysInstanced = (mode, first, count, primcount) => { + GLctx.drawArraysInstanced(mode, first, count, primcount); +}; + +/** @suppress {duplicate } */ var _glDrawArraysInstancedANGLE = _glDrawArraysInstanced; + +var _emscripten_glDrawArraysInstancedANGLE = _glDrawArraysInstancedANGLE; + +var tempFixedLengthArray = []; + +/** @suppress {duplicate } */ function _glDrawBuffers(n, bufs) { + bufs >>>= 0; + var bufArray = tempFixedLengthArray[n]; + for (var i = 0; i < n; i++) { + bufArray[i] = HEAP32[(((bufs) + (i * 4)) >>> 2) >>> 0]; + } + GLctx.drawBuffers(bufArray); +} + +/** @suppress {duplicate } */ var _glDrawBuffersWEBGL = _glDrawBuffers; + +var _emscripten_glDrawBuffersWEBGL = _glDrawBuffersWEBGL; + +/** @suppress {duplicate } */ function _glDrawElements(mode, count, type, indices) { + indices >>>= 0; + GLctx.drawElements(mode, count, type, indices); +} + +var _emscripten_glDrawElements = _glDrawElements; + +/** @suppress {duplicate } */ function _glDrawElementsInstanced(mode, count, type, indices, primcount) { + indices >>>= 0; + GLctx.drawElementsInstanced(mode, count, type, indices, primcount); +} + +/** @suppress {duplicate } */ var _glDrawElementsInstancedANGLE = _glDrawElementsInstanced; + +var _emscripten_glDrawElementsInstancedANGLE = _glDrawElementsInstancedANGLE; + +/** @suppress {duplicate } */ var _glEnable = x0 => GLctx.enable(x0); + +var _emscripten_glEnable = _glEnable; + +/** @suppress {duplicate } */ var _glEnableVertexAttribArray = index => { + GLctx.enableVertexAttribArray(index); +}; + +var _emscripten_glEnableVertexAttribArray = _glEnableVertexAttribArray; + +/** @suppress {duplicate } */ var _glEndQueryEXT = target => { + GLctx.disjointTimerQueryExt["endQueryEXT"](target); +}; + +var _emscripten_glEndQueryEXT = _glEndQueryEXT; + +/** @suppress {duplicate } */ var _glFinish = () => GLctx.finish(); + +var _emscripten_glFinish = _glFinish; + +/** @suppress {duplicate } */ var _glFlush = () => GLctx.flush(); + +var _emscripten_glFlush = _glFlush; + +/** @suppress {duplicate } */ var _glFramebufferRenderbuffer = (target, attachment, renderbuffertarget, renderbuffer) => { + GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, GL.renderbuffers[renderbuffer]); +}; + +var _emscripten_glFramebufferRenderbuffer = _glFramebufferRenderbuffer; + +/** @suppress {duplicate } */ var _glFramebufferTexture2D = (target, attachment, textarget, texture, level) => { + GLctx.framebufferTexture2D(target, attachment, textarget, GL.textures[texture], level); +}; + +var _emscripten_glFramebufferTexture2D = _glFramebufferTexture2D; + +/** @suppress {duplicate } */ var _glFrontFace = x0 => GLctx.frontFace(x0); + +var _emscripten_glFrontFace = _glFrontFace; + +/** @suppress {duplicate } */ function _glGenBuffers(n, buffers) { + buffers >>>= 0; + GL.genObject(n, buffers, "createBuffer", GL.buffers); +} + +var _emscripten_glGenBuffers = _glGenBuffers; + +/** @suppress {duplicate } */ function _glGenFramebuffers(n, ids) { + ids >>>= 0; + GL.genObject(n, ids, "createFramebuffer", GL.framebuffers); +} + +var _emscripten_glGenFramebuffers = _glGenFramebuffers; + +/** @suppress {duplicate } */ function _glGenQueriesEXT(n, ids) { + ids >>>= 0; + for (var i = 0; i < n; i++) { + var query = GLctx.disjointTimerQueryExt["createQueryEXT"](); + if (!query) { + GL.recordError(1282); + while (i < n) HEAP32[(((ids) + (i++ * 4)) >>> 2) >>> 0] = 0; + return; + } + var id = GL.getNewId(GL.queries); + query.name = id; + GL.queries[id] = query; + HEAP32[(((ids) + (i * 4)) >>> 2) >>> 0] = id; + } +} + +var _emscripten_glGenQueriesEXT = _glGenQueriesEXT; + +/** @suppress {duplicate } */ function _glGenRenderbuffers(n, renderbuffers) { + renderbuffers >>>= 0; + GL.genObject(n, renderbuffers, "createRenderbuffer", GL.renderbuffers); +} + +var _emscripten_glGenRenderbuffers = _glGenRenderbuffers; + +/** @suppress {duplicate } */ function _glGenTextures(n, textures) { + textures >>>= 0; + GL.genObject(n, textures, "createTexture", GL.textures); +} + +var _emscripten_glGenTextures = _glGenTextures; + +/** @suppress {duplicate } */ function _glGenVertexArrays(n, arrays) { + arrays >>>= 0; + GL.genObject(n, arrays, "createVertexArray", GL.vaos); +} + +/** @suppress {duplicate } */ var _glGenVertexArraysOES = _glGenVertexArrays; + +var _emscripten_glGenVertexArraysOES = _glGenVertexArraysOES; + +/** @suppress {duplicate } */ var _glGenerateMipmap = x0 => GLctx.generateMipmap(x0); + +var _emscripten_glGenerateMipmap = _glGenerateMipmap; + +var __glGetActiveAttribOrUniform = (funcName, program, index, bufSize, length, size, type, name) => { + program = GL.programs[program]; + var info = GLctx[funcName](program, index); + if (info) { + // If an error occurs, nothing will be written to length, size and type and name. + var numBytesWrittenExclNull = name && stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length) >>> 2) >>> 0] = numBytesWrittenExclNull; + if (size) HEAP32[((size) >>> 2) >>> 0] = info.size; + if (type) HEAP32[((type) >>> 2) >>> 0] = info.type; + } +}; + +/** @suppress {duplicate } */ function _glGetActiveAttrib(program, index, bufSize, length, size, type, name) { + length >>>= 0; + size >>>= 0; + type >>>= 0; + name >>>= 0; + return __glGetActiveAttribOrUniform("getActiveAttrib", program, index, bufSize, length, size, type, name); +} + +var _emscripten_glGetActiveAttrib = _glGetActiveAttrib; + +/** @suppress {duplicate } */ function _glGetActiveUniform(program, index, bufSize, length, size, type, name) { + length >>>= 0; + size >>>= 0; + type >>>= 0; + name >>>= 0; + return __glGetActiveAttribOrUniform("getActiveUniform", program, index, bufSize, length, size, type, name); +} + +var _emscripten_glGetActiveUniform = _glGetActiveUniform; + +/** @suppress {duplicate } */ function _glGetAttachedShaders(program, maxCount, count, shaders) { + count >>>= 0; + shaders >>>= 0; + var result = GLctx.getAttachedShaders(GL.programs[program]); + var len = result.length; + if (len > maxCount) { + len = maxCount; + } + HEAP32[((count) >>> 2) >>> 0] = len; + for (var i = 0; i < len; ++i) { + var id = GL.shaders.indexOf(result[i]); + HEAP32[(((shaders) + (i * 4)) >>> 2) >>> 0] = id; + } +} + +var _emscripten_glGetAttachedShaders = _glGetAttachedShaders; + +/** @suppress {duplicate } */ function _glGetAttribLocation(program, name) { + name >>>= 0; + return GLctx.getAttribLocation(GL.programs[program], UTF8ToString(name)); +} + +var _emscripten_glGetAttribLocation = _glGetAttribLocation; + +var readI53FromI64 = ptr => HEAPU32[((ptr) >>> 2) >>> 0] + HEAP32[(((ptr) + (4)) >>> 2) >>> 0] * 4294967296; + +var readI53FromU64 = ptr => HEAPU32[((ptr) >>> 2) >>> 0] + HEAPU32[(((ptr) + (4)) >>> 2) >>> 0] * 4294967296; + +var writeI53ToI64 = (ptr, num) => { + HEAPU32[((ptr) >>> 2) >>> 0] = num; + var lower = HEAPU32[((ptr) >>> 2) >>> 0]; + HEAPU32[(((ptr) + (4)) >>> 2) >>> 0] = (num - lower) / 4294967296; + var deserialized = (num >= 0) ? readI53FromU64(ptr) : readI53FromI64(ptr); + var offset = ((ptr) >>> 2); + if (deserialized != num) warnOnce(`writeI53ToI64() out of range: serialized JS Number ${num} to Wasm heap as bytes lo=${ptrToString(HEAPU32[offset >>> 0])}, hi=${ptrToString(HEAPU32[offset + 1 >>> 0])}, which deserializes back to ${deserialized} instead!`); +}; + +var emscriptenWebGLGet = (name_, p, type) => { + // Guard against user passing a null pointer. + // Note that GLES2 spec does not say anything about how passing a null + // pointer should be treated. Testing on desktop core GL 3, the application + // crashes on glGetIntegerv to a null pointer, but better to report an error + // instead of doing anything random. + if (!p) { + GL.recordError(1281); + return; + } + var ret = undefined; + switch (name_) { + // Handle a few trivial GLES values + case 36346: + // GL_SHADER_COMPILER + ret = 1; + break; + + case 36344: + // GL_SHADER_BINARY_FORMATS + if (type != 0 && type != 1) { + GL.recordError(1280); + } + // Do not write anything to the out pointer, since no binary formats are + // supported. + return; + + case 36345: + // GL_NUM_SHADER_BINARY_FORMATS + ret = 0; + break; + + case 34466: + // GL_NUM_COMPRESSED_TEXTURE_FORMATS + // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete + // since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be + // queried for length), so implement it ourselves to allow C++ GLES2 + // code get the length. + var formats = GLctx.getParameter(34467); + ret = formats ? formats.length : 0; + break; + } + if (ret === undefined) { + var result = GLctx.getParameter(name_); + switch (typeof result) { + case "number": + ret = result; + break; + + case "boolean": + ret = result ? 1 : 0; + break; + + case "string": + GL.recordError(1280); + // GL_INVALID_ENUM + return; + + case "object": + if (result === null) { + // null is a valid result for some (e.g., which buffer is bound - + // perhaps nothing is bound), but otherwise can mean an invalid + // name_, which we need to report as an error + switch (name_) { + case 34964: + // ARRAY_BUFFER_BINDING + case 35725: + // CURRENT_PROGRAM + case 34965: + // ELEMENT_ARRAY_BUFFER_BINDING + case 36006: + // FRAMEBUFFER_BINDING or DRAW_FRAMEBUFFER_BINDING + case 36007: + // RENDERBUFFER_BINDING + case 32873: + // TEXTURE_BINDING_2D + case 34229: + // WebGL 2 GL_VERTEX_ARRAY_BINDING, or WebGL 1 extension OES_vertex_array_object GL_VERTEX_ARRAY_BINDING_OES + case 34068: + { + // TEXTURE_BINDING_CUBE_MAP + ret = 0; + break; + } + + default: + { + GL.recordError(1280); + // GL_INVALID_ENUM + return; + } + } + } else if (result instanceof Float32Array || result instanceof Uint32Array || result instanceof Int32Array || result instanceof Array) { + for (var i = 0; i < result.length; ++i) { + switch (type) { + case 0: + HEAP32[(((p) + (i * 4)) >>> 2) >>> 0] = result[i]; + break; + + case 2: + HEAPF32[(((p) + (i * 4)) >>> 2) >>> 0] = result[i]; + break; + + case 4: + HEAP8[(p) + (i) >>> 0] = result[i] ? 1 : 0; + break; + } + } + return; + } else { + try { + ret = result.name | 0; + } catch (e) { + GL.recordError(1280); + // GL_INVALID_ENUM + err(`GL_INVALID_ENUM in glGet${type}v: Unknown object returned from WebGL getParameter(${name_})! (error: ${e})`); + return; + } + } + break; + + default: + GL.recordError(1280); + // GL_INVALID_ENUM + err(`GL_INVALID_ENUM in glGet${type}v: Native code calling glGet${type}v(${name_}) and it returns ${result} of type ${typeof (result)}!`); + return; + } + } + switch (type) { + case 1: + writeI53ToI64(p, ret); + break; + + case 0: + HEAP32[((p) >>> 2) >>> 0] = ret; + break; + + case 2: + HEAPF32[((p) >>> 2) >>> 0] = ret; + break; + + case 4: + HEAP8[p >>> 0] = ret ? 1 : 0; + break; + } +}; + +/** @suppress {duplicate } */ function _glGetBooleanv(name_, p) { + p >>>= 0; + return emscriptenWebGLGet(name_, p, 4); +} + +var _emscripten_glGetBooleanv = _glGetBooleanv; + +/** @suppress {duplicate } */ function _glGetBufferParameteriv(target, value, data) { + data >>>= 0; + if (!data) { + // GLES2 specification does not specify how to behave if data is a null + // pointer. Since calling this function does not make sense if data == + // null, issue a GL error to notify user about it. + GL.recordError(1281); + return; + } + HEAP32[((data) >>> 2) >>> 0] = GLctx.getBufferParameter(target, value); +} + +var _emscripten_glGetBufferParameteriv = _glGetBufferParameteriv; + +/** @suppress {duplicate } */ var _glGetError = () => { + var error = GLctx.getError() || GL.lastError; + GL.lastError = 0; + return error; +}; + +var _emscripten_glGetError = _glGetError; + +/** @suppress {duplicate } */ function _glGetFloatv(name_, p) { + p >>>= 0; + return emscriptenWebGLGet(name_, p, 2); +} + +var _emscripten_glGetFloatv = _glGetFloatv; + +/** @suppress {duplicate } */ function _glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { + params >>>= 0; + var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); + if (result instanceof WebGLRenderbuffer || result instanceof WebGLTexture) { + result = result.name | 0; + } + HEAP32[((params) >>> 2) >>> 0] = result; +} + +var _emscripten_glGetFramebufferAttachmentParameteriv = _glGetFramebufferAttachmentParameteriv; + +/** @suppress {duplicate } */ function _glGetIntegerv(name_, p) { + p >>>= 0; + return emscriptenWebGLGet(name_, p, 0); +} + +var _emscripten_glGetIntegerv = _glGetIntegerv; + +/** @suppress {duplicate } */ function _glGetProgramInfoLog(program, maxLength, length, infoLog) { + length >>>= 0; + infoLog >>>= 0; + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = "(unknown error)"; + var numBytesWrittenExclNull = (maxLength > 0 && infoLog) ? stringToUTF8(log, infoLog, maxLength) : 0; + if (length) HEAP32[((length) >>> 2) >>> 0] = numBytesWrittenExclNull; +} + +var _emscripten_glGetProgramInfoLog = _glGetProgramInfoLog; + +/** @suppress {duplicate } */ function _glGetProgramiv(program, pname, p) { + p >>>= 0; + if (!p) { + // GLES2 specification does not specify how to behave if p is a null + // pointer. Since calling this function does not make sense if p == null, + // issue a GL error to notify user about it. + GL.recordError(1281); + return; + } + if (program >= GL.counter) { + GL.recordError(1281); + return; + } + program = GL.programs[program]; + if (pname == 35716) { + // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(program); + if (log === null) log = "(unknown error)"; + HEAP32[((p) >>> 2) >>> 0] = log.length + 1; + } else if (pname == 35719) { + if (!program.maxUniformLength) { + var numActiveUniforms = GLctx.getProgramParameter(program, 35718); + for (var i = 0; i < numActiveUniforms; ++i) { + program.maxUniformLength = Math.max(program.maxUniformLength, GLctx.getActiveUniform(program, i).name.length + 1); + } + } + HEAP32[((p) >>> 2) >>> 0] = program.maxUniformLength; + } else if (pname == 35722) { + if (!program.maxAttributeLength) { + var numActiveAttributes = GLctx.getProgramParameter(program, 35721); + for (var i = 0; i < numActiveAttributes; ++i) { + program.maxAttributeLength = Math.max(program.maxAttributeLength, GLctx.getActiveAttrib(program, i).name.length + 1); + } + } + HEAP32[((p) >>> 2) >>> 0] = program.maxAttributeLength; + } else if (pname == 35381) { + if (!program.maxUniformBlockNameLength) { + var numActiveUniformBlocks = GLctx.getProgramParameter(program, 35382); + for (var i = 0; i < numActiveUniformBlocks; ++i) { + program.maxUniformBlockNameLength = Math.max(program.maxUniformBlockNameLength, GLctx.getActiveUniformBlockName(program, i).length + 1); + } + } + HEAP32[((p) >>> 2) >>> 0] = program.maxUniformBlockNameLength; + } else { + HEAP32[((p) >>> 2) >>> 0] = GLctx.getProgramParameter(program, pname); + } +} + +var _emscripten_glGetProgramiv = _glGetProgramiv; + +/** @suppress {duplicate } */ function _glGetQueryObjecti64vEXT(id, pname, params) { + params >>>= 0; + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(1281); + return; + } + var query = GL.queries[id]; + var param; + { + param = GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query, pname); + } + var ret; + if (typeof param == "boolean") { + ret = param ? 1 : 0; + } else { + ret = param; + } + writeI53ToI64(params, ret); +} + +var _emscripten_glGetQueryObjecti64vEXT = _glGetQueryObjecti64vEXT; + +/** @suppress {duplicate } */ function _glGetQueryObjectivEXT(id, pname, params) { + params >>>= 0; + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(1281); + return; + } + var query = GL.queries[id]; + var param = GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query, pname); + var ret; + if (typeof param == "boolean") { + ret = param ? 1 : 0; + } else { + ret = param; + } + HEAP32[((params) >>> 2) >>> 0] = ret; +} + +var _emscripten_glGetQueryObjectivEXT = _glGetQueryObjectivEXT; + +/** @suppress {duplicate } */ var _glGetQueryObjectui64vEXT = _glGetQueryObjecti64vEXT; + +var _emscripten_glGetQueryObjectui64vEXT = _glGetQueryObjectui64vEXT; + +/** @suppress {duplicate } */ var _glGetQueryObjectuivEXT = _glGetQueryObjectivEXT; + +var _emscripten_glGetQueryObjectuivEXT = _glGetQueryObjectuivEXT; + +/** @suppress {duplicate } */ function _glGetQueryivEXT(target, pname, params) { + params >>>= 0; + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(1281); + return; + } + HEAP32[((params) >>> 2) >>> 0] = GLctx.disjointTimerQueryExt["getQueryEXT"](target, pname); +} + +var _emscripten_glGetQueryivEXT = _glGetQueryivEXT; + +/** @suppress {duplicate } */ function _glGetRenderbufferParameteriv(target, pname, params) { + params >>>= 0; + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(1281); + return; + } + HEAP32[((params) >>> 2) >>> 0] = GLctx.getRenderbufferParameter(target, pname); +} + +var _emscripten_glGetRenderbufferParameteriv = _glGetRenderbufferParameteriv; + +/** @suppress {duplicate } */ function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { + length >>>= 0; + infoLog >>>= 0; + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = "(unknown error)"; + var numBytesWrittenExclNull = (maxLength > 0 && infoLog) ? stringToUTF8(log, infoLog, maxLength) : 0; + if (length) HEAP32[((length) >>> 2) >>> 0] = numBytesWrittenExclNull; +} + +var _emscripten_glGetShaderInfoLog = _glGetShaderInfoLog; + +/** @suppress {duplicate } */ function _glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { + range >>>= 0; + precision >>>= 0; + var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); + HEAP32[((range) >>> 2) >>> 0] = result.rangeMin; + HEAP32[(((range) + (4)) >>> 2) >>> 0] = result.rangeMax; + HEAP32[((precision) >>> 2) >>> 0] = result.precision; +} + +var _emscripten_glGetShaderPrecisionFormat = _glGetShaderPrecisionFormat; + +/** @suppress {duplicate } */ function _glGetShaderSource(shader, bufSize, length, source) { + length >>>= 0; + source >>>= 0; + var result = GLctx.getShaderSource(GL.shaders[shader]); + if (!result) return; + // If an error occurs, nothing will be written to length or source. + var numBytesWrittenExclNull = (bufSize > 0 && source) ? stringToUTF8(result, source, bufSize) : 0; + if (length) HEAP32[((length) >>> 2) >>> 0] = numBytesWrittenExclNull; +} + +var _emscripten_glGetShaderSource = _glGetShaderSource; + +/** @suppress {duplicate } */ function _glGetShaderiv(shader, pname, p) { + p >>>= 0; + if (!p) { + // GLES2 specification does not specify how to behave if p is a null + // pointer. Since calling this function does not make sense if p == null, + // issue a GL error to notify user about it. + GL.recordError(1281); + return; + } + if (pname == 35716) { + // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = "(unknown error)"; + // The GLES2 specification says that if the shader has an empty info log, + // a value of 0 is returned. Otherwise the log has a null char appended. + // (An empty string is falsey, so we can just check that instead of + // looking at log.length.) + var logLength = log ? log.length + 1 : 0; + HEAP32[((p) >>> 2) >>> 0] = logLength; + } else if (pname == 35720) { + // GL_SHADER_SOURCE_LENGTH + var source = GLctx.getShaderSource(GL.shaders[shader]); + // source may be a null, or the empty string, both of which are falsey + // values that we report a 0 length for. + var sourceLength = source ? source.length + 1 : 0; + HEAP32[((p) >>> 2) >>> 0] = sourceLength; + } else { + HEAP32[((p) >>> 2) >>> 0] = GLctx.getShaderParameter(GL.shaders[shader], pname); + } +} + +var _emscripten_glGetShaderiv = _glGetShaderiv; + +var webglGetExtensions = () => { + var exts = getEmscriptenSupportedExtensions(GLctx); + exts = exts.concat(exts.map(e => "GL_" + e)); + return exts; +}; + +/** @suppress {duplicate } */ function _glGetString(name_) { + var ret = GL.stringCache[name_]; + if (!ret) { + switch (name_) { + case 7939: + ret = stringToNewUTF8(webglGetExtensions().join(" ")); + break; + + case 7936: + case 7937: + case 37445: + case 37446: + var s = GLctx.getParameter(name_); + if (!s) { + GL.recordError(1280); + } + ret = s ? stringToNewUTF8(s) : 0; + break; + + case 7938: + var webGLVersion = GLctx.getParameter(7938); + // return GLES version string corresponding to the version of the WebGL context + var glVersion = `OpenGL ES 2.0 (${webGLVersion})`; + ret = stringToNewUTF8(glVersion); + break; + + case 35724: + var glslVersion = GLctx.getParameter(35724); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + "0"; + // ensure minor version has 2 digits + glslVersion = `OpenGL ES GLSL ES ${ver_num[1]} (${glslVersion})`; + } + ret = stringToNewUTF8(glslVersion); + break; + + default: + GL.recordError(1280); + } + GL.stringCache[name_] = ret; + } + return ret; +} + +var _emscripten_glGetString = _glGetString; + +/** @suppress {duplicate } */ function _glGetTexParameterfv(target, pname, params) { + params >>>= 0; + if (!params) { + // GLES2 specification does not specify how to behave if params is a null + // pointer. Since calling this function does not make sense if p == null, + // issue a GL error to notify user about it. + GL.recordError(1281); + return; + } + HEAPF32[((params) >>> 2) >>> 0] = GLctx.getTexParameter(target, pname); +} + +var _emscripten_glGetTexParameterfv = _glGetTexParameterfv; + +/** @suppress {duplicate } */ function _glGetTexParameteriv(target, pname, params) { + params >>>= 0; + if (!params) { + // GLES2 specification does not specify how to behave if params is a null + // pointer. Since calling this function does not make sense if p == null, + // issue a GL error to notify user about it. + GL.recordError(1281); + return; + } + HEAP32[((params) >>> 2) >>> 0] = GLctx.getTexParameter(target, pname); +} + +var _emscripten_glGetTexParameteriv = _glGetTexParameteriv; + +/** @suppress {checkTypes} */ var jstoi_q = str => parseInt(str); + +/** @noinline */ var webglGetLeftBracePos = name => name.slice(-1) == "]" && name.lastIndexOf("["); + +var webglPrepareUniformLocationsBeforeFirstUse = program => { + var uniformLocsById = program.uniformLocsById, // Maps GLuint -> WebGLUniformLocation + uniformSizeAndIdsByName = program.uniformSizeAndIdsByName, // Maps name -> [uniform array length, GLuint] + i, j; + // On the first time invocation of glGetUniformLocation on this shader program: + // initialize cache data structures and discover which uniforms are arrays. + if (!uniformLocsById) { + // maps GLint integer locations to WebGLUniformLocations + program.uniformLocsById = uniformLocsById = {}; + // maps integer locations back to uniform name strings, so that we can lazily fetch uniform array locations + program.uniformArrayNamesById = {}; + var numActiveUniforms = GLctx.getProgramParameter(program, 35718); + for (i = 0; i < numActiveUniforms; ++i) { + var u = GLctx.getActiveUniform(program, i); + var nm = u.name; + var sz = u.size; + var lb = webglGetLeftBracePos(nm); + var arrayName = lb > 0 ? nm.slice(0, lb) : nm; + // Assign a new location. + var id = program.uniformIdCounter; + program.uniformIdCounter += sz; + // Eagerly get the location of the uniformArray[0] base element. + // The remaining indices >0 will be left for lazy evaluation to + // improve performance. Those may never be needed to fetch, if the + // application fills arrays always in full starting from the first + // element of the array. + uniformSizeAndIdsByName[arrayName] = [ sz, id ]; + // Store placeholder integers in place that highlight that these + // >0 index locations are array indices pending population. + for (j = 0; j < sz; ++j) { + uniformLocsById[id] = j; + program.uniformArrayNamesById[id++] = arrayName; + } + } + } +}; + +/** @suppress {duplicate } */ function _glGetUniformLocation(program, name) { + name >>>= 0; + name = UTF8ToString(name); + if (program = GL.programs[program]) { + webglPrepareUniformLocationsBeforeFirstUse(program); + var uniformLocsById = program.uniformLocsById; + // Maps GLuint -> WebGLUniformLocation + var arrayIndex = 0; + var uniformBaseName = name; + // Invariant: when populating integer IDs for uniform locations, we must + // maintain the precondition that arrays reside in contiguous addresses, + // i.e. for a 'vec4 colors[10];', colors[4] must be at location + // colors[0]+4. However, user might call glGetUniformLocation(program, + // "colors") for an array, so we cannot discover based on the user input + // arguments whether the uniform we are dealing with is an array. The only + // way to discover which uniforms are arrays is to enumerate over all the + // active uniforms in the program. + var leftBrace = webglGetLeftBracePos(name); + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (leftBrace > 0) { + arrayIndex = jstoi_q(name.slice(leftBrace + 1)) >>> 0; + // "index]", coerce parseInt(']') with >>>0 to treat "foo[]" as "foo[0]" and foo[-1] as unsigned out-of-bounds. + uniformBaseName = name.slice(0, leftBrace); + } + // Have we cached the location of this uniform before? + // A pair [array length, GLint of the uniform location] + var sizeAndId = program.uniformSizeAndIdsByName[uniformBaseName]; + // If an uniform with this name exists, and if its index is within the + // array limits (if it's even an array), query the WebGLlocation, or + // return an existing cached location. + if (sizeAndId && arrayIndex < sizeAndId[0]) { + arrayIndex += sizeAndId[1]; + // Add the base location of the uniform to the array index offset. + if ((uniformLocsById[arrayIndex] = uniformLocsById[arrayIndex] || GLctx.getUniformLocation(program, name))) { + return arrayIndex; + } + } + } else { + // N.b. we are currently unable to distinguish between GL program IDs that + // never existed vs GL program IDs that have been deleted, so report + // GL_INVALID_VALUE in both cases. + GL.recordError(1281); + } + return -1; +} + +var _emscripten_glGetUniformLocation = _glGetUniformLocation; + +var webglGetUniformLocation = location => { + var p = GLctx.currentProgram; + if (p) { + var webglLoc = p.uniformLocsById[location]; + // p.uniformLocsById[location] stores either an integer, or a + // WebGLUniformLocation. + // If an integer, we have not yet bound the location, so do it now. The + // integer value specifies the array index we should bind to. + if (typeof webglLoc == "number") { + p.uniformLocsById[location] = webglLoc = GLctx.getUniformLocation(p, p.uniformArrayNamesById[location] + (webglLoc > 0 ? `[${webglLoc}]` : "")); + } + // Else an already cached WebGLUniformLocation, return it. + return webglLoc; + } else { + GL.recordError(1282); + } +}; + +/** @suppress{checkTypes} */ var emscriptenWebGLGetUniform = (program, location, params, type) => { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null + // pointer. Since calling this function does not make sense if params == + // null, issue a GL error to notify user about it. + GL.recordError(1281); + return; + } + program = GL.programs[program]; + webglPrepareUniformLocationsBeforeFirstUse(program); + var data = GLctx.getUniform(program, webglGetUniformLocation(location)); + if (typeof data == "number" || typeof data == "boolean") { + switch (type) { + case 0: + HEAP32[((params) >>> 2) >>> 0] = data; + break; + + case 2: + HEAPF32[((params) >>> 2) >>> 0] = data; + break; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 0: + HEAP32[(((params) + (i * 4)) >>> 2) >>> 0] = data[i]; + break; + + case 2: + HEAPF32[(((params) + (i * 4)) >>> 2) >>> 0] = data[i]; + break; + } + } + } +}; + +/** @suppress {duplicate } */ function _glGetUniformfv(program, location, params) { + params >>>= 0; + emscriptenWebGLGetUniform(program, location, params, 2); +} + +var _emscripten_glGetUniformfv = _glGetUniformfv; + +/** @suppress {duplicate } */ function _glGetUniformiv(program, location, params) { + params >>>= 0; + emscriptenWebGLGetUniform(program, location, params, 0); +} + +var _emscripten_glGetUniformiv = _glGetUniformiv; + +/** @suppress {duplicate } */ function _glGetVertexAttribPointerv(index, pname, pointer) { + pointer >>>= 0; + if (!pointer) { + // GLES2 specification does not specify how to behave if pointer is a null + // pointer. Since calling this function does not make sense if pointer == + // null, issue a GL error to notify user about it. + GL.recordError(1281); + return; + } + HEAP32[((pointer) >>> 2) >>> 0] = GLctx.getVertexAttribOffset(index, pname); +} + +var _emscripten_glGetVertexAttribPointerv = _glGetVertexAttribPointerv; + +/** @suppress{checkTypes} */ var emscriptenWebGLGetVertexAttrib = (index, pname, params, type) => { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null + // pointer. Since calling this function does not make sense if params == + // null, issue a GL error to notify user about it. + GL.recordError(1281); + return; + } + var data = GLctx.getVertexAttrib(index, pname); + if (pname == 34975) { + HEAP32[((params) >>> 2) >>> 0] = data && data["name"]; + } else if (typeof data == "number" || typeof data == "boolean") { + switch (type) { + case 0: + HEAP32[((params) >>> 2) >>> 0] = data; + break; + + case 2: + HEAPF32[((params) >>> 2) >>> 0] = data; + break; + + case 5: + HEAP32[((params) >>> 2) >>> 0] = Math.fround(data); + break; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 0: + HEAP32[(((params) + (i * 4)) >>> 2) >>> 0] = data[i]; + break; + + case 2: + HEAPF32[(((params) + (i * 4)) >>> 2) >>> 0] = data[i]; + break; + + case 5: + HEAP32[(((params) + (i * 4)) >>> 2) >>> 0] = Math.fround(data[i]); + break; + } + } + } +}; + +/** @suppress {duplicate } */ function _glGetVertexAttribfv(index, pname, params) { + params >>>= 0; + // N.B. This function may only be called if the vertex attribute was + // specified using the function glVertexAttrib*f(), otherwise the results + // are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 2); +} + +var _emscripten_glGetVertexAttribfv = _glGetVertexAttribfv; + +/** @suppress {duplicate } */ function _glGetVertexAttribiv(index, pname, params) { + params >>>= 0; + // N.B. This function may only be called if the vertex attribute was + // specified using the function glVertexAttrib*f(), otherwise the results + // are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 5); +} + +var _emscripten_glGetVertexAttribiv = _glGetVertexAttribiv; + +/** @suppress {duplicate } */ var _glHint = (x0, x1) => GLctx.hint(x0, x1); + +var _emscripten_glHint = _glHint; + +/** @suppress {duplicate } */ var _glIsBuffer = buffer => { + var b = GL.buffers[buffer]; + if (!b) return 0; + return GLctx.isBuffer(b); +}; + +var _emscripten_glIsBuffer = _glIsBuffer; + +/** @suppress {duplicate } */ var _glIsEnabled = x0 => GLctx.isEnabled(x0); + +var _emscripten_glIsEnabled = _glIsEnabled; + +/** @suppress {duplicate } */ var _glIsFramebuffer = framebuffer => { + var fb = GL.framebuffers[framebuffer]; + if (!fb) return 0; + return GLctx.isFramebuffer(fb); +}; + +var _emscripten_glIsFramebuffer = _glIsFramebuffer; + +/** @suppress {duplicate } */ var _glIsProgram = program => { + program = GL.programs[program]; + if (!program) return 0; + return GLctx.isProgram(program); +}; + +var _emscripten_glIsProgram = _glIsProgram; + +/** @suppress {duplicate } */ var _glIsQueryEXT = id => { + var query = GL.queries[id]; + if (!query) return 0; + return GLctx.disjointTimerQueryExt["isQueryEXT"](query); +}; + +var _emscripten_glIsQueryEXT = _glIsQueryEXT; + +/** @suppress {duplicate } */ var _glIsRenderbuffer = renderbuffer => { + var rb = GL.renderbuffers[renderbuffer]; + if (!rb) return 0; + return GLctx.isRenderbuffer(rb); +}; + +var _emscripten_glIsRenderbuffer = _glIsRenderbuffer; + +/** @suppress {duplicate } */ var _glIsShader = shader => { + var s = GL.shaders[shader]; + if (!s) return 0; + return GLctx.isShader(s); +}; + +var _emscripten_glIsShader = _glIsShader; + +/** @suppress {duplicate } */ var _glIsTexture = id => { + var texture = GL.textures[id]; + if (!texture) return 0; + return GLctx.isTexture(texture); +}; + +var _emscripten_glIsTexture = _glIsTexture; + +/** @suppress {duplicate } */ var _glIsVertexArray = array => { + var vao = GL.vaos[array]; + if (!vao) return 0; + return GLctx.isVertexArray(vao); +}; + +/** @suppress {duplicate } */ var _glIsVertexArrayOES = _glIsVertexArray; + +var _emscripten_glIsVertexArrayOES = _glIsVertexArrayOES; + +/** @suppress {duplicate } */ var _glLineWidth = x0 => GLctx.lineWidth(x0); + +var _emscripten_glLineWidth = _glLineWidth; + +/** @suppress {duplicate } */ var _glLinkProgram = program => { + program = GL.programs[program]; + GLctx.linkProgram(program); + // Invalidate earlier computed uniform->ID mappings, those have now become stale + program.uniformLocsById = 0; + // Mark as null-like so that glGetUniformLocation() knows to populate this again. + program.uniformSizeAndIdsByName = {}; +}; + +var _emscripten_glLinkProgram = _glLinkProgram; + +/** @suppress {duplicate } */ var _glPixelStorei = (pname, param) => { + if (pname == 3317) { + GL.unpackAlignment = param; + } else if (pname == 3314) { + GL.unpackRowLength = param; + } + GLctx.pixelStorei(pname, param); +}; + +var _emscripten_glPixelStorei = _glPixelStorei; + +/** @suppress {duplicate } */ var _glPolygonModeWEBGL = (face, mode) => { + GLctx.webglPolygonMode["polygonModeWEBGL"](face, mode); +}; + +var _emscripten_glPolygonModeWEBGL = _glPolygonModeWEBGL; + +/** @suppress {duplicate } */ var _glPolygonOffset = (x0, x1) => GLctx.polygonOffset(x0, x1); + +var _emscripten_glPolygonOffset = _glPolygonOffset; + +/** @suppress {duplicate } */ var _glPolygonOffsetClampEXT = (factor, units, clamp) => { + GLctx.extPolygonOffsetClamp["polygonOffsetClampEXT"](factor, units, clamp); +}; + +var _emscripten_glPolygonOffsetClampEXT = _glPolygonOffsetClampEXT; + +/** @suppress {duplicate } */ var _glQueryCounterEXT = (id, target) => { + GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.queries[id], target); +}; + +var _emscripten_glQueryCounterEXT = _glQueryCounterEXT; + +var computeUnpackAlignedImageSize = (width, height, sizePerPixel) => { + function roundedToNextMultipleOf(x, y) { + return (x + y - 1) & -y; + } + var plainRowSize = (GL.unpackRowLength || width) * sizePerPixel; + var alignedRowSize = roundedToNextMultipleOf(plainRowSize, GL.unpackAlignment); + return height * alignedRowSize; +}; + +var colorChannelsInGlTextureFormat = format => { + // Micro-optimizations for size: map format to size by subtracting smallest + // enum value (0x1902) from all values first. Also omit the most common + // size value (1) from the list, which is assumed by formats not on the + // list. + var colorChannels = { + // 0x1902 /* GL_DEPTH_COMPONENT */ - 0x1902: 1, + // 0x1906 /* GL_ALPHA */ - 0x1902: 1, + 5: 3, + 6: 4, + // 0x1909 /* GL_LUMINANCE */ - 0x1902: 1, + 8: 2, + 29502: 3, + 29504: 4 + }; + return colorChannels[format - 6402] || 1; +}; + +var heapObjectForWebGLType = type => { + // Micro-optimization for size: Subtract lowest GL enum number (0x1400/* GL_BYTE */) from type to compare + // smaller values for the heap, for shorter generated code size. + // Also the type HEAPU16 is not tested for explicitly, but any unrecognized type will return out HEAPU16. + // (since most types are HEAPU16) + type -= 5120; + if (type == 1) return HEAPU8; + if (type == 4) return HEAP32; + if (type == 6) return HEAPF32; + if (type == 5 || type == 28922) return HEAPU32; + return HEAPU16; +}; + +var toTypedArrayIndex = (pointer, heap) => pointer >>> (31 - Math.clz32(heap.BYTES_PER_ELEMENT)); + +var emscriptenWebGLGetTexPixelData = (type, format, width, height, pixels, internalFormat) => { + var heap = heapObjectForWebGLType(type); + var sizePerPixel = colorChannelsInGlTextureFormat(format) * heap.BYTES_PER_ELEMENT; + var bytes = computeUnpackAlignedImageSize(width, height, sizePerPixel); + return heap.subarray(toTypedArrayIndex(pixels, heap) >>> 0, toTypedArrayIndex(pixels + bytes, heap) >>> 0); +}; + +/** @suppress {duplicate } */ function _glReadPixels(x, y, width, height, format, type, pixels) { + pixels >>>= 0; + var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); + if (!pixelData) { + GL.recordError(1280); + return; + } + GLctx.readPixels(x, y, width, height, format, type, pixelData); +} + +var _emscripten_glReadPixels = _glReadPixels; + +/** @suppress {duplicate } */ var _glReleaseShaderCompiler = () => {}; + +var _emscripten_glReleaseShaderCompiler = _glReleaseShaderCompiler; + +/** @suppress {duplicate } */ var _glRenderbufferStorage = (x0, x1, x2, x3) => GLctx.renderbufferStorage(x0, x1, x2, x3); + +var _emscripten_glRenderbufferStorage = _glRenderbufferStorage; + +/** @suppress {duplicate } */ var _glSampleCoverage = (value, invert) => { + GLctx.sampleCoverage(value, !!invert); +}; + +var _emscripten_glSampleCoverage = _glSampleCoverage; + +/** @suppress {duplicate } */ var _glScissor = (x0, x1, x2, x3) => GLctx.scissor(x0, x1, x2, x3); + +var _emscripten_glScissor = _glScissor; + +/** @suppress {duplicate } */ function _glShaderBinary(count, shaders, binaryformat, binary, length) { + shaders >>>= 0; + binary >>>= 0; + GL.recordError(1280); +} + +var _emscripten_glShaderBinary = _glShaderBinary; + +/** @suppress {duplicate } */ function _glShaderSource(shader, count, string, length) { + string >>>= 0; + length >>>= 0; + var source = GL.getSource(shader, count, string, length); + GLctx.shaderSource(GL.shaders[shader], source); +} + +var _emscripten_glShaderSource = _glShaderSource; + +/** @suppress {duplicate } */ var _glStencilFunc = (x0, x1, x2) => GLctx.stencilFunc(x0, x1, x2); + +var _emscripten_glStencilFunc = _glStencilFunc; + +/** @suppress {duplicate } */ var _glStencilFuncSeparate = (x0, x1, x2, x3) => GLctx.stencilFuncSeparate(x0, x1, x2, x3); + +var _emscripten_glStencilFuncSeparate = _glStencilFuncSeparate; + +/** @suppress {duplicate } */ var _glStencilMask = x0 => GLctx.stencilMask(x0); + +var _emscripten_glStencilMask = _glStencilMask; + +/** @suppress {duplicate } */ var _glStencilMaskSeparate = (x0, x1) => GLctx.stencilMaskSeparate(x0, x1); + +var _emscripten_glStencilMaskSeparate = _glStencilMaskSeparate; + +/** @suppress {duplicate } */ var _glStencilOp = (x0, x1, x2) => GLctx.stencilOp(x0, x1, x2); + +var _emscripten_glStencilOp = _glStencilOp; + +/** @suppress {duplicate } */ var _glStencilOpSeparate = (x0, x1, x2, x3) => GLctx.stencilOpSeparate(x0, x1, x2, x3); + +var _emscripten_glStencilOpSeparate = _glStencilOpSeparate; + +/** @suppress {duplicate } */ function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + pixels >>>= 0; + var pixelData = pixels ? emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) : null; + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); +} + +var _emscripten_glTexImage2D = _glTexImage2D; + +/** @suppress {duplicate } */ var _glTexParameterf = (x0, x1, x2) => GLctx.texParameterf(x0, x1, x2); + +var _emscripten_glTexParameterf = _glTexParameterf; + +/** @suppress {duplicate } */ function _glTexParameterfv(target, pname, params) { + params >>>= 0; + var param = HEAPF32[((params) >>> 2) >>> 0]; + GLctx.texParameterf(target, pname, param); +} + +var _emscripten_glTexParameterfv = _glTexParameterfv; + +/** @suppress {duplicate } */ var _glTexParameteri = (x0, x1, x2) => GLctx.texParameteri(x0, x1, x2); + +var _emscripten_glTexParameteri = _glTexParameteri; + +/** @suppress {duplicate } */ function _glTexParameteriv(target, pname, params) { + params >>>= 0; + var param = HEAP32[((params) >>> 2) >>> 0]; + GLctx.texParameteri(target, pname, param); +} + +var _emscripten_glTexParameteriv = _glTexParameteriv; + +/** @suppress {duplicate } */ function _glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { + pixels >>>= 0; + var pixelData = pixels ? emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0) : null; + GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); +} + +var _emscripten_glTexSubImage2D = _glTexSubImage2D; + +/** @suppress {duplicate } */ var _glUniform1f = (location, v0) => { + GLctx.uniform1f(webglGetUniformLocation(location), v0); +}; + +var _emscripten_glUniform1f = _glUniform1f; + +var miniTempWebGLFloatBuffers = []; + +/** @suppress {duplicate } */ function _glUniform1fv(location, count, value) { + value >>>= 0; + if (count <= 288) { + // avoid allocation when uploading few enough uniforms + var view = miniTempWebGLFloatBuffers[count]; + for (var i = 0; i < count; ++i) { + view[i] = HEAPF32[(((value) + (4 * i)) >>> 2) >>> 0]; + } + } else { + var view = HEAPF32.subarray((((value) >>> 2)) >>> 0, ((value + count * 4) >>> 2) >>> 0); + } + GLctx.uniform1fv(webglGetUniformLocation(location), view); +} + +var _emscripten_glUniform1fv = _glUniform1fv; + +/** @suppress {duplicate } */ var _glUniform1i = (location, v0) => { + GLctx.uniform1i(webglGetUniformLocation(location), v0); +}; + +var _emscripten_glUniform1i = _glUniform1i; + +var miniTempWebGLIntBuffers = []; + +/** @suppress {duplicate } */ function _glUniform1iv(location, count, value) { + value >>>= 0; + if (count <= 288) { + // avoid allocation when uploading few enough uniforms + var view = miniTempWebGLIntBuffers[count]; + for (var i = 0; i < count; ++i) { + view[i] = HEAP32[(((value) + (4 * i)) >>> 2) >>> 0]; + } + } else { + var view = HEAP32.subarray((((value) >>> 2)) >>> 0, ((value + count * 4) >>> 2) >>> 0); + } + GLctx.uniform1iv(webglGetUniformLocation(location), view); +} + +var _emscripten_glUniform1iv = _glUniform1iv; + +/** @suppress {duplicate } */ var _glUniform2f = (location, v0, v1) => { + GLctx.uniform2f(webglGetUniformLocation(location), v0, v1); +}; + +var _emscripten_glUniform2f = _glUniform2f; + +/** @suppress {duplicate } */ function _glUniform2fv(location, count, value) { + value >>>= 0; + if (count <= 144) { + // avoid allocation when uploading few enough uniforms + count *= 2; + var view = miniTempWebGLFloatBuffers[count]; + for (var i = 0; i < count; i += 2) { + view[i] = HEAPF32[(((value) + (4 * i)) >>> 2) >>> 0]; + view[i + 1] = HEAPF32[(((value) + (4 * i + 4)) >>> 2) >>> 0]; + } + } else { + var view = HEAPF32.subarray((((value) >>> 2)) >>> 0, ((value + count * 8) >>> 2) >>> 0); + } + GLctx.uniform2fv(webglGetUniformLocation(location), view); +} + +var _emscripten_glUniform2fv = _glUniform2fv; + +/** @suppress {duplicate } */ var _glUniform2i = (location, v0, v1) => { + GLctx.uniform2i(webglGetUniformLocation(location), v0, v1); +}; + +var _emscripten_glUniform2i = _glUniform2i; + +/** @suppress {duplicate } */ function _glUniform2iv(location, count, value) { + value >>>= 0; + if (count <= 144) { + // avoid allocation when uploading few enough uniforms + count *= 2; + var view = miniTempWebGLIntBuffers[count]; + for (var i = 0; i < count; i += 2) { + view[i] = HEAP32[(((value) + (4 * i)) >>> 2) >>> 0]; + view[i + 1] = HEAP32[(((value) + (4 * i + 4)) >>> 2) >>> 0]; + } + } else { + var view = HEAP32.subarray((((value) >>> 2)) >>> 0, ((value + count * 8) >>> 2) >>> 0); + } + GLctx.uniform2iv(webglGetUniformLocation(location), view); +} + +var _emscripten_glUniform2iv = _glUniform2iv; + +/** @suppress {duplicate } */ var _glUniform3f = (location, v0, v1, v2) => { + GLctx.uniform3f(webglGetUniformLocation(location), v0, v1, v2); +}; + +var _emscripten_glUniform3f = _glUniform3f; + +/** @suppress {duplicate } */ function _glUniform3fv(location, count, value) { + value >>>= 0; + if (count <= 96) { + // avoid allocation when uploading few enough uniforms + count *= 3; + var view = miniTempWebGLFloatBuffers[count]; + for (var i = 0; i < count; i += 3) { + view[i] = HEAPF32[(((value) + (4 * i)) >>> 2) >>> 0]; + view[i + 1] = HEAPF32[(((value) + (4 * i + 4)) >>> 2) >>> 0]; + view[i + 2] = HEAPF32[(((value) + (4 * i + 8)) >>> 2) >>> 0]; + } + } else { + var view = HEAPF32.subarray((((value) >>> 2)) >>> 0, ((value + count * 12) >>> 2) >>> 0); + } + GLctx.uniform3fv(webglGetUniformLocation(location), view); +} + +var _emscripten_glUniform3fv = _glUniform3fv; + +/** @suppress {duplicate } */ var _glUniform3i = (location, v0, v1, v2) => { + GLctx.uniform3i(webglGetUniformLocation(location), v0, v1, v2); +}; + +var _emscripten_glUniform3i = _glUniform3i; + +/** @suppress {duplicate } */ function _glUniform3iv(location, count, value) { + value >>>= 0; + if (count <= 96) { + // avoid allocation when uploading few enough uniforms + count *= 3; + var view = miniTempWebGLIntBuffers[count]; + for (var i = 0; i < count; i += 3) { + view[i] = HEAP32[(((value) + (4 * i)) >>> 2) >>> 0]; + view[i + 1] = HEAP32[(((value) + (4 * i + 4)) >>> 2) >>> 0]; + view[i + 2] = HEAP32[(((value) + (4 * i + 8)) >>> 2) >>> 0]; + } + } else { + var view = HEAP32.subarray((((value) >>> 2)) >>> 0, ((value + count * 12) >>> 2) >>> 0); + } + GLctx.uniform3iv(webglGetUniformLocation(location), view); +} + +var _emscripten_glUniform3iv = _glUniform3iv; + +/** @suppress {duplicate } */ var _glUniform4f = (location, v0, v1, v2, v3) => { + GLctx.uniform4f(webglGetUniformLocation(location), v0, v1, v2, v3); +}; + +var _emscripten_glUniform4f = _glUniform4f; + +/** @suppress {duplicate } */ function _glUniform4fv(location, count, value) { + value >>>= 0; + if (count <= 72) { + // avoid allocation when uploading few enough uniforms + var view = miniTempWebGLFloatBuffers[4 * count]; + // hoist the heap out of the loop for size and for pthreads+growth. + var heap = HEAPF32; + value = ((value) >>> 2); + count *= 4; + for (var i = 0; i < count; i += 4) { + var dst = value + i; + view[i] = heap[dst >>> 0]; + view[i + 1] = heap[dst + 1 >>> 0]; + view[i + 2] = heap[dst + 2 >>> 0]; + view[i + 3] = heap[dst + 3 >>> 0]; + } + } else { + var view = HEAPF32.subarray((((value) >>> 2)) >>> 0, ((value + count * 16) >>> 2) >>> 0); + } + GLctx.uniform4fv(webglGetUniformLocation(location), view); +} + +var _emscripten_glUniform4fv = _glUniform4fv; + +/** @suppress {duplicate } */ var _glUniform4i = (location, v0, v1, v2, v3) => { + GLctx.uniform4i(webglGetUniformLocation(location), v0, v1, v2, v3); +}; + +var _emscripten_glUniform4i = _glUniform4i; + +/** @suppress {duplicate } */ function _glUniform4iv(location, count, value) { + value >>>= 0; + if (count <= 72) { + // avoid allocation when uploading few enough uniforms + count *= 4; + var view = miniTempWebGLIntBuffers[count]; + for (var i = 0; i < count; i += 4) { + view[i] = HEAP32[(((value) + (4 * i)) >>> 2) >>> 0]; + view[i + 1] = HEAP32[(((value) + (4 * i + 4)) >>> 2) >>> 0]; + view[i + 2] = HEAP32[(((value) + (4 * i + 8)) >>> 2) >>> 0]; + view[i + 3] = HEAP32[(((value) + (4 * i + 12)) >>> 2) >>> 0]; + } + } else { + var view = HEAP32.subarray((((value) >>> 2)) >>> 0, ((value + count * 16) >>> 2) >>> 0); + } + GLctx.uniform4iv(webglGetUniformLocation(location), view); +} + +var _emscripten_glUniform4iv = _glUniform4iv; + +/** @suppress {duplicate } */ function _glUniformMatrix2fv(location, count, transpose, value) { + value >>>= 0; + if (count <= 72) { + // avoid allocation when uploading few enough uniforms + count *= 4; + var view = miniTempWebGLFloatBuffers[count]; + for (var i = 0; i < count; i += 4) { + view[i] = HEAPF32[(((value) + (4 * i)) >>> 2) >>> 0]; + view[i + 1] = HEAPF32[(((value) + (4 * i + 4)) >>> 2) >>> 0]; + view[i + 2] = HEAPF32[(((value) + (4 * i + 8)) >>> 2) >>> 0]; + view[i + 3] = HEAPF32[(((value) + (4 * i + 12)) >>> 2) >>> 0]; + } + } else { + var view = HEAPF32.subarray((((value) >>> 2)) >>> 0, ((value + count * 16) >>> 2) >>> 0); + } + GLctx.uniformMatrix2fv(webglGetUniformLocation(location), !!transpose, view); +} + +var _emscripten_glUniformMatrix2fv = _glUniformMatrix2fv; + +/** @suppress {duplicate } */ function _glUniformMatrix3fv(location, count, transpose, value) { + value >>>= 0; + if (count <= 32) { + // avoid allocation when uploading few enough uniforms + count *= 9; + var view = miniTempWebGLFloatBuffers[count]; + for (var i = 0; i < count; i += 9) { + view[i] = HEAPF32[(((value) + (4 * i)) >>> 2) >>> 0]; + view[i + 1] = HEAPF32[(((value) + (4 * i + 4)) >>> 2) >>> 0]; + view[i + 2] = HEAPF32[(((value) + (4 * i + 8)) >>> 2) >>> 0]; + view[i + 3] = HEAPF32[(((value) + (4 * i + 12)) >>> 2) >>> 0]; + view[i + 4] = HEAPF32[(((value) + (4 * i + 16)) >>> 2) >>> 0]; + view[i + 5] = HEAPF32[(((value) + (4 * i + 20)) >>> 2) >>> 0]; + view[i + 6] = HEAPF32[(((value) + (4 * i + 24)) >>> 2) >>> 0]; + view[i + 7] = HEAPF32[(((value) + (4 * i + 28)) >>> 2) >>> 0]; + view[i + 8] = HEAPF32[(((value) + (4 * i + 32)) >>> 2) >>> 0]; + } + } else { + var view = HEAPF32.subarray((((value) >>> 2)) >>> 0, ((value + count * 36) >>> 2) >>> 0); + } + GLctx.uniformMatrix3fv(webglGetUniformLocation(location), !!transpose, view); +} + +var _emscripten_glUniformMatrix3fv = _glUniformMatrix3fv; + +/** @suppress {duplicate } */ function _glUniformMatrix4fv(location, count, transpose, value) { + value >>>= 0; + if (count <= 18) { + // avoid allocation when uploading few enough uniforms + var view = miniTempWebGLFloatBuffers[16 * count]; + // hoist the heap out of the loop for size and for pthreads+growth. + var heap = HEAPF32; + value = ((value) >>> 2); + count *= 16; + for (var i = 0; i < count; i += 16) { + var dst = value + i; + view[i] = heap[dst >>> 0]; + view[i + 1] = heap[dst + 1 >>> 0]; + view[i + 2] = heap[dst + 2 >>> 0]; + view[i + 3] = heap[dst + 3 >>> 0]; + view[i + 4] = heap[dst + 4 >>> 0]; + view[i + 5] = heap[dst + 5 >>> 0]; + view[i + 6] = heap[dst + 6 >>> 0]; + view[i + 7] = heap[dst + 7 >>> 0]; + view[i + 8] = heap[dst + 8 >>> 0]; + view[i + 9] = heap[dst + 9 >>> 0]; + view[i + 10] = heap[dst + 10 >>> 0]; + view[i + 11] = heap[dst + 11 >>> 0]; + view[i + 12] = heap[dst + 12 >>> 0]; + view[i + 13] = heap[dst + 13 >>> 0]; + view[i + 14] = heap[dst + 14 >>> 0]; + view[i + 15] = heap[dst + 15 >>> 0]; + } + } else { + var view = HEAPF32.subarray((((value) >>> 2)) >>> 0, ((value + count * 64) >>> 2) >>> 0); + } + GLctx.uniformMatrix4fv(webglGetUniformLocation(location), !!transpose, view); +} + +var _emscripten_glUniformMatrix4fv = _glUniformMatrix4fv; + +/** @suppress {duplicate } */ var _glUseProgram = program => { + program = GL.programs[program]; + GLctx.useProgram(program); + // Record the currently active program so that we can access the uniform + // mapping table of that program. + GLctx.currentProgram = program; +}; + +var _emscripten_glUseProgram = _glUseProgram; + +/** @suppress {duplicate } */ var _glValidateProgram = program => { + GLctx.validateProgram(GL.programs[program]); +}; + +var _emscripten_glValidateProgram = _glValidateProgram; + +/** @suppress {duplicate } */ var _glVertexAttrib1f = (x0, x1) => GLctx.vertexAttrib1f(x0, x1); + +var _emscripten_glVertexAttrib1f = _glVertexAttrib1f; + +/** @suppress {duplicate } */ function _glVertexAttrib1fv(index, v) { + v >>>= 0; + GLctx.vertexAttrib1f(index, HEAPF32[v >>> 2]); +} + +var _emscripten_glVertexAttrib1fv = _glVertexAttrib1fv; + +/** @suppress {duplicate } */ var _glVertexAttrib2f = (x0, x1, x2) => GLctx.vertexAttrib2f(x0, x1, x2); + +var _emscripten_glVertexAttrib2f = _glVertexAttrib2f; + +/** @suppress {duplicate } */ function _glVertexAttrib2fv(index, v) { + v >>>= 0; + GLctx.vertexAttrib2f(index, HEAPF32[v >>> 2], HEAPF32[v + 4 >>> 2]); +} + +var _emscripten_glVertexAttrib2fv = _glVertexAttrib2fv; + +/** @suppress {duplicate } */ var _glVertexAttrib3f = (x0, x1, x2, x3) => GLctx.vertexAttrib3f(x0, x1, x2, x3); + +var _emscripten_glVertexAttrib3f = _glVertexAttrib3f; + +/** @suppress {duplicate } */ function _glVertexAttrib3fv(index, v) { + v >>>= 0; + GLctx.vertexAttrib3f(index, HEAPF32[v >>> 2], HEAPF32[v + 4 >>> 2], HEAPF32[v + 8 >>> 2]); +} + +var _emscripten_glVertexAttrib3fv = _glVertexAttrib3fv; + +/** @suppress {duplicate } */ var _glVertexAttrib4f = (x0, x1, x2, x3, x4) => GLctx.vertexAttrib4f(x0, x1, x2, x3, x4); + +var _emscripten_glVertexAttrib4f = _glVertexAttrib4f; + +/** @suppress {duplicate } */ function _glVertexAttrib4fv(index, v) { + v >>>= 0; + GLctx.vertexAttrib4f(index, HEAPF32[v >>> 2], HEAPF32[v + 4 >>> 2], HEAPF32[v + 8 >>> 2], HEAPF32[v + 12 >>> 2]); +} + +var _emscripten_glVertexAttrib4fv = _glVertexAttrib4fv; + +/** @suppress {duplicate } */ var _glVertexAttribDivisor = (index, divisor) => { + GLctx.vertexAttribDivisor(index, divisor); +}; + +/** @suppress {duplicate } */ var _glVertexAttribDivisorANGLE = _glVertexAttribDivisor; + +var _emscripten_glVertexAttribDivisorANGLE = _glVertexAttribDivisorANGLE; + +/** @suppress {duplicate } */ function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + ptr >>>= 0; + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); +} + +var _emscripten_glVertexAttribPointer = _glVertexAttribPointer; + +/** @suppress {duplicate } */ var _glViewport = (x0, x1, x2, x3) => GLctx.viewport(x0, x1, x2, x3); + +var _emscripten_glViewport = _glViewport; + +var _emscripten_has_asyncify = () => 0; + +var doRequestFullscreen = (target, strategy) => { + if (!JSEvents.fullscreenEnabled()) return -1; + target = findEventTarget(target); + if (!target) return -4; + if (!target.requestFullscreen && !target.webkitRequestFullscreen) { + return -3; + } + // Queue this function call if we're not currently in an event handler and + // the user saw it appropriate to do so. + if (!JSEvents.canPerformEventHandlerRequests()) { + if (strategy.deferUntilInEventHandler) { + JSEvents.deferCall(JSEvents_requestFullscreen, 1, [ target, strategy ]); + return 1; + } + return -2; + } + return JSEvents_requestFullscreen(target, strategy); +}; + +function _emscripten_request_fullscreen_strategy(target, deferUntilInEventHandler, fullscreenStrategy) { + target >>>= 0; + fullscreenStrategy >>>= 0; + var strategy = { + scaleMode: HEAP32[((fullscreenStrategy) >>> 2) >>> 0], + canvasResolutionScaleMode: HEAP32[(((fullscreenStrategy) + (4)) >>> 2) >>> 0], + filteringMode: HEAP32[(((fullscreenStrategy) + (8)) >>> 2) >>> 0], + deferUntilInEventHandler, + canvasResizedCallback: HEAP32[(((fullscreenStrategy) + (12)) >>> 2) >>> 0], + canvasResizedCallbackUserData: HEAP32[(((fullscreenStrategy) + (16)) >>> 2) >>> 0] + }; + return doRequestFullscreen(target, strategy); +} + +function _emscripten_request_pointerlock(target, deferUntilInEventHandler) { + target >>>= 0; + target = findEventTarget(target); + if (!target) return -4; + if (!target.requestPointerLock) { + return -1; + } + // Queue this function call if we're not currently in an event handler and + // the user saw it appropriate to do so. + if (!JSEvents.canPerformEventHandlerRequests()) { + if (deferUntilInEventHandler) { + JSEvents.deferCall(requestPointerLock, 2, [ target ]); + return 1; + } + return -2; + } + return requestPointerLock(target); +} + +var getHeapMax = () => // Stay one Wasm page short of 4GB: while e.g. Chrome is able to allocate +// full 4GB Wasm memories, the size will wrap back to 0 bytes in Wasm side +// for any code that deals with heap sizes, which would require special +// casing all heap size related code to treat 0 specially. +4294901760; + +var alignMemory = (size, alignment) => { + assert(alignment, "alignment argument is required"); + return Math.ceil(size / alignment) * alignment; +}; + +var growMemory = size => { + var oldHeapSize = wasmMemory.buffer.byteLength; + var pages = ((size - oldHeapSize + 65535) / 65536) | 0; + try { + // round size grow request up to wasm page size (fixed 64KB per spec) + wasmMemory.grow(pages); + // .grow() takes a delta compared to the previous size + updateMemoryViews(); + return 1; + } catch (e) { + err(`growMemory: Attempted to grow heap from ${oldHeapSize} bytes to ${size} bytes, but got error: ${e}`); + } +}; + +function _emscripten_resize_heap(requestedSize) { + requestedSize >>>= 0; + var oldSize = HEAPU8.length; + // With multithreaded builds, races can happen (another thread might increase the size + // in between), so return a failure, and let the caller retry. + assert(requestedSize > oldSize); + // Memory resize rules: + // 1. Always increase heap size to at least the requested size, rounded up + // to next page multiple. + // 2a. If MEMORY_GROWTH_LINEAR_STEP == -1, excessively resize the heap + // geometrically: increase the heap size according to + // MEMORY_GROWTH_GEOMETRIC_STEP factor (default +20%), At most + // overreserve by MEMORY_GROWTH_GEOMETRIC_CAP bytes (default 96MB). + // 2b. If MEMORY_GROWTH_LINEAR_STEP != -1, excessively resize the heap + // linearly: increase the heap size by at least + // MEMORY_GROWTH_LINEAR_STEP bytes. + // 3. Max size for the heap is capped at 2048MB-WASM_PAGE_SIZE, or by + // MAXIMUM_MEMORY, or by ASAN limit, depending on which is smallest + // 4. If we were unable to allocate as much memory, it may be due to + // over-eager decision to excessively reserve due to (3) above. + // Hence if an allocation fails, cut down on the amount of excess + // growth, in an attempt to succeed to perform a smaller allocation. + // A limit is set for how much we can grow. We should not exceed that + // (the wasm binary specifies it, so if we tried, we'd fail anyhow). + var maxHeapSize = getHeapMax(); + if (requestedSize > maxHeapSize) { + err(`Cannot enlarge memory, requested ${requestedSize} bytes, but the limit is ${maxHeapSize} bytes!`); + return false; + } + // Loop through potential heap size increases. If we attempt a too eager + // reservation that fails, cut down on the attempted size and reserve a + // smaller bump instead. (max 3 times, chosen somewhat arbitrarily) + for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { + var overGrownHeapSize = oldSize * (1 + .2 / cutDown); + // ensure geometric growth + // but limit overreserving (default to capping at +96MB overgrowth at most) + overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296); + var newSize = Math.min(maxHeapSize, alignMemory(Math.max(requestedSize, overGrownHeapSize), 65536)); + var replacement = growMemory(newSize); + if (replacement) { + return true; + } + } + err(`Failed to grow the heap from ${oldSize} bytes to ${newSize} bytes, not enough memory!`); + return false; +} + +/** @suppress {checkTypes} */ var _emscripten_sample_gamepad_data = () => { + try { + if (navigator.getGamepads) return (JSEvents.lastGamepadState = navigator.getGamepads()) ? 0 : -1; + } catch (e) { + err(`navigator.getGamepads() exists, but failed to execute with exception ${e}. Disabling Gamepad access.`); + navigator.getGamepads = null; + } + return -1; +}; + +var registerBeforeUnloadEventCallback = (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) => { + var beforeUnloadEventHandlerFunc = (e = event) => { + // Note: This is always called on the main browser thread, since it needs synchronously return a value! + var confirmationMessage = getWasmTableEntry(callbackfunc)(eventTypeId, 0, userData); + if (confirmationMessage) { + confirmationMessage = UTF8ToString(confirmationMessage); + } + if (confirmationMessage) { + e.preventDefault(); + e.returnValue = confirmationMessage; + return confirmationMessage; + } + }; + var eventHandler = { + target: findEventTarget(target), + eventTypeString, + callbackfunc, + handlerFunc: beforeUnloadEventHandlerFunc, + useCapture + }; + return JSEvents.registerOrRemoveHandler(eventHandler); +}; + +function _emscripten_set_beforeunload_callback_on_thread(userData, callbackfunc, targetThread) { + userData >>>= 0; + callbackfunc >>>= 0; + targetThread >>>= 0; + if (typeof onbeforeunload == "undefined") return -1; + // beforeunload callback can only be registered on the main browser thread, because the page will go away immediately after returning from the handler, + // and there is no time to start proxying it anywhere. + if (targetThread !== 1) return -5; + return registerBeforeUnloadEventCallback(2, userData, true, callbackfunc, 28, "beforeunload"); +} + +var registerFocusEventCallback = (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) => { + JSEvents.focusEvent ||= _malloc(256); + var focusEventHandlerFunc = (e = event) => { + var nodeName = JSEvents.getNodeNameForTarget(e.target); + var id = e.target.id ? e.target.id : ""; + var focusEvent = JSEvents.focusEvent; + stringToUTF8(nodeName, focusEvent + 0, 128); + stringToUTF8(id, focusEvent + 128, 128); + if (getWasmTableEntry(callbackfunc)(eventTypeId, focusEvent, userData)) e.preventDefault(); + }; + var eventHandler = { + target: findEventTarget(target), + eventTypeString, + callbackfunc, + handlerFunc: focusEventHandlerFunc, + useCapture + }; + return JSEvents.registerOrRemoveHandler(eventHandler); +}; + +function _emscripten_set_blur_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { + target >>>= 0; + userData >>>= 0; + callbackfunc >>>= 0; + targetThread >>>= 0; + return registerFocusEventCallback(target, userData, useCapture, callbackfunc, 12, "blur", targetThread); +} + +function _emscripten_set_element_css_size(target, width, height) { + target >>>= 0; + target = findEventTarget(target); + if (!target) return -4; + target.style.width = width + "px"; + target.style.height = height + "px"; + return 0; +} + +function _emscripten_set_focus_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { + target >>>= 0; + userData >>>= 0; + callbackfunc >>>= 0; + targetThread >>>= 0; + return registerFocusEventCallback(target, userData, useCapture, callbackfunc, 13, "focus", targetThread); +} + +var fillFullscreenChangeEventData = eventStruct => { + var fullscreenElement = getFullscreenElement(); + var isFullscreen = !!fullscreenElement; + // Assigning a boolean to HEAP32 with expected type coercion. + /** @suppress{checkTypes} */ HEAP8[eventStruct >>> 0] = isFullscreen; + HEAP8[(eventStruct) + (1) >>> 0] = JSEvents.fullscreenEnabled(); + // If transitioning to fullscreen, report info about the element that is now fullscreen. + // If transitioning to windowed mode, report info about the element that just was fullscreen. + var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; + var nodeName = JSEvents.getNodeNameForTarget(reportedElement); + var id = reportedElement?.id || ""; + stringToUTF8(nodeName, eventStruct + 2, 128); + stringToUTF8(id, eventStruct + 130, 128); + HEAP32[(((eventStruct) + (260)) >>> 2) >>> 0] = reportedElement ? reportedElement.clientWidth : 0; + HEAP32[(((eventStruct) + (264)) >>> 2) >>> 0] = reportedElement ? reportedElement.clientHeight : 0; + HEAP32[(((eventStruct) + (268)) >>> 2) >>> 0] = screen.width; + HEAP32[(((eventStruct) + (272)) >>> 2) >>> 0] = screen.height; + if (isFullscreen) { + JSEvents.previousFullscreenElement = fullscreenElement; + } +}; + +var registerFullscreenChangeEventCallback = (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) => { + JSEvents.fullscreenChangeEvent ||= _malloc(276); + var fullscreenChangeEventhandlerFunc = (e = event) => { + var fullscreenChangeEvent = JSEvents.fullscreenChangeEvent; + fillFullscreenChangeEventData(fullscreenChangeEvent); + if (getWasmTableEntry(callbackfunc)(eventTypeId, fullscreenChangeEvent, userData)) e.preventDefault(); + }; + var eventHandler = { + target, + eventTypeString, + callbackfunc, + handlerFunc: fullscreenChangeEventhandlerFunc, + useCapture + }; + return JSEvents.registerOrRemoveHandler(eventHandler); +}; + +function _emscripten_set_fullscreenchange_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { + target >>>= 0; + userData >>>= 0; + callbackfunc >>>= 0; + targetThread >>>= 0; + if (!JSEvents.fullscreenEnabled()) return -1; + target = findEventTarget(target); + if (!target) return -4; + // Unprefixed Fullscreen API shipped in Chromium 71 (https://bugs.chromium.org/p/chromium/issues/detail?id=383813) + // As of Safari 13.0.3 on macOS Catalina 10.15.1 still ships with prefixed webkitfullscreenchange. TODO: revisit this check once Safari ships unprefixed version. + registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange", targetThread); + return registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange", targetThread); +} + +var registerGamepadEventCallback = (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) => { + JSEvents.gamepadEvent ||= _malloc(1240); + var gamepadEventHandlerFunc = (e = event) => { + var gamepadEvent = JSEvents.gamepadEvent; + fillGamepadEventData(gamepadEvent, e["gamepad"]); + if (getWasmTableEntry(callbackfunc)(eventTypeId, gamepadEvent, userData)) e.preventDefault(); + }; + var eventHandler = { + target: findEventTarget(target), + allowsDeferredCalls: true, + eventTypeString, + callbackfunc, + handlerFunc: gamepadEventHandlerFunc, + useCapture + }; + return JSEvents.registerOrRemoveHandler(eventHandler); +}; + +function _emscripten_set_gamepadconnected_callback_on_thread(userData, useCapture, callbackfunc, targetThread) { + userData >>>= 0; + callbackfunc >>>= 0; + targetThread >>>= 0; + if (_emscripten_sample_gamepad_data()) return -1; + return registerGamepadEventCallback(2, userData, useCapture, callbackfunc, 26, "gamepadconnected", targetThread); +} + +function _emscripten_set_gamepaddisconnected_callback_on_thread(userData, useCapture, callbackfunc, targetThread) { + userData >>>= 0; + callbackfunc >>>= 0; + targetThread >>>= 0; + if (_emscripten_sample_gamepad_data()) return -1; + return registerGamepadEventCallback(2, userData, useCapture, callbackfunc, 27, "gamepaddisconnected", targetThread); +} + +var registerKeyEventCallback = (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) => { + JSEvents.keyEvent ||= _malloc(160); + var keyEventHandlerFunc = e => { + assert(e); + var keyEventData = JSEvents.keyEvent; + HEAPF64[((keyEventData) >>> 3) >>> 0] = e.timeStamp; + var idx = ((keyEventData) >>> 2); + HEAP32[idx + 2 >>> 0] = e.location; + HEAP8[keyEventData + 12 >>> 0] = e.ctrlKey; + HEAP8[keyEventData + 13 >>> 0] = e.shiftKey; + HEAP8[keyEventData + 14 >>> 0] = e.altKey; + HEAP8[keyEventData + 15 >>> 0] = e.metaKey; + HEAP8[keyEventData + 16 >>> 0] = e.repeat; + HEAP32[idx + 5 >>> 0] = e.charCode; + HEAP32[idx + 6 >>> 0] = e.keyCode; + HEAP32[idx + 7 >>> 0] = e.which; + stringToUTF8(e.key || "", keyEventData + 32, 32); + stringToUTF8(e.code || "", keyEventData + 64, 32); + stringToUTF8(e.char || "", keyEventData + 96, 32); + stringToUTF8(e.locale || "", keyEventData + 128, 32); + if (getWasmTableEntry(callbackfunc)(eventTypeId, keyEventData, userData)) e.preventDefault(); + }; + var eventHandler = { + target: findEventTarget(target), + eventTypeString, + callbackfunc, + handlerFunc: keyEventHandlerFunc, + useCapture + }; + return JSEvents.registerOrRemoveHandler(eventHandler); +}; + +function _emscripten_set_keydown_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { + target >>>= 0; + userData >>>= 0; + callbackfunc >>>= 0; + targetThread >>>= 0; + return registerKeyEventCallback(target, userData, useCapture, callbackfunc, 2, "keydown", targetThread); +} + +function _emscripten_set_keypress_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { + target >>>= 0; + userData >>>= 0; + callbackfunc >>>= 0; + targetThread >>>= 0; + return registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress", targetThread); +} + +function _emscripten_set_keyup_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { + target >>>= 0; + userData >>>= 0; + callbackfunc >>>= 0; + targetThread >>>= 0; + return registerKeyEventCallback(target, userData, useCapture, callbackfunc, 3, "keyup", targetThread); +} + +var _emscripten_set_main_loop_arg = function(func, arg, fps, simulateInfiniteLoop) { + func >>>= 0; + arg >>>= 0; + var iterFunc = () => getWasmTableEntry(func)(arg); + setMainLoop(iterFunc, fps, simulateInfiniteLoop, arg); +}; + +var fillMouseEventData = (eventStruct, e, target) => { + assert(eventStruct % 4 == 0); + HEAPF64[((eventStruct) >>> 3) >>> 0] = e.timeStamp; + var idx = ((eventStruct) >>> 2); + HEAP32[idx + 2 >>> 0] = e.screenX; + HEAP32[idx + 3 >>> 0] = e.screenY; + HEAP32[idx + 4 >>> 0] = e.clientX; + HEAP32[idx + 5 >>> 0] = e.clientY; + HEAP8[eventStruct + 24 >>> 0] = e.ctrlKey; + HEAP8[eventStruct + 25 >>> 0] = e.shiftKey; + HEAP8[eventStruct + 26 >>> 0] = e.altKey; + HEAP8[eventStruct + 27 >>> 0] = e.metaKey; + HEAP16[idx * 2 + 14 >>> 0] = e.button; + HEAP16[idx * 2 + 15 >>> 0] = e.buttons; + HEAP32[idx + 8 >>> 0] = e["movementX"]; + HEAP32[idx + 9 >>> 0] = e["movementY"]; + // Note: rect contains doubles (truncated to placate SAFE_HEAP, which is the same behaviour when writing to HEAP32 anyway) + var rect = getBoundingClientRect(target); + HEAP32[idx + 10 >>> 0] = e.clientX - (rect.left | 0); + HEAP32[idx + 11 >>> 0] = e.clientY - (rect.top | 0); +}; + +var registerMouseEventCallback = (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) => { + JSEvents.mouseEvent ||= _malloc(64); + target = findEventTarget(target); + var mouseEventHandlerFunc = (e = event) => { + // TODO: Make this access thread safe, or this could update live while app is reading it. + fillMouseEventData(JSEvents.mouseEvent, e, target); + if (getWasmTableEntry(callbackfunc)(eventTypeId, JSEvents.mouseEvent, userData)) e.preventDefault(); + }; + var eventHandler = { + target, + allowsDeferredCalls: eventTypeString != "mousemove" && eventTypeString != "mouseenter" && eventTypeString != "mouseleave", + // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! + eventTypeString, + callbackfunc, + handlerFunc: mouseEventHandlerFunc, + useCapture + }; + return JSEvents.registerOrRemoveHandler(eventHandler); +}; + +function _emscripten_set_mousedown_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { + target >>>= 0; + userData >>>= 0; + callbackfunc >>>= 0; + targetThread >>>= 0; + return registerMouseEventCallback(target, userData, useCapture, callbackfunc, 5, "mousedown", targetThread); +} + +function _emscripten_set_mouseenter_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { + target >>>= 0; + userData >>>= 0; + callbackfunc >>>= 0; + targetThread >>>= 0; + return registerMouseEventCallback(target, userData, useCapture, callbackfunc, 33, "mouseenter", targetThread); +} + +function _emscripten_set_mouseleave_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { + target >>>= 0; + userData >>>= 0; + callbackfunc >>>= 0; + targetThread >>>= 0; + return registerMouseEventCallback(target, userData, useCapture, callbackfunc, 34, "mouseleave", targetThread); +} + +function _emscripten_set_mousemove_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { + target >>>= 0; + userData >>>= 0; + callbackfunc >>>= 0; + targetThread >>>= 0; + return registerMouseEventCallback(target, userData, useCapture, callbackfunc, 8, "mousemove", targetThread); +} + +function _emscripten_set_mouseup_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { + target >>>= 0; + userData >>>= 0; + callbackfunc >>>= 0; + targetThread >>>= 0; + return registerMouseEventCallback(target, userData, useCapture, callbackfunc, 6, "mouseup", targetThread); +} + +var fillPointerlockChangeEventData = eventStruct => { + var pointerLockElement = document.pointerLockElement; + var isPointerlocked = !!pointerLockElement; + // Assigning a boolean to HEAP32 with expected type coercion. + /** @suppress{checkTypes} */ HEAP8[eventStruct >>> 0] = isPointerlocked; + var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); + var id = pointerLockElement?.id || ""; + stringToUTF8(nodeName, eventStruct + 1, 128); + stringToUTF8(id, eventStruct + 129, 128); +}; + +var registerPointerlockChangeEventCallback = (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) => { + JSEvents.pointerlockChangeEvent ||= _malloc(257); + var pointerlockChangeEventHandlerFunc = (e = event) => { + var pointerlockChangeEvent = JSEvents.pointerlockChangeEvent; + fillPointerlockChangeEventData(pointerlockChangeEvent); + if (getWasmTableEntry(callbackfunc)(eventTypeId, pointerlockChangeEvent, userData)) e.preventDefault(); + }; + var eventHandler = { + target, + eventTypeString, + callbackfunc, + handlerFunc: pointerlockChangeEventHandlerFunc, + useCapture + }; + return JSEvents.registerOrRemoveHandler(eventHandler); +}; + +function _emscripten_set_pointerlockchange_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { + target >>>= 0; + userData >>>= 0; + callbackfunc >>>= 0; + targetThread >>>= 0; + if (!document.body?.requestPointerLock) { + return -1; + } + target = findEventTarget(target); + if (!target) return -4; + return registerPointerlockChangeEventCallback(target, userData, useCapture, callbackfunc, 20, "pointerlockchange", targetThread); +} + +var registerUiEventCallback = (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) => { + JSEvents.uiEvent ||= _malloc(36); + target = findEventTarget(target); + var uiEventHandlerFunc = (e = event) => { + if (e.target != target) { + // Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that + // was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log + // message box could cause to scroll, generating a new (bubbled) scroll message, causing a new log print, + // causing a new scroll, etc.. + return; + } + var b = document.body; + // Take document.body to a variable, Closure compiler does not outline access to it on its own. + if (!b) { + // During a page unload 'body' can be null, with "Cannot read property 'clientWidth' of null" being thrown + return; + } + var uiEvent = JSEvents.uiEvent; + HEAP32[((uiEvent) >>> 2) >>> 0] = 0; + // always zero for resize and scroll + HEAP32[(((uiEvent) + (4)) >>> 2) >>> 0] = b.clientWidth; + HEAP32[(((uiEvent) + (8)) >>> 2) >>> 0] = b.clientHeight; + HEAP32[(((uiEvent) + (12)) >>> 2) >>> 0] = innerWidth; + HEAP32[(((uiEvent) + (16)) >>> 2) >>> 0] = innerHeight; + HEAP32[(((uiEvent) + (20)) >>> 2) >>> 0] = outerWidth; + HEAP32[(((uiEvent) + (24)) >>> 2) >>> 0] = outerHeight; + HEAP32[(((uiEvent) + (28)) >>> 2) >>> 0] = pageXOffset | 0; + // scroll offsets are float + HEAP32[(((uiEvent) + (32)) >>> 2) >>> 0] = pageYOffset | 0; + if (getWasmTableEntry(callbackfunc)(eventTypeId, uiEvent, userData)) e.preventDefault(); + }; + var eventHandler = { + target, + eventTypeString, + callbackfunc, + handlerFunc: uiEventHandlerFunc, + useCapture + }; + return JSEvents.registerOrRemoveHandler(eventHandler); +}; + +function _emscripten_set_resize_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { + target >>>= 0; + userData >>>= 0; + callbackfunc >>>= 0; + targetThread >>>= 0; + return registerUiEventCallback(target, userData, useCapture, callbackfunc, 10, "resize", targetThread); +} + +var registerTouchEventCallback = (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) => { + JSEvents.touchEvent ||= _malloc(1552); + target = findEventTarget(target); + var touchEventHandlerFunc = e => { + assert(e); + var t, touches = {}, et = e.touches; + // To ease marshalling different kinds of touches that browser reports (all touches are listed in e.touches, + // only changed touches in e.changedTouches, and touches on target at a.targetTouches), mark a boolean in + // each Touch object so that we can later loop only once over all touches we see to marshall over to Wasm. + for (let t of et) { + // Browser might recycle the generated Touch objects between each frame (Firefox on Android), so reset any + // changed/target states we may have set from previous frame. + t.isChanged = t.onTarget = 0; + touches[t.identifier] = t; + } + // Mark which touches are part of the changedTouches list. + for (let t of e.changedTouches) { + t.isChanged = 1; + touches[t.identifier] = t; + } + // Mark which touches are part of the targetTouches list. + for (let t of e.targetTouches) { + touches[t.identifier].onTarget = 1; + } + var touchEvent = JSEvents.touchEvent; + HEAPF64[((touchEvent) >>> 3) >>> 0] = e.timeStamp; + HEAP8[touchEvent + 12 >>> 0] = e.ctrlKey; + HEAP8[touchEvent + 13 >>> 0] = e.shiftKey; + HEAP8[touchEvent + 14 >>> 0] = e.altKey; + HEAP8[touchEvent + 15 >>> 0] = e.metaKey; + var idx = touchEvent + 16; + var targetRect = getBoundingClientRect(target); + var numTouches = 0; + for (let t of Object.values(touches)) { + var idx32 = ((idx) >>> 2); + // Pre-shift the ptr to index to HEAP32 to save code size + HEAP32[idx32 + 0 >>> 0] = t.identifier; + HEAP32[idx32 + 1 >>> 0] = t.screenX; + HEAP32[idx32 + 2 >>> 0] = t.screenY; + HEAP32[idx32 + 3 >>> 0] = t.clientX; + HEAP32[idx32 + 4 >>> 0] = t.clientY; + HEAP32[idx32 + 5 >>> 0] = t.pageX; + HEAP32[idx32 + 6 >>> 0] = t.pageY; + HEAP8[idx + 28 >>> 0] = t.isChanged; + HEAP8[idx + 29 >>> 0] = t.onTarget; + HEAP32[idx32 + 8 >>> 0] = t.clientX - (targetRect.left | 0); + HEAP32[idx32 + 9 >>> 0] = t.clientY - (targetRect.top | 0); + idx += 48; + if (++numTouches > 31) { + break; + } + } + HEAP32[(((touchEvent) + (8)) >>> 2) >>> 0] = numTouches; + if (getWasmTableEntry(callbackfunc)(eventTypeId, touchEvent, userData)) e.preventDefault(); + }; + var eventHandler = { + target, + allowsDeferredCalls: eventTypeString == "touchstart" || eventTypeString == "touchend", + eventTypeString, + callbackfunc, + handlerFunc: touchEventHandlerFunc, + useCapture + }; + return JSEvents.registerOrRemoveHandler(eventHandler); +}; + +function _emscripten_set_touchcancel_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { + target >>>= 0; + userData >>>= 0; + callbackfunc >>>= 0; + targetThread >>>= 0; + return registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel", targetThread); +} + +function _emscripten_set_touchend_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { + target >>>= 0; + userData >>>= 0; + callbackfunc >>>= 0; + targetThread >>>= 0; + return registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend", targetThread); +} + +function _emscripten_set_touchmove_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { + target >>>= 0; + userData >>>= 0; + callbackfunc >>>= 0; + targetThread >>>= 0; + return registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove", targetThread); +} + +function _emscripten_set_touchstart_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { + target >>>= 0; + userData >>>= 0; + callbackfunc >>>= 0; + targetThread >>>= 0; + return registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart", targetThread); +} + +var fillVisibilityChangeEventData = eventStruct => { + var visibilityStates = [ "hidden", "visible", "prerender", "unloaded" ]; + var visibilityState = visibilityStates.indexOf(document.visibilityState); + // Assigning a boolean to HEAP32 with expected type coercion. + /** @suppress{checkTypes} */ HEAP8[eventStruct >>> 0] = document.hidden; + HEAP32[(((eventStruct) + (4)) >>> 2) >>> 0] = visibilityState; +}; + +var registerVisibilityChangeEventCallback = (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) => { + JSEvents.visibilityChangeEvent ||= _malloc(8); + var visibilityChangeEventHandlerFunc = (e = event) => { + var visibilityChangeEvent = JSEvents.visibilityChangeEvent; + fillVisibilityChangeEventData(visibilityChangeEvent); + if (getWasmTableEntry(callbackfunc)(eventTypeId, visibilityChangeEvent, userData)) e.preventDefault(); + }; + var eventHandler = { + target, + eventTypeString, + callbackfunc, + handlerFunc: visibilityChangeEventHandlerFunc, + useCapture + }; + return JSEvents.registerOrRemoveHandler(eventHandler); +}; + +function _emscripten_set_visibilitychange_callback_on_thread(userData, useCapture, callbackfunc, targetThread) { + userData >>>= 0; + callbackfunc >>>= 0; + targetThread >>>= 0; + return registerVisibilityChangeEventCallback(specialHTMLTargets[1], userData, useCapture, callbackfunc, 21, "visibilitychange", targetThread); +} + +var registerWheelEventCallback = (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString, targetThread) => { + JSEvents.wheelEvent ||= _malloc(96); + // The DOM Level 3 events spec event 'wheel' + var wheelHandlerFunc = (e = event) => { + var wheelEvent = JSEvents.wheelEvent; + fillMouseEventData(wheelEvent, e, target); + HEAPF64[(((wheelEvent) + (64)) >>> 3) >>> 0] = e["deltaX"]; + HEAPF64[(((wheelEvent) + (72)) >>> 3) >>> 0] = e["deltaY"]; + HEAPF64[(((wheelEvent) + (80)) >>> 3) >>> 0] = e["deltaZ"]; + HEAP32[(((wheelEvent) + (88)) >>> 2) >>> 0] = e["deltaMode"]; + if (getWasmTableEntry(callbackfunc)(eventTypeId, wheelEvent, userData)) e.preventDefault(); + }; + var eventHandler = { + target, + allowsDeferredCalls: true, + eventTypeString, + callbackfunc, + handlerFunc: wheelHandlerFunc, + useCapture + }; + return JSEvents.registerOrRemoveHandler(eventHandler); +}; + +function _emscripten_set_wheel_callback_on_thread(target, userData, useCapture, callbackfunc, targetThread) { + target >>>= 0; + userData >>>= 0; + callbackfunc >>>= 0; + targetThread >>>= 0; + target = findEventTarget(target); + if (!target) return -4; + if (typeof target.onwheel != "undefined") { + return registerWheelEventCallback(target, userData, useCapture, callbackfunc, 9, "wheel", targetThread); + } else { + return -1; + } +} + +function _emscripten_set_window_title(title) { + title >>>= 0; + return document.title = UTF8ToString(title); +} + +var _emscripten_sleep = () => { + throw "Please compile your program with async support in order to use asynchronous operations like emscripten_sleep"; +}; + +var ENV = {}; + +var getExecutableName = () => thisProgram || "./this.program"; + +var getEnvStrings = () => { + if (!getEnvStrings.strings) { + // Default values. + // Browser language detection #8751 + var lang = ((typeof navigator == "object" && navigator.language) || "C").replace("-", "_") + ".UTF-8"; + var env = { + "USER": "web_user", + "LOGNAME": "web_user", + "PATH": "/", + "PWD": "/", + "HOME": "/home/web_user", + "LANG": lang, + "_": getExecutableName() + }; + // Apply the user-provided values, if any. + for (var x in ENV) { + // x is a key in ENV; if ENV[x] is undefined, that means it was + // explicitly set to be so. We allow user code to do that to + // force variables with default values to remain unset. + if (ENV[x] === undefined) delete env[x]; else env[x] = ENV[x]; + } + var strings = []; + for (var x in env) { + strings.push(`${x}=${env[x]}`); + } + getEnvStrings.strings = strings; + } + return getEnvStrings.strings; +}; + +function _environ_get(__environ, environ_buf) { + __environ >>>= 0; + environ_buf >>>= 0; + var bufSize = 0; + var envp = 0; + for (var string of getEnvStrings()) { + var ptr = environ_buf + bufSize; + HEAPU32[(((__environ) + (envp)) >>> 2) >>> 0] = ptr; + bufSize += stringToUTF8(string, ptr, Infinity) + 1; + envp += 4; + } + return 0; +} + +function _environ_sizes_get(penviron_count, penviron_buf_size) { + penviron_count >>>= 0; + penviron_buf_size >>>= 0; + var strings = getEnvStrings(); + HEAPU32[((penviron_count) >>> 2) >>> 0] = strings.length; + var bufSize = 0; + for (var string of strings) { + bufSize += lengthBytesUTF8(string) + 1; + } + HEAPU32[((penviron_buf_size) >>> 2) >>> 0] = bufSize; + return 0; +} + +function _fd_close(fd) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return e.errno; + } +} + +function _fd_fdstat_get(fd, pbuf) { + pbuf >>>= 0; + try { + var rightsBase = 0; + var rightsInheriting = 0; + var flags = 0; + { + var stream = SYSCALLS.getStreamFromFD(fd); + // All character devices are terminals (other things a Linux system would + // assume is a character device, like the mouse, we have special APIs for). + var type = stream.tty ? 2 : FS.isDir(stream.mode) ? 3 : FS.isLink(stream.mode) ? 7 : 4; + } + HEAP8[pbuf >>> 0] = type; + HEAP16[(((pbuf) + (2)) >>> 1) >>> 0] = flags; + HEAP64[(((pbuf) + (8)) >>> 3) >>> 0] = BigInt(rightsBase); + HEAP64[(((pbuf) + (16)) >>> 3) >>> 0] = BigInt(rightsInheriting); + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return e.errno; + } +} + +/** @param {number=} offset */ var doReadv = (stream, iov, iovcnt, offset) => { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[((iov) >>> 2) >>> 0]; + var len = HEAPU32[(((iov) + (4)) >>> 2) >>> 0]; + iov += 8; + var curr = FS.read(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break; + // nothing more to read + if (typeof offset != "undefined") { + offset += curr; + } + } + return ret; +}; + +function _fd_read(fd, iov, iovcnt, pnum) { + iov >>>= 0; + iovcnt >>>= 0; + pnum >>>= 0; + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doReadv(stream, iov, iovcnt); + HEAPU32[((pnum) >>> 2) >>> 0] = num; + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return e.errno; + } +} + +function _fd_seek(fd, offset, whence, newOffset) { + offset = bigintToI53Checked(offset); + newOffset >>>= 0; + try { + if (isNaN(offset)) return 61; + var stream = SYSCALLS.getStreamFromFD(fd); + FS.llseek(stream, offset, whence); + HEAP64[((newOffset) >>> 3) >>> 0] = BigInt(stream.position); + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; + // reset readdir state + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return e.errno; + } +} + +/** @param {number=} offset */ var doWritev = (stream, iov, iovcnt, offset) => { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[((iov) >>> 2) >>> 0]; + var len = HEAPU32[(((iov) + (4)) >>> 2) >>> 0]; + iov += 8; + var curr = FS.write(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) { + // No more space to write. + break; + } + if (typeof offset != "undefined") { + offset += curr; + } + } + return ret; +}; + +function _fd_write(fd, iov, iovcnt, pnum) { + iov >>>= 0; + iovcnt >>>= 0; + pnum >>>= 0; + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doWritev(stream, iov, iovcnt); + HEAPU32[((pnum) >>> 2) >>> 0] = num; + return 0; + } catch (e) { + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; + return e.errno; + } +} + +var zeroMemory = (ptr, size) => HEAPU8.fill(0, ptr, ptr + size); + +/** @param {number=} addrlen */ var writeSockaddr = (sa, family, addr, port, addrlen) => { + switch (family) { + case 2: + addr = inetPton4(addr); + zeroMemory(sa, 16); + if (addrlen) { + HEAP32[((addrlen) >>> 2) >>> 0] = 16; + } + HEAP16[((sa) >>> 1) >>> 0] = family; + HEAP32[(((sa) + (4)) >>> 2) >>> 0] = addr; + HEAP16[(((sa) + (2)) >>> 1) >>> 0] = _htons(port); + break; + + case 10: + addr = inetPton6(addr); + zeroMemory(sa, 28); + if (addrlen) { + HEAP32[((addrlen) >>> 2) >>> 0] = 28; + } + HEAP32[((sa) >>> 2) >>> 0] = family; + HEAP32[(((sa) + (8)) >>> 2) >>> 0] = addr[0]; + HEAP32[(((sa) + (12)) >>> 2) >>> 0] = addr[1]; + HEAP32[(((sa) + (16)) >>> 2) >>> 0] = addr[2]; + HEAP32[(((sa) + (20)) >>> 2) >>> 0] = addr[3]; + HEAP16[(((sa) + (2)) >>> 1) >>> 0] = _htons(port); + break; + + default: + return 5; + } + return 0; +}; + +function _getaddrinfo(node, service, hint, out) { + node >>>= 0; + service >>>= 0; + hint >>>= 0; + out >>>= 0; + // Note getaddrinfo currently only returns a single addrinfo with ai_next defaulting to NULL. When NULL + // hints are specified or ai_family set to AF_UNSPEC or ai_socktype or ai_protocol set to 0 then we + // really should provide a linked list of suitable addrinfo values. + var addrs = []; + var canon = null; + var addr = 0; + var port = 0; + var flags = 0; + var family = 0; + var type = 0; + var proto = 0; + var ai, last; + function allocaddrinfo(family, type, proto, canon, addr, port) { + var sa, salen, ai; + var errno; + salen = family === 10 ? 28 : 16; + addr = family === 10 ? inetNtop6(addr) : inetNtop4(addr); + sa = _malloc(salen); + errno = writeSockaddr(sa, family, addr, port); + assert(!errno); + ai = _malloc(32); + HEAP32[(((ai) + (4)) >>> 2) >>> 0] = family; + HEAP32[(((ai) + (8)) >>> 2) >>> 0] = type; + HEAP32[(((ai) + (12)) >>> 2) >>> 0] = proto; + HEAPU32[(((ai) + (24)) >>> 2) >>> 0] = canon; + HEAPU32[(((ai) + (20)) >>> 2) >>> 0] = sa; + if (family === 10) { + HEAP32[(((ai) + (16)) >>> 2) >>> 0] = 28; + } else { + HEAP32[(((ai) + (16)) >>> 2) >>> 0] = 16; + } + HEAP32[(((ai) + (28)) >>> 2) >>> 0] = 0; + return ai; + } + if (hint) { + flags = HEAP32[((hint) >>> 2) >>> 0]; + family = HEAP32[(((hint) + (4)) >>> 2) >>> 0]; + type = HEAP32[(((hint) + (8)) >>> 2) >>> 0]; + proto = HEAP32[(((hint) + (12)) >>> 2) >>> 0]; + } + if (type && !proto) { + proto = type === 2 ? 17 : 6; + } + if (!type && proto) { + type = proto === 17 ? 2 : 1; + } + // If type or proto are set to zero in hints we should really be returning multiple addrinfo values, but for + // now default to a TCP STREAM socket so we can at least return a sensible addrinfo given NULL hints. + if (proto === 0) { + proto = 6; + } + if (type === 0) { + type = 1; + } + if (!node && !service) { + return -2; + } + if (flags & ~(1 | 2 | 4 | 1024 | 8 | 16 | 32)) { + return -1; + } + if (hint !== 0 && (HEAP32[((hint) >>> 2) >>> 0] & 2) && !node) { + return -1; + } + if (flags & 32) { + // TODO + return -2; + } + if (type !== 0 && type !== 1 && type !== 2) { + return -7; + } + if (family !== 0 && family !== 2 && family !== 10) { + return -6; + } + if (service) { + service = UTF8ToString(service); + port = parseInt(service, 10); + if (isNaN(port)) { + if (flags & 1024) { + return -2; + } + // TODO support resolving well-known service names from: + // http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.txt + return -8; + } + } + if (!node) { + if (family === 0) { + family = 2; + } + if ((flags & 1) === 0) { + if (family === 2) { + addr = _htonl(2130706433); + } else { + addr = [ 0, 0, 0, _htonl(1) ]; + } + } + ai = allocaddrinfo(family, type, proto, null, addr, port); + HEAPU32[((out) >>> 2) >>> 0] = ai; + return 0; + } + // try as a numeric address + node = UTF8ToString(node); + addr = inetPton4(node); + if (addr !== null) { + // incoming node is a valid ipv4 address + if (family === 0 || family === 2) { + family = 2; + } else if (family === 10 && (flags & 8)) { + addr = [ 0, 0, _htonl(65535), addr ]; + family = 10; + } else { + return -2; + } + } else { + addr = inetPton6(node); + if (addr !== null) { + // incoming node is a valid ipv6 address + if (family === 0 || family === 10) { + family = 10; + } else { + return -2; + } + } + } + if (addr != null) { + ai = allocaddrinfo(family, type, proto, node, addr, port); + HEAPU32[((out) >>> 2) >>> 0] = ai; + return 0; + } + if (flags & 4) { + return -2; + } + // try as a hostname + // resolve the hostname to a temporary fake address + node = DNS.lookup_name(node); + addr = inetPton4(node); + if (family === 0) { + family = 2; + } else if (family === 10) { + addr = [ 0, 0, _htonl(65535), addr ]; + } + ai = allocaddrinfo(family, type, proto, null, addr, port); + HEAPU32[((out) >>> 2) >>> 0] = ai; + return 0; +} + +/** @param {Object=} elements */ var autoResumeAudioContext = (ctx, elements) => { + if (!elements) { + elements = [ document, document.getElementById("canvas") ]; + } + [ "keydown", "mousedown", "touchstart" ].forEach(event => { + elements.forEach(element => { + element?.addEventListener(event, () => { + if (ctx.state === "suspended") ctx.resume(); + }, { + "once": true + }); + }); + }); +}; + +var dynCall = (sig, ptr, args = [], promising = false) => { + assert(!promising, "async dynCall is not supported in this mode"); + assert(getWasmTableEntry(ptr), `missing table entry in dynCall: ${ptr}`); + var func = getWasmTableEntry(ptr); + var rtn = func(...args); + function convert(rtn) { + return sig[0] == "p" ? rtn >>> 0 : rtn; + } + return convert(rtn); +}; + +var getCFunc = ident => { + var func = Module["_" + ident]; + // closure exported function + assert(func, "Cannot call unknown function " + ident + ", make sure it is exported"); + return func; +}; + +var writeArrayToMemory = (array, buffer) => { + assert(array.length >= 0, "writeArrayToMemory array must have a length (should be an array or typed array)"); + HEAP8.set(array, buffer >>> 0); +}; + +/** + * @param {string|null=} returnType + * @param {Array=} argTypes + * @param {Array=} args + * @param {Object=} opts + */ var ccall = (ident, returnType, argTypes, args, opts) => { + // For fast lookup of conversion functions + var toC = { + "string": str => { + var ret = 0; + if (str !== null && str !== undefined && str !== 0) { + // null string + ret = stringToUTF8OnStack(str); + } + return ret; + }, + "array": arr => { + var ret = stackAlloc(arr.length); + writeArrayToMemory(arr, ret); + return ret; + } + }; + function convertReturnValue(ret) { + if (returnType === "string") { + return UTF8ToString(ret); + } + if (returnType === "boolean") return Boolean(ret); + return ret; + } + var func = getCFunc(ident); + var cArgs = []; + var stack = 0; + assert(returnType !== "array", 'Return type should not be "array".'); + if (args) { + for (var i = 0; i < args.length; i++) { + var converter = toC[argTypes[i]]; + if (converter) { + if (stack === 0) stack = stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func(...cArgs); + function onDone(ret) { + if (stack !== 0) stackRestore(stack); + return convertReturnValue(ret); + } + ret = onDone(ret); + return ret; +}; + +/** + * @param {string=} returnType + * @param {Array=} argTypes + * @param {Object=} opts + */ var cwrap = (ident, returnType, argTypes, opts) => (...args) => ccall(ident, returnType, argTypes, args, opts); + +var uleb128EncodeWithLen = arr => { + const n = arr.length; + assert(n < 16384); + // Note: this LEB128 length encoding produces extra byte for n < 128, + // but we don't care as it's only used in a temporary representation. + return [ (n % 128) | 128, n >> 7, ...arr ]; +}; + +var wasmTypeCodes = { + "i": 127, + // i32 + "p": 127, + // i32 + "j": 126, + // i64 + "f": 125, + // f32 + "d": 124, + // f64 + "e": 111 +}; + +var generateTypePack = types => uleb128EncodeWithLen(Array.from(types, type => { + var code = wasmTypeCodes[type]; + assert(code, `invalid signature char: ${type}`); + return code; +})); + +var convertJsFunctionToWasm = (func, sig) => { + // Rest of the module is static + var bytes = Uint8Array.of(0, 97, 115, 109, // magic ("\0asm") + 1, 0, 0, 0, // version: 1 + 1, // Type section code + // The module is static, with the exception of the type section, which is + // generated based on the signature passed in. + ...uleb128EncodeWithLen([ 1, // count: 1 + 96, // param types + ...generateTypePack(sig.slice(1)), // return types (for now only supporting [] if `void` and single [T] otherwise) + ...generateTypePack(sig[0] === "v" ? "" : sig[0]) ]), // The rest of the module is static + 2, 7, // import section + // (import "e" "f" (func 0 (type 0))) + 1, 1, 101, 1, 102, 0, 0, 7, 5, // export section + // (export "f" (func 0 (type 0))) + 1, 1, 102, 0, 0); + // We can compile this wasm module synchronously because it is very small. + // This accepts an import (at "e.f"), that it reroutes to an export (at "f") + var module = new WebAssembly.Module(bytes); + var instance = new WebAssembly.Instance(module, { + "e": { + "f": func + } + }); + var wrappedFunc = instance.exports["f"]; + return wrappedFunc; +}; + +var updateTableMap = (offset, count) => { + if (functionsInTableMap) { + for (var i = offset; i < offset + count; i++) { + var item = getWasmTableEntry(i); + // Ignore null values. + if (item) { + functionsInTableMap.set(item, i); + } + } + } +}; + +var functionsInTableMap; + +var getFunctionAddress = func => { + // First, create the map if this is the first use. + if (!functionsInTableMap) { + functionsInTableMap = new WeakMap; + updateTableMap(0, wasmTable.length); + } + return functionsInTableMap.get(func) || 0; +}; + +var freeTableIndexes = []; + +var getEmptyTableSlot = () => { + // Reuse a free index if there is one, otherwise grow. + if (freeTableIndexes.length) { + return freeTableIndexes.pop(); + } + try { + // Grow the table + return wasmTable["grow"](1); + } catch (err) { + if (!(err instanceof RangeError)) { + throw err; + } + throw "Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."; + } +}; + +var setWasmTableEntry = (idx, func) => { + /** @suppress {checkTypes} */ wasmTable.set(idx, func); + // With ABORT_ON_WASM_EXCEPTIONS wasmTable.get is overridden to return wrapped + // functions so we need to call it here to retrieve the potential wrapper correctly + // instead of just storing 'func' directly into wasmTableMirror + /** @suppress {checkTypes} */ wasmTableMirror[idx] = wasmTable.get(idx); +}; + +/** @param {string=} sig */ var addFunction = (func, sig) => { + assert(typeof func != "undefined"); + // Check if the function is already in the table, to ensure each function + // gets a unique index. + var rtn = getFunctionAddress(func); + if (rtn) { + return rtn; + } + // It's not in the table, add it now. + var ret = getEmptyTableSlot(); + // Set the new value. + try { + // Attempting to call this with JS function will cause of table.set() to fail + setWasmTableEntry(ret, func); + } catch (err) { + if (!(err instanceof TypeError)) { + throw err; + } + assert(typeof sig != "undefined", "Missing signature argument to addFunction: " + func); + var wrapped = convertJsFunctionToWasm(func, sig); + setWasmTableEntry(ret, wrapped); + } + functionsInTableMap.set(func, ret); + return ret; +}; + +var createContext = Browser.createContext; + +FS.createPreloadedFile = FS_createPreloadedFile; + +FS.staticInit(); + +assert(emval_handles.length === 5 * 2); + +Module["requestAnimationFrame"] = MainLoop.requestAnimationFrame; + +Module["pauseMainLoop"] = MainLoop.pause; + +Module["resumeMainLoop"] = MainLoop.resume; + +MainLoop.init(); + +for (let i = 0; i < 32; ++i) tempFixedLengthArray.push(new Array(i)); + +var miniTempWebGLFloatBuffersStorage = new Float32Array(288); + +// Create GL_POOL_TEMP_BUFFERS_SIZE+1 temporary buffers, for uploads of size 0 through GL_POOL_TEMP_BUFFERS_SIZE inclusive +for (/**@suppress{duplicate}*/ var i = 0; i <= 288; ++i) { + miniTempWebGLFloatBuffers[i] = miniTempWebGLFloatBuffersStorage.subarray(0, i); +} + +var miniTempWebGLIntBuffersStorage = new Int32Array(288); + +// Create GL_POOL_TEMP_BUFFERS_SIZE+1 temporary buffers, for uploads of size 0 through GL_POOL_TEMP_BUFFERS_SIZE inclusive +for (/**@suppress{duplicate}*/ var i = 0; i <= 288; ++i) { + miniTempWebGLIntBuffers[i] = miniTempWebGLIntBuffersStorage.subarray(0, i); +} + +// End JS library code +// include: postlibrary.js +// This file is included after the automatically-generated JS library code +// but before the wasm module is created. +{ + // Begin ATMODULES hooks + if (Module["noExitRuntime"]) noExitRuntime = Module["noExitRuntime"]; + if (Module["preloadPlugins"]) preloadPlugins = Module["preloadPlugins"]; + if (Module["print"]) out = Module["print"]; + if (Module["printErr"]) err = Module["printErr"]; + if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"]; + // End ATMODULES hooks + checkIncomingModuleAPI(); + if (Module["arguments"]) arguments_ = Module["arguments"]; + if (Module["thisProgram"]) thisProgram = Module["thisProgram"]; + // Assertions on removed incoming Module JS APIs. + assert(typeof Module["memoryInitializerPrefixURL"] == "undefined", "Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"); + assert(typeof Module["pthreadMainPrefixURL"] == "undefined", "Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"); + assert(typeof Module["cdInitializerPrefixURL"] == "undefined", "Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"); + assert(typeof Module["filePackagePrefixURL"] == "undefined", "Module.filePackagePrefixURL option was removed, use Module.locateFile instead"); + assert(typeof Module["read"] == "undefined", "Module.read option was removed"); + assert(typeof Module["readAsync"] == "undefined", "Module.readAsync option was removed (modify readAsync in JS)"); + assert(typeof Module["readBinary"] == "undefined", "Module.readBinary option was removed (modify readBinary in JS)"); + assert(typeof Module["setWindowTitle"] == "undefined", "Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)"); + assert(typeof Module["TOTAL_MEMORY"] == "undefined", "Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY"); + assert(typeof Module["ENVIRONMENT"] == "undefined", "Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)"); + assert(typeof Module["STACK_SIZE"] == "undefined", "STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time"); + // If memory is defined in wasm, the user can't provide it, or set INITIAL_MEMORY + assert(typeof Module["wasmMemory"] == "undefined", "Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally"); + assert(typeof Module["INITIAL_MEMORY"] == "undefined", "Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically"); +} + +// Begin runtime exports +Module["callMain"] = callMain; + +Module["abort"] = abort; + +Module["ccall"] = ccall; + +Module["cwrap"] = cwrap; + +Module["addFunction"] = addFunction; + +Module["UTF8ToString"] = UTF8ToString; + +Module["JSEvents"] = JSEvents; + +Module["specialHTMLTargets"] = specialHTMLTargets; + +Module["createContext"] = createContext; + +Module["GL"] = GL; + +var missingLibrarySymbols = [ "writeI53ToI64Clamped", "writeI53ToI64Signaling", "writeI53ToU64Clamped", "writeI53ToU64Signaling", "convertI32PairToI53", "convertI32PairToI53Checked", "convertU32PairToI53", "getTempRet0", "setTempRet0", "withStackSave", "getDynCaller", "runtimeKeepalivePush", "runtimeKeepalivePop", "asmjsMangle", "HandleAllocator", "getNativeTypeSize", "addOnInit", "addOnPostCtor", "addOnPreMain", "STACK_SIZE", "STACK_ALIGN", "POINTER_SIZE", "ASSERTIONS", "removeFunction", "intArrayToString", "stringToAscii", "fillDeviceOrientationEventData", "registerDeviceOrientationEventCallback", "fillDeviceMotionEventData", "registerDeviceMotionEventCallback", "screenOrientation", "fillOrientationChangeEventData", "registerOrientationChangeEventCallback", "hideEverythingExceptGivenElement", "restoreHiddenElements", "softFullscreenResizeWebGLRenderTarget", "registerPointerlockErrorEventCallback", "fillBatteryEventData", "registerBatteryEventCallback", "jsStackTrace", "getCallstack", "convertPCtoSourceLocation", "wasiRightsToMuslOFlags", "wasiOFlagsToMuslOFlags", "setImmediateWrapped", "safeRequestAnimationFrame", "clearImmediateWrapped", "registerPostMainLoop", "registerPreMainLoop", "getPromise", "makePromise", "idsToPromises", "makePromiseCallback", "findMatchingCatch", "Browser_asyncPrepareDataCounter", "arraySum", "addDays", "FS_mkdirTree", "_setNetworkCallback", "writeGLArray", "registerWebGlEventCallback", "runAndAbortIfError", "ALLOC_NORMAL", "ALLOC_STACK", "allocate", "writeStringToMemory", "writeAsciiToMemory", "demangle", "stackTrace", "throwInternalError", "whenDependentTypesAreResolved", "getTypeName", "getFunctionName", "getFunctionArgsName", "heap32VectorToArray", "requireRegisteredType", "usesDestructorStack", "createJsInvokerSignature", "checkArgCount", "getRequiredArgCount", "createJsInvoker", "UnboundTypeError", "PureVirtualError", "throwUnboundTypeError", "ensureOverloadTable", "exposePublicSymbol", "replacePublicSymbol", "createNamedFunction", "getBasestPointer", "registerInheritedInstance", "unregisterInheritedInstance", "getInheritedInstance", "getInheritedInstanceCount", "getLiveInheritedInstances", "enumReadValueFromPointer", "runDestructors", "craftInvokerFunction", "embind__requireFunction", "genericPointerToWireType", "constNoSmartPtrRawPointerToWireType", "nonConstNoSmartPtrRawPointerToWireType", "init_RegisteredPointer", "RegisteredPointer", "RegisteredPointer_fromWireType", "runDestructor", "releaseClassHandle", "detachFinalizer", "attachFinalizer", "makeClassHandle", "init_ClassHandle", "ClassHandle", "throwInstanceAlreadyDeleted", "flushPendingDeletes", "setDelayFunction", "RegisteredClass", "shallowCopyInternalPointer", "downcastPointer", "upcastPointer", "validateThis", "char_0", "char_9", "makeLegalFunctionName", "count_emval_handles", "getStringOrSymbol", "emval_get_global", "emval_returnValue", "emval_lookupTypes", "emval_addMethodCaller" ]; + +missingLibrarySymbols.forEach(missingLibrarySymbol); + +var unexportedSymbols = [ "run", "addRunDependency", "removeRunDependency", "out", "err", "wasmMemory", "wasmExports", "HEAPF32", "HEAPF64", "HEAP8", "HEAP16", "HEAPU16", "HEAP32", "HEAPU32", "HEAP64", "HEAPU64", "writeStackCookie", "checkStackCookie", "writeI53ToI64", "readI53FromI64", "readI53FromU64", "INT53_MAX", "INT53_MIN", "bigintToI53Checked", "stackSave", "stackRestore", "stackAlloc", "ptrToString", "zeroMemory", "exitJS", "getHeapMax", "growMemory", "ENV", "ERRNO_CODES", "strError", "inetPton4", "inetNtop4", "inetPton6", "inetNtop6", "readSockaddr", "writeSockaddr", "DNS", "Protocols", "Sockets", "timers", "warnOnce", "readEmAsmArgsArray", "readEmAsmArgs", "runEmAsmFunction", "runMainThreadEmAsm", "jstoi_q", "getExecutableName", "autoResumeAudioContext", "dynCall", "handleException", "keepRuntimeAlive", "callUserCallback", "maybeExit", "asyncLoad", "alignMemory", "mmapAlloc", "wasmTable", "getUniqueRunDependency", "noExitRuntime", "addOnPreRun", "addOnExit", "addOnPostRun", "convertJsFunctionToWasm", "freeTableIndexes", "functionsInTableMap", "getEmptyTableSlot", "updateTableMap", "getFunctionAddress", "setValue", "getValue", "PATH", "PATH_FS", "UTF8Decoder", "UTF8ArrayToString", "stringToUTF8Array", "stringToUTF8", "lengthBytesUTF8", "intArrayFromString", "AsciiToString", "UTF16Decoder", "UTF16ToString", "stringToUTF16", "lengthBytesUTF16", "UTF32ToString", "stringToUTF32", "lengthBytesUTF32", "stringToNewUTF8", "stringToUTF8OnStack", "writeArrayToMemory", "registerKeyEventCallback", "maybeCStringToJsString", "findEventTarget", "findCanvasEventTarget", "getBoundingClientRect", "fillMouseEventData", "registerMouseEventCallback", "registerWheelEventCallback", "registerUiEventCallback", "registerFocusEventCallback", "fillFullscreenChangeEventData", "registerFullscreenChangeEventCallback", "JSEvents_requestFullscreen", "JSEvents_resizeCanvasForFullscreen", "registerRestoreOldStyle", "setLetterbox", "currentFullscreenStrategy", "restoreOldWindowedStyle", "doRequestFullscreen", "fillPointerlockChangeEventData", "registerPointerlockChangeEventCallback", "requestPointerLock", "fillVisibilityChangeEventData", "registerVisibilityChangeEventCallback", "registerTouchEventCallback", "fillGamepadEventData", "registerGamepadEventCallback", "registerBeforeUnloadEventCallback", "setCanvasElementSize", "getCanvasElementSize", "UNWIND_CACHE", "ExitStatus", "getEnvStrings", "checkWasiClock", "doReadv", "doWritev", "initRandomFill", "randomFill", "safeSetTimeout", "emSetImmediate", "emClearImmediate_deps", "emClearImmediate", "promiseMap", "uncaughtExceptionCount", "exceptionLast", "exceptionCaught", "ExceptionInfo", "Browser", "requestFullscreen", "requestFullScreen", "setCanvasSize", "getUserMedia", "getPreloadedImageData__data", "wget", "MONTH_DAYS_REGULAR", "MONTH_DAYS_LEAP", "MONTH_DAYS_REGULAR_CUMULATIVE", "MONTH_DAYS_LEAP_CUMULATIVE", "isLeapYear", "ydayFromDate", "SYSCALLS", "getSocketFromFD", "getSocketAddress", "preloadPlugins", "FS_createPreloadedFile", "FS_modeStringToFlags", "FS_getMode", "FS_stdin_getChar_buffer", "FS_stdin_getChar", "FS_unlink", "FS_createPath", "FS_createDevice", "FS_readFile", "FS", "FS_root", "FS_mounts", "FS_devices", "FS_streams", "FS_nextInode", "FS_nameTable", "FS_currentPath", "FS_initialized", "FS_ignorePermissions", "FS_filesystems", "FS_syncFSRequests", "FS_readFiles", "FS_lookupPath", "FS_getPath", "FS_hashName", "FS_hashAddNode", "FS_hashRemoveNode", "FS_lookupNode", "FS_createNode", "FS_destroyNode", "FS_isRoot", "FS_isMountpoint", "FS_isFile", "FS_isDir", "FS_isLink", "FS_isChrdev", "FS_isBlkdev", "FS_isFIFO", "FS_isSocket", "FS_flagsToPermissionString", "FS_nodePermissions", "FS_mayLookup", "FS_mayCreate", "FS_mayDelete", "FS_mayOpen", "FS_checkOpExists", "FS_nextfd", "FS_getStreamChecked", "FS_getStream", "FS_createStream", "FS_closeStream", "FS_dupStream", "FS_doSetAttr", "FS_chrdev_stream_ops", "FS_major", "FS_minor", "FS_makedev", "FS_registerDevice", "FS_getDevice", "FS_getMounts", "FS_syncfs", "FS_mount", "FS_unmount", "FS_lookup", "FS_mknod", "FS_statfs", "FS_statfsStream", "FS_statfsNode", "FS_create", "FS_mkdir", "FS_mkdev", "FS_symlink", "FS_rename", "FS_rmdir", "FS_readdir", "FS_readlink", "FS_stat", "FS_fstat", "FS_lstat", "FS_doChmod", "FS_chmod", "FS_lchmod", "FS_fchmod", "FS_doChown", "FS_chown", "FS_lchown", "FS_fchown", "FS_doTruncate", "FS_truncate", "FS_ftruncate", "FS_utime", "FS_open", "FS_close", "FS_isClosed", "FS_llseek", "FS_read", "FS_write", "FS_mmap", "FS_msync", "FS_ioctl", "FS_writeFile", "FS_cwd", "FS_chdir", "FS_createDefaultDirectories", "FS_createDefaultDevices", "FS_createSpecialDirectories", "FS_createStandardStreams", "FS_staticInit", "FS_init", "FS_quit", "FS_findObject", "FS_analyzePath", "FS_createFile", "FS_createDataFile", "FS_forceLoadFile", "FS_createLazyFile", "FS_absolutePath", "FS_createFolder", "FS_createLink", "FS_joinPath", "FS_mmapAlloc", "FS_standardizePath", "MEMFS", "TTY", "PIPEFS", "SOCKFS", "tempFixedLengthArray", "miniTempWebGLFloatBuffers", "miniTempWebGLIntBuffers", "heapObjectForWebGLType", "toTypedArrayIndex", "webgl_enable_ANGLE_instanced_arrays", "webgl_enable_OES_vertex_array_object", "webgl_enable_WEBGL_draw_buffers", "webgl_enable_WEBGL_multi_draw", "webgl_enable_EXT_polygon_offset_clamp", "webgl_enable_EXT_clip_control", "webgl_enable_WEBGL_polygon_mode", "emscriptenWebGLGet", "computeUnpackAlignedImageSize", "colorChannelsInGlTextureFormat", "emscriptenWebGLGetTexPixelData", "emscriptenWebGLGetUniform", "webglGetUniformLocation", "webglPrepareUniformLocationsBeforeFirstUse", "webglGetLeftBracePos", "emscriptenWebGLGetVertexAttrib", "__glGetActiveAttribOrUniform", "AL", "GLUT", "EGL", "GLEW", "IDBStore", "allocateUTF8", "allocateUTF8OnStack", "print", "printErr", "jstoi_s", "InternalError", "BindingError", "throwBindingError", "registeredTypes", "awaitingDependencies", "typeDependencies", "tupleRegistrations", "structRegistrations", "sharedRegisterType", "EmValType", "EmValOptionalType", "embindRepr", "registeredInstances", "registeredPointers", "registerType", "integerReadValueFromPointer", "floatReadValueFromPointer", "assertIntegerRange", "readPointer", "finalizationRegistry", "detachFinalizer_deps", "deletionQueue", "delayFunction", "emval_freelist", "emval_handles", "emval_symbols", "Emval", "emval_methodCallers" ]; + +unexportedSymbols.forEach(unexportedRuntimeSymbol); + +// End runtime exports +// Begin JS library exports +// End JS library exports +// end include: postlibrary.js +function checkIncomingModuleAPI() { + ignoredModuleProp("fetchSettings"); +} + +var ASM_CONSTS = { + 1072037: () => { + if (typeof (AudioContext) !== "undefined") { + return true; + } else if (typeof (webkitAudioContext) !== "undefined") { + return true; + } + return false; + }, + 1072184: () => { + if ((typeof (navigator.mediaDevices) !== "undefined") && (typeof (navigator.mediaDevices.getUserMedia) !== "undefined")) { + return true; + } else if (typeof (navigator.webkitGetUserMedia) !== "undefined") { + return true; + } + return false; + }, + 1072418: $0 => { + if (typeof (Module["SDL2"]) === "undefined") { + Module["SDL2"] = {}; + } + var SDL2 = Module["SDL2"]; + if (!$0) { + SDL2.audio = {}; + } else { + SDL2.capture = {}; + } + if (!SDL2.audioContext) { + if (typeof (AudioContext) !== "undefined") { + SDL2.audioContext = new AudioContext; + } else if (typeof (webkitAudioContext) !== "undefined") { + SDL2.audioContext = new webkitAudioContext; + } + if (SDL2.audioContext) { + if ((typeof navigator.userActivation) === "undefined") { + autoResumeAudioContext(SDL2.audioContext); + } + } + } + return SDL2.audioContext === undefined ? -1 : 0; + }, + 1072970: () => { + var SDL2 = Module["SDL2"]; + return SDL2.audioContext.sampleRate; + }, + 1073038: ($0, $1, $2, $3) => { + var SDL2 = Module["SDL2"]; + var have_microphone = function(stream) { + if (SDL2.capture.silenceTimer !== undefined) { + clearInterval(SDL2.capture.silenceTimer); + SDL2.capture.silenceTimer = undefined; + SDL2.capture.silenceBuffer = undefined; + } + SDL2.capture.mediaStreamNode = SDL2.audioContext.createMediaStreamSource(stream); + SDL2.capture.scriptProcessorNode = SDL2.audioContext.createScriptProcessor($1, $0, 1); + SDL2.capture.scriptProcessorNode.onaudioprocess = function(audioProcessingEvent) { + if ((SDL2 === undefined) || (SDL2.capture === undefined)) { + return; + } + audioProcessingEvent.outputBuffer.getChannelData(0).fill(0); + SDL2.capture.currentCaptureBuffer = audioProcessingEvent.inputBuffer; + dynCall("vi", $2, [ $3 ]); + }; + SDL2.capture.mediaStreamNode.connect(SDL2.capture.scriptProcessorNode); + SDL2.capture.scriptProcessorNode.connect(SDL2.audioContext.destination); + SDL2.capture.stream = stream; + }; + var no_microphone = function(error) {}; + SDL2.capture.silenceBuffer = SDL2.audioContext.createBuffer($0, $1, SDL2.audioContext.sampleRate); + SDL2.capture.silenceBuffer.getChannelData(0).fill(0); + var silence_callback = function() { + SDL2.capture.currentCaptureBuffer = SDL2.capture.silenceBuffer; + dynCall("vi", $2, [ $3 ]); + }; + SDL2.capture.silenceTimer = setInterval(silence_callback, ($1 / SDL2.audioContext.sampleRate) * 1e3); + if ((navigator.mediaDevices !== undefined) && (navigator.mediaDevices.getUserMedia !== undefined)) { + navigator.mediaDevices.getUserMedia({ + audio: true, + video: false + }).then(have_microphone).catch(no_microphone); + } else if (navigator.webkitGetUserMedia !== undefined) { + navigator.webkitGetUserMedia({ + audio: true, + video: false + }, have_microphone, no_microphone); + } + }, + 1074731: ($0, $1, $2, $3) => { + var SDL2 = Module["SDL2"]; + SDL2.audio.scriptProcessorNode = SDL2.audioContext["createScriptProcessor"]($1, 0, $0); + SDL2.audio.scriptProcessorNode["onaudioprocess"] = function(e) { + if ((SDL2 === undefined) || (SDL2.audio === undefined)) { + return; + } + if (SDL2.audio.silenceTimer !== undefined) { + clearInterval(SDL2.audio.silenceTimer); + SDL2.audio.silenceTimer = undefined; + SDL2.audio.silenceBuffer = undefined; + } + SDL2.audio.currentOutputBuffer = e["outputBuffer"]; + dynCall("vi", $2, [ $3 ]); + }; + SDL2.audio.scriptProcessorNode["connect"](SDL2.audioContext["destination"]); + if (SDL2.audioContext.state === "suspended") { + SDL2.audio.silenceBuffer = SDL2.audioContext.createBuffer($0, $1, SDL2.audioContext.sampleRate); + SDL2.audio.silenceBuffer.getChannelData(0).fill(0); + var silence_callback = function() { + if ((typeof navigator.userActivation) !== "undefined") { + if (navigator.userActivation.hasBeenActive) { + SDL2.audioContext.resume(); + } + } + SDL2.audio.currentOutputBuffer = SDL2.audio.silenceBuffer; + dynCall("vi", $2, [ $3 ]); + SDL2.audio.currentOutputBuffer = undefined; + }; + SDL2.audio.silenceTimer = setInterval(silence_callback, ($1 / SDL2.audioContext.sampleRate) * 1e3); + } + }, + 1075906: ($0, $1) => { + var SDL2 = Module["SDL2"]; + var numChannels = SDL2.capture.currentCaptureBuffer.numberOfChannels; + for (var c = 0; c < numChannels; ++c) { + var channelData = SDL2.capture.currentCaptureBuffer.getChannelData(c); + if (channelData.length != $1) { + throw "Web Audio capture buffer length mismatch! Destination size: " + channelData.length + " samples vs expected " + $1 + " samples!"; + } + if (numChannels == 1) { + for (var j = 0; j < $1; ++j) { + setValue($0 + (j * 4), channelData[j], "float"); + } + } else { + for (var j = 0; j < $1; ++j) { + setValue($0 + (((j * numChannels) + c) * 4), channelData[j], "float"); + } + } + } + }, + 1076511: ($0, $1) => { + var SDL2 = Module["SDL2"]; + var buf = $0 >>> 2; + var numChannels = SDL2.audio.currentOutputBuffer["numberOfChannels"]; + for (var c = 0; c < numChannels; ++c) { + var channelData = SDL2.audio.currentOutputBuffer["getChannelData"](c); + if (channelData.length != $1) { + throw "Web Audio output buffer length mismatch! Destination size: " + channelData.length + " samples vs expected " + $1 + " samples!"; + } + for (var j = 0; j < $1; ++j) { + channelData[j] = HEAPF32[buf + (j * numChannels + c) >>> 0]; + } + } + }, + 1077e3: $0 => { + var SDL2 = Module["SDL2"]; + if ($0) { + if (SDL2.capture.silenceTimer !== undefined) { + clearInterval(SDL2.capture.silenceTimer); + } + if (SDL2.capture.stream !== undefined) { + var tracks = SDL2.capture.stream.getAudioTracks(); + for (var i = 0; i < tracks.length; i++) { + SDL2.capture.stream.removeTrack(tracks[i]); + } + } + if (SDL2.capture.scriptProcessorNode !== undefined) { + SDL2.capture.scriptProcessorNode.onaudioprocess = function(audioProcessingEvent) {}; + SDL2.capture.scriptProcessorNode.disconnect(); + } + if (SDL2.capture.mediaStreamNode !== undefined) { + SDL2.capture.mediaStreamNode.disconnect(); + } + SDL2.capture = undefined; + } else { + if (SDL2.audio.scriptProcessorNode != undefined) { + SDL2.audio.scriptProcessorNode.disconnect(); + } + if (SDL2.audio.silenceTimer !== undefined) { + clearInterval(SDL2.audio.silenceTimer); + } + SDL2.audio = undefined; + } + if ((SDL2.audioContext !== undefined) && (SDL2.audio === undefined) && (SDL2.capture === undefined)) { + SDL2.audioContext.close(); + SDL2.audioContext = undefined; + } + }, + 1078006: $0 => { + var str = UTF8ToString($0) + "\n\n" + "Abort/Retry/Ignore/AlwaysIgnore? [ariA] :"; + var reply = window.prompt(str, "i"); + if (reply === null) { + reply = "i"; + } + return allocate(intArrayFromString(reply), "i8", ALLOC_NORMAL); + }, + 1078231: ($0, $1, $2) => { + var w = $0; + var h = $1; + var pixels = $2; + if (!Module["SDL2"]) Module["SDL2"] = {}; + var SDL2 = Module["SDL2"]; + if (SDL2.ctxCanvas !== Module["canvas"]) { + SDL2.ctx = Module["createContext"](Module["canvas"], false, true); + SDL2.ctxCanvas = Module["canvas"]; + } + if (SDL2.w !== w || SDL2.h !== h || SDL2.imageCtx !== SDL2.ctx) { + SDL2.image = SDL2.ctx.createImageData(w, h); + SDL2.w = w; + SDL2.h = h; + SDL2.imageCtx = SDL2.ctx; + } + var data = SDL2.image.data; + var src = pixels / 4; + var dst = 0; + var num; + if (typeof CanvasPixelArray !== "undefined" && data instanceof CanvasPixelArray) { + num = data.length; + while (dst < num) { + var val = HEAP32[src >>> 0]; + data[dst] = val & 255; + data[dst + 1] = (val >> 8) & 255; + data[dst + 2] = (val >> 16) & 255; + data[dst + 3] = 255; + src++; + dst += 4; + } + } else { + if (SDL2.data32Data !== data) { + SDL2.data32 = new Int32Array(data.buffer); + SDL2.data8 = new Uint8Array(data.buffer); + SDL2.data32Data = data; + } + var data32 = SDL2.data32; + num = data32.length; + data32.set(HEAP32.subarray(src >>> 0, src + num >>> 0)); + var data8 = SDL2.data8; + var i = 3; + var j = i + 4 * num; + if (num % 8 == 0) { + while (i < j) { + data8[i] = 255; + i = i + 4 | 0; + data8[i] = 255; + i = i + 4 | 0; + data8[i] = 255; + i = i + 4 | 0; + data8[i] = 255; + i = i + 4 | 0; + data8[i] = 255; + i = i + 4 | 0; + data8[i] = 255; + i = i + 4 | 0; + data8[i] = 255; + i = i + 4 | 0; + data8[i] = 255; + i = i + 4 | 0; + } + } else { + while (i < j) { + data8[i] = 255; + i = i + 4 | 0; + } + } + } + SDL2.ctx.putImageData(SDL2.image, 0, 0); + }, + 1079699: ($0, $1, $2, $3, $4) => { + var w = $0; + var h = $1; + var hot_x = $2; + var hot_y = $3; + var pixels = $4; + var canvas = document.createElement("canvas"); + canvas.width = w; + canvas.height = h; + var ctx = canvas.getContext("2d"); + var image = ctx.createImageData(w, h); + var data = image.data; + var src = pixels / 4; + var dst = 0; + var num; + if (typeof CanvasPixelArray !== "undefined" && data instanceof CanvasPixelArray) { + num = data.length; + while (dst < num) { + var val = HEAP32[src >>> 0]; + data[dst] = val & 255; + data[dst + 1] = (val >> 8) & 255; + data[dst + 2] = (val >> 16) & 255; + data[dst + 3] = (val >> 24) & 255; + src++; + dst += 4; + } + } else { + var data32 = new Int32Array(data.buffer); + num = data32.length; + data32.set(HEAP32.subarray(src >>> 0, src + num >>> 0)); + } + ctx.putImageData(image, 0, 0); + var url = hot_x === 0 && hot_y === 0 ? "url(" + canvas.toDataURL() + "), auto" : "url(" + canvas.toDataURL() + ") " + hot_x + " " + hot_y + ", auto"; + var urlBuf = _malloc(url.length + 1); + stringToUTF8(url, urlBuf, url.length + 1); + return urlBuf; + }, + 1080687: $0 => { + if (Module["canvas"]) { + Module["canvas"].style["cursor"] = UTF8ToString($0); + } + }, + 1080770: () => { + if (Module["canvas"]) { + Module["canvas"].style["cursor"] = "none"; + } + }, + 1080839: () => window.innerWidth, + 1080869: () => window.innerHeight +}; + +// Imports from the Wasm binary. +var _fflush = makeInvalidEarlyAccess("_fflush"); + +var _free = Module["_free"] = makeInvalidEarlyAccess("_free"); + +var _DoMouseDown = Module["_DoMouseDown"] = makeInvalidEarlyAccess("_DoMouseDown"); + +var _DoMouseUp = Module["_DoMouseUp"] = makeInvalidEarlyAccess("_DoMouseUp"); + +var _DoMouseMove = Module["_DoMouseMove"] = makeInvalidEarlyAccess("_DoMouseMove"); + +var _DoMouseWheelZoom = Module["_DoMouseWheelZoom"] = makeInvalidEarlyAccess("_DoMouseWheelZoom"); + +var _DoPinchZoom = Module["_DoPinchZoom"] = makeInvalidEarlyAccess("_DoPinchZoom"); + +var _CancelLoadImage = Module["_CancelLoadImage"] = makeInvalidEarlyAccess("_CancelLoadImage"); + +var _UpdateDcmImage = Module["_UpdateDcmImage"] = makeInvalidEarlyAccess("_UpdateDcmImage"); + +var _ParseDicomToPixelData = Module["_ParseDicomToPixelData"] = makeInvalidEarlyAccess("_ParseDicomToPixelData"); + +var _Shutdown = Module["_Shutdown"] = makeInvalidEarlyAccess("_Shutdown"); + +var _ProcessDCMFile = Module["_ProcessDCMFile"] = makeInvalidEarlyAccess("_ProcessDCMFile"); + +var _SetWindowWidthLevel = Module["_SetWindowWidthLevel"] = makeInvalidEarlyAccess("_SetWindowWidthLevel"); + +var _SetDisplayFrameIndex = Module["_SetDisplayFrameIndex"] = makeInvalidEarlyAccess("_SetDisplayFrameIndex"); + +var _SetResizeFrame = Module["_SetResizeFrame"] = makeInvalidEarlyAccess("_SetResizeFrame"); + +var _ResetView = Module["_ResetView"] = makeInvalidEarlyAccess("_ResetView"); + +var _ResetWindowWidthLevel = Module["_ResetWindowWidthLevel"] = makeInvalidEarlyAccess("_ResetWindowWidthLevel"); + +var _GetTotalBytes = Module["_GetTotalBytes"] = makeInvalidEarlyAccess("_GetTotalBytes"); + +var _GetReadBytes = Module["_GetReadBytes"] = makeInvalidEarlyAccess("_GetReadBytes"); + +var _GetWindowWidth = Module["_GetWindowWidth"] = makeInvalidEarlyAccess("_GetWindowWidth"); + +var _GetWindowCenter = Module["_GetWindowCenter"] = makeInvalidEarlyAccess("_GetWindowCenter"); + +var _GetTotalFrames = Module["_GetTotalFrames"] = makeInvalidEarlyAccess("_GetTotalFrames"); + +var _IsUseMonochrome1 = Module["_IsUseMonochrome1"] = makeInvalidEarlyAccess("_IsUseMonochrome1"); + +var _GetCurrentFrame = Module["_GetCurrentFrame"] = makeInvalidEarlyAccess("_GetCurrentFrame"); + +var _GetFrameUpdateTimeDelay = Module["_GetFrameUpdateTimeDelay"] = makeInvalidEarlyAccess("_GetFrameUpdateTimeDelay"); + +var _getDumpJson = Module["_getDumpJson"] = makeInvalidEarlyAccess("_getDumpJson"); + +var _setDumpJson = Module["_setDumpJson"] = makeInvalidEarlyAccess("_setDumpJson"); + +var _SetInteractionMode = Module["_SetInteractionMode"] = makeInvalidEarlyAccess("_SetInteractionMode"); + +var _SetCallbackUpdateDcmImageComplete = Module["_SetCallbackUpdateDcmImageComplete"] = makeInvalidEarlyAccess("_SetCallbackUpdateDcmImageComplete"); + +var _SetCallbackUpdateWasmInitGeometryComplete = Module["_SetCallbackUpdateWasmInitGeometryComplete"] = makeInvalidEarlyAccess("_SetCallbackUpdateWasmInitGeometryComplete"); + +var _GetFrameWidth = Module["_GetFrameWidth"] = makeInvalidEarlyAccess("_GetFrameWidth"); + +var _GetFrameHeight = Module["_GetFrameHeight"] = makeInvalidEarlyAccess("_GetFrameHeight"); + +var _GetFrameSizeUncompressed = Module["_GetFrameSizeUncompressed"] = makeInvalidEarlyAccess("_GetFrameSizeUncompressed"); + +var _GetPaletteEntries = Module["_GetPaletteEntries"] = makeInvalidEarlyAccess("_GetPaletteEntries"); + +var _GetDefaultWindowWidth = Module["_GetDefaultWindowWidth"] = makeInvalidEarlyAccess("_GetDefaultWindowWidth"); + +var _GetDefaultWindowCenter = Module["_GetDefaultWindowCenter"] = makeInvalidEarlyAccess("_GetDefaultWindowCenter"); + +var _GetBitsAllocated = Module["_GetBitsAllocated"] = makeInvalidEarlyAccess("_GetBitsAllocated"); + +var _GetBitsStored = Module["_GetBitsStored"] = makeInvalidEarlyAccess("_GetBitsStored"); + +var _GetSamplesPerPixel = Module["_GetSamplesPerPixel"] = makeInvalidEarlyAccess("_GetSamplesPerPixel"); + +var _GetColorType = Module["_GetColorType"] = makeInvalidEarlyAccess("_GetColorType"); + +var _GetWidth = Module["_GetWidth"] = makeInvalidEarlyAccess("_GetWidth"); + +var _GetHeight = Module["_GetHeight"] = makeInvalidEarlyAccess("_GetHeight"); + +var _GetFrameTime = Module["_GetFrameTime"] = makeInvalidEarlyAccess("_GetFrameTime"); + +var _GetFrameDelay = Module["_GetFrameDelay"] = makeInvalidEarlyAccess("_GetFrameDelay"); + +var _GetPixelData = Module["_GetPixelData"] = makeInvalidEarlyAccess("_GetPixelData"); + +var _GetPaletteData = Module["_GetPaletteData"] = makeInvalidEarlyAccess("_GetPaletteData"); + +var _SetDicomData = Module["_SetDicomData"] = makeInvalidEarlyAccess("_SetDicomData"); + +var _ClearImageData = Module["_ClearImageData"] = makeInvalidEarlyAccess("_ClearImageData"); + +var _main = Module["_main"] = makeInvalidEarlyAccess("_main"); + +var ___getTypeName = makeInvalidEarlyAccess("___getTypeName"); + +var _malloc = Module["_malloc"] = makeInvalidEarlyAccess("_malloc"); + +var _ntohs = makeInvalidEarlyAccess("_ntohs"); + +var _htons = makeInvalidEarlyAccess("_htons"); + +var _htonl = makeInvalidEarlyAccess("_htonl"); + +var _strerror = makeInvalidEarlyAccess("_strerror"); + +var _emscripten_stack_get_end = makeInvalidEarlyAccess("_emscripten_stack_get_end"); + +var _emscripten_stack_get_base = makeInvalidEarlyAccess("_emscripten_stack_get_base"); + +var _setThrew = makeInvalidEarlyAccess("_setThrew"); + +var _emscripten_stack_init = makeInvalidEarlyAccess("_emscripten_stack_init"); + +var _emscripten_stack_get_free = makeInvalidEarlyAccess("_emscripten_stack_get_free"); + +var __emscripten_stack_restore = makeInvalidEarlyAccess("__emscripten_stack_restore"); + +var __emscripten_stack_alloc = makeInvalidEarlyAccess("__emscripten_stack_alloc"); + +var _emscripten_stack_get_current = makeInvalidEarlyAccess("_emscripten_stack_get_current"); + +function assignWasmExports(wasmExports) { + _fflush = createExportWrapper("fflush", 1); + Module["_free"] = _free = createExportWrapper("free", 1); + Module["_DoMouseDown"] = _DoMouseDown = createExportWrapper("DoMouseDown", 2); + Module["_DoMouseUp"] = _DoMouseUp = createExportWrapper("DoMouseUp", 2); + Module["_DoMouseMove"] = _DoMouseMove = createExportWrapper("DoMouseMove", 2); + Module["_DoMouseWheelZoom"] = _DoMouseWheelZoom = createExportWrapper("DoMouseWheelZoom", 1); + Module["_DoPinchZoom"] = _DoPinchZoom = createExportWrapper("DoPinchZoom", 3); + Module["_CancelLoadImage"] = _CancelLoadImage = createExportWrapper("CancelLoadImage", 0); + Module["_UpdateDcmImage"] = _UpdateDcmImage = createExportWrapper("UpdateDcmImage", 1); + Module["_ParseDicomToPixelData"] = _ParseDicomToPixelData = createExportWrapper("ParseDicomToPixelData", 2); + Module["_Shutdown"] = _Shutdown = createExportWrapper("Shutdown", 0); + Module["_ProcessDCMFile"] = _ProcessDCMFile = createExportWrapper("ProcessDCMFile", 2); + Module["_SetWindowWidthLevel"] = _SetWindowWidthLevel = createExportWrapper("SetWindowWidthLevel", 2); + Module["_SetDisplayFrameIndex"] = _SetDisplayFrameIndex = createExportWrapper("SetDisplayFrameIndex", 1); + Module["_SetResizeFrame"] = _SetResizeFrame = createExportWrapper("SetResizeFrame", 2); + Module["_ResetView"] = _ResetView = createExportWrapper("ResetView", 0); + Module["_ResetWindowWidthLevel"] = _ResetWindowWidthLevel = createExportWrapper("ResetWindowWidthLevel", 0); + Module["_GetTotalBytes"] = _GetTotalBytes = createExportWrapper("GetTotalBytes", 0); + Module["_GetReadBytes"] = _GetReadBytes = createExportWrapper("GetReadBytes", 0); + Module["_GetWindowWidth"] = _GetWindowWidth = createExportWrapper("GetWindowWidth", 0); + Module["_GetWindowCenter"] = _GetWindowCenter = createExportWrapper("GetWindowCenter", 0); + Module["_GetTotalFrames"] = _GetTotalFrames = createExportWrapper("GetTotalFrames", 0); + Module["_IsUseMonochrome1"] = _IsUseMonochrome1 = createExportWrapper("IsUseMonochrome1", 0); + Module["_GetCurrentFrame"] = _GetCurrentFrame = createExportWrapper("GetCurrentFrame", 0); + Module["_GetFrameUpdateTimeDelay"] = _GetFrameUpdateTimeDelay = createExportWrapper("GetFrameUpdateTimeDelay", 0); + Module["_getDumpJson"] = _getDumpJson = createExportWrapper("getDumpJson", 0); + Module["_setDumpJson"] = _setDumpJson = createExportWrapper("setDumpJson", 1); + Module["_SetInteractionMode"] = _SetInteractionMode = createExportWrapper("SetInteractionMode", 1); + Module["_SetCallbackUpdateDcmImageComplete"] = _SetCallbackUpdateDcmImageComplete = createExportWrapper("SetCallbackUpdateDcmImageComplete", 1); + Module["_SetCallbackUpdateWasmInitGeometryComplete"] = _SetCallbackUpdateWasmInitGeometryComplete = createExportWrapper("SetCallbackUpdateWasmInitGeometryComplete", 1); + Module["_GetFrameWidth"] = _GetFrameWidth = createExportWrapper("GetFrameWidth", 0); + Module["_GetFrameHeight"] = _GetFrameHeight = createExportWrapper("GetFrameHeight", 0); + Module["_GetFrameSizeUncompressed"] = _GetFrameSizeUncompressed = createExportWrapper("GetFrameSizeUncompressed", 0); + Module["_GetPaletteEntries"] = _GetPaletteEntries = createExportWrapper("GetPaletteEntries", 0); + Module["_GetDefaultWindowWidth"] = _GetDefaultWindowWidth = createExportWrapper("GetDefaultWindowWidth", 0); + Module["_GetDefaultWindowCenter"] = _GetDefaultWindowCenter = createExportWrapper("GetDefaultWindowCenter", 0); + Module["_GetBitsAllocated"] = _GetBitsAllocated = createExportWrapper("GetBitsAllocated", 0); + Module["_GetBitsStored"] = _GetBitsStored = createExportWrapper("GetBitsStored", 0); + Module["_GetSamplesPerPixel"] = _GetSamplesPerPixel = createExportWrapper("GetSamplesPerPixel", 0); + Module["_GetColorType"] = _GetColorType = createExportWrapper("GetColorType", 0); + Module["_GetWidth"] = _GetWidth = createExportWrapper("GetWidth", 0); + Module["_GetHeight"] = _GetHeight = createExportWrapper("GetHeight", 0); + Module["_GetFrameTime"] = _GetFrameTime = createExportWrapper("GetFrameTime", 0); + Module["_GetFrameDelay"] = _GetFrameDelay = createExportWrapper("GetFrameDelay", 0); + Module["_GetPixelData"] = _GetPixelData = createExportWrapper("GetPixelData", 0); + Module["_GetPaletteData"] = _GetPaletteData = createExportWrapper("GetPaletteData", 0); + Module["_SetDicomData"] = _SetDicomData = createExportWrapper("SetDicomData", 15); + Module["_ClearImageData"] = _ClearImageData = createExportWrapper("ClearImageData", 0); + Module["_main"] = _main = createExportWrapper("__main_argc_argv", 2); + ___getTypeName = createExportWrapper("__getTypeName", 1); + Module["_malloc"] = _malloc = createExportWrapper("malloc", 1); + _ntohs = createExportWrapper("ntohs", 1); + _htons = createExportWrapper("htons", 1); + _htonl = createExportWrapper("htonl", 1); + _strerror = createExportWrapper("strerror", 1); + _emscripten_stack_get_end = wasmExports["emscripten_stack_get_end"]; + _emscripten_stack_get_base = wasmExports["emscripten_stack_get_base"]; + _setThrew = createExportWrapper("setThrew", 2); + _emscripten_stack_init = wasmExports["emscripten_stack_init"]; + _emscripten_stack_get_free = wasmExports["emscripten_stack_get_free"]; + __emscripten_stack_restore = wasmExports["_emscripten_stack_restore"]; + __emscripten_stack_alloc = wasmExports["_emscripten_stack_alloc"]; + _emscripten_stack_get_current = wasmExports["emscripten_stack_get_current"]; +} + +var wasmImports = { + /** @export */ __assert_fail: ___assert_fail, + /** @export */ __cxa_throw: ___cxa_throw, + /** @export */ __syscall_connect: ___syscall_connect, + /** @export */ __syscall_faccessat: ___syscall_faccessat, + /** @export */ __syscall_fcntl64: ___syscall_fcntl64, + /** @export */ __syscall_fstat64: ___syscall_fstat64, + /** @export */ __syscall_ioctl: ___syscall_ioctl, + /** @export */ __syscall_lstat64: ___syscall_lstat64, + /** @export */ __syscall_newfstatat: ___syscall_newfstatat, + /** @export */ __syscall_openat: ___syscall_openat, + /** @export */ __syscall_renameat: ___syscall_renameat, + /** @export */ __syscall_rmdir: ___syscall_rmdir, + /** @export */ __syscall_sendto: ___syscall_sendto, + /** @export */ __syscall_socket: ___syscall_socket, + /** @export */ __syscall_stat64: ___syscall_stat64, + /** @export */ __syscall_unlinkat: ___syscall_unlinkat, + /** @export */ _abort_js: __abort_js, + /** @export */ _embind_register_bigint: __embind_register_bigint, + /** @export */ _embind_register_bool: __embind_register_bool, + /** @export */ _embind_register_emval: __embind_register_emval, + /** @export */ _embind_register_float: __embind_register_float, + /** @export */ _embind_register_integer: __embind_register_integer, + /** @export */ _embind_register_memory_view: __embind_register_memory_view, + /** @export */ _embind_register_std_string: __embind_register_std_string, + /** @export */ _embind_register_std_wstring: __embind_register_std_wstring, + /** @export */ _embind_register_void: __embind_register_void, + /** @export */ _emscripten_throw_longjmp: __emscripten_throw_longjmp, + /** @export */ _gmtime_js: __gmtime_js, + /** @export */ _localtime_js: __localtime_js, + /** @export */ _mktime_js: __mktime_js, + /** @export */ _tzset_js: __tzset_js, + /** @export */ clock_time_get: _clock_time_get, + /** @export */ eglBindAPI: _eglBindAPI, + /** @export */ eglChooseConfig: _eglChooseConfig, + /** @export */ eglCreateContext: _eglCreateContext, + /** @export */ eglCreateWindowSurface: _eglCreateWindowSurface, + /** @export */ eglDestroyContext: _eglDestroyContext, + /** @export */ eglDestroySurface: _eglDestroySurface, + /** @export */ eglGetConfigAttrib: _eglGetConfigAttrib, + /** @export */ eglGetDisplay: _eglGetDisplay, + /** @export */ eglGetError: _eglGetError, + /** @export */ eglInitialize: _eglInitialize, + /** @export */ eglMakeCurrent: _eglMakeCurrent, + /** @export */ eglQueryString: _eglQueryString, + /** @export */ eglSwapBuffers: _eglSwapBuffers, + /** @export */ eglSwapInterval: _eglSwapInterval, + /** @export */ eglTerminate: _eglTerminate, + /** @export */ eglWaitGL: _eglWaitGL, + /** @export */ eglWaitNative: _eglWaitNative, + /** @export */ emscripten_asm_const_int: _emscripten_asm_const_int, + /** @export */ emscripten_asm_const_int_sync_on_main_thread: _emscripten_asm_const_int_sync_on_main_thread, + /** @export */ emscripten_asm_const_ptr_sync_on_main_thread: _emscripten_asm_const_ptr_sync_on_main_thread, + /** @export */ emscripten_async_wget2_abort: _emscripten_async_wget2_abort, + /** @export */ emscripten_async_wget2_data: _emscripten_async_wget2_data, + /** @export */ emscripten_cancel_main_loop: _emscripten_cancel_main_loop, + /** @export */ emscripten_date_now: _emscripten_date_now, + /** @export */ emscripten_err: _emscripten_err, + /** @export */ emscripten_exit_fullscreen: _emscripten_exit_fullscreen, + /** @export */ emscripten_exit_pointerlock: _emscripten_exit_pointerlock, + /** @export */ emscripten_force_exit: _emscripten_force_exit, + /** @export */ emscripten_get_device_pixel_ratio: _emscripten_get_device_pixel_ratio, + /** @export */ emscripten_get_element_css_size: _emscripten_get_element_css_size, + /** @export */ emscripten_get_gamepad_status: _emscripten_get_gamepad_status, + /** @export */ emscripten_get_now: _emscripten_get_now, + /** @export */ emscripten_get_num_gamepads: _emscripten_get_num_gamepads, + /** @export */ emscripten_get_screen_size: _emscripten_get_screen_size, + /** @export */ emscripten_glActiveTexture: _emscripten_glActiveTexture, + /** @export */ emscripten_glAttachShader: _emscripten_glAttachShader, + /** @export */ emscripten_glBeginQueryEXT: _emscripten_glBeginQueryEXT, + /** @export */ emscripten_glBindAttribLocation: _emscripten_glBindAttribLocation, + /** @export */ emscripten_glBindBuffer: _emscripten_glBindBuffer, + /** @export */ emscripten_glBindFramebuffer: _emscripten_glBindFramebuffer, + /** @export */ emscripten_glBindRenderbuffer: _emscripten_glBindRenderbuffer, + /** @export */ emscripten_glBindTexture: _emscripten_glBindTexture, + /** @export */ emscripten_glBindVertexArrayOES: _emscripten_glBindVertexArrayOES, + /** @export */ emscripten_glBlendColor: _emscripten_glBlendColor, + /** @export */ emscripten_glBlendEquation: _emscripten_glBlendEquation, + /** @export */ emscripten_glBlendEquationSeparate: _emscripten_glBlendEquationSeparate, + /** @export */ emscripten_glBlendFunc: _emscripten_glBlendFunc, + /** @export */ emscripten_glBlendFuncSeparate: _emscripten_glBlendFuncSeparate, + /** @export */ emscripten_glBufferData: _emscripten_glBufferData, + /** @export */ emscripten_glBufferSubData: _emscripten_glBufferSubData, + /** @export */ emscripten_glCheckFramebufferStatus: _emscripten_glCheckFramebufferStatus, + /** @export */ emscripten_glClear: _emscripten_glClear, + /** @export */ emscripten_glClearColor: _emscripten_glClearColor, + /** @export */ emscripten_glClearDepthf: _emscripten_glClearDepthf, + /** @export */ emscripten_glClearStencil: _emscripten_glClearStencil, + /** @export */ emscripten_glClipControlEXT: _emscripten_glClipControlEXT, + /** @export */ emscripten_glColorMask: _emscripten_glColorMask, + /** @export */ emscripten_glCompileShader: _emscripten_glCompileShader, + /** @export */ emscripten_glCompressedTexImage2D: _emscripten_glCompressedTexImage2D, + /** @export */ emscripten_glCompressedTexSubImage2D: _emscripten_glCompressedTexSubImage2D, + /** @export */ emscripten_glCopyTexImage2D: _emscripten_glCopyTexImage2D, + /** @export */ emscripten_glCopyTexSubImage2D: _emscripten_glCopyTexSubImage2D, + /** @export */ emscripten_glCreateProgram: _emscripten_glCreateProgram, + /** @export */ emscripten_glCreateShader: _emscripten_glCreateShader, + /** @export */ emscripten_glCullFace: _emscripten_glCullFace, + /** @export */ emscripten_glDeleteBuffers: _emscripten_glDeleteBuffers, + /** @export */ emscripten_glDeleteFramebuffers: _emscripten_glDeleteFramebuffers, + /** @export */ emscripten_glDeleteProgram: _emscripten_glDeleteProgram, + /** @export */ emscripten_glDeleteQueriesEXT: _emscripten_glDeleteQueriesEXT, + /** @export */ emscripten_glDeleteRenderbuffers: _emscripten_glDeleteRenderbuffers, + /** @export */ emscripten_glDeleteShader: _emscripten_glDeleteShader, + /** @export */ emscripten_glDeleteTextures: _emscripten_glDeleteTextures, + /** @export */ emscripten_glDeleteVertexArraysOES: _emscripten_glDeleteVertexArraysOES, + /** @export */ emscripten_glDepthFunc: _emscripten_glDepthFunc, + /** @export */ emscripten_glDepthMask: _emscripten_glDepthMask, + /** @export */ emscripten_glDepthRangef: _emscripten_glDepthRangef, + /** @export */ emscripten_glDetachShader: _emscripten_glDetachShader, + /** @export */ emscripten_glDisable: _emscripten_glDisable, + /** @export */ emscripten_glDisableVertexAttribArray: _emscripten_glDisableVertexAttribArray, + /** @export */ emscripten_glDrawArrays: _emscripten_glDrawArrays, + /** @export */ emscripten_glDrawArraysInstancedANGLE: _emscripten_glDrawArraysInstancedANGLE, + /** @export */ emscripten_glDrawBuffersWEBGL: _emscripten_glDrawBuffersWEBGL, + /** @export */ emscripten_glDrawElements: _emscripten_glDrawElements, + /** @export */ emscripten_glDrawElementsInstancedANGLE: _emscripten_glDrawElementsInstancedANGLE, + /** @export */ emscripten_glEnable: _emscripten_glEnable, + /** @export */ emscripten_glEnableVertexAttribArray: _emscripten_glEnableVertexAttribArray, + /** @export */ emscripten_glEndQueryEXT: _emscripten_glEndQueryEXT, + /** @export */ emscripten_glFinish: _emscripten_glFinish, + /** @export */ emscripten_glFlush: _emscripten_glFlush, + /** @export */ emscripten_glFramebufferRenderbuffer: _emscripten_glFramebufferRenderbuffer, + /** @export */ emscripten_glFramebufferTexture2D: _emscripten_glFramebufferTexture2D, + /** @export */ emscripten_glFrontFace: _emscripten_glFrontFace, + /** @export */ emscripten_glGenBuffers: _emscripten_glGenBuffers, + /** @export */ emscripten_glGenFramebuffers: _emscripten_glGenFramebuffers, + /** @export */ emscripten_glGenQueriesEXT: _emscripten_glGenQueriesEXT, + /** @export */ emscripten_glGenRenderbuffers: _emscripten_glGenRenderbuffers, + /** @export */ emscripten_glGenTextures: _emscripten_glGenTextures, + /** @export */ emscripten_glGenVertexArraysOES: _emscripten_glGenVertexArraysOES, + /** @export */ emscripten_glGenerateMipmap: _emscripten_glGenerateMipmap, + /** @export */ emscripten_glGetActiveAttrib: _emscripten_glGetActiveAttrib, + /** @export */ emscripten_glGetActiveUniform: _emscripten_glGetActiveUniform, + /** @export */ emscripten_glGetAttachedShaders: _emscripten_glGetAttachedShaders, + /** @export */ emscripten_glGetAttribLocation: _emscripten_glGetAttribLocation, + /** @export */ emscripten_glGetBooleanv: _emscripten_glGetBooleanv, + /** @export */ emscripten_glGetBufferParameteriv: _emscripten_glGetBufferParameteriv, + /** @export */ emscripten_glGetError: _emscripten_glGetError, + /** @export */ emscripten_glGetFloatv: _emscripten_glGetFloatv, + /** @export */ emscripten_glGetFramebufferAttachmentParameteriv: _emscripten_glGetFramebufferAttachmentParameteriv, + /** @export */ emscripten_glGetIntegerv: _emscripten_glGetIntegerv, + /** @export */ emscripten_glGetProgramInfoLog: _emscripten_glGetProgramInfoLog, + /** @export */ emscripten_glGetProgramiv: _emscripten_glGetProgramiv, + /** @export */ emscripten_glGetQueryObjecti64vEXT: _emscripten_glGetQueryObjecti64vEXT, + /** @export */ emscripten_glGetQueryObjectivEXT: _emscripten_glGetQueryObjectivEXT, + /** @export */ emscripten_glGetQueryObjectui64vEXT: _emscripten_glGetQueryObjectui64vEXT, + /** @export */ emscripten_glGetQueryObjectuivEXT: _emscripten_glGetQueryObjectuivEXT, + /** @export */ emscripten_glGetQueryivEXT: _emscripten_glGetQueryivEXT, + /** @export */ emscripten_glGetRenderbufferParameteriv: _emscripten_glGetRenderbufferParameteriv, + /** @export */ emscripten_glGetShaderInfoLog: _emscripten_glGetShaderInfoLog, + /** @export */ emscripten_glGetShaderPrecisionFormat: _emscripten_glGetShaderPrecisionFormat, + /** @export */ emscripten_glGetShaderSource: _emscripten_glGetShaderSource, + /** @export */ emscripten_glGetShaderiv: _emscripten_glGetShaderiv, + /** @export */ emscripten_glGetString: _emscripten_glGetString, + /** @export */ emscripten_glGetTexParameterfv: _emscripten_glGetTexParameterfv, + /** @export */ emscripten_glGetTexParameteriv: _emscripten_glGetTexParameteriv, + /** @export */ emscripten_glGetUniformLocation: _emscripten_glGetUniformLocation, + /** @export */ emscripten_glGetUniformfv: _emscripten_glGetUniformfv, + /** @export */ emscripten_glGetUniformiv: _emscripten_glGetUniformiv, + /** @export */ emscripten_glGetVertexAttribPointerv: _emscripten_glGetVertexAttribPointerv, + /** @export */ emscripten_glGetVertexAttribfv: _emscripten_glGetVertexAttribfv, + /** @export */ emscripten_glGetVertexAttribiv: _emscripten_glGetVertexAttribiv, + /** @export */ emscripten_glHint: _emscripten_glHint, + /** @export */ emscripten_glIsBuffer: _emscripten_glIsBuffer, + /** @export */ emscripten_glIsEnabled: _emscripten_glIsEnabled, + /** @export */ emscripten_glIsFramebuffer: _emscripten_glIsFramebuffer, + /** @export */ emscripten_glIsProgram: _emscripten_glIsProgram, + /** @export */ emscripten_glIsQueryEXT: _emscripten_glIsQueryEXT, + /** @export */ emscripten_glIsRenderbuffer: _emscripten_glIsRenderbuffer, + /** @export */ emscripten_glIsShader: _emscripten_glIsShader, + /** @export */ emscripten_glIsTexture: _emscripten_glIsTexture, + /** @export */ emscripten_glIsVertexArrayOES: _emscripten_glIsVertexArrayOES, + /** @export */ emscripten_glLineWidth: _emscripten_glLineWidth, + /** @export */ emscripten_glLinkProgram: _emscripten_glLinkProgram, + /** @export */ emscripten_glPixelStorei: _emscripten_glPixelStorei, + /** @export */ emscripten_glPolygonModeWEBGL: _emscripten_glPolygonModeWEBGL, + /** @export */ emscripten_glPolygonOffset: _emscripten_glPolygonOffset, + /** @export */ emscripten_glPolygonOffsetClampEXT: _emscripten_glPolygonOffsetClampEXT, + /** @export */ emscripten_glQueryCounterEXT: _emscripten_glQueryCounterEXT, + /** @export */ emscripten_glReadPixels: _emscripten_glReadPixels, + /** @export */ emscripten_glReleaseShaderCompiler: _emscripten_glReleaseShaderCompiler, + /** @export */ emscripten_glRenderbufferStorage: _emscripten_glRenderbufferStorage, + /** @export */ emscripten_glSampleCoverage: _emscripten_glSampleCoverage, + /** @export */ emscripten_glScissor: _emscripten_glScissor, + /** @export */ emscripten_glShaderBinary: _emscripten_glShaderBinary, + /** @export */ emscripten_glShaderSource: _emscripten_glShaderSource, + /** @export */ emscripten_glStencilFunc: _emscripten_glStencilFunc, + /** @export */ emscripten_glStencilFuncSeparate: _emscripten_glStencilFuncSeparate, + /** @export */ emscripten_glStencilMask: _emscripten_glStencilMask, + /** @export */ emscripten_glStencilMaskSeparate: _emscripten_glStencilMaskSeparate, + /** @export */ emscripten_glStencilOp: _emscripten_glStencilOp, + /** @export */ emscripten_glStencilOpSeparate: _emscripten_glStencilOpSeparate, + /** @export */ emscripten_glTexImage2D: _emscripten_glTexImage2D, + /** @export */ emscripten_glTexParameterf: _emscripten_glTexParameterf, + /** @export */ emscripten_glTexParameterfv: _emscripten_glTexParameterfv, + /** @export */ emscripten_glTexParameteri: _emscripten_glTexParameteri, + /** @export */ emscripten_glTexParameteriv: _emscripten_glTexParameteriv, + /** @export */ emscripten_glTexSubImage2D: _emscripten_glTexSubImage2D, + /** @export */ emscripten_glUniform1f: _emscripten_glUniform1f, + /** @export */ emscripten_glUniform1fv: _emscripten_glUniform1fv, + /** @export */ emscripten_glUniform1i: _emscripten_glUniform1i, + /** @export */ emscripten_glUniform1iv: _emscripten_glUniform1iv, + /** @export */ emscripten_glUniform2f: _emscripten_glUniform2f, + /** @export */ emscripten_glUniform2fv: _emscripten_glUniform2fv, + /** @export */ emscripten_glUniform2i: _emscripten_glUniform2i, + /** @export */ emscripten_glUniform2iv: _emscripten_glUniform2iv, + /** @export */ emscripten_glUniform3f: _emscripten_glUniform3f, + /** @export */ emscripten_glUniform3fv: _emscripten_glUniform3fv, + /** @export */ emscripten_glUniform3i: _emscripten_glUniform3i, + /** @export */ emscripten_glUniform3iv: _emscripten_glUniform3iv, + /** @export */ emscripten_glUniform4f: _emscripten_glUniform4f, + /** @export */ emscripten_glUniform4fv: _emscripten_glUniform4fv, + /** @export */ emscripten_glUniform4i: _emscripten_glUniform4i, + /** @export */ emscripten_glUniform4iv: _emscripten_glUniform4iv, + /** @export */ emscripten_glUniformMatrix2fv: _emscripten_glUniformMatrix2fv, + /** @export */ emscripten_glUniformMatrix3fv: _emscripten_glUniformMatrix3fv, + /** @export */ emscripten_glUniformMatrix4fv: _emscripten_glUniformMatrix4fv, + /** @export */ emscripten_glUseProgram: _emscripten_glUseProgram, + /** @export */ emscripten_glValidateProgram: _emscripten_glValidateProgram, + /** @export */ emscripten_glVertexAttrib1f: _emscripten_glVertexAttrib1f, + /** @export */ emscripten_glVertexAttrib1fv: _emscripten_glVertexAttrib1fv, + /** @export */ emscripten_glVertexAttrib2f: _emscripten_glVertexAttrib2f, + /** @export */ emscripten_glVertexAttrib2fv: _emscripten_glVertexAttrib2fv, + /** @export */ emscripten_glVertexAttrib3f: _emscripten_glVertexAttrib3f, + /** @export */ emscripten_glVertexAttrib3fv: _emscripten_glVertexAttrib3fv, + /** @export */ emscripten_glVertexAttrib4f: _emscripten_glVertexAttrib4f, + /** @export */ emscripten_glVertexAttrib4fv: _emscripten_glVertexAttrib4fv, + /** @export */ emscripten_glVertexAttribDivisorANGLE: _emscripten_glVertexAttribDivisorANGLE, + /** @export */ emscripten_glVertexAttribPointer: _emscripten_glVertexAttribPointer, + /** @export */ emscripten_glViewport: _emscripten_glViewport, + /** @export */ emscripten_has_asyncify: _emscripten_has_asyncify, + /** @export */ emscripten_request_fullscreen_strategy: _emscripten_request_fullscreen_strategy, + /** @export */ emscripten_request_pointerlock: _emscripten_request_pointerlock, + /** @export */ emscripten_resize_heap: _emscripten_resize_heap, + /** @export */ emscripten_sample_gamepad_data: _emscripten_sample_gamepad_data, + /** @export */ emscripten_set_beforeunload_callback_on_thread: _emscripten_set_beforeunload_callback_on_thread, + /** @export */ emscripten_set_blur_callback_on_thread: _emscripten_set_blur_callback_on_thread, + /** @export */ emscripten_set_canvas_element_size: _emscripten_set_canvas_element_size, + /** @export */ emscripten_set_element_css_size: _emscripten_set_element_css_size, + /** @export */ emscripten_set_focus_callback_on_thread: _emscripten_set_focus_callback_on_thread, + /** @export */ emscripten_set_fullscreenchange_callback_on_thread: _emscripten_set_fullscreenchange_callback_on_thread, + /** @export */ emscripten_set_gamepadconnected_callback_on_thread: _emscripten_set_gamepadconnected_callback_on_thread, + /** @export */ emscripten_set_gamepaddisconnected_callback_on_thread: _emscripten_set_gamepaddisconnected_callback_on_thread, + /** @export */ emscripten_set_keydown_callback_on_thread: _emscripten_set_keydown_callback_on_thread, + /** @export */ emscripten_set_keypress_callback_on_thread: _emscripten_set_keypress_callback_on_thread, + /** @export */ emscripten_set_keyup_callback_on_thread: _emscripten_set_keyup_callback_on_thread, + /** @export */ emscripten_set_main_loop_arg: _emscripten_set_main_loop_arg, + /** @export */ emscripten_set_mousedown_callback_on_thread: _emscripten_set_mousedown_callback_on_thread, + /** @export */ emscripten_set_mouseenter_callback_on_thread: _emscripten_set_mouseenter_callback_on_thread, + /** @export */ emscripten_set_mouseleave_callback_on_thread: _emscripten_set_mouseleave_callback_on_thread, + /** @export */ emscripten_set_mousemove_callback_on_thread: _emscripten_set_mousemove_callback_on_thread, + /** @export */ emscripten_set_mouseup_callback_on_thread: _emscripten_set_mouseup_callback_on_thread, + /** @export */ emscripten_set_pointerlockchange_callback_on_thread: _emscripten_set_pointerlockchange_callback_on_thread, + /** @export */ emscripten_set_resize_callback_on_thread: _emscripten_set_resize_callback_on_thread, + /** @export */ emscripten_set_touchcancel_callback_on_thread: _emscripten_set_touchcancel_callback_on_thread, + /** @export */ emscripten_set_touchend_callback_on_thread: _emscripten_set_touchend_callback_on_thread, + /** @export */ emscripten_set_touchmove_callback_on_thread: _emscripten_set_touchmove_callback_on_thread, + /** @export */ emscripten_set_touchstart_callback_on_thread: _emscripten_set_touchstart_callback_on_thread, + /** @export */ emscripten_set_visibilitychange_callback_on_thread: _emscripten_set_visibilitychange_callback_on_thread, + /** @export */ emscripten_set_wheel_callback_on_thread: _emscripten_set_wheel_callback_on_thread, + /** @export */ emscripten_set_window_title: _emscripten_set_window_title, + /** @export */ emscripten_sleep: _emscripten_sleep, + /** @export */ environ_get: _environ_get, + /** @export */ environ_sizes_get: _environ_sizes_get, + /** @export */ exit: _exit, + /** @export */ fd_close: _fd_close, + /** @export */ fd_fdstat_get: _fd_fdstat_get, + /** @export */ fd_read: _fd_read, + /** @export */ fd_seek: _fd_seek, + /** @export */ fd_write: _fd_write, + /** @export */ getaddrinfo: _getaddrinfo, + /** @export */ glActiveTexture: _glActiveTexture, + /** @export */ glAttachShader: _glAttachShader, + /** @export */ glBindBuffer: _glBindBuffer, + /** @export */ glBindTexture: _glBindTexture, + /** @export */ glBufferData: _glBufferData, + /** @export */ glClear: _glClear, + /** @export */ glClearColor: _glClearColor, + /** @export */ glCompileShader: _glCompileShader, + /** @export */ glCreateProgram: _glCreateProgram, + /** @export */ glCreateShader: _glCreateShader, + /** @export */ glDeleteBuffers: _glDeleteBuffers, + /** @export */ glDeleteProgram: _glDeleteProgram, + /** @export */ glDeleteTextures: _glDeleteTextures, + /** @export */ glDrawArrays: _glDrawArrays, + /** @export */ glEnableVertexAttribArray: _glEnableVertexAttribArray, + /** @export */ glGenBuffers: _glGenBuffers, + /** @export */ glGenTextures: _glGenTextures, + /** @export */ glGetAttribLocation: _glGetAttribLocation, + /** @export */ glGetError: _glGetError, + /** @export */ glGetProgramInfoLog: _glGetProgramInfoLog, + /** @export */ glGetProgramiv: _glGetProgramiv, + /** @export */ glGetShaderInfoLog: _glGetShaderInfoLog, + /** @export */ glGetShaderiv: _glGetShaderiv, + /** @export */ glGetUniformLocation: _glGetUniformLocation, + /** @export */ glLinkProgram: _glLinkProgram, + /** @export */ glPixelStorei: _glPixelStorei, + /** @export */ glShaderSource: _glShaderSource, + /** @export */ glTexImage2D: _glTexImage2D, + /** @export */ glTexParameteri: _glTexParameteri, + /** @export */ glUniform1f: _glUniform1f, + /** @export */ glUniform1i: _glUniform1i, + /** @export */ glUniform2fv: _glUniform2fv, + /** @export */ glUseProgram: _glUseProgram, + /** @export */ glVertexAttribPointer: _glVertexAttribPointer, + /** @export */ glViewport: _glViewport, + /** @export */ invoke_i, + /** @export */ invoke_ii, + /** @export */ invoke_iii, + /** @export */ invoke_iiii, + /** @export */ invoke_iiiii, + /** @export */ invoke_v, + /** @export */ invoke_vi, + /** @export */ invoke_vii, + /** @export */ invoke_viii, + /** @export */ invoke_viiiiii +}; + +var wasmExports = await createWasm(); + +function invoke_ii(index, a1) { + var sp = stackSave(); + try { + return getWasmTableEntry(index)(a1); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_iii(index, a1, a2) { + var sp = stackSave(); + try { + return getWasmTableEntry(index)(a1, a2); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_i(index) { + var sp = stackSave(); + try { + return getWasmTableEntry(index)(); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_iiii(index, a1, a2, a3) { + var sp = stackSave(); + try { + return getWasmTableEntry(index)(a1, a2, a3); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_vi(index, a1) { + var sp = stackSave(); + try { + getWasmTableEntry(index)(a1); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_vii(index, a1, a2) { + var sp = stackSave(); + try { + getWasmTableEntry(index)(a1, a2); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_v(index) { + var sp = stackSave(); + try { + getWasmTableEntry(index)(); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_viiiiii(index, a1, a2, a3, a4, a5, a6) { + var sp = stackSave(); + try { + getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_viii(index, a1, a2, a3) { + var sp = stackSave(); + try { + getWasmTableEntry(index)(a1, a2, a3); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +function invoke_iiiii(index, a1, a2, a3, a4) { + var sp = stackSave(); + try { + return getWasmTableEntry(index)(a1, a2, a3, a4); + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0); + } +} + +// Argument name here must shadow the `wasmExports` global so +// that it is recognised by metadce and minify-import-export-names +// passes. +function applySignatureConversions(wasmExports) { + // First, make a copy of the incoming exports object + wasmExports = Object.assign({}, wasmExports); + var makeWrapper_pp = f => a0 => f(a0) >>> 0; + var makeWrapper_p_ = f => a0 => f(a0) >>> 0; + var makeWrapper_p = f => () => f() >>> 0; + wasmExports["__getTypeName"] = makeWrapper_pp(wasmExports["__getTypeName"]); + wasmExports["malloc"] = makeWrapper_pp(wasmExports["malloc"]); + wasmExports["strerror"] = makeWrapper_p_(wasmExports["strerror"]); + wasmExports["emscripten_stack_get_end"] = makeWrapper_p(wasmExports["emscripten_stack_get_end"]); + wasmExports["emscripten_stack_get_base"] = makeWrapper_p(wasmExports["emscripten_stack_get_base"]); + wasmExports["_emscripten_stack_alloc"] = makeWrapper_pp(wasmExports["_emscripten_stack_alloc"]); + wasmExports["emscripten_stack_get_current"] = makeWrapper_p(wasmExports["emscripten_stack_get_current"]); + return wasmExports; +} + +// include: postamble.js +// === Auto-generated postamble setup entry stuff === +var calledRun; + +function callMain(args = []) { + assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])'); + assert(typeof onPreRuns === "undefined" || onPreRuns.length == 0, "cannot call main when preRun functions remain to be called"); + var entryFunction = _main; + args.unshift(thisProgram); + var argc = args.length; + var argv = stackAlloc((argc + 1) * 4); + var argv_ptr = argv; + args.forEach(arg => { + HEAPU32[((argv_ptr) >>> 2) >>> 0] = stringToUTF8OnStack(arg); + argv_ptr += 4; + }); + HEAPU32[((argv_ptr) >>> 2) >>> 0] = 0; + try { + var ret = entryFunction(argc, argv); + // if we're not running an evented main loop, it's time to exit + exitJS(ret, /* implicit = */ true); + return ret; + } catch (e) { + return handleException(e); + } +} + +function stackCheckInit() { + // This is normally called automatically during __wasm_call_ctors but need to + // get these values before even running any of the ctors so we call it redundantly + // here. + _emscripten_stack_init(); + // TODO(sbc): Move writeStackCookie to native to to avoid this. + writeStackCookie(); +} + +function run(args = arguments_) { + if (runDependencies > 0) { + dependenciesFulfilled = run; + return; + } + stackCheckInit(); + preRun(); + // a preRun added a dependency, run will be called later + if (runDependencies > 0) { + dependenciesFulfilled = run; + return; + } + function doRun() { + // run may have just been called through dependencies being fulfilled just in this very frame, + // or while the async setStatus time below was happening + assert(!calledRun); + calledRun = true; + Module["calledRun"] = true; + if (ABORT) return; + initRuntime(); + preMain(); + readyPromiseResolve?.(Module); + Module["onRuntimeInitialized"]?.(); + consumedModuleProp("onRuntimeInitialized"); + var noInitialRun = Module["noInitialRun"] || false; + if (!noInitialRun) callMain(args); + postRun(); + } + if (Module["setStatus"]) { + Module["setStatus"]("Running..."); + setTimeout(() => { + setTimeout(() => Module["setStatus"](""), 1); + doRun(); + }, 1); + } else { + doRun(); + } + checkStackCookie(); +} + +function checkUnflushedContent() { + // Compiler settings do not allow exiting the runtime, so flushing + // the streams is not possible. but in ASSERTIONS mode we check + // if there was something to flush, and if so tell the user they + // should request that the runtime be exitable. + // Normally we would not even include flush() at all, but in ASSERTIONS + // builds we do so just for this check, and here we see if there is any + // content to flush, that is, we check if there would have been + // something a non-ASSERTIONS build would have not seen. + // How we flush the streams depends on whether we are in SYSCALLS_REQUIRE_FILESYSTEM=0 + // mode (which has its own special function for this; otherwise, all + // the code is inside libc) + var oldOut = out; + var oldErr = err; + var has = false; + out = err = x => { + has = true; + }; + try { + // it doesn't matter if it fails + _fflush(0); + // also flush in the JS FS layer + [ "stdout", "stderr" ].forEach(name => { + var info = FS.analyzePath("/dev/" + name); + if (!info) return; + var stream = info.object; + var rdev = stream.rdev; + var tty = TTY.ttys[rdev]; + if (tty?.output?.length) { + has = true; + } + }); + } catch (e) {} + out = oldOut; + err = oldErr; + if (has) { + warnOnce("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc."); + } +} + +function preInit() { + if (Module["preInit"]) { + if (typeof Module["preInit"] == "function") Module["preInit"] = [ Module["preInit"] ]; + while (Module["preInit"].length > 0) { + Module["preInit"].shift()(); + } + } + consumedModuleProp("preInit"); +} + +preInit(); + +run(); + +// end include: postamble.js +// include: postamble_modularize.js +// In MODULARIZE mode we wrap the generated code in a factory function +// and return either the Module itself, or a promise of the module. +// We assign to the `moduleRtn` global here and configure closure to see +// this as and extern so it won't get minified. +if (runtimeInitialized) { + moduleRtn = Module; +} else { + // Set up the promise that indicates the Module is initialized + moduleRtn = new Promise((resolve, reject) => { + readyPromiseResolve = resolve; + readyPromiseReject = reject; + }); +} + +// Assertion for attempting to access module properties on the incoming +// moduleArg. In the past we used this object as the prototype of the module +// and assigned properties to it, but now we return a distinct object. This +// keeps the instance private until it is ready (i.e the promise has been +// resolved). +for (const prop of Object.keys(Module)) { + if (!(prop in moduleArg)) { + Object.defineProperty(moduleArg, prop, { + configurable: true, + get() { + abort(`Access to module property ('${prop}') is no longer possible via the module constructor argument; Instead, use the result of the module constructor.`); + } + }); + } +} + + + return moduleRtn; +} + +// Export using a UMD style export, or ES6 exports if selected +export default createDicomViewerModule; + diff --git a/src/lib/viewer/test.wasm.map b/src/lib/viewer/test.wasm.map new file mode 100644 index 0000000..d23e8a3 --- /dev/null +++ b/src/lib/viewer/test.wasm.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../emsdk/upstream/emscripten/cache/sysroot/include/dcmtk/dcmimage/diregist.h","test.cc","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/string","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__memory/allocator.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__vector/vector.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__utility/exception_guard.h","events.h","camera.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__string/char_traits.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/string","../../../emsdk/upstream/emscripten/cache/sysroot/include/dcmtk/ofstd/ofcond.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/dcmtk/dcmdata/dctagkey.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__math/exponential_functions.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__ostream/basic_ostream.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__ostream/put_character_sequence.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/ios","nlohmann/json.hpp","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__utility/swap.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__functional/function.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/map","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__string/constexpr_c_functions.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__memory/allocator_traits.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__memory/pointer_traits.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__new/allocate.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__iterator/back_insert_iterator.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__algorithm/move.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__split_buffer","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__tree","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/limits","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__algorithm/min.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/stdexcept","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__memory/allocate_at_least.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__memory/uninitialized_algorithms.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__algorithm/comp.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__new/exceptions.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__iterator/reverse_iterator.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__algorithm/copy_move_common.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__algorithm/unwrap_range.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__algorithm/unwrap_iter.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__utility/pair.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__algorithm/iterator_operations.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__iterator/wrap_iter.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__new/launder.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__algorithm/max.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__memory/construct_at.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__iterator/ostreambuf_iterator.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__locale_dir/pad_and_output.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/streambuf","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__locale","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__memory/unique_ptr.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__exception/exception.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__functional/operations.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/string_view","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__memory/shared_ptr.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__iterator/next.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__memory/shared_count.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__memory/allocation_guard.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/array","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__iterator/advance.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__math/traits.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__utility/convert_to_integral.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/initializer_list","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__vector/vector_bool.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__bit_reference","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__algorithm/copy.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__memory/swap_allocator.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/tuple","/emsdk/emscripten/cache/sysroot/include/c++/v1/sstream","camera.cpp","events.cpp","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__math/abs.h","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/atomic/SDL_atomic.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/SDL_error.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/SDL_dataqueue.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/audio/SDL_audiocvt.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/audio/emscripten/SDL_emscriptenaudio.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/audio/disk/SDL_diskaudio.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/audio/dummy/SDL_dummyaudio.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/audio/SDL_audio.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/SDL_assert.c","/emsdk/emscripten/cache/sysroot/include/SDL2/SDL_stdinc.h","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/SDL.c","/emsdk/emscripten/cache/sysroot/include/SDL2/SDL_bits.h","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/events/SDL_events.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/joystick/SDL_gamecontroller.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/events/SDL_gesture.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/stdlib/SDL_getenv.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/SDL_hints.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/stdlib/SDL_crc16.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/SDL_guid.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/joystick/SDL_joystick.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/events/SDL_keyboard.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/SDL_log.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/stdlib/SDL_malloc.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/events/SDL_mouse.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/events/SDL_quit.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/SDL_rect.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/SDL_rect_impl.h","/emsdk/emscripten/cache/sysroot/include/SDL2/SDL_rect.h","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/SDL_list.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/cpuinfo/SDL_cpuinfo.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/SDL_fillrect.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/SDL_RLEaccel.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/SDL_blit_copy.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/SDL_blit_slow.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/SDL_blit_0.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/SDL_blit_1.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/SDL_blit_A.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/SDL_blit_N.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/SDL_blit_auto.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/SDL_blit.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/SDL_pixels.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/render/SDL_render.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/render/opengles2/SDL_render_gles2.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/render/opengles2/SDL_gles2funcs.h","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/render/software/SDL_drawpoint.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/render/software/SDL_blendpoint.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/render/software/SDL_drawline.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/render/software/SDL_blendline.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/render/software/SDL_blendfillrect.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/render/software/SDL_render_sw.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/render/software/SDL_rotate.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/file/SDL_rwops.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/sensor/dummy/SDL_dummysensor.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/sensor/SDL_sensor.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/render/opengles2/SDL_shaders_gles2.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/atomic/SDL_spinlock.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/stdlib/SDL_stdlib.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/joystick/SDL_steam_virtual_gamepad.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/stdlib/SDL_string.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/SDL_stretch.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/SDL_surface.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/joystick/emscripten/SDL_sysjoystick.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/thread/generic/SDL_sysmutex.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/thread/generic/SDL_syssem.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/thread/generic/SDL_systhread.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/timer/unix/SDL_systimer.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/thread/generic/SDL_systls.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/thread/SDL_thread.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/timer/SDL_timer.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/events/SDL_touch.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/render/software/SDL_triangle.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/loadso/dlopen/SDL_sysloadso.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/SDL_egl.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/emscripten/SDL_emscriptenopengles.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/emscripten/SDL_emscriptenframebuffer.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/emscripten/SDL_emscriptenmouse.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/emscripten/SDL_emscriptenevents.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/emscripten/SDL_emscriptenvideo.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/events/SDL_displayevents.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/stdlib/SDL_qsort.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/SDL_video.c","/emsdk/emscripten/system/lib/gl/libprocaddr.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/events/SDL_windowevents.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/SDL_yuv.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/render/SDL_yuv_sw.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/joystick/controller_type.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/yuv2rgb/yuv_rgb_std_func.h","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/yuv2rgb/yuv_rgb_std.c","/emsdk/emscripten/system/lib/gl/gl.c","/emsdk/emscripten/system/lib/gl/webgl1.c","/emsdk/emscripten/system/lib/html5/dom_pk_codes.c","/emsdk/emscripten/system/lib/libc/emscripten_libc_stubs.c","/emsdk/emscripten/system/lib/libc/atexit_dummy.c","/emsdk/emscripten/system/lib/libc/musl/src/errno/__errno_location.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/access.c","/emsdk/emscripten/system/lib/libc/musl/src/math/atan.c","/emsdk/emscripten/system/lib/libc/musl/include/math.h","/emsdk/emscripten/system/lib/libc/musl/src/math/atan2.c","/emsdk/emscripten/system/lib/libc/musl/src/math/atan2f.c","/emsdk/emscripten/system/lib/libc/musl/src/math/atanf.c","/emsdk/emscripten/system/lib/libc/musl/src/stdlib/atof.c","/emsdk/emscripten/system/lib/libc/musl/src/stdlib/atoi.c","/emsdk/emscripten/system/lib/libc/musl/include/ctype.h","/emsdk/emscripten/system/lib/libc/musl/src/stdio/__lockfile.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/clearerr.c","/emsdk/emscripten/system/lib/libc/musl/src/time/clock.c","/emsdk/emscripten/system/lib/libc/musl/src/time/clock_gettime.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/close.c","/emsdk/emscripten/system/lib/libc/musl/src/dirent/closedir.c","/emsdk/emscripten/system/lib/libc/musl/src/math/__cos.c","/emsdk/emscripten/system/lib/libc/musl/src/math/__rem_pio2_large.c","/emsdk/emscripten/system/lib/libc/musl/src/math/__rem_pio2.c","/emsdk/emscripten/system/lib/libc/musl/src/math/__sin.c","/emsdk/emscripten/system/lib/libc/musl/src/math/cos.c","/emsdk/emscripten/system/lib/libc/musl/src/math/__cosdf.c","/emsdk/emscripten/system/lib/libc/musl/src/math/__sindf.c","/emsdk/emscripten/system/lib/libc/musl/src/math/__rem_pio2f.c","/emsdk/emscripten/system/lib/libc/musl/src/math/cosf.c","/emsdk/emscripten/system/lib/libc/musl/src/ldso/dlclose.c","/emsdk/emscripten/cache/sysroot/include/atomic_arch.h","/emsdk/emscripten/system/lib/libc/musl/src/ldso/dlerror.c","/emsdk/emscripten/system/lib/libc/emscripten_time.c","/emsdk/emscripten/system/lib/libc/musl/src/math/__math_xflow.c","/emsdk/emscripten/system/lib/libc/musl/src/internal/libm.h","/emsdk/emscripten/system/lib/libc/musl/src/math/__math_uflow.c","/emsdk/emscripten/system/lib/libc/musl/src/math/__math_oflow.c","/emsdk/emscripten/system/lib/libc/musl/src/math/exp.c","/emsdk/emscripten/system/lib/libc/musl/src/math/fabs.c","/emsdk/emscripten/system/lib/libc/musl/src/math/fabsf.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fclose.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/feof.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/ferror.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fflush.c","/emsdk/emscripten/system/lib/libc/emscripten_memcpy_bulkmem.S","/emsdk/emscripten/system/lib/libc/emscripten_memcpy.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/__toread.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/__uflow.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fgets.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fileno.c","/emsdk/emscripten/system/lib/libc/musl/src/math/floor.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/__fmodeflags.c","/emsdk/emscripten/system/lib/libc/musl/src/string/memset.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/__stdio_seek.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/__stdio_write.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/__stdio_read.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/__stdio_close.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/__fdopen.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fopen.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fprintf.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/__towrite.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/__overflow.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fputc.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/putc.h","/emsdk/emscripten/system/lib/libc/musl/src/internal/pthread_impl.h","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fread.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fseek.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/ftell.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fwrite.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/getc.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/getc.h","/emsdk/emscripten/system/lib/libc/musl/src/env/__environ.c","/emsdk/emscripten/system/lib/libc/musl/src/env/getenv.c","/emsdk/emscripten/system/lib/libc/musl/src/misc/gethostid.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/gethostname.c","/emsdk/emscripten/system/lib/libc/emscripten_syscall_stubs.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/getpid.c","/emsdk/emscripten/system/lib/libc/musl/src/time/gmtime.c","/emsdk/emscripten/system/lib/libc/musl/src/network/htonl.c","/emsdk/emscripten/system/lib/libc/musl/include/byteswap.h","/emsdk/emscripten/system/lib/libc/musl/src/network/htons.c","/emsdk/emscripten/system/lib/libc/musl/src/network/inet_addr.c","/emsdk/emscripten/system/lib/libc/musl/src/network/inet_aton.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/isalpha.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/isatty.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/isblank.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/iscntrl.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/iswalpha.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/iswblank.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/iswcntrl.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/iswlower.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/iswprint.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/iswpunct.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/iswspace.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/iswupper.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/iswxdigit.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/isxdigit.c","/emsdk/emscripten/system/lib/libc/musl/src/math/ldexp.c","/emsdk/emscripten/system/lib/pthread/library_pthread_stub.c","/emsdk/emscripten/system/lib/libc/musl/src/locale/localeconv.c","/emsdk/emscripten/system/lib/libc/musl/src/time/localtime.c","/emsdk/emscripten/system/lib/libc/musl/src/fcntl/fcntl.c","/emsdk/emscripten/system/lib/libc/musl/src/misc/lockf.c","/emsdk/emscripten/system/lib/libc/musl/src/math/__math_invalid.c","/emsdk/emscripten/system/lib/libc/musl/src/math/log10.c","/emsdk/emscripten/system/lib/libc/musl/src/math/lrintf.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/lseek.c","/emsdk/emscripten/system/lib/libc/musl/src/multibyte/mbtowc.c","/emsdk/emscripten/system/lib/libc/musl/src/string/memchr.c","/emsdk/emscripten/system/lib/libc/musl/src/string/memcmp.c","/emsdk/emscripten/system/lib/libc/musl/src/time/__tz.c","/emsdk/emscripten/system/lib/libc/mktime.c","/emsdk/emscripten/system/lib/libc/musl/src/time/clock_nanosleep.c","/emsdk/emscripten/system/lib/libc/musl/src/time/nanosleep.c","/emsdk/emscripten/system/lib/libc/musl/src/network/ntohs.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/ofl.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/ofl_add.c","/emsdk/emscripten/system/lib/libc/musl/src/fcntl/open.c","/emsdk/emscripten/system/lib/libc/musl/src/dirent/opendir.c","/emsdk/emscripten/system/lib/libc/musl/src/math/pow.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/printf.c","/emsdk/emscripten/system/lib/pthread/pthread_self_stub.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fputs.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/puts.c","/emsdk/emscripten/system/lib/libc/musl/src/stdlib/qsort.c","/emsdk/emscripten/system/lib/libc/musl/src/internal/atomic.h","/emsdk/emscripten/system/lib/libc/musl/src/stdlib/qsort_nr.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/read.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/remove.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/rename.c","/emsdk/emscripten/system/lib/libc/musl/src/math/rintf.c","/emsdk/emscripten/system/lib/libc/musl/src/math/round.c","/emsdk/emscripten/system/lib/libc/musl/src/math/scalbn.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/setvbuf.c","/emsdk/emscripten/system/lib/libc/sigaction.c","/emsdk/emscripten/system/lib/libc/musl/src/signal/signal.c","/emsdk/emscripten/system/lib/libc/musl/src/math/sin.c","/emsdk/emscripten/system/lib/libc/musl/src/math/sinf.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/snprintf.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/sscanf.c","/emsdk/emscripten/system/lib/libc/musl/src/stat/fstatat.c","/emsdk/emscripten/system/lib/libc/musl/src/stat/stat.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/stdout.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strcasecmp.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strchr.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strchrnul.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strcmp.c","/emsdk/emscripten/system/lib/libc/musl/src/string/stpcpy.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strcpy.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strdup.c","/emsdk/emscripten/system/lib/libc/musl/src/errno/strerror.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strerror_r.c","/emsdk/emscripten/system/lib/libc/musl/src/time/__year_to_secs.c","/emsdk/emscripten/system/lib/libc/musl/src/time/__month_to_secs.c","/emsdk/emscripten/system/lib/libc/musl/src/time/__tm_to_secs.c","/emsdk/emscripten/system/lib/libc/musl/src/locale/langinfo.c","/emsdk/emscripten/system/lib/libc/musl/src/time/strftime.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strlcat.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strlcpy.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strlen.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strncasecmp.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strncmp.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strnlen.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strstr.c","/emsdk/emscripten/system/lib/libc/musl/src/internal/shgetc.c","/emsdk/emscripten/system/lib/libc/musl/src/math/copysignl.c","/emsdk/emscripten/system/lib/libc/musl/src/math/scalbnl.c","/emsdk/emscripten/system/lib/libc/musl/src/math/__fpclassifyl.c","/emsdk/emscripten/system/lib/libc/musl/src/math/fmodl.c","/emsdk/emscripten/system/lib/libc/musl/src/math/fabsl.c","/emsdk/emscripten/system/lib/libc/musl/src/internal/floatscan.c","/emsdk/emscripten/system/lib/libc/musl/src/stdlib/strtod.c","/emsdk/emscripten/system/lib/libc/musl/src/stdlib/strtol.c","/emsdk/emscripten/system/lib/libc/musl/src/internal/syscall_ret.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/dprintf.c","/emsdk/emscripten/system/lib/libc/musl/src/misc/syslog.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/tolower.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/toupper.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/towctrans.c","/emsdk/emscripten/system/lib/libc/musl/src/misc/uname.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/unlink.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/vdprintf.c","/emsdk/emscripten/system/lib/libc/musl/src/math/frexp.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/vfprintf.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/vsnprintf.c","/emsdk/emscripten/system/lib/libc/musl/src/internal/intscan.c","/emsdk/emscripten/system/lib/libc/musl/src/multibyte/mbrtowc.c","/emsdk/emscripten/system/lib/libc/musl/src/multibyte/mbsinit.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/vfscanf.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/vsscanf.c","/emsdk/emscripten/system/lib/libc/wasi-helpers.c","/emsdk/emscripten/system/lib/libc/musl/src/string/wcschr.c","/emsdk/emscripten/system/lib/libc/musl/src/string/wcscmp.c","/emsdk/emscripten/system/lib/libc/musl/src/string/wcslen.c","/emsdk/emscripten/system/lib/libc/musl/src/multibyte/wcrtomb.c","/emsdk/emscripten/system/lib/libc/musl/src/multibyte/wctomb.c","/emsdk/emscripten/system/lib/libc/musl/src/string/wmemchr.c","/emsdk/emscripten/system/lib/libc/musl/src/exit/abort.c","/emsdk/emscripten/system/lib/dlmalloc.c","/emsdk/emscripten/system/lib/libc/emscripten_get_heap_size.c","/emsdk/emscripten/system/lib/libc/sbrk.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/addtf3.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/fp_add_impl.inc","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/fp_lib.h","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/ashlti3.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/comparetf2.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/fp_compare_impl.inc","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/divtf3.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/fp_div_impl.inc","/emsdk/emscripten/system/lib/compiler-rt/emscripten_exception_builtins.c","/emsdk/emscripten/system/lib/compiler-rt/emscripten_setjmp.c","/emsdk/emscripten/system/lib/compiler-rt/emscripten_tempret.s","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/extenddftf2.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/fp_extend.h","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/fp_extend_impl.inc","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/extendsftf2.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/floatsitf.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/floatunsitf.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/fp_mode.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/lshrti3.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/multf3.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/fp_mul_impl.inc","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/multi3.c","/emsdk/emscripten/system/lib/compiler-rt/stack_limits.S","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/subtf3.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/trunctfdf2.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/fp_trunc.h","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/fp_trunc_impl.inc","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/trunctfsf2.c","/emsdk/emscripten/system/lib/libcxx/src/functional.cpp","/emsdk/emscripten/system/lib/libcxx/src/support/runtime/exception_libcxxabi.ipp","/emsdk/emscripten/system/lib/libc/musl/src/stdio/setbuf.c","/emsdk/emscripten/cache/sysroot/include/c++/v1/ios","/emsdk/emscripten/cache/sysroot/include/c++/v1/streambuf","/emsdk/emscripten/cache/sysroot/include/c++/v1/__ios/fpos.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/min.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__string/char_traits.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__string/constexpr_c_functions.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/istream","/emsdk/emscripten/cache/sysroot/include/c++/v1/__ostream/basic_ostream.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__locale","/emsdk/emscripten/cache/sysroot/include/c++/v1/__iterator/istreambuf_iterator.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/limits","/emsdk/emscripten/cache/sysroot/include/c++/v1/locale","/emsdk/emscripten/cache/sysroot/include/c++/v1/__iterator/ostreambuf_iterator.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__type_traits/make_unsigned.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__memory/allocator.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__memory/pointer_traits.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__utility/swap.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/max.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/fstream","/emsdk/emscripten/cache/sysroot/include/c++/v1/__memory/unique_ptr.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/typeinfo","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/comp.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__memory/allocator_traits.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__new/allocate.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__iterator/distance.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__memory/allocate_at_least.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/stdexcept","/emsdk/emscripten/cache/sysroot/include/c++/v1/__new/exceptions.h","/emsdk/emscripten/system/lib/libcxx/src/error_category.cpp","/emsdk/emscripten/cache/sysroot/include/c++/v1/__system_error/error_condition.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__system_error/error_category.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__system_error/error_code.h","/emsdk/emscripten/system/lib/libcxx/src/ios.cpp","/emsdk/emscripten/system/lib/libc/musl/src/stdio/ungetc.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fwide.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fgetwc.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/getwc.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/ungetwc.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fputwc.c","/emsdk/emscripten/system/lib/libcxx/src/iostream_init.h","/emsdk/emscripten/system/lib/libcxx/src/iostream.cpp","/emsdk/emscripten/system/lib/libcxx/src/std_stream.h","/emsdk/emscripten/system/lib/libc/musl/src/ctype/isdigit.c","/emsdk/emscripten/system/lib/libc/musl/src/locale/locale_map.c","/emsdk/emscripten/system/lib/libc/musl/src/locale/newlocale.c","/emsdk/emscripten/system/lib/libcxx/src/call_once.cpp","/emsdk/emscripten/cache/sysroot/include/c++/v1/__thread/support/pthread.h","/emsdk/emscripten/system/lib/libcxx/src/include/atomic_support.h","/emsdk/emscripten/system/lib/libc/musl/src/locale/freelocale.c","/emsdk/emscripten/system/lib/libc/musl/src/locale/strcoll.c","/emsdk/emscripten/system/lib/libc/musl/src/locale/strxfrm.c","/emsdk/emscripten/system/lib/libc/musl/src/locale/wcscoll.c","/emsdk/emscripten/system/lib/libc/musl/src/string/wmemcpy.c","/emsdk/emscripten/system/lib/libc/musl/src/locale/wcsxfrm.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/__ctype_toupper_loc.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/__ctype_tolower_loc.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/iswdigit.c","/emsdk/emscripten/system/lib/libc/musl/src/multibyte/btowc.c","/emsdk/emscripten/system/lib/libc/musl/src/locale/uselocale.c","/emsdk/emscripten/system/lib/libc/musl/src/multibyte/wctob.c","/emsdk/emscripten/system/lib/libc/musl/src/multibyte/wcsnrtombs.c","/emsdk/emscripten/system/lib/libc/musl/src/multibyte/mbsrtowcs.c","/emsdk/emscripten/system/lib/libc/musl/src/multibyte/mbsnrtowcs.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/__ctype_get_mb_cur_max.c","/emsdk/emscripten/system/lib/libc/musl/src/multibyte/mbrlen.c","/emsdk/emscripten/system/lib/libc/compat/strtol_l.c","/emsdk/emscripten/system/lib/libc/musl/src/locale/strtod_l.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/vasprintf.c","/emsdk/emscripten/system/lib/libcxx/src/locale.cpp","/emsdk/emscripten/cache/sysroot/include/c++/v1/__locale_dir/locale_base_api.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/find.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__locale_dir/locale_base_api/bsd_locale_fallbacks.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/unwrap_iter.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__iterator/wrap_iter.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__locale_dir/pad_and_output.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/reverse.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/copy.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__iterator/access.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/equal.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__vector/vector.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__memory/shared_count.h","/emsdk/emscripten/system/lib/libcxx/src/include/sso_allocator.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__utility/exception_guard.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__utility/no_destroy.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__mutex/once_flag.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/tuple","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/rotate.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__utility/scope_guard.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/cwchar","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/iterator_operations.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/iter_swap.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/copy_move_common.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/unwrap_range.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__utility/pair.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__utility/is_pointer_in_range.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__memory/construct_at.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/ranges_copy_n.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__memory/uninitialized_algorithms.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__split_buffer","/emsdk/emscripten/cache/sysroot/include/c++/v1/__type_traits/invoke.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__iterator/next.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/move.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/move_backward.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/swap_ranges.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__iterator/advance.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__utility/convert_to_integral.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__iterator/prev.h","/emsdk/emscripten/system/lib/libcxx/src/memory.cpp","/emsdk/emscripten/system/lib/libc/compat/aligned_alloc.c","/emsdk/emscripten/system/lib/libcxx/src/new.cpp","/emsdk/emscripten/cache/sysroot/include/c++/v1/__memory/aligned_alloc.h","/emsdk/emscripten/system/lib/libcxx/src/new_helpers.cpp","/emsdk/emscripten/cache/sysroot/include/c++/v1/__exception/exception.h","/emsdk/emscripten/system/lib/libcxx/src/support/runtime/../../include/refstring.h","/emsdk/emscripten/system/lib/libcxx/src/support/runtime/stdexcept_default.ipp","/emsdk/emscripten/system/lib/libcxx/src/include/refstring.h","/emsdk/emscripten/system/lib/libcxx/src/support/runtime/../../include/atomic_support.h","/emsdk/emscripten/system/lib/libcxx/src/stdexcept.cpp","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/fill_n.h","/emsdk/emscripten/system/lib/libcxx/src/string.cpp","/emsdk/emscripten/cache/sysroot/include/c++/v1/__charconv/to_chars_integral.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__charconv/traits.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__bit/countl.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__charconv/to_chars_base_10.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/copy_n.h","/emsdk/emscripten/system/lib/libcxx/src/system_error.cpp","/emsdk/emscripten/system/lib/libcxx/src/verbose_abort.cpp","/emsdk/emscripten/system/lib/libcxxabi/src/abort_message.cpp","/emsdk/emscripten/system/lib/libcxxabi/src/cxa_default_handlers.cpp","/emsdk/emscripten/system/lib/libcxxabi/src/cxa_handlers.cpp","/emsdk/emscripten/system/lib/libcxxabi/src/cxa_noexception.cpp","/emsdk/emscripten/system/lib/libcxxabi/src/cxa_virtual.cpp","/emsdk/emscripten/system/lib/libcxxabi/src/private_typeinfo.cpp","/emsdk/emscripten/system/lib/libcxxabi/src/stdlib_exception.cpp","/emsdk/emscripten/system/lib/libcxxabi/src/stdlib_stdexcept.cpp","/emsdk/emscripten/system/lib/libcxxabi/src/stdlib_typeinfo.cpp","/emsdk/emscripten/system/lib/libc/musl/src/network/connect.c","/emsdk/emscripten/system/lib/libc/musl/src/network/freeaddrinfo.c","/emsdk/emscripten/system/lib/libc/musl/src/network/send.c","/emsdk/emscripten/system/lib/libc/musl/src/network/sendto.c","/emsdk/emscripten/system/lib/libc/musl/src/network/setsockopt.c","/emsdk/emscripten/system/lib/libc/musl/src/network/socket.c","/emsdk/emscripten/system/lib/embind/bind.cpp","/emsdk/emscripten/cache/sysroot/include/emscripten/bind.h","/emsdk/emscripten/system/lib/compiler-rt/stack_ops.S"],"sourcesContent":[],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte new file mode 100644 index 0000000..f813902 --- /dev/null +++ b/src/routes/+layout.svelte @@ -0,0 +1,60 @@ + + + + + + +
+ +
\ No newline at end of file diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte new file mode 100644 index 0000000..b8973ce --- /dev/null +++ b/src/routes/+page.svelte @@ -0,0 +1,27 @@ +
+

+ + SDCMWEB Viewer + +

+

+ Storage Solution for Doctors Medical Communication Web Viewer +

+ + + 워크리스트로 이동 + + + + +
\ No newline at end of file diff --git a/src/routes/api/dicom/+server.ts b/src/routes/api/dicom/+server.ts new file mode 100644 index 0000000..0823706 --- /dev/null +++ b/src/routes/api/dicom/+server.ts @@ -0,0 +1,45 @@ +import { json, type RequestHandler } from '@sveltejs/kit'; +import db from '$lib/server/db'; + +/** + * 기본 조회 API: StudyInstanceUID 또는 accession_number로 이미지를 검색합니다. + * StudyInstanceUID가 존재하면 최우선으로 처리됩니다. + */ +export const GET: RequestHandler = async ({ url }) => { + const studyInstanceUIDs = url.searchParams.getAll('StudyInstanceUID'); + const accessionNumbers = url.searchParams.getAll('accession_number'); + + // 1. StudyInstanceUID 파라미터가 있으면 최우선으로 처리 + if (studyInstanceUIDs.length > 0) { + console.log('Calling get_images_by_studyinstanceuid with:', studyInstanceUIDs); + try { + const result = await db.query('SELECT * FROM public.get_images_by_studyinstanceuid($1)', [ + studyInstanceUIDs + ]); + return json(result.rows); + } catch (err) { + console.error('Error calling get_images_by_studyinstanceuid:', err); + return json({ message: 'DB 함수 호출 중 오류 발생' }, { status: 500 }); + } + } + + // 2. StudyInstanceUID는 없고 accession_number 파라미터만 있을 경우 처리 + if (accessionNumbers.length > 0) { + console.log('Calling get_images_by_accession_number with:', accessionNumbers); + try { + const result = await db.query('SELECT * FROM public.get_images_by_accession_number($1)', [ + accessionNumbers + ]); + return json(result.rows); + } catch (err) { + console.error('Error calling get_images_by_accession_number:', err); + return json({ message: 'DB 함수 호출 중 오류 발생' }, { status: 500 }); + } + } + + // 3. 두 파라미터가 모두 없는 경우 + return json( + { message: '검색 조건(StudyInstanceUID 또는 accession_number)이 하나 이상 필요합니다.' }, + { status: 400 } + ); +}; \ No newline at end of file diff --git a/src/routes/api/dicom/search/+server.ts b/src/routes/api/dicom/search/+server.ts new file mode 100644 index 0000000..885a5c9 --- /dev/null +++ b/src/routes/api/dicom/search/+server.ts @@ -0,0 +1,27 @@ +// ✅ 새 파일: src/routes/api/dicom/search/+server.ts +import { json, type RequestHandler } from '@sveltejs/kit'; +import db from '$lib/server/db'; + +// 이 엔드포인트는 모든 조건을 AND로 처리합니다. +export const GET: RequestHandler = async ({ url }) => { + const studyInstanceUIDs = url.searchParams.getAll('StudyInstanceUID'); + const accessionNumbers = url.searchParams.getAll('accession_number'); + + if (studyInstanceUIDs.length === 0 && accessionNumbers.length === 0) { + return json({ message: '검색 조건이 하나 이상 필요합니다.' }, { status: 400 }); + } + + try { + const result = await db.query( + 'SELECT * FROM public.get_images_combined($1, $2)', + [ + studyInstanceUIDs.length > 0 ? studyInstanceUIDs : null, + accessionNumbers.length > 0 ? accessionNumbers : null + ] + ); + return json(result.rows); + } catch (err) { + console.error('API Error in /api/dicom/search:', err); + return json({ message: '서버 내부 오류가 발생했습니다.' }, { status: 500 }); + } +}; \ No newline at end of file diff --git a/src/routes/api/download/+server.ts b/src/routes/api/download/+server.ts new file mode 100644 index 0000000..e7c25f2 --- /dev/null +++ b/src/routes/api/download/+server.ts @@ -0,0 +1,42 @@ +// src/routes/api/download/+server.ts + +import { error } from '@sveltejs/kit'; +import type { RequestHandler } from './$types'; +import fs from 'fs'; +import path from 'path'; +import { Readable } from 'node:stream'; // 'node:stream'에서 Readable을 가져옵니다. + +const ALLOWED_BASE_PATH = '/workspace/storage/'; + +export const GET: RequestHandler = async ({ url }) => { + const fileLocation = url.searchParams.get('file'); + + if (!fileLocation) { + throw error(400, '파일 경로가 필요합니다.'); + } + + const resolvedPath = path.resolve(fileLocation); + if (!resolvedPath.startsWith(ALLOWED_BASE_PATH) || resolvedPath.includes('..')) { + throw error(403, '접근이 금지된 경로입니다.'); + } + + try { + const stats = await fs.promises.stat(resolvedPath); + const nodeStream = fs.createReadStream(resolvedPath); + + // Node.js 스트림을 웹 표준 ReadableStream으로 변환합니다. + const webStream = Readable.toWeb(nodeStream); + + // 변환된 웹 스트림을 Response 객체에 전달합니다. + return new Response(webStream as ReadableStream, { + headers: { + 'Content-Disposition': `attachment; filename="${path.basename(resolvedPath)}"`, + 'Content-Type': 'application/octet-stream', + 'Content-Length': stats.size.toString() + } + }); + } catch (err) { + console.error('File stream/response error:', err); + throw error(404, '파일을 찾을 수 없거나 읽는 중 오류가 발생했습니다.'); + } +}; \ No newline at end of file diff --git a/src/routes/api/log/+server.ts b/src/routes/api/log/+server.ts new file mode 100644 index 0000000..5521fc3 --- /dev/null +++ b/src/routes/api/log/+server.ts @@ -0,0 +1,21 @@ +import { json, type RequestHandler } from '@sveltejs/kit'; + +/** + * 클라이언트로부터 POST 요청을 받아 로그를 서버 콘솔에 출력합니다. + */ +export const POST: RequestHandler = async ({ request }) => { + try { + // 요청 본문에서 JSON 데이터를 추출합니다. + const logData = await request.json(); + + // 서버 터미널에 예쁘게 로그를 출력합니다. + console.log(`[CLIENT LOG]:`, JSON.stringify(logData, null, 2)); + + // 클라이언트에게 성공적으로 수신했음을 알립니다. + return json({ success: true, message: 'Log received' }); + + } catch (error) { + console.error('[LOGGING ERROR]:', error); + return json({ success: false, message: 'Failed to process log' }, { status: 500 }); + } +}; diff --git a/src/routes/api/series/[studyID]/+server.ts b/src/routes/api/series/[studyID]/+server.ts new file mode 100644 index 0000000..602b638 --- /dev/null +++ b/src/routes/api/series/[studyID]/+server.ts @@ -0,0 +1,47 @@ +import { json, error } from '@sveltejs/kit'; +import db from '$lib/server/db'; +import type { RequestHandler } from './$types'; + +// Series 항목에 대한 타입 정의 (필요에 따라 수정) +export interface SeriesItem { + id: number; + series_number: string; + series_date: string; + series_time: string; + series_description: string; + modality: string; + image_count: number; +} + +export const GET: RequestHandler = async ({ params }) => { + const studyId = params.studyID; + + if (!studyId) { + throw error(400, 'Study ID가 필요합니다.'); + } + + // studyId를 사용해 series 목록을 조회하는 쿼리 + // study_index가 studyId와 일치하는 series를 찾습니다. 실제 DB 스키마에 맞게 컬럼명을 확인하세요. + const sqlQuery = ` + SELECT + ss.index as id, + ss.series_number, + TO_CHAR(TO_DATE(ss.series_date, 'YYYYMMDD'), 'YYYY/MM/DD') AS series_date, + TO_CHAR(TO_TIMESTAMP(ss.series_time, 'HH24MISS'), 'HH24:MI:SS') AS series_time, + series_description, + modality, + (select count(*) from public.spacs_image as i where i.series_index=ss.index) as image_count + FROM public.spacs_series as ss + WHERE study_index = $1 + ORDER BY series_number + `; + + try { + const result = await db.query(sqlQuery, [studyId]); + const seriesList: SeriesItem[] = result.rows; + return json(seriesList); + } catch (err) { + console.error('API Error fetching series list:', err); + throw error(500, 'Series 목록을 가져오는 데 실패했습니다.'); + } +}; \ No newline at end of file diff --git a/src/routes/t1/+page.svelte b/src/routes/t1/+page.svelte new file mode 100644 index 0000000..8b35e73 --- /dev/null +++ b/src/routes/t1/+page.svelte @@ -0,0 +1,220 @@ + + +
+
+ +
(isOpen = !isOpen)} + > +
+ + {rangeText} +
+ + + +
+ + {#if isOpen} +
+
+ +
{monthYearText}
+ +
+ +
+
Mo
+
Tu
+
We
+
Th
+
Fr
+
Sa
+
Su
+
+ +
(hoveredDate = null)}> + {#each calendarDays as day} + {#if day} + + {:else} +
{/if} + {/each} +
+ +
+
+ {formatSimpleDate(startDate) || 'Start Date'} + - + {formatSimpleDate(endDate) || 'End Date'} +
+ +
+
+ {/if} +
+
\ No newline at end of file diff --git a/src/routes/t1/test.html b/src/routes/t1/test.html new file mode 100644 index 0000000..162a7e6 --- /dev/null +++ b/src/routes/t1/test.html @@ -0,0 +1,155 @@ + + + + + + Tailwind CSS Range Datepicker + + + + +
+
+
+ +
+ +
+ +
+ +
+
+
+
+
+
+
+
+
+ +
+
+ +
+

+ - ~ + - +

+
+ +
+
+
+ + + + + \ No newline at end of file diff --git a/src/routes/t2/+page.svelte b/src/routes/t2/+page.svelte new file mode 100644 index 0000000..99bb927 --- /dev/null +++ b/src/routes/t2/+page.svelte @@ -0,0 +1,220 @@ + + +
+
+ +
(isOpen = !isOpen)} + > +
+ + {rangeText} +
+ + + +
+ + {#if isOpen} +
+
+ +
{monthYearText}
+ +
+ +
+
Mo
+
Tu
+
We
+
Th
+
Fr
+
Sa
+
Su
+
+ +
(hoveredDate = null)}> + {#each calendarDays as day} + {#if day} + + {:else} +
{/if} + {/each} +
+ +
+
+ {formatSimpleDate(startDate) || 'Start Date'} + - + {formatSimpleDate(endDate) || 'End Date'} +
+ +
+
+ {/if} +
+
\ No newline at end of file diff --git a/src/routes/test/+page.server.ts b/src/routes/test/+page.server.ts new file mode 100644 index 0000000..3ecd03c --- /dev/null +++ b/src/routes/test/+page.server.ts @@ -0,0 +1,52 @@ +// src/routes/test/+page.server.ts + +import type { PageServerLoad } from './$types'; + +// 페이지가 로드될 때마다 실행됩니다. +export const load: PageServerLoad = async ({ url, fetch }) => { + // URL에서 사용자가 입력한 검색어와 모드를 가져옵니다. + const uids = url.searchParams.get('uids') || ''; + const accs = url.searchParams.get('accs') || ''; + const mode = url.searchParams.get('mode'); // 'basic' 또는 'search' + + // 검색어가 없으면 API를 호출하지 않습니다. + if (!uids && !accs) { + return { imageData: [] }; + } + + const query = new URLSearchParams(); + let targetApi = '/api/dicom'; // 기본 API + + // 쉼표로 구분된 입력값을 여러 개의 쿼리 파라미터로 변환합니다. + if (uids) { + uids.split(',').forEach(uid => { + if (uid.trim()) query.append('StudyInstanceUID', uid.trim()); + }); + } + if (accs) { + accs.split(',').forEach(acc => { + if (acc.trim()) query.append('accession_number', acc.trim()); + }); + } + + // 'search' 모드일 경우 고급 검색 API를 사용합니다. + if (mode === 'search') { + targetApi = '/api/dicom/search'; + } + + try { + // SvelteKit의 내장 fetch를 사용하여 API를 호출합니다. + const response = await fetch(`${targetApi}?${query.toString()}`); + + if (response.ok) { + const data = await response.json(); + // 조회된 데이터를 imageData라는 이름으로 페이지에 전달합니다. + return { imageData: data }; + } + } catch (error) { + console.error('Failed to fetch API:', error); + } + + // 에러가 발생하거나 응답이 실패하면 빈 배열을 전달합니다. + return { imageData: [] }; +}; \ No newline at end of file diff --git a/src/routes/test/+page.svelte b/src/routes/test/+page.svelte new file mode 100644 index 0000000..1459e2a --- /dev/null +++ b/src/routes/test/+page.svelte @@ -0,0 +1,184 @@ + + + + DICOM 조회 테스트 + + + + +
+

DICOM 이미지 조회 테스트

+ +
+ +
+ + event.stopPropagation()} > + +
+
+ + + +
+ + +
+ +
+ + +
+ +
+ + + +
+ +
+ +

조회 결과 ({data.imageData?.length || 0} 개)

+ + {#if data.imageData && data.imageData.length > 0} + + + + + + + + + + + {#each data.imageData as image (image.file_location)} + + + + + + + {/each} + +
Accession NumberImage NumberStudy UIDFile Location (클릭하여 다운로드)
{image.accession_number}{image.image_number}{image.study_instance_uid} + + {image.file_location} + +
+ {:else} +

조회된 데이터가 없습니다. 검색 조건을 입력 후 조회 버튼을 눌러주세요.

+ {/if} +
+ + \ No newline at end of file diff --git a/src/routes/viewer/+page.server.ts b/src/routes/viewer/+page.server.ts new file mode 100644 index 0000000..e0061ca --- /dev/null +++ b/src/routes/viewer/+page.server.ts @@ -0,0 +1,77 @@ +// src/routes/viewer/+page.server.ts + +import type { PageServerLoad } from './$types'; +import db from '$lib/server/db'; // DB 사용을 위해 import 추가 + +// 페이지가 로드될 때 실행됩니다. +export const load: PageServerLoad = async ({ url, fetch }) => { + const uids = url.searchParams.getAll('StudyInstanceUID'); + const accs = url.searchParams.getAll('accession_number'); + + // URL에 검색 파라미터가 없으면 빈 데이터를 반환합니다. + if (uids.length === 0 && accs.length === 0) { + return { + fileList: [], + patientId: null, + patientName: null + }; + } + + // 반환할 변수들을 미리 선언합니다. + let fileList: string[] = []; + let patientId: string | null = null; + let patientName: string | null = null; + + try { + // --- 1. 환자 정보 조회 (DB 직접 쿼리) --- + // 여러 accession number가 올 수 있으므로, 첫 번째 것을 기준으로 환자 정보를 조회합니다. + const targetAcc = accs[0]; + + if (targetAcc) { + const patientQuery = ` + SELECT patient_id, patient_name + FROM public.spacs_study + WHERE accession_number = $1 + LIMIT 1; + `; + const patientResult = await db.query(patientQuery, [targetAcc]); + + if (patientResult.rows.length > 0) { + patientId = patientResult.rows[0].patient_id; + patientName = patientResult.rows[0].patient_name; + } + } + + // --- 2. 파일 목록 조회 (기존 API 방식 유지) --- + // API 호출을 위한 쿼리 스트링을 만듭니다. + const query = new URLSearchParams(); + uids.forEach((uid) => query.append('StudyInstanceUID', uid)); + accs.forEach((acc) => query.append('accession_number', acc)); + + // 기본 조회 API(/api/dicom)를 호출합니다. + const targetApi = `/api/dicom?${query.toString()}`; + const response = await fetch(targetApi); + + if (response.ok) { + const images: { file_location: string }[] = await response.json(); + + // ❗ 중요: 파일 시스템 경로가 아닌, 다운로드 API를 가리키는 URL 목록으로 변환합니다. + // 이 부분이 핵심적인 백그라운드 전송 기능을 담당합니다. + fileList = images.map( + (img) => `/api/download?file=${encodeURIComponent(img.file_location)}` + ); + } + + } catch (error) { + console.error('Failed to fetch data for viewer:', error); + // 에러 발생 시 모든 데이터를 빈 값으로 반환하여 페이지 오류를 방지합니다. + return { + fileList: [], + patientId: null, + patientName: null + }; + } + + // --- 3. 조회된 모든 데이터를 페이지에 전달 --- + return { fileList, patientId, patientName }; +}; \ No newline at end of file diff --git a/src/routes/viewer/+page.svelte b/src/routes/viewer/+page.svelte new file mode 100644 index 0000000..d64b528 --- /dev/null +++ b/src/routes/viewer/+page.svelte @@ -0,0 +1,1100 @@ + + + + SDCMWeb Viewer + + + + + + + +{#if wasmBuffer} + +
+
+
+
+ +
+
+

{data.patientName} ({data.patientId})

+
+
+
+ + + +
+
+ + + +
+
+ + + +
+
+
+ + {#if isPreCaching} +
+
+
+ {/if} +
+ +
+
+

Pages

+
+ {#each { length: totalPages } as _, i} + {@const pageNum = i + 1} + + {/each} +
+
+ + +
+
+ +
+
+
+ {#each { length: MAX_VIEWERS } as _, i (i)} +
+
{hoveredIndex = i; }} + on:mouseleave={() => {hoveredIndex = -1; }} + + on:mousedown={() => handleViewerMouseDown(i)} + + on:touchstart|preventDefault={() => handleViewerClick(i)} + on:dblclick={() => handleDoubleClick(i)} + role="button" + tabindex="0" + aria-pressed={activeIndex === i} + > + handleViewerLoaded(i)} + on:dcmLoaded={(e) => handleDcmLoaded(e, i)} + on:touch_dblclick={(e) => handleTouchDoubleClick(e, i)} + on:updateStateFromWasm={(e) => handleUpdateStateFromWasm(e, i)} + index={i} + activeIndex={activeIndex} + hoveredIndex={hoveredIndex} + /> +
+
+ {/each} +
+ +
handleDoubleClick(100)} + role="button" + tabindex="0" + > + handleViewerLoaded(100)} + on:dcmLoaded={(e) => handleDcmLoaded(e, 100)} + on:touch_dblclick={(e) => handleTouchDoubleClick(e, 100)} + on:updateStateFromWasm={(e) => handleUpdateStateFromWasm(e, 100)} + index={100} + activeIndex={-100} + hoveredIndex={-100} /> +
+
+
+
+
+{:else if wasmDownloadError} +
+

초기화 실패

+

뷰어 엔진을 다운로드하는 데 실패했습니다.

+

에러: {wasmDownloadError}

+ +
+{:else} +
+

뷰어 엔진 로딩 중...

+

잠시만 기다려주세요. ({wasmDownloadProgress?.toFixed(0) ?? 0}%)

+
+
+
+
+{/if} diff --git a/src/routes/viewer/[accession_number]/+page.server.ts b/src/routes/viewer/[accession_number]/+page.server.ts new file mode 100644 index 0000000..078e729 --- /dev/null +++ b/src/routes/viewer/[accession_number]/+page.server.ts @@ -0,0 +1,55 @@ +import { error } from '@sveltejs/kit'; +import db from '$lib/server/db'; +import type { PageServerLoad } from './$types'; + +export const load: PageServerLoad = async ({ params }) => { + const accessionNumber = params.accession_number; + + if (!accessionNumber) { + throw error(400, 'Accession Number가 필요합니다.'); + } + + try { + // 1. accession_number로 Study 정보 조회 (환자 정보 포함) + const studyQuery = ` + SELECT + patient_id, + patient_name + FROM public.spacs_study + WHERE accession_number = $1 + LIMIT 1; + `; + const studyResult = await db.query(studyQuery, [accessionNumber]); + + if (studyResult.rows.length === 0) { + throw error(404, '해당하는 검사를 찾을 수 없습니다.'); + } + const patientInfo = studyResult.rows[0]; + + // 2. accession_number로 해당 Study의 모든 이미지 파일 URL 목록 조회 + // (기존 viewer/+page.server.ts의 파일 목록 조회 로직을 여기에 통합) + const fileListQuery = ` + SELECT i.file_location FROM public.spacs_image i + JOIN public.spacs_series ss ON i.series_index = ss.index + JOIN public.spacs_study s ON ss.study_index = s.index + WHERE s.accession_number = $1 + ORDER BY i.index asc; + `; + const fileListResult = await db.query(fileListQuery, [accessionNumber]); + const fileList = fileListResult.rows.map((row) => `/images/${row.file_path}`); // 실제 경로에 맞게 수정 + + // 3. 조회된 데이터를 프론트엔드로 전달 + return { + accessionNumber: accessionNumber, + patientId: patientInfo.patient_id, + patientName: patientInfo.patient_name, + fileList: fileList + }; + } catch (err) { + console.error('Viewer data loading failed:', err); + // err가 SvelteKit의 error 객체일 수 있으므로 그대로 throw + if (err.status) throw err; + // 그 외의 경우 500 에러 발생 + throw error(500, '뷰어 데이터를 불러오는 데 실패했습니다.'); + } +}; \ No newline at end of file diff --git a/src/routes/viewer/[accession_number]/+page.svelte b/src/routes/viewer/[accession_number]/+page.svelte new file mode 100644 index 0000000..27d0861 --- /dev/null +++ b/src/routes/viewer/[accession_number]/+page.svelte @@ -0,0 +1,1063 @@ + + + + SDCMWeb Viewer + + + + + + + +{#if wasmBuffer} + +
+
+
+

이동형 병원 산부인과 Cloud PACS 뷰어

+ +
+
+ 레이아웃: +
+ + + +
+
+
+ 도구: +
+ + + +
+
+
+ + + +
+
+
+ + {#if isPreCaching} +
+
+
+ {/if} +
+ +
+
+

Pages

+
+ {#each { length: totalPages } as _, i} + {@const pageNum = i + 1} + + {/each} +
+
+ + +
+
+ +
+
+
+ {#each { length: MAX_VIEWERS } as _, i (i)} +
+
{hoveredIndex = i; }} + on:mouseleave={() => {hoveredIndex = -1; }} + on:mousedown={() => handleViewerClick(i)} + on:touchstart|preventDefault={() => handleViewerClick(i)} + on:dblclick={() => handleDoubleClick(i)} + role="button" + tabindex="0" + aria-pressed={activeIndex === i} + > + handleViewerLoaded(i)} + on:dcmLoaded={(e) => handleDcmLoaded(e, i)} + on:touch_dblclick={(e) => handleTouchDoubleClick(e, i)} + on:updateStateFromWasm={(e) => handleUpdateStateFromWasm(e, i)} + index={i} + activeIndex={activeIndex} + hoveredIndex={hoveredIndex} + /> +
+
+ {/each} +
+ +
handleDoubleClick(100)} + role="button" + tabindex="0" + > + handleViewerLoaded(100)} + on:dcmLoaded={(e) => handleDcmLoaded(e, 100)} + on:touch_dblclick={(e) => handleTouchDoubleClick(e, 100)} + on:updateStateFromWasm={(e) => handleUpdateStateFromWasm(e, 100)} + index={100} + activeIndex={-100} + hoveredIndex={-100} /> +
+
+
+
+
+{:else if wasmDownloadError} +
+

초기화 실패

+

뷰어 엔진을 다운로드하는 데 실패했습니다.

+

에러: {wasmDownloadError}

+ +
+{:else} +
+

뷰어 엔진 로딩 중...

+

잠시만 기다려주세요. ({wasmDownloadProgress?.toFixed(0) ?? 0}%)

+
+
+
+
+{/if} diff --git a/src/routes/worklist/+layout.svelte b/src/routes/worklist/+layout.svelte new file mode 100644 index 0000000..2a7c723 --- /dev/null +++ b/src/routes/worklist/+layout.svelte @@ -0,0 +1,110 @@ + + +
+
+ + 🏥 DICOM Worklist + + +
+ + + + + +
+
+ +
+ +
+
\ No newline at end of file diff --git a/src/routes/worklist/+page.server.ts b/src/routes/worklist/+page.server.ts new file mode 100644 index 0000000..ad66ca2 --- /dev/null +++ b/src/routes/worklist/+page.server.ts @@ -0,0 +1,131 @@ +import { error } from '@sveltejs/kit'; +import db from '$lib/server/db'; +import type { PageServerLoad } from './$types'; + +// WorklistItem 타입을 새로운 쿼리 결과에 맞게 재정의 +export interface WorklistItem { + id: number; + study_date: string; + study_time: string; + accession_number: string; + study_instance_uid: string; + study_description: string; + patient_id: string; + patient_name: string; + patient_sex: string; + modalities: string; // 여러 Modality를 쉼표로 연결한 문자열 + series_number: number; // Series 개수 +} + +function formatYYYYMMDD(date: Date): string { + const year = date.getFullYear(); + // getMonth()는 0부터 시작하므로 1을 더해줘야 합니다. (0 = 1월, 11 = 12월) + const month = (date.getMonth() + 1).toString().padStart(2, '0'); + const day = date.getDate().toString().padStart(2, '0'); + + return `${year}-${month}-${day}`; + } + +export const load: PageServerLoad = async ({ url }) => { + console.log('Fetching worklist with new query and search params...'); + + // --- 검색 및 정렬 파라미터 --- + const todayStr = formatYYYYMMDD(new Date()); + const startDate = url.searchParams.get('startDate') || todayStr; + const endDate = url.searchParams.get('endDate') || todayStr; + const patientId = url.searchParams.get('patientId') || ''; + const patientName = url.searchParams.get('patientName') || ''; + const modality = url.searchParams.get('modality') || ''; + const sortBy = url.searchParams.get('sort_by') || 'study_date'; + const sortOrder = url.searchParams.get('sort_order') || 'desc'; + + // 🚨 보안: 정렬을 위한 컬럼 Whitelist (새로운 쿼리 기준) + const allowedSortColumns: { [key: string]: string } = { + study_date: 's.study_date', + patient_name: 's.patient_name', + patient_id: 's.patient_id', + accession_number: 's.accession_number', + modalities: 'modalities' // 별칭으로 정렬 + }; + const sortColumn = allowedSortColumns[sortBy] || 's.study_date'; + const sortDirection = sortOrder.toLowerCase() === 'asc' ? 'ASC' : 'DESC'; + + // --- WHERE 절 구성 (새로운 쿼리 기준) --- + const whereClauses: string[] = []; + const queryParams: any[] = []; + let paramIndex = 1; + + // s 테이블의 컬럼을 기준으로 필터링하도록 수정 + if (patientId) { + whereClauses.push(`s.patient_id ILIKE $${paramIndex++}`); + queryParams.push(`%${patientId}%`); + } + if (patientName) { + whereClauses.push(`s.patient_name ILIKE $${paramIndex++}`); + queryParams.push(`%${patientName}%`); + } + if (startDate) { + // study_date 컬럼 형식이 'YYYY-MM-DD'라고 가정. 다르다면 수정 필요. + whereClauses.push(`s.study_date >= $${paramIndex++}`); + const searchStartDate = startDate.replaceAll('-', ''); + queryParams.push(searchStartDate); + } + if (endDate) { + whereClauses.push(`s.study_date <= $${paramIndex++}`); + const searchEndDate = endDate.replaceAll('-', ''); + queryParams.push(searchEndDate); + } + // Modality 필터링은 서브쿼리나 HAVING을 사용해야 하므로, 우선 가장 간단한 형태로 구현 + // 특정 모달리티를 포함하는 Study를 검색 + if (modality) { + whereClauses.push(`s.index IN (SELECT study_index FROM public.spacs_series WHERE modality = $${paramIndex++})`); + queryParams.push(modality); + } + + const whereStatement = whereClauses.length > 0 ? `WHERE ${whereClauses.join(' AND ')}` : ''; + + const sqlQuery = ` + SELECT + s.index as id, + TO_CHAR(TO_DATE(s.study_date, 'YYYYMMDD'), 'YYYY/MM/DD') AS study_date, + TO_CHAR(TO_TIMESTAMP(s.study_time, 'HH24MISS'), 'HH24:MI:SS') AS study_time, + s.accession_number, + s.study_instance_uid, + s.study_description, + s.patient_id, + s.patient_name, + s.patient_sex, + STRING_AGG(DISTINCT ss.modality, ', ') AS modalities, + COUNT(ss.index) AS series_number + FROM + public.spacs_study AS s + LEFT JOIN + public.spacs_series AS ss ON s.index = ss.study_index + ${whereStatement} + GROUP BY + s.index + ORDER BY + ${sortColumn} ${sortDirection} + LIMIT 100; + `; + + console.log('Executing SQL query:', sqlQuery); + console.log('With parameters:', queryParams); + + try { + const result = await db.query(sqlQuery, queryParams); + // COUNT 결과는 문자열일 수 있으므로 숫자로 변환 + const worklist: WorklistItem[] = result.rows.map((row) => ({ + ...row, + series_number: parseInt(row.series_number, 10) + })); + + return { + worklist, + searchParams: { patientId, patientName, modality, startDate, endDate, sortBy, sortOrder } + }; + } catch (err) { + console.error('Database query failed:', err); + throw error(500, '서버에서 워크리스트를 가져오는 데 실패했습니다.'); + } +}; \ No newline at end of file diff --git a/src/routes/worklist/+page.svelte b/src/routes/worklist/+page.svelte new file mode 100644 index 0000000..9fa739a --- /dev/null +++ b/src/routes/worklist/+page.svelte @@ -0,0 +1,284 @@ + + +
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+

STUDIES

+
+ + + + + + + + + + + + + + + {#if displayWorklist && displayWorklist.length > 0} + {#each displayWorklist as item (item.id)} + + handleStudySelect(item)} + on:dblclick={() => handleStudyDoubleClick(item)} + > + + + + + + + + + {/each} + {:else} + + {/if} + +
+ + + + + + + + Description + + Series
{item.patient_id}{item.patient_name}{item.accession_number}{item.study_date} {item.study_time}{item.study_description}{item.modalities}{item.series_number}
검색 버튼을 눌러 환자 목록을 조회하세요.
+
+
+ +
+

SERIES

+
+ + + + + + + + + + + + {#if isLoadingSeries} + + {:else if selectedStudyId && seriesList.length > 0} + {#each seriesList as series (series.id)} + + + + + + + + {/each} + {:else if selectedStudyId} + + {:else} + + {/if} + +
NumberSeries DateDescriptionModalityInstances
{series.series_number}{series.series_date} {series.series_time}{series.series_description}{series.modality}{series.image_count}
선택된 Study에 Series가 없습니다.
Study를 선택하여 Series를 확인하세요.
+
+
+
+
diff --git a/src/routes/worklist/+page.svelte.old b/src/routes/worklist/+page.svelte.old new file mode 100644 index 0000000..c9f0762 --- /dev/null +++ b/src/routes/worklist/+page.svelte.old @@ -0,0 +1,134 @@ + + +
+
+
+
+ +
+ +
+ +
+ +
+ +
+ +
+ + to + +
+ +
+ +
+
+
+ +
+ + + + + + + + + + + + + + {#if data.worklist && data.worklist.length > 0} + {#each data.worklist as item (item.id)} + + + + + + + + + + {/each} + {:else} + + + + {/if} + +
Study DateNameSexAgeStudy DescriptionModalityImages
{item.study_date} {item.study_time}{item.name}{item.sex}{item.age}{item.study_description}{item.modality}{item.image_count}
+ 검색 조건에 맞는 데이터가 없습니다. +
+
+
\ No newline at end of file diff --git a/src/styles/app.css b/src/styles/app.css new file mode 100644 index 0000000..d7b48a0 --- /dev/null +++ b/src/styles/app.css @@ -0,0 +1,24 @@ +@layer base { + @font-face { + font-family: 'Roboto'; + src: local('Roboto Regular'), local('Roboto-Regular'), local('Roboto'), local('roboto'), + url('/fonts/Roboto/Roboto-Regular.ttf'); + font-weight: normal; + font-display: swap; + } + @font-face { + font-family: 'Roboto'; + src: local('Roboto Medium'), local('Roboto-Medium'), local('roboto medium'), local('roboto-medium'), + url('/fonts/Roboto/Roboto-Medium.ttf'); + font-weight: medium; + font-display: swap; + } + @font-face { + font-family: 'Roboto'; + src: local('Roboto Bold'), local('Roboto-Bold'), local('roboto bold'), local('roboto-bold'), + url('/fonts/Roboto/Roboto-Bold.ttf'); + font-weight: bold; + font-display: swap; + } + +} \ No newline at end of file diff --git a/static/0001.dcm b/static/0001.dcm new file mode 100644 index 0000000..3a5c37d Binary files /dev/null and b/static/0001.dcm differ diff --git a/static/0002.dcm b/static/0002.dcm new file mode 100644 index 0000000..76cea0c Binary files /dev/null and b/static/0002.dcm differ diff --git a/static/0010.dcm b/static/0010.dcm new file mode 100644 index 0000000..f11ab4d Binary files /dev/null and b/static/0010.dcm differ diff --git a/static/0015.dcm b/static/0015.dcm new file mode 100644 index 0000000..53f6383 Binary files /dev/null and b/static/0015.dcm differ diff --git a/static/0020.dcm b/static/0020.dcm new file mode 100644 index 0000000..9393ae4 Binary files /dev/null and b/static/0020.dcm differ diff --git a/static/favicon.png b/static/favicon.png new file mode 100644 index 0000000..825b9e6 Binary files /dev/null and b/static/favicon.png differ diff --git a/static/fonts/NotoSans/NotoSans-Black.ttf b/static/fonts/NotoSans/NotoSans-Black.ttf new file mode 100644 index 0000000..05771e5 Binary files /dev/null and b/static/fonts/NotoSans/NotoSans-Black.ttf differ diff --git a/static/fonts/NotoSans/NotoSans-BlackItalic.ttf b/static/fonts/NotoSans/NotoSans-BlackItalic.ttf new file mode 100644 index 0000000..06bb3d6 Binary files /dev/null and b/static/fonts/NotoSans/NotoSans-BlackItalic.ttf differ diff --git a/static/fonts/NotoSans/NotoSans-Bold.ttf b/static/fonts/NotoSans/NotoSans-Bold.ttf new file mode 100644 index 0000000..0d19068 Binary files /dev/null and b/static/fonts/NotoSans/NotoSans-Bold.ttf differ diff --git a/static/fonts/NotoSans/NotoSans-BoldItalic.ttf b/static/fonts/NotoSans/NotoSans-BoldItalic.ttf new file mode 100644 index 0000000..e17b779 Binary files /dev/null and b/static/fonts/NotoSans/NotoSans-BoldItalic.ttf differ diff --git a/static/fonts/NotoSans/NotoSans-ExtraBold.ttf b/static/fonts/NotoSans/NotoSans-ExtraBold.ttf new file mode 100644 index 0000000..a74c69a Binary files /dev/null and b/static/fonts/NotoSans/NotoSans-ExtraBold.ttf differ diff --git a/static/fonts/NotoSans/NotoSans-ExtraBoldItalic.ttf b/static/fonts/NotoSans/NotoSans-ExtraBoldItalic.ttf new file mode 100644 index 0000000..c12173d Binary files /dev/null and b/static/fonts/NotoSans/NotoSans-ExtraBoldItalic.ttf differ diff --git a/static/fonts/NotoSans/NotoSans-ExtraLight.ttf b/static/fonts/NotoSans/NotoSans-ExtraLight.ttf new file mode 100644 index 0000000..13c4bbc Binary files /dev/null and b/static/fonts/NotoSans/NotoSans-ExtraLight.ttf differ diff --git a/static/fonts/NotoSans/NotoSans-ExtraLightItalic.ttf b/static/fonts/NotoSans/NotoSans-ExtraLightItalic.ttf new file mode 100644 index 0000000..b3f05fe Binary files /dev/null and b/static/fonts/NotoSans/NotoSans-ExtraLightItalic.ttf differ diff --git a/static/fonts/NotoSans/NotoSans-Italic.ttf b/static/fonts/NotoSans/NotoSans-Italic.ttf new file mode 100644 index 0000000..195582a Binary files /dev/null and b/static/fonts/NotoSans/NotoSans-Italic.ttf differ diff --git a/static/fonts/NotoSans/NotoSans-Light.ttf b/static/fonts/NotoSans/NotoSans-Light.ttf new file mode 100644 index 0000000..8fde662 Binary files /dev/null and b/static/fonts/NotoSans/NotoSans-Light.ttf differ diff --git a/static/fonts/NotoSans/NotoSans-LightItalic.ttf b/static/fonts/NotoSans/NotoSans-LightItalic.ttf new file mode 100644 index 0000000..87e97be Binary files /dev/null and b/static/fonts/NotoSans/NotoSans-LightItalic.ttf differ diff --git a/static/fonts/NotoSans/NotoSans-Medium.ttf b/static/fonts/NotoSans/NotoSans-Medium.ttf new file mode 100644 index 0000000..faf167c Binary files /dev/null and b/static/fonts/NotoSans/NotoSans-Medium.ttf differ diff --git a/static/fonts/NotoSans/NotoSans-MediumItalic.ttf b/static/fonts/NotoSans/NotoSans-MediumItalic.ttf new file mode 100644 index 0000000..05a617e Binary files /dev/null and b/static/fonts/NotoSans/NotoSans-MediumItalic.ttf differ diff --git a/static/fonts/NotoSans/NotoSans-Regular.ttf b/static/fonts/NotoSans/NotoSans-Regular.ttf new file mode 100644 index 0000000..7552fbe Binary files /dev/null and b/static/fonts/NotoSans/NotoSans-Regular.ttf differ diff --git a/static/fonts/NotoSans/NotoSans-SemiBold.ttf b/static/fonts/NotoSans/NotoSans-SemiBold.ttf new file mode 100644 index 0000000..b460754 Binary files /dev/null and b/static/fonts/NotoSans/NotoSans-SemiBold.ttf differ diff --git a/static/fonts/NotoSans/NotoSans-SemiBoldItalic.ttf b/static/fonts/NotoSans/NotoSans-SemiBoldItalic.ttf new file mode 100644 index 0000000..aa58fcb Binary files /dev/null and b/static/fonts/NotoSans/NotoSans-SemiBoldItalic.ttf differ diff --git a/static/fonts/NotoSans/NotoSans-Thin.ttf b/static/fonts/NotoSans/NotoSans-Thin.ttf new file mode 100644 index 0000000..b5af044 Binary files /dev/null and b/static/fonts/NotoSans/NotoSans-Thin.ttf differ diff --git a/static/fonts/NotoSans/NotoSans-ThinItalic.ttf b/static/fonts/NotoSans/NotoSans-ThinItalic.ttf new file mode 100644 index 0000000..000bcb6 Binary files /dev/null and b/static/fonts/NotoSans/NotoSans-ThinItalic.ttf differ diff --git a/static/fonts/NotoSans/OFL.txt b/static/fonts/NotoSans/OFL.txt new file mode 100644 index 0000000..90b7332 --- /dev/null +++ b/static/fonts/NotoSans/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2015-2021 Google LLC. All Rights Reserved. + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/static/fonts/Roboto/LICENSE.txt b/static/fonts/Roboto/LICENSE.txt new file mode 100644 index 0000000..75b5248 --- /dev/null +++ b/static/fonts/Roboto/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/static/fonts/Roboto/Roboto-Black.ttf b/static/fonts/Roboto/Roboto-Black.ttf new file mode 100644 index 0000000..0112e7d Binary files /dev/null and b/static/fonts/Roboto/Roboto-Black.ttf differ diff --git a/static/fonts/Roboto/Roboto-BlackItalic.ttf b/static/fonts/Roboto/Roboto-BlackItalic.ttf new file mode 100644 index 0000000..b2c6aca Binary files /dev/null and b/static/fonts/Roboto/Roboto-BlackItalic.ttf differ diff --git a/static/fonts/Roboto/Roboto-Bold.ttf b/static/fonts/Roboto/Roboto-Bold.ttf new file mode 100644 index 0000000..43da14d Binary files /dev/null and b/static/fonts/Roboto/Roboto-Bold.ttf differ diff --git a/static/fonts/Roboto/Roboto-BoldItalic.ttf b/static/fonts/Roboto/Roboto-BoldItalic.ttf new file mode 100644 index 0000000..bcfdab4 Binary files /dev/null and b/static/fonts/Roboto/Roboto-BoldItalic.ttf differ diff --git a/static/fonts/Roboto/Roboto-Italic.ttf b/static/fonts/Roboto/Roboto-Italic.ttf new file mode 100644 index 0000000..1b5eaa3 Binary files /dev/null and b/static/fonts/Roboto/Roboto-Italic.ttf differ diff --git a/static/fonts/Roboto/Roboto-Light.ttf b/static/fonts/Roboto/Roboto-Light.ttf new file mode 100644 index 0000000..e7307e7 Binary files /dev/null and b/static/fonts/Roboto/Roboto-Light.ttf differ diff --git a/static/fonts/Roboto/Roboto-LightItalic.ttf b/static/fonts/Roboto/Roboto-LightItalic.ttf new file mode 100644 index 0000000..2d277af Binary files /dev/null and b/static/fonts/Roboto/Roboto-LightItalic.ttf differ diff --git a/static/fonts/Roboto/Roboto-Medium.ttf b/static/fonts/Roboto/Roboto-Medium.ttf new file mode 100644 index 0000000..ac0f908 Binary files /dev/null and b/static/fonts/Roboto/Roboto-Medium.ttf differ diff --git a/static/fonts/Roboto/Roboto-MediumItalic.ttf b/static/fonts/Roboto/Roboto-MediumItalic.ttf new file mode 100644 index 0000000..fc36a47 Binary files /dev/null and b/static/fonts/Roboto/Roboto-MediumItalic.ttf differ diff --git a/static/fonts/Roboto/Roboto-Regular.ttf b/static/fonts/Roboto/Roboto-Regular.ttf new file mode 100644 index 0000000..ddf4bfa Binary files /dev/null and b/static/fonts/Roboto/Roboto-Regular.ttf differ diff --git a/static/fonts/Roboto/Roboto-Thin.ttf b/static/fonts/Roboto/Roboto-Thin.ttf new file mode 100644 index 0000000..2e0dee6 Binary files /dev/null and b/static/fonts/Roboto/Roboto-Thin.ttf differ diff --git a/static/fonts/Roboto/Roboto-ThinItalic.ttf b/static/fonts/Roboto/Roboto-ThinItalic.ttf new file mode 100644 index 0000000..084f9c0 Binary files /dev/null and b/static/fonts/Roboto/Roboto-ThinItalic.ttf differ diff --git a/static/test.wasm.map b/static/test.wasm.map new file mode 100644 index 0000000..d23e8a3 --- /dev/null +++ b/static/test.wasm.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../../emsdk/upstream/emscripten/cache/sysroot/include/dcmtk/dcmimage/diregist.h","test.cc","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/string","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__memory/allocator.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__vector/vector.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__utility/exception_guard.h","events.h","camera.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__string/char_traits.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/string","../../../emsdk/upstream/emscripten/cache/sysroot/include/dcmtk/ofstd/ofcond.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/dcmtk/dcmdata/dctagkey.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__math/exponential_functions.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__ostream/basic_ostream.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__ostream/put_character_sequence.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/ios","nlohmann/json.hpp","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__utility/swap.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__functional/function.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/map","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__string/constexpr_c_functions.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__memory/allocator_traits.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__memory/pointer_traits.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__new/allocate.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__iterator/back_insert_iterator.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__algorithm/move.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__split_buffer","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__tree","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/limits","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__algorithm/min.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/stdexcept","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__memory/allocate_at_least.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__memory/uninitialized_algorithms.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__algorithm/comp.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__new/exceptions.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__iterator/reverse_iterator.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__algorithm/copy_move_common.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__algorithm/unwrap_range.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__algorithm/unwrap_iter.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__utility/pair.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__algorithm/iterator_operations.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__iterator/wrap_iter.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__new/launder.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__algorithm/max.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__memory/construct_at.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__iterator/ostreambuf_iterator.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__locale_dir/pad_and_output.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/streambuf","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__locale","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__memory/unique_ptr.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__exception/exception.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__functional/operations.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/string_view","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__memory/shared_ptr.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__iterator/next.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__memory/shared_count.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__memory/allocation_guard.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/array","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__iterator/advance.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__math/traits.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__utility/convert_to_integral.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/initializer_list","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__vector/vector_bool.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__bit_reference","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__algorithm/copy.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__memory/swap_allocator.h","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/tuple","/emsdk/emscripten/cache/sysroot/include/c++/v1/sstream","camera.cpp","events.cpp","../../../emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__math/abs.h","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/atomic/SDL_atomic.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/SDL_error.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/SDL_dataqueue.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/audio/SDL_audiocvt.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/audio/emscripten/SDL_emscriptenaudio.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/audio/disk/SDL_diskaudio.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/audio/dummy/SDL_dummyaudio.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/audio/SDL_audio.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/SDL_assert.c","/emsdk/emscripten/cache/sysroot/include/SDL2/SDL_stdinc.h","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/SDL.c","/emsdk/emscripten/cache/sysroot/include/SDL2/SDL_bits.h","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/events/SDL_events.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/joystick/SDL_gamecontroller.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/events/SDL_gesture.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/stdlib/SDL_getenv.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/SDL_hints.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/stdlib/SDL_crc16.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/SDL_guid.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/joystick/SDL_joystick.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/events/SDL_keyboard.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/SDL_log.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/stdlib/SDL_malloc.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/events/SDL_mouse.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/events/SDL_quit.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/SDL_rect.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/SDL_rect_impl.h","/emsdk/emscripten/cache/sysroot/include/SDL2/SDL_rect.h","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/SDL_list.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/cpuinfo/SDL_cpuinfo.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/SDL_fillrect.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/SDL_RLEaccel.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/SDL_blit_copy.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/SDL_blit_slow.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/SDL_blit_0.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/SDL_blit_1.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/SDL_blit_A.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/SDL_blit_N.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/SDL_blit_auto.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/SDL_blit.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/SDL_pixels.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/render/SDL_render.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/render/opengles2/SDL_render_gles2.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/render/opengles2/SDL_gles2funcs.h","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/render/software/SDL_drawpoint.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/render/software/SDL_blendpoint.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/render/software/SDL_drawline.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/render/software/SDL_blendline.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/render/software/SDL_blendfillrect.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/render/software/SDL_render_sw.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/render/software/SDL_rotate.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/file/SDL_rwops.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/sensor/dummy/SDL_dummysensor.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/sensor/SDL_sensor.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/render/opengles2/SDL_shaders_gles2.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/atomic/SDL_spinlock.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/stdlib/SDL_stdlib.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/joystick/SDL_steam_virtual_gamepad.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/stdlib/SDL_string.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/SDL_stretch.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/SDL_surface.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/joystick/emscripten/SDL_sysjoystick.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/thread/generic/SDL_sysmutex.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/thread/generic/SDL_syssem.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/thread/generic/SDL_systhread.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/timer/unix/SDL_systimer.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/thread/generic/SDL_systls.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/thread/SDL_thread.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/timer/SDL_timer.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/events/SDL_touch.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/render/software/SDL_triangle.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/loadso/dlopen/SDL_sysloadso.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/SDL_egl.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/emscripten/SDL_emscriptenopengles.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/emscripten/SDL_emscriptenframebuffer.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/emscripten/SDL_emscriptenmouse.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/emscripten/SDL_emscriptenevents.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/emscripten/SDL_emscriptenvideo.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/events/SDL_displayevents.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/stdlib/SDL_qsort.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/SDL_video.c","/emsdk/emscripten/system/lib/gl/libprocaddr.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/events/SDL_windowevents.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/SDL_yuv.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/render/SDL_yuv_sw.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/joystick/controller_type.c","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/yuv2rgb/yuv_rgb_std_func.h","/emsdk/emscripten/cache/ports/sdl2/SDL-release-2.32.0/src/video/yuv2rgb/yuv_rgb_std.c","/emsdk/emscripten/system/lib/gl/gl.c","/emsdk/emscripten/system/lib/gl/webgl1.c","/emsdk/emscripten/system/lib/html5/dom_pk_codes.c","/emsdk/emscripten/system/lib/libc/emscripten_libc_stubs.c","/emsdk/emscripten/system/lib/libc/atexit_dummy.c","/emsdk/emscripten/system/lib/libc/musl/src/errno/__errno_location.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/access.c","/emsdk/emscripten/system/lib/libc/musl/src/math/atan.c","/emsdk/emscripten/system/lib/libc/musl/include/math.h","/emsdk/emscripten/system/lib/libc/musl/src/math/atan2.c","/emsdk/emscripten/system/lib/libc/musl/src/math/atan2f.c","/emsdk/emscripten/system/lib/libc/musl/src/math/atanf.c","/emsdk/emscripten/system/lib/libc/musl/src/stdlib/atof.c","/emsdk/emscripten/system/lib/libc/musl/src/stdlib/atoi.c","/emsdk/emscripten/system/lib/libc/musl/include/ctype.h","/emsdk/emscripten/system/lib/libc/musl/src/stdio/__lockfile.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/clearerr.c","/emsdk/emscripten/system/lib/libc/musl/src/time/clock.c","/emsdk/emscripten/system/lib/libc/musl/src/time/clock_gettime.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/close.c","/emsdk/emscripten/system/lib/libc/musl/src/dirent/closedir.c","/emsdk/emscripten/system/lib/libc/musl/src/math/__cos.c","/emsdk/emscripten/system/lib/libc/musl/src/math/__rem_pio2_large.c","/emsdk/emscripten/system/lib/libc/musl/src/math/__rem_pio2.c","/emsdk/emscripten/system/lib/libc/musl/src/math/__sin.c","/emsdk/emscripten/system/lib/libc/musl/src/math/cos.c","/emsdk/emscripten/system/lib/libc/musl/src/math/__cosdf.c","/emsdk/emscripten/system/lib/libc/musl/src/math/__sindf.c","/emsdk/emscripten/system/lib/libc/musl/src/math/__rem_pio2f.c","/emsdk/emscripten/system/lib/libc/musl/src/math/cosf.c","/emsdk/emscripten/system/lib/libc/musl/src/ldso/dlclose.c","/emsdk/emscripten/cache/sysroot/include/atomic_arch.h","/emsdk/emscripten/system/lib/libc/musl/src/ldso/dlerror.c","/emsdk/emscripten/system/lib/libc/emscripten_time.c","/emsdk/emscripten/system/lib/libc/musl/src/math/__math_xflow.c","/emsdk/emscripten/system/lib/libc/musl/src/internal/libm.h","/emsdk/emscripten/system/lib/libc/musl/src/math/__math_uflow.c","/emsdk/emscripten/system/lib/libc/musl/src/math/__math_oflow.c","/emsdk/emscripten/system/lib/libc/musl/src/math/exp.c","/emsdk/emscripten/system/lib/libc/musl/src/math/fabs.c","/emsdk/emscripten/system/lib/libc/musl/src/math/fabsf.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fclose.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/feof.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/ferror.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fflush.c","/emsdk/emscripten/system/lib/libc/emscripten_memcpy_bulkmem.S","/emsdk/emscripten/system/lib/libc/emscripten_memcpy.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/__toread.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/__uflow.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fgets.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fileno.c","/emsdk/emscripten/system/lib/libc/musl/src/math/floor.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/__fmodeflags.c","/emsdk/emscripten/system/lib/libc/musl/src/string/memset.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/__stdio_seek.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/__stdio_write.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/__stdio_read.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/__stdio_close.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/__fdopen.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fopen.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fprintf.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/__towrite.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/__overflow.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fputc.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/putc.h","/emsdk/emscripten/system/lib/libc/musl/src/internal/pthread_impl.h","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fread.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fseek.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/ftell.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fwrite.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/getc.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/getc.h","/emsdk/emscripten/system/lib/libc/musl/src/env/__environ.c","/emsdk/emscripten/system/lib/libc/musl/src/env/getenv.c","/emsdk/emscripten/system/lib/libc/musl/src/misc/gethostid.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/gethostname.c","/emsdk/emscripten/system/lib/libc/emscripten_syscall_stubs.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/getpid.c","/emsdk/emscripten/system/lib/libc/musl/src/time/gmtime.c","/emsdk/emscripten/system/lib/libc/musl/src/network/htonl.c","/emsdk/emscripten/system/lib/libc/musl/include/byteswap.h","/emsdk/emscripten/system/lib/libc/musl/src/network/htons.c","/emsdk/emscripten/system/lib/libc/musl/src/network/inet_addr.c","/emsdk/emscripten/system/lib/libc/musl/src/network/inet_aton.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/isalpha.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/isatty.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/isblank.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/iscntrl.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/iswalpha.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/iswblank.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/iswcntrl.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/iswlower.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/iswprint.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/iswpunct.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/iswspace.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/iswupper.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/iswxdigit.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/isxdigit.c","/emsdk/emscripten/system/lib/libc/musl/src/math/ldexp.c","/emsdk/emscripten/system/lib/pthread/library_pthread_stub.c","/emsdk/emscripten/system/lib/libc/musl/src/locale/localeconv.c","/emsdk/emscripten/system/lib/libc/musl/src/time/localtime.c","/emsdk/emscripten/system/lib/libc/musl/src/fcntl/fcntl.c","/emsdk/emscripten/system/lib/libc/musl/src/misc/lockf.c","/emsdk/emscripten/system/lib/libc/musl/src/math/__math_invalid.c","/emsdk/emscripten/system/lib/libc/musl/src/math/log10.c","/emsdk/emscripten/system/lib/libc/musl/src/math/lrintf.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/lseek.c","/emsdk/emscripten/system/lib/libc/musl/src/multibyte/mbtowc.c","/emsdk/emscripten/system/lib/libc/musl/src/string/memchr.c","/emsdk/emscripten/system/lib/libc/musl/src/string/memcmp.c","/emsdk/emscripten/system/lib/libc/musl/src/time/__tz.c","/emsdk/emscripten/system/lib/libc/mktime.c","/emsdk/emscripten/system/lib/libc/musl/src/time/clock_nanosleep.c","/emsdk/emscripten/system/lib/libc/musl/src/time/nanosleep.c","/emsdk/emscripten/system/lib/libc/musl/src/network/ntohs.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/ofl.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/ofl_add.c","/emsdk/emscripten/system/lib/libc/musl/src/fcntl/open.c","/emsdk/emscripten/system/lib/libc/musl/src/dirent/opendir.c","/emsdk/emscripten/system/lib/libc/musl/src/math/pow.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/printf.c","/emsdk/emscripten/system/lib/pthread/pthread_self_stub.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fputs.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/puts.c","/emsdk/emscripten/system/lib/libc/musl/src/stdlib/qsort.c","/emsdk/emscripten/system/lib/libc/musl/src/internal/atomic.h","/emsdk/emscripten/system/lib/libc/musl/src/stdlib/qsort_nr.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/read.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/remove.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/rename.c","/emsdk/emscripten/system/lib/libc/musl/src/math/rintf.c","/emsdk/emscripten/system/lib/libc/musl/src/math/round.c","/emsdk/emscripten/system/lib/libc/musl/src/math/scalbn.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/setvbuf.c","/emsdk/emscripten/system/lib/libc/sigaction.c","/emsdk/emscripten/system/lib/libc/musl/src/signal/signal.c","/emsdk/emscripten/system/lib/libc/musl/src/math/sin.c","/emsdk/emscripten/system/lib/libc/musl/src/math/sinf.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/snprintf.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/sscanf.c","/emsdk/emscripten/system/lib/libc/musl/src/stat/fstatat.c","/emsdk/emscripten/system/lib/libc/musl/src/stat/stat.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/stdout.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strcasecmp.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strchr.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strchrnul.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strcmp.c","/emsdk/emscripten/system/lib/libc/musl/src/string/stpcpy.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strcpy.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strdup.c","/emsdk/emscripten/system/lib/libc/musl/src/errno/strerror.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strerror_r.c","/emsdk/emscripten/system/lib/libc/musl/src/time/__year_to_secs.c","/emsdk/emscripten/system/lib/libc/musl/src/time/__month_to_secs.c","/emsdk/emscripten/system/lib/libc/musl/src/time/__tm_to_secs.c","/emsdk/emscripten/system/lib/libc/musl/src/locale/langinfo.c","/emsdk/emscripten/system/lib/libc/musl/src/time/strftime.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strlcat.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strlcpy.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strlen.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strncasecmp.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strncmp.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strnlen.c","/emsdk/emscripten/system/lib/libc/musl/src/string/strstr.c","/emsdk/emscripten/system/lib/libc/musl/src/internal/shgetc.c","/emsdk/emscripten/system/lib/libc/musl/src/math/copysignl.c","/emsdk/emscripten/system/lib/libc/musl/src/math/scalbnl.c","/emsdk/emscripten/system/lib/libc/musl/src/math/__fpclassifyl.c","/emsdk/emscripten/system/lib/libc/musl/src/math/fmodl.c","/emsdk/emscripten/system/lib/libc/musl/src/math/fabsl.c","/emsdk/emscripten/system/lib/libc/musl/src/internal/floatscan.c","/emsdk/emscripten/system/lib/libc/musl/src/stdlib/strtod.c","/emsdk/emscripten/system/lib/libc/musl/src/stdlib/strtol.c","/emsdk/emscripten/system/lib/libc/musl/src/internal/syscall_ret.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/dprintf.c","/emsdk/emscripten/system/lib/libc/musl/src/misc/syslog.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/tolower.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/toupper.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/towctrans.c","/emsdk/emscripten/system/lib/libc/musl/src/misc/uname.c","/emsdk/emscripten/system/lib/libc/musl/src/unistd/unlink.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/vdprintf.c","/emsdk/emscripten/system/lib/libc/musl/src/math/frexp.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/vfprintf.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/vsnprintf.c","/emsdk/emscripten/system/lib/libc/musl/src/internal/intscan.c","/emsdk/emscripten/system/lib/libc/musl/src/multibyte/mbrtowc.c","/emsdk/emscripten/system/lib/libc/musl/src/multibyte/mbsinit.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/vfscanf.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/vsscanf.c","/emsdk/emscripten/system/lib/libc/wasi-helpers.c","/emsdk/emscripten/system/lib/libc/musl/src/string/wcschr.c","/emsdk/emscripten/system/lib/libc/musl/src/string/wcscmp.c","/emsdk/emscripten/system/lib/libc/musl/src/string/wcslen.c","/emsdk/emscripten/system/lib/libc/musl/src/multibyte/wcrtomb.c","/emsdk/emscripten/system/lib/libc/musl/src/multibyte/wctomb.c","/emsdk/emscripten/system/lib/libc/musl/src/string/wmemchr.c","/emsdk/emscripten/system/lib/libc/musl/src/exit/abort.c","/emsdk/emscripten/system/lib/dlmalloc.c","/emsdk/emscripten/system/lib/libc/emscripten_get_heap_size.c","/emsdk/emscripten/system/lib/libc/sbrk.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/addtf3.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/fp_add_impl.inc","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/fp_lib.h","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/ashlti3.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/comparetf2.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/fp_compare_impl.inc","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/divtf3.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/fp_div_impl.inc","/emsdk/emscripten/system/lib/compiler-rt/emscripten_exception_builtins.c","/emsdk/emscripten/system/lib/compiler-rt/emscripten_setjmp.c","/emsdk/emscripten/system/lib/compiler-rt/emscripten_tempret.s","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/extenddftf2.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/fp_extend.h","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/fp_extend_impl.inc","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/extendsftf2.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/floatsitf.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/floatunsitf.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/fp_mode.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/lshrti3.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/multf3.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/fp_mul_impl.inc","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/multi3.c","/emsdk/emscripten/system/lib/compiler-rt/stack_limits.S","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/subtf3.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/trunctfdf2.c","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/fp_trunc.h","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/fp_trunc_impl.inc","/emsdk/emscripten/system/lib/compiler-rt/lib/builtins/trunctfsf2.c","/emsdk/emscripten/system/lib/libcxx/src/functional.cpp","/emsdk/emscripten/system/lib/libcxx/src/support/runtime/exception_libcxxabi.ipp","/emsdk/emscripten/system/lib/libc/musl/src/stdio/setbuf.c","/emsdk/emscripten/cache/sysroot/include/c++/v1/ios","/emsdk/emscripten/cache/sysroot/include/c++/v1/streambuf","/emsdk/emscripten/cache/sysroot/include/c++/v1/__ios/fpos.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/min.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__string/char_traits.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__string/constexpr_c_functions.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/istream","/emsdk/emscripten/cache/sysroot/include/c++/v1/__ostream/basic_ostream.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__locale","/emsdk/emscripten/cache/sysroot/include/c++/v1/__iterator/istreambuf_iterator.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/limits","/emsdk/emscripten/cache/sysroot/include/c++/v1/locale","/emsdk/emscripten/cache/sysroot/include/c++/v1/__iterator/ostreambuf_iterator.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__type_traits/make_unsigned.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__memory/allocator.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__memory/pointer_traits.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__utility/swap.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/max.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/fstream","/emsdk/emscripten/cache/sysroot/include/c++/v1/__memory/unique_ptr.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/typeinfo","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/comp.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__memory/allocator_traits.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__new/allocate.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__iterator/distance.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__memory/allocate_at_least.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/stdexcept","/emsdk/emscripten/cache/sysroot/include/c++/v1/__new/exceptions.h","/emsdk/emscripten/system/lib/libcxx/src/error_category.cpp","/emsdk/emscripten/cache/sysroot/include/c++/v1/__system_error/error_condition.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__system_error/error_category.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__system_error/error_code.h","/emsdk/emscripten/system/lib/libcxx/src/ios.cpp","/emsdk/emscripten/system/lib/libc/musl/src/stdio/ungetc.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fwide.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fgetwc.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/getwc.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/ungetwc.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/fputwc.c","/emsdk/emscripten/system/lib/libcxx/src/iostream_init.h","/emsdk/emscripten/system/lib/libcxx/src/iostream.cpp","/emsdk/emscripten/system/lib/libcxx/src/std_stream.h","/emsdk/emscripten/system/lib/libc/musl/src/ctype/isdigit.c","/emsdk/emscripten/system/lib/libc/musl/src/locale/locale_map.c","/emsdk/emscripten/system/lib/libc/musl/src/locale/newlocale.c","/emsdk/emscripten/system/lib/libcxx/src/call_once.cpp","/emsdk/emscripten/cache/sysroot/include/c++/v1/__thread/support/pthread.h","/emsdk/emscripten/system/lib/libcxx/src/include/atomic_support.h","/emsdk/emscripten/system/lib/libc/musl/src/locale/freelocale.c","/emsdk/emscripten/system/lib/libc/musl/src/locale/strcoll.c","/emsdk/emscripten/system/lib/libc/musl/src/locale/strxfrm.c","/emsdk/emscripten/system/lib/libc/musl/src/locale/wcscoll.c","/emsdk/emscripten/system/lib/libc/musl/src/string/wmemcpy.c","/emsdk/emscripten/system/lib/libc/musl/src/locale/wcsxfrm.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/__ctype_toupper_loc.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/__ctype_tolower_loc.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/iswdigit.c","/emsdk/emscripten/system/lib/libc/musl/src/multibyte/btowc.c","/emsdk/emscripten/system/lib/libc/musl/src/locale/uselocale.c","/emsdk/emscripten/system/lib/libc/musl/src/multibyte/wctob.c","/emsdk/emscripten/system/lib/libc/musl/src/multibyte/wcsnrtombs.c","/emsdk/emscripten/system/lib/libc/musl/src/multibyte/mbsrtowcs.c","/emsdk/emscripten/system/lib/libc/musl/src/multibyte/mbsnrtowcs.c","/emsdk/emscripten/system/lib/libc/musl/src/ctype/__ctype_get_mb_cur_max.c","/emsdk/emscripten/system/lib/libc/musl/src/multibyte/mbrlen.c","/emsdk/emscripten/system/lib/libc/compat/strtol_l.c","/emsdk/emscripten/system/lib/libc/musl/src/locale/strtod_l.c","/emsdk/emscripten/system/lib/libc/musl/src/stdio/vasprintf.c","/emsdk/emscripten/system/lib/libcxx/src/locale.cpp","/emsdk/emscripten/cache/sysroot/include/c++/v1/__locale_dir/locale_base_api.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/find.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__locale_dir/locale_base_api/bsd_locale_fallbacks.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/unwrap_iter.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__iterator/wrap_iter.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__locale_dir/pad_and_output.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/reverse.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/copy.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__iterator/access.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/equal.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__vector/vector.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__memory/shared_count.h","/emsdk/emscripten/system/lib/libcxx/src/include/sso_allocator.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__utility/exception_guard.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__utility/no_destroy.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__mutex/once_flag.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/tuple","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/rotate.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__utility/scope_guard.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/cwchar","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/iterator_operations.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/iter_swap.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/copy_move_common.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/unwrap_range.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__utility/pair.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__utility/is_pointer_in_range.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__memory/construct_at.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/ranges_copy_n.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__memory/uninitialized_algorithms.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__split_buffer","/emsdk/emscripten/cache/sysroot/include/c++/v1/__type_traits/invoke.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__iterator/next.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/move.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/move_backward.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/swap_ranges.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__iterator/advance.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__utility/convert_to_integral.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__iterator/prev.h","/emsdk/emscripten/system/lib/libcxx/src/memory.cpp","/emsdk/emscripten/system/lib/libc/compat/aligned_alloc.c","/emsdk/emscripten/system/lib/libcxx/src/new.cpp","/emsdk/emscripten/cache/sysroot/include/c++/v1/__memory/aligned_alloc.h","/emsdk/emscripten/system/lib/libcxx/src/new_helpers.cpp","/emsdk/emscripten/cache/sysroot/include/c++/v1/__exception/exception.h","/emsdk/emscripten/system/lib/libcxx/src/support/runtime/../../include/refstring.h","/emsdk/emscripten/system/lib/libcxx/src/support/runtime/stdexcept_default.ipp","/emsdk/emscripten/system/lib/libcxx/src/include/refstring.h","/emsdk/emscripten/system/lib/libcxx/src/support/runtime/../../include/atomic_support.h","/emsdk/emscripten/system/lib/libcxx/src/stdexcept.cpp","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/fill_n.h","/emsdk/emscripten/system/lib/libcxx/src/string.cpp","/emsdk/emscripten/cache/sysroot/include/c++/v1/__charconv/to_chars_integral.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__charconv/traits.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__bit/countl.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__charconv/to_chars_base_10.h","/emsdk/emscripten/cache/sysroot/include/c++/v1/__algorithm/copy_n.h","/emsdk/emscripten/system/lib/libcxx/src/system_error.cpp","/emsdk/emscripten/system/lib/libcxx/src/verbose_abort.cpp","/emsdk/emscripten/system/lib/libcxxabi/src/abort_message.cpp","/emsdk/emscripten/system/lib/libcxxabi/src/cxa_default_handlers.cpp","/emsdk/emscripten/system/lib/libcxxabi/src/cxa_handlers.cpp","/emsdk/emscripten/system/lib/libcxxabi/src/cxa_noexception.cpp","/emsdk/emscripten/system/lib/libcxxabi/src/cxa_virtual.cpp","/emsdk/emscripten/system/lib/libcxxabi/src/private_typeinfo.cpp","/emsdk/emscripten/system/lib/libcxxabi/src/stdlib_exception.cpp","/emsdk/emscripten/system/lib/libcxxabi/src/stdlib_stdexcept.cpp","/emsdk/emscripten/system/lib/libcxxabi/src/stdlib_typeinfo.cpp","/emsdk/emscripten/system/lib/libc/musl/src/network/connect.c","/emsdk/emscripten/system/lib/libc/musl/src/network/freeaddrinfo.c","/emsdk/emscripten/system/lib/libc/musl/src/network/send.c","/emsdk/emscripten/system/lib/libc/musl/src/network/sendto.c","/emsdk/emscripten/system/lib/libc/musl/src/network/setsockopt.c","/emsdk/emscripten/system/lib/libc/musl/src/network/socket.c","/emsdk/emscripten/system/lib/embind/bind.cpp","/emsdk/emscripten/cache/sysroot/include/emscripten/bind.h","/emsdk/emscripten/system/lib/compiler-rt/stack_ops.S"],"sourcesContent":[],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/svelte.config.js b/svelte.config.js new file mode 100644 index 0000000..1db201c --- /dev/null +++ b/svelte.config.js @@ -0,0 +1,22 @@ +import adapter from '@sveltejs/adapter-node'; +import { vitePreprocess } from '@sveltejs/kit/vite'; + +/** @type {import('@sveltejs/kit').Config} */ +const config = { + // Consult https://kit.svelte.dev/docs/integrations#preprocessors + // for more information about preprocessors + preprocess: [ + vitePreprocess({ postcss: true }) + ], + + kit: { + // adapter-auto only supports some environments, see https://kit.svelte.dev/docs/adapter-auto for a list. + // If your environment is not supported or you settled on a specific environment, switch out the adapter. + // See https://kit.svelte.dev/docs/adapters for more information about adapters. + adapter: adapter() + }, + + +}; + +export default config; diff --git a/tailwind.config.cjs b/tailwind.config.cjs new file mode 100644 index 0000000..76398ec --- /dev/null +++ b/tailwind.config.cjs @@ -0,0 +1,26 @@ +/** @type {import('tailwindcss').Config}*/ +const config = { + content: ['./src/**/*.{html,js,svelte,ts}', "./node_modules/tw-elements/dist/js/**/*.js"], + + plugins: [ + require("@tailwindcss/forms"), + require("@tailwindcss/typography"), + //require("tw-elements/dist/plugin"), + ], + darkMode: 'class', + + theme: { + extend: { + fontFamily: { + roboto: ['Roboto'], + }, + colors: { + // flowbite-svelte + primary: {"50":"#eef2ff","100":"#e0e7ff","200":"#c7d2fe","300":"#a5b4fc","400":"#818cf8","500":"#6366f1","600":"#4f46e5","700":"#4338ca","800":"#3730a3","900":"#312e81"} + } + } + }, + +}; + +module.exports = config; diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..6ae0c8c --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,17 @@ +{ + "extends": "./.svelte-kit/tsconfig.json", + "compilerOptions": { + "allowJs": true, + "checkJs": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "resolveJsonModule": true, + "skipLibCheck": true, + "sourceMap": true, + "strict": true + } + // Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias + // + // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes + // from the referenced tsconfig.json - TypeScript does not merge them in +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..650b33c --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,11 @@ +// vite.config.ts +import { sveltekit } from '@sveltejs/kit/vite'; +import { defineConfig } from 'vite'; + +export default defineConfig({ + plugins: [sveltekit()], + server: { + port: 14013, + host: true // 또는 '0.0.0.0' + }, +}); diff --git a/webassembly/0001.dcm b/webassembly/0001.dcm new file mode 100644 index 0000000..3a5c37d Binary files /dev/null and b/webassembly/0001.dcm differ diff --git a/webassembly/0002.dcm b/webassembly/0002.dcm new file mode 100644 index 0000000..76cea0c Binary files /dev/null and b/webassembly/0002.dcm differ diff --git a/webassembly/0015.dcm b/webassembly/0015.dcm new file mode 100644 index 0000000..53f6383 Binary files /dev/null and b/webassembly/0015.dcm differ diff --git a/webassembly/0020.dcm b/webassembly/0020.dcm new file mode 100644 index 0000000..9393ae4 Binary files /dev/null and b/webassembly/0020.dcm differ diff --git a/webassembly/build_dcm_mod.sh b/webassembly/build_dcm_mod.sh new file mode 100755 index 0000000..9698e0d --- /dev/null +++ b/webassembly/build_dcm_mod.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +emcc -std=c++17 -s MODULARIZE=1 -s EXPORT_ES6=1 -s USE_ES6_IMPORT_META=0 -s ENVIRONMENT='web' -s EXPORTED_RUNTIME_METHODS="['ccall','cwrap','specialHTMLTargets', 'JSEvents', 'GL', 'callMain', 'abort', 'addFunction']" -s EXPORTED_FUNCTIONS="['_malloc', '_main', '_UpdateDcmImage', '_SetWindowWidthLevel', '_GetWindowWidth', '_GetWindowCenter','_SetCallbackUpdateDcmImageComplete']" -s RESERVED_FUNCTION_POINTERS=20 -s MAXIMUM_MEMORY=4096MB -s ALLOW_TABLE_GROWTH -s ALLOW_MEMORY_GROWTH -s USE_SDL=2 -s WASM=1 -s USE_SDL_IMAGE=2 -s SDL2_IMAGE_FORMATS="[""png"", ""jpg""]" -I /work/project/emsdk/upstream/emscripten/cache/sysroot/include /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libdcmjpls.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libdcmjpeg.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libdcmimage.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libdcmimgle.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/liboflog.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libofstd.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libdcmiod.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libdcmjpls.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libdcmdata.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libijg8.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libijg12.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libijg16.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libcharls.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libdcmjpeg.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libi2d.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libz.a camera.cpp events.cpp dcm_mod.cc -O2 -o dcm_mod.js && + cp -av dcm_mod.wasm ../static/. && + sed "1d" dcm_mod.js > tmp.js && awk 'BEGIN{printf "\nexport "} {print}' tmp.js > dcm_mod.js && rm tmp.js && + cp -av dcm_mod.js ../src/ui/. diff --git a/webassembly/build_mod3.sh b/webassembly/build_mod3.sh new file mode 100755 index 0000000..72709d6 --- /dev/null +++ b/webassembly/build_mod3.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +export CURRENT_DIR=$PWD +echo $CURRENT_DIR + +emcc -std=c++17 -s MODULARIZE=1 -s EXPORT_ES6=1 -s ASSERTIONS=1 -s ENVIRONMENT='web' -s EXPORTED_RUNTIME_METHODS="['ccall','cwrap','specialHTMLTargets', 'JSEvents', 'GL', 'callMain', 'abort', 'addFunction']" -s EXPORTED_FUNCTIONS="['_malloc', '_main', '_UpdateDcmImage', '_SetWindowWidthLevel', '_GetWindowWidth', '_GetWindowCenter','_SetCallbackUpdateDcmImageComplete', '_CancelLoadImage', '_SetDisplayFrameIndex', '_SetResizeFrame', '_GetTotalBytes', '_GetReadBytes', '_GetTotalFrames', '_GetFrameUpdateTimeDelay' ]" -s RESERVED_FUNCTION_POINTERS=20 -s MAXIMUM_MEMORY=4096MB -s ALLOW_TABLE_GROWTH -s ALLOW_MEMORY_GROWTH -s USE_SDL=2 -s WASM=1 -s USE_SDL_IMAGE=2 -s SDL2_IMAGE_FORMATS="[""png"", ""jpg""]" -I /work/project/emsdk/upstream/emscripten/cache/sysroot/include /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libdcmjpls.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libdcmjpeg.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libdcmimage.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libdcmimgle.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/liboflog.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libofstd.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libdcmiod.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libdcmjpls.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libdcmdata.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libijg8.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libijg12.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libijg16.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libcharls.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libdcmjpeg.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libi2d.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libz.a camera.cpp events.cpp dcm_image3.cc -O2 -o dcm_image_mod3.js + + diff --git a/webassembly/build_mod3.sh.vi b/webassembly/build_mod3.sh.vi new file mode 100755 index 0000000..86ff17a --- /dev/null +++ b/webassembly/build_mod3.sh.vi @@ -0,0 +1,9 @@ +#!/bin/bash + +export CURRENT_DIR=$PWD +echo $CURRENT_DIR + +emcc -std=c++17 -s MODULARIZE=1 -s EXPORT_ES6=1 -s USE_ES6_IMPORT_META=0 -s ENVIRONMENT='web' -s EXPORTED_RUNTIME_METHODS="['ccall','cwrap','specialHTMLTargets', 'JSEvents', 'GL', 'callMain', 'abort', 'addFunction']" -s EXPORTED_FUNCTIONS="['_malloc', '_main', '_UpdateDcmImage', '_SetWindowWidthLevel', '_GetWindowWidth', '_GetWindowCenter','_SetCallbackUpdateDcmImageComplete', '_CancelLoadImage', '_SetDisplayFrameIndex', '_SetResizeFrame', '_GetTotalBytes', '_GetReadBytes', '_GetTotalFrames', '_GetFrameUpdateTimeDelay' ]" -s RESERVED_FUNCTION_POINTERS=20 -s MAXIMUM_MEMORY=4096MB -s ALLOW_TABLE_GROWTH -s ALLOW_MEMORY_GROWTH -s USE_SDL=2 -s WASM=1 -s USE_SDL_IMAGE=2 -s SDL2_IMAGE_FORMATS="[""png"", ""jpg""]" -I /work/project/emsdk/upstream/emscripten/cache/sysroot/include /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libdcmjpls.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libdcmjpeg.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libdcmimage.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libdcmimgle.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/liboflog.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libofstd.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libdcmiod.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libdcmjpls.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libdcmdata.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libijg8.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libijg12.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libijg16.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libcharls.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libdcmjpeg.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libi2d.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libz.a camera.cpp events.cpp dcm_image3.cc -O2 -o dcm_image_mod3.js && + cp -av dcm_image_mod3.wasm $CURRENT_DIR/../static/. && + sed "1d" dcm_image_mod3.js > tmp.js && awk 'BEGIN{printf "\nexport "} {print}' tmp.js > dcm_image_mod3.js && rm tmp.js && + cp -av dcm_image_mod3.js $CURRENT_DIR/../src/ui/. diff --git a/webassembly/camera.cpp b/webassembly/camera.cpp new file mode 100644 index 0000000..7ad42aa --- /dev/null +++ b/webassembly/camera.cpp @@ -0,0 +1,150 @@ +// +// Camera - pan, zoom, and window resizing +// +#include +#include +#include +#include "camera.h" + +bool Camera::updated() +{ + bool updated = mCameraUpdated; + mCameraUpdated = false; + return updated; +} + +bool Camera::windowResized() +{ + bool resized = mWindowResized; + mWindowResized = false; + return resized; +} + +void Camera::setWindowSize(int width, int height) +{ + if (mWindowSize.width != width || mWindowSize.height != height) + { + mWindowResized = true; + mWindowSize = {width, height}; + mViewport = {(float)width, (float)height}; + //setAspect((float)width / (float)height); + setAspect(1.0); + + printf("setWindowSize: %d, %d, %f\n", width, height, (float)width/(float)height); + } +} + +// Clamp val between lo and hi +float Camera::clamp (float val, float lo, float hi) +{ + return std::max(lo, std::min(val, hi)); +} + +// Convert from normalized window coords (x,y) in ([0.0, 1.0], [1.0, 0.0]) to device coords ([-1.0, 1.0], [-1.0,1.0]) +void Camera::normWindowToDeviceCoords (float normWinX, float normWinY, float& deviceX, float& deviceY) +{ + deviceX = (normWinX - 0.5f) * 2.0f; + deviceY = (1.0f - normWinY - 0.5f) * 2.0f; +} + +// Convert from window coords (x,y) in ([0, mWindowWidth], [mWindowHeight, 0]) to device coords ([-1.0, 1.0], [-1.0,1.0]) +void Camera::windowToDeviceCoords (int winX, int winY, float& deviceX, float& deviceY) +{ + normWindowToDeviceCoords(winX / (float)mWindowSize.width, winY / (float)mWindowSize.height, deviceX, deviceY); +} + +// Convert from device coords ([-1.0, 1.0], [-1.0,1.0]) to world coords ([-inf, inf], [-inf, inf]) +void Camera::deviceToWorldCoords (float deviceX, float deviceY, float& worldX, float& worldY) +{ + worldX = deviceX / mZoom - mPan.x; + worldY = deviceY / mAspect / mZoom - mPan.y; +} + +// Convert from window coords (x,y) in ([0, windowWidth], [windowHeight, 0]) to world coords ([-inf, inf], [-inf, inf]) +void Camera::windowToWorldCoords(int winX, int winY, float& worldX, float& worldY) +{ + float deviceX, deviceY; + windowToDeviceCoords(winX, winY, deviceX, deviceY); + deviceToWorldCoords(deviceX, deviceY, worldX, worldY); +} + +// Convert from normalized window coords (x,y) in in ([0.0, 1.0], [1.0, 0.0]) to world coords ([-inf, inf], [-inf, inf]) +void Camera::normWindowToWorldCoords(float normWinX, float normWinY, float& worldX, float& worldY) +{ + float deviceX, deviceY; + normWindowToDeviceCoords(normWinX, normWinY, deviceX, deviceY); + deviceToWorldCoords(deviceX, deviceY, worldX, worldY); +} + +void Camera::reset() +{ + mZoom = 1.0f; + mPan = Vec2{0.0f, 0.0f}; + mBasePan = Vec2{0.0f, 0.0f}; + mAspect = 1.0f; + + mCameraUpdated = true; + +} + +void Camera::toJson(nlohmann::json& json_obj) const +{ + printf("1"); + json_obj["camera"]["cameraUpdated"] = mCameraUpdated; + json_obj["camera"]["windowResized"] = mWindowResized; + + printf("2"); + json_obj["camera"]["width"] = mWindowSize.width; + json_obj["camera"]["height"] = mWindowSize.height; + + printf("3"); + json_obj["camera"]["viewport_x"] = mViewport.x; + json_obj["camera"]["viewport_y"] = mViewport.y; + + printf("4"); + json_obj["camera"]["pan_x"] = mPan.x; + json_obj["camera"]["pan_y"] = mPan.y; + + printf("5"); + json_obj["camera"]["zoom"] = mZoom; + json_obj["camera"]["aspect"] = mAspect; + + printf("6"); + json_obj["camera"]["basepan_x"] = mBasePan.x; + json_obj["camera"]["basepan_y"] = mBasePan.y; + + printf("exit toJson"); +} + +void Camera::fromString(const char* pStrDumpJson) +{ + printf("Camera::fromString enter!%s\n", pStrDumpJson); + + try + { + nlohmann::json json_obj = nlohmann::json::parse(pStrDumpJson); + + printf("1"); + const auto& camera_data = json_obj["camera"]; + mCameraUpdated = camera_data["cameraUpdated"]; + mWindowResized = camera_data["windowResized"]; + mWindowSize.width = camera_data["width"]; + mWindowSize.height = camera_data["height"]; + mViewport.x = camera_data["viewport_x"]; + mViewport.y = camera_data["viewport_y"]; + mPan.x = camera_data["pan_x"]; + mPan.y = camera_data["pan_y"]; + mZoom = camera_data["zoom"]; + mAspect = camera_data["aspect"]; + mBasePan.x = camera_data["basepan_x"]; + mBasePan.y = camera_data["basepan_y"]; + + + } + catch (const nlohmann::json::exception& e) + { + // It's good practice to catch potential errors + printf("JSON parsing error: %s\n", e.what()); + } + +} diff --git a/webassembly/camera.h b/webassembly/camera.h new file mode 100644 index 0000000..f2a1993 --- /dev/null +++ b/webassembly/camera.h @@ -0,0 +1,75 @@ +// +// Camera - pan, zoom, and window resizing +// + +#ifdef __EMSCRIPTEN__ +#include "nlohmann/json.hpp" // 라이브러리 경로에 맞게 수정 +#include +#include +#endif + +struct Rect { int width, height; }; +struct Vec2 { GLfloat x, y; }; + +class Camera +{ +public: + Camera(); + + void reset(); + bool updated(); + bool windowResized(); + + Rect& windowSize() { return mWindowSize; } + void setWindowSize (int width, int height); + GLfloat* viewport() { return (GLfloat*)&mViewport; } + + GLfloat* pan() { return (GLfloat*)&mPan; } + GLfloat zoom() { return mZoom; } + GLfloat aspect() { return mAspect; } + + void setPan (Vec2 pan) { mPan = pan; mCameraUpdated = true; } + void setPanDelta (Vec2 panDelta) { mPan.x += panDelta.x; mPan.y += panDelta.y; mCameraUpdated = true; } + void setZoom (GLfloat zoom) { mZoom = clamp(zoom, cZoomMin, cZoomMax); mCameraUpdated = true; } + void setZoomDelta (GLfloat zoomDelta) { mZoom = clamp(mZoom + zoomDelta, cZoomMin, cZoomMax); mCameraUpdated = true; } + void setAspect (GLfloat aspect) { mAspect = aspect; mCameraUpdated = true; } + + Vec2& basePan() { return mBasePan; } + void setBasePan () { mBasePan = mPan; } + + void normWindowToDeviceCoords (float normWinX, float normWinY, float& deviceX, float& deviceY); + void windowToDeviceCoords (int winX, int winY, float& deviceX, float& deviceY); + void deviceToWorldCoords (float deviceX, float deviceY, float& worldX, float& worldY); + void windowToWorldCoords (int winX, int winY, float& worldX, float& worldY); + void normWindowToWorldCoords (float normWinX, float normWinY, float& worldX, float& worldY); + + //void Camera::toJson(emscripten::val& json) + + void toJson(nlohmann::json& json_obj) const; + void fromString(const char* pStrDumpJson); + +private: + float clamp (float val, float lo, float hi); + + bool mCameraUpdated; + bool mWindowResized; + Rect mWindowSize; + Vec2 mViewport; + const GLfloat cZoomMin, cZoomMax; + Vec2 mBasePan, mPan; + GLfloat mZoom, mAspect; +}; + +inline Camera::Camera() + : mCameraUpdated (false) + , mWindowResized (false) + , mWindowSize ({}) + , mViewport ({}) + , cZoomMin (0.1f), cZoomMax (10.0f) + , mBasePan ({0.0f, 0.0f}) + , mPan ({0.0f, 0.0f}) + , mZoom (1.0f) + , mAspect (1.0f) +{ + setWindowSize(640, 480); +} diff --git a/webassembly/dcm_image3 copy.cc b/webassembly/dcm_image3 copy.cc new file mode 100644 index 0000000..c1cc76f --- /dev/null +++ b/webassembly/dcm_image3 copy.cc @@ -0,0 +1,1123 @@ +// +// Emscripten/SDL2/OpenGLES2 sample that demonstrates simple geometry and shaders, mouse and touch input, and window resizing +// +// Setup: +// Install emscripten: http://kripken.github.io/emscripten-site/docs/getting_started/downloads.html +// +// Build: +// emcc -std=c++11 hello_triangle.cpp events.cpp camera.cpp -s USE_SDL=2 -s FULL_ES2=1 -s WASM=0 -o hello_triangle.html +// +// Run: +// emrun hello_triangle.html +// +// Result: +// A colorful triangle. Left mouse pans, mouse wheel zooms in/out. Window is resizable. +// + +#ifdef __EMSCRIPTEN__ +#include +#endif + +#include +#include +//#include +//#include + +#include +#include "dcmtk/config/osconfig.h" +#include "dcmtk/dcmdata/dcfilefo.h" +#include "dcmtk/dcmdata/dcdeftag.h" +#include "dcmtk/dcmdata/dcuid.h" +#include "dcmtk/dcmdata/dcmetinf.h" +#include "dcmtk/dcmdata/dcdict.h" +#include "dcmtk/dcmdata/dcdicent.h" +#include "dcmtk/dcmdata/dcxfer.h" + +#include "dcmtk/dcmjpeg/djdecode.h" /* for JPEG decoders */ +#include "dcmtk/dcmjpeg/djencode.h" /* for JPEG encoders */ +#include "dcmtk/dcmjpls/djdecode.h" /* for JPEG-LS decoders */ +#include "dcmtk/dcmjpls/djencode.h" /* for JPEG-LS encoders */ +#include "dcmtk/dcmdata/dcrledrg.h" /* for RLE decoder */ +#include "dcmtk/dcmdata/dcrleerg.h" /* for RLE encoder */ +#include "dcmtk/dcmjpeg/dipijpeg.h" /* for dcmimage JPEG plugin */ +#include "dcmtk/dcmjpeg/djrplol.h" + + +#include "dcmtk/dcmimage/diregist.h" +#include "dcmtk/dcmdata/dcpixseq.h" +#include "dcmtk/dcmjpeg/djcparam.h" +#include "dcmtk/dcmjpeg/djeijg8.h" +#include "dcmtk/dcmjpeg/djcodece.h" +#include "dcmtk/dcmdata/dcchrstr.h" +#include "dcmtk/ofstd/ofchrenc.h" + +#include "dcmtk/dcmdata/dcvrui.h" +#include "dcmtk/dcmdata/dcvrsh.h" +#include "dcmtk/dcmdata/dcistrmb.h" +#include "dcmtk/oflog/loglevel.h" + + +#include "events.h" + +typedef void (*callback_UpdateDcmImage) (); +callback_UpdateDcmImage callback_UpdateDcmImageComplete = NULL; + + + +DcmDataset* g_pDcmDataset = NULL; +DcmElement* g_pixelDataElement = NULL; +bool g_bChange = false; + +EventHandler* g_pEventHandler = NULL; + +GLuint textureObj = 0; + +GLuint g_shaderProgramGray16 = 0; +GLuint g_shaderProgramRGB = 0; + +// Vertex shader +GLint g_shaderPanGray16, g_shaderZoomGray16, g_shaderAspectGray16, g_shaderWindowCenterGray16, g_shaderWindowWidthGray16; +GLint g_shaderPanRGB, g_shaderZoomRGB, g_shaderAspectRGB, g_shaderWindowCenterRGB, g_shaderWindowWidthRGB; + +int g_nWindowWidth = 0; +int g_nWindowCenter = 0; + +int g_nPrevWindowWidth = 0; +int g_nPrevWindowCenter = 0; + +int g_nDefaultWindowWidth = 0; +int g_nDefaultWindowCenter = 0; + +int g_nColorType = 0; + +Uint32 g_nCurrentFrame = 0; +int g_nTotalFrames = 0; + +int g_nFrameTextureWidth = 0; +int g_nFrameTextureHeight = 0; + +int g_nSamplesPerPixel = 0; +int g_nBitsAllocated = 0; + +int g_nFrameSizeUncompressed = 0; + +int g_nWindowSizeWidth = 0; +int g_nWindowSizeHeight = 0; + +float g_fFrameTime = 0; +float g_fFrameDelay = 0; + + + +char* g_pBuf = NULL; + +const GLchar* vertexSourceGray16 = +"uniform vec2 pan; \n" +"uniform float zoom; \n" +"uniform float aspect; \n" +"attribute vec4 position; \n" +"attribute vec2 a_texCoord; \n" +"varying vec2 texCoord; \n" +"void main() \n" +"{ \n" +" gl_Position = vec4(position.xyz, 1.0); \n" +" gl_Position.xy += pan; \n" +" gl_Position.xy *= zoom; \n" +" texCoord = a_texCoord; \n" +" gl_Position.y *= aspect; \n" +"} \n"; + + +// Fragment/pixel shader +const GLchar* fragmentSourceGray16 = +"precision mediump float; \n" +"varying vec2 texCoord; \n" +"uniform sampler2D texSampler; \n" +"uniform float fWindowCenter; \n" +"uniform float fWindowWidth; \n" +"void main() \n" +"{ \n" +" vec4 colorOut = texture2D(texSampler, texCoord); \n" +" float fMin = fWindowCenter - fWindowWidth/2.0;\n" +" float fMax = fWindowCenter + fWindowWidth/2.0;\n" +" float fData = ( ((colorOut.a + colorOut.r*256.0)*256.0) - fMin)/(fMax-fMin); \n" +" fData = ( ((colorOut.a + colorOut.a*256.0)*256.0) - fMin)/(fMax-fMin); \n" +" fData = colorOut.r;\n" +" fData = (((colorOut.a * 256.0 + colorOut.r)*256.0) - fMin) / (fMax-fMin);" +" float fTmpData = fMin;\n" +" gl_FragColor = vec4(fData, fData, fData, 1.0); \n" + +"} \n"; + + + +const GLchar* vertexSourceRGB = +"uniform vec2 panRGB; \n" +"uniform float zoomRGB; \n" +"uniform float aspectRGB; \n" +"attribute vec4 position; \n" +"attribute vec2 a_texCoord; \n" +"varying vec2 texCoord; \n" +"void main() \n" +"{ \n" +" gl_Position = vec4(position.xyz, 1.0); \n" +" gl_Position.xy += panRGB; \n" +" gl_Position.xy *= zoomRGB; \n" +" texCoord = a_texCoord; \n" +" gl_Position.y *= aspectRGB; \n" +"} \n"; + + +// Fragment/pixel shader +const GLchar* fragmentSourceRGB = +"precision mediump float; \n" +"varying vec2 texCoord; \n" +"uniform sampler2D texSampler; \n" +"uniform float fWindowCenterRGB; \n" +"uniform float fWindowWidthRGB; \n" +"void main() \n" +"{ \n" +" vec4 colorOut = texture2D(texSampler, texCoord); \n" +" float fMin = fWindowCenterRGB - fWindowWidthRGB/2.0;\n" +" float fMax = fWindowCenterRGB + fWindowWidthRGB/2.0;\n" +" float fTestValue = (fMax - fMin);\n" +" float fR = (colorOut.r*256.0 - fMin) / (fMax-fMin);\n" +" float fG = (colorOut.g*256.0 - fMin) / (fMax-fMin);\n" +" float fB = (colorOut.b*256.0 - fMin) / (fMax-fMin);\n" +" gl_FragColor = vec4(fR, fG, fB, 1.0); \n" +//" gl_FragColor = vec4(colorOut.r/fTestValue, 1.0, 1.0, 1.0); \n" + +"} \n"; + +void updateShader(EventHandler& eventHandler) +{ + Camera& camera = eventHandler.camera(); + + printf("updateShader: g_nColorType=%d\n", g_nColorType); + + + if(g_nColorType==0) + { + glUseProgram(g_shaderProgramGray16); + + glUniform2fv(g_shaderPanGray16, 1, camera.pan()); + glUniform1f(g_shaderZoomGray16, camera.zoom()); + glUniform1f(g_shaderAspectGray16, camera.aspect()); + } + else if(g_nColorType==1) + { + glUseProgram(g_shaderProgramRGB); + + glUniform2fv(g_shaderPanRGB, 1, camera.pan()); + glUniform1f(g_shaderZoomRGB, camera.zoom()); + glUniform1f(g_shaderAspectRGB, camera.aspect()); + } + +} + +void onErrorData(void* arg) +{ + printf("onErrorData %d\n", (int)arg); +} + +void updateTextureGray16(int nWidth, int nHeight, void* pData) +{ + glTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE_ALPHA, nWidth, nHeight, 0, GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE, pData); +} + +void updateTextureRGB(int nWidth, int nHeight, void* pData) +{ + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, nWidth, nHeight, 0, GL_RGB, GL_UNSIGNED_BYTE, pData); +} + +void updateWindowWidthLevelGray16(int nWidth, int nLevel) +{ + glUniform1f(g_shaderWindowCenterGray16, (float)nLevel); + glUniform1f(g_shaderWindowWidthGray16, (float)nWidth); +} + +void updateWindowWidthLevelRGB(int nWidth, int nLevel) +{ + glUniform1f(g_shaderWindowCenterRGB, (float)nLevel); + glUniform1f(g_shaderWindowWidthRGB, (float)nWidth); +} + + + + +void initShaderGray16() +{ + // Create and compile vertex shader + GLuint vertexShader = glCreateShader(GL_VERTEX_SHADER); + glShaderSource(vertexShader, 1, &vertexSourceGray16, NULL); + glCompileShader(vertexShader); + + // Create and compile fragment shader + GLuint fragmentShader = glCreateShader(GL_FRAGMENT_SHADER); + glShaderSource(fragmentShader, 1, &fragmentSourceGray16, NULL); + glCompileShader(fragmentShader); + + // Link vertex and fragment shader into shader program and use it + g_shaderProgramGray16 = glCreateProgram(); + glAttachShader(g_shaderProgramGray16, vertexShader); + glAttachShader(g_shaderProgramGray16, fragmentShader); + glLinkProgram(g_shaderProgramGray16); + //glUseProgram(g_shaderProgramGray16); + + // Get shader variables and initialize them + g_shaderPanGray16 = glGetUniformLocation(g_shaderProgramGray16, "pan"); + g_shaderZoomGray16 = glGetUniformLocation(g_shaderProgramGray16, "zoom"); + g_shaderAspectGray16 = glGetUniformLocation(g_shaderProgramGray16, "aspect"); + g_shaderWindowCenterGray16 = glGetUniformLocation(g_shaderProgramGray16, "fWindowCenter"); + g_shaderWindowWidthGray16 = glGetUniformLocation(g_shaderProgramGray16, "fWindowWidth"); + + glUniform1f(g_shaderWindowCenterGray16, 128.0f); + glUniform1f(g_shaderWindowWidthGray16, 255.0f); + //printf("pan:%d, zoom:%d, aspect:%d, g_shaderWindowCenterGray16:%d, g_shaderWindowWidthGray16:%d\n", g_shaderPanGray16, g_shaderZoomGray16, g_shaderAspectGray16, g_shaderWindowCenterGray16, g_shaderWindowWidthGray16); + + +} + + +void initShaderRGB() +{ + // Create and compile vertex shader + GLuint vertexShader = glCreateShader(GL_VERTEX_SHADER); + glShaderSource(vertexShader, 1, &vertexSourceRGB, NULL); + glCompileShader(vertexShader); + + // Create and compile fragment shader + GLuint fragmentShader = glCreateShader(GL_FRAGMENT_SHADER); + glShaderSource(fragmentShader, 1, &fragmentSourceRGB, NULL); + glCompileShader(fragmentShader); + + // Link vertex and fragment shader into shader program and use it + g_shaderProgramRGB = glCreateProgram(); + //printf("g_shaderProgramRGB: %d\n", g_shaderProgramRGB); + glAttachShader(g_shaderProgramRGB, vertexShader); + glAttachShader(g_shaderProgramRGB, fragmentShader); + glLinkProgram(g_shaderProgramRGB); + //glUseProgram(g_shaderProgramRGB); + + // Get shader variables and initialize them + g_shaderPanRGB = glGetUniformLocation(g_shaderProgramRGB, "panRGB"); + g_shaderZoomRGB = glGetUniformLocation(g_shaderProgramRGB, "zoomRGB"); + g_shaderAspectRGB = glGetUniformLocation(g_shaderProgramRGB, "aspectRGB"); + g_shaderWindowCenterRGB = glGetUniformLocation(g_shaderProgramRGB, "fWindowCenterRGB"); + g_shaderWindowWidthRGB = glGetUniformLocation(g_shaderProgramRGB, "fWindowWidthRGB"); + + glUniform1f(g_shaderWindowCenterRGB, 128.0f); + glUniform1f(g_shaderWindowWidthRGB, 255.0f); + //printf("pan:%d, zoom:%d, aspect:%d, g_shaderWindowCenterRGB:%d, g_shaderWindowWidthRGB:%d\n", g_shaderPanRGB, g_shaderZoomRGB, g_shaderAspectRGB, g_shaderWindowCenterRGB, g_shaderWindowWidthRGB); + + + +} + + + + +GLuint initShader(EventHandler& eventHandler) +{ + initShaderGray16(); + initShaderRGB(); + updateShader(eventHandler); + + g_pEventHandler = &eventHandler; + + return g_shaderProgramGray16; +} + +GLuint g_vbo = 0; + +void initGeometry(GLuint shaderProgram) +{ + // Create vertex buffer object and copy vertex data into it + + //printf("g_vbo: %d\n", g_vbo); + + g_nWindowSizeWidth = (int)g_pEventHandler->camera().windowSize().width; + g_nWindowSizeHeight = (int)g_pEventHandler->camera().windowSize().height; + + + float fWindowWidth = (float)g_pEventHandler->camera().windowSize().width; + float fWindowHeight = (float)g_pEventHandler->camera().windowSize().height; + + float fWindowRatio = fWindowWidth / fWindowHeight; + + float fFrameTextureRatio = (float)g_nFrameTextureWidth / (float)g_nFrameTextureHeight; + + float fRatioX = 1.0f; + float fRatioY = 1.0f; + + + float fRefWidthRatio = (float)g_nFrameTextureWidth / fWindowWidth; + float fRefHeightRatio = (float)g_nFrameTextureHeight / fWindowHeight; + + + if(fRefWidthRatio>fRefHeightRatio) + { + fRatioX = 1.0f; + fRatioY = (fWindowWidth*((float)g_nFrameTextureHeight/(float)g_nFrameTextureWidth)) / fWindowHeight; + } + else + { + fRatioY = 1.0f; + fRatioX = (fWindowHeight*((float)g_nFrameTextureWidth/(float)g_nFrameTextureHeight)) / fWindowWidth; + } + +/* + if(fRatioX>1.0f || fRatioY>1.0f) + { + float fMax = fRatioX; + if(fRatioXtransferInit(); + { + error = g_pDcmDataset->read(dcmBuffer2, EXS_LittleEndianExplicit); + g_pDcmDataset->findAndGetOFString(DCM_TransferSyntaxUID, strTransferSyntaxUID); + g_pDcmDataset->transferEnd(); + dcmBuffer2.releaseBuffer(); + + delete g_pDcmDataset; + g_pDcmDataset = new DcmDataset; + } + if (strTransferSyntaxUID.size() > 0) + { + + } + + DcmXfer dcmXfer(strTransferSyntaxUID.c_str()); + + + + g_pDcmDataset->transferInit(); + + //error = g_pDcmDataset->read(dcmBuffer, EXS_JPEGProcess14SV1); + error = g_pDcmDataset->read(dcmBuffer, dcmXfer.getXfer()); + if(error.bad()) + { + printf("Dataset State: %u(%s)\n", g_pDcmDataset->transferState(), error.text()); + } + + g_pDcmDataset->transferEnd(); + + dcmBuffer.releaseBuffer(); + + + g_nTotalFrames = 1; + g_nFrameTextureWidth = 0; + g_nFrameTextureHeight = 0; + g_nSamplesPerPixel = 1; + g_nBitsAllocated = 8; + + + Uint16 val = 0; + g_pDcmDataset->findAndGetUint16(DCM_Rows, val); + g_nFrameTextureHeight = val; + + g_pDcmDataset->findAndGetUint16(DCM_Columns, val); + g_nFrameTextureWidth = val; + + g_pDcmDataset->findAndGetUint16(DCM_SamplesPerPixel, val); + g_nSamplesPerPixel = val; + + g_pDcmDataset->findAndGetUint16(DCM_BitsAllocated, val); + g_nBitsAllocated = val; + + int nMaxValue = pow(2, g_nBitsAllocated) - 1; + int nMinValue = 0; + + int nDefaultWindowWidth = nMaxValue - nMinValue; + int nDefaultWindowCenter = (nMaxValue + nMinValue)/2; + + Sint32 nFrames = 0; + OFString strTmp; + OFString strFrames; +// g_pDcmDataset->findAndGetSint32(DCM_NumberOfFrames, nFrames); + g_pDcmDataset->findAndGetOFString(DCM_NumberOfFrames, strFrames); + + nFrames = atoi(strFrames.c_str()); + if(nFrames<=0) + { + nFrames = 1; + } + else + { + strTmp = ""; + g_pDcmDataset->findAndGetOFString(DCM_FrameTime, strTmp); + printf("DCM_Frametime: %s\n", strTmp.c_str()); + + g_fFrameTime = atof(strTmp.c_str()); + + strTmp = ""; + g_pDcmDataset->findAndGetOFString(DCM_FrameDelay, strTmp); + printf("DCM_FrameDelay: %s\n", strTmp.c_str()); + + g_fFrameDelay = atof(strTmp.c_str()); + } + g_nTotalFrames = nFrames; + + + + strTmp = ""; + g_pDcmDataset->findAndGetOFString(DCM_WindowCenter, strTmp); + g_nDefaultWindowCenter = atoi(strTmp.c_str()); + if(g_nDefaultWindowCenter==0) + { + g_nDefaultWindowCenter = nDefaultWindowCenter; + } + if(g_nWindowCenter<=0 && g_nDefaultWindowCenter) + { + g_nWindowCenter = g_nDefaultWindowCenter; + } + + + + strTmp = ""; + g_pDcmDataset->findAndGetOFString(DCM_WindowWidth, strTmp); + g_nDefaultWindowWidth = atoi(strTmp.c_str()); + if(g_nDefaultWindowWidth==0) + { + g_nDefaultWindowWidth = nDefaultWindowWidth; + } + if(g_nWindowWidth<=0 && g_nDefaultWindowWidth>0) + { + g_nWindowWidth = g_nDefaultWindowWidth; + } + + +/* + Float64 fValue = 0.0f; + fValue = 0; + g_nDefaultWindowCenter = 0; + g_pDcmDataset->findAndGetFloat64(DCM_WindowCenter, fValue); + g_nDefaultWindowCenter = (int)val; + if(g_nWindowCenter<=0 && g_nDefaultWindowCenter) + { + g_nWindowCenter = g_nDefaultWindowCenter; + } + + fValue = 0; + g_pDcmDataset->findAndGetFloat64(DCM_WindowWidth, fValue); + g_nDefaultWindowWidth = (int)val; + if(g_nWindowWidth<=0 && g_nDefaultWindowWidth>0) + { + g_nWindowWidth = g_nDefaultWindowWidth; + } + */ + + printf("File WindowWidth: %d, WindowCenter: %d\n", g_nDefaultWindowWidth, g_nDefaultWindowCenter); + + + + g_nPrevWindowCenter = g_nWindowCenter; + g_nPrevWindowWidth = g_nWindowWidth; + + + + if(g_nSamplesPerPixel==3 && g_nBitsAllocated==8) + { + g_nColorType = 1; + } + else + { + g_nColorType = 0; + } + + + printf("ColorType:%d, Width:%d, Height:%d, TotalFrames:(%s)(%d) SamplesPerPixel:%d, BitsAllocated:%d\n", g_nColorType, g_nFrameTextureWidth, g_nFrameTextureHeight, strFrames.c_str(), g_nTotalFrames, g_nSamplesPerPixel, g_nBitsAllocated); + + if(g_nFrameTextureWidth==0) + { + DcmElement* pElement = NULL; + g_pDcmDataset->findAndGetElement(DCM_Columns, pElement); + printf("pElement: %x\n", pElement); + } + + + + + + + + g_pixelDataElement = NULL; + g_pDcmDataset->findAndGetElement(DCM_PixelData, g_pixelDataElement); + + printf("OnLoadedData: g_pixelDataElement: %x\n", g_pixelDataElement); + + const Uint8* pImageData = NULL; + g_pDcmDataset->findAndGetUint8Array(DCM_PixelData, pImageData); + + if(pImageData!=NULL) + { + error = g_pDcmDataset->chooseRepresentation(EXS_LittleEndianExplicit, NULL); + if(error.bad()) + { + printf("chooseRepresentation: %s\n", error.text()); + } + else + { + g_pDcmDataset->findAndGetUint8Array(DCM_PixelData, pImageData); + } + } + else + { + printf("Find Pixel Data!!!\n"); + if(g_pixelDataElement->isEmpty()==true) + { + printf("PixelData is Empty!!\n"); + } + else + { + printf("ok0\n"); + Uint32 nFrameSizeUncompressed = 0; + g_pixelDataElement->getUncompressedFrameSize(g_pDcmDataset, nFrameSizeUncompressed); + g_nFrameSizeUncompressed = nFrameSizeUncompressed; + + printf("ok1: %d\n", g_nFrameSizeUncompressed); + + if(g_pBuf!=NULL) + { + delete[] g_pBuf; + } + + g_pBuf = new char[g_nFrameSizeUncompressed]; + + OFCondition ofTest; + OFString decompressedColorModel; + + Uint32 startFragment = 0; + + + ofTest = g_pixelDataElement->getUncompressedFrame(g_pDcmDataset, 1, startFragment, g_pBuf, g_nFrameSizeUncompressed, decompressedColorModel); + + //printf("updateTextureRGB: %d, %d, %d, %d, %s\nerror: %s\n", g_nFrameTextureWidth, g_nFrameTextureHeight, startFragment, g_nFrameSizeUncompressed, decompressedColorModel.c_str(), ofTest.text()); + + updateTextureRGB(g_nFrameTextureWidth, g_nFrameTextureHeight, g_pBuf); + + + //printf("sizeF: %d\n", sizeF); + } + } + + + if(callback_UpdateDcmImageComplete!=NULL) + { + printf("callback_UpdateDcmImageComplete\n"); + callback_UpdateDcmImageComplete(); + } + + g_bChange = true; + //g_bChange = false; + + //printf("load OK!\n"); +} + + + + +void initTextureGray16() +{ + + const Uint16* pImageData = NULL; + g_pDcmDataset->findAndGetUint16Array(DCM_PixelData, pImageData); + + + int w = g_nFrameTextureWidth; + int h = g_nFrameTextureHeight; + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + { + glGenTextures(1, &textureObj); + + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_2D, textureObj); + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + + + PrintError(); + glTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE_ALPHA, w, h, 0, GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE, pImageData); + PrintError(); + + GLint nTextureID = glGetUniformLocation(g_shaderProgramGray16, "texSampler"); + + glActiveTexture(GL_TEXTURE0); + + glUniform1i(nTextureID, 0); + } +} + + +void initTextureRGB() +{ + const Uint8* pImageData = NULL; + g_pDcmDataset->findAndGetUint8Array(DCM_PixelData, pImageData); + + int w = g_nFrameTextureWidth; + int h = g_nFrameTextureHeight; + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + GLint format = GL_RGB; + + if(textureObj>=0) + { + glBindTexture(GL_TEXTURE_2D, 0); + + glDeleteTextures(1, &textureObj); + } + + glGenTextures(1, &textureObj); + + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_2D, textureObj); + + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + + + PrintError(); + + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, w, h, 0, GL_RGB, GL_UNSIGNED_BYTE, pImageData); + + PrintError(); + + GLint nTextureID = glGetUniformLocation(g_shaderProgramRGB, "texSampler"); + + glActiveTexture(GL_TEXTURE0); + + glUniform1i(nTextureID, 0); + +} + + + +void redraw(EventHandler& eventHandler) +{ + + int nWindowSizeWidth = (int)g_pEventHandler->camera().windowSize().width; + int nWindowSizeHeight = (int)g_pEventHandler->camera().windowSize().height; + + bool bSizeChange = false; + + if(nWindowSizeWidth != g_nWindowSizeWidth || + nWindowSizeHeight != g_nWindowSizeHeight) + { + bSizeChange = true; + + } + + if(g_bChange==true) + { + if(g_nColorType==0) + { + printf("redraw: initTextureGray16\n"); + initGeometry(g_shaderProgramGray16); + glUseProgram(g_shaderProgramGray16); + initTextureGray16(); + updateShader(*g_pEventHandler); + } + else if(g_nColorType==1) + { + printf("redraw: initTextureRGB\n"); + initGeometry(g_shaderProgramRGB); + glUseProgram(g_shaderProgramRGB); + initTextureRGB(); + updateShader(*g_pEventHandler); + } + g_bChange = false; + } + + if(bSizeChange==true) + { + if(g_nColorType==0) + { + printf("redraw: SizeChange initTextureGray16\n"); + initGeometry(g_shaderProgramGray16); + } + else if(g_nColorType==1) + { + printf("redraw: SizeChange initTextureRGB\n"); + initGeometry(g_shaderProgramRGB); + } + + g_nWindowSizeWidth = (int)g_pEventHandler->camera().windowSize().width; + g_nWindowSizeHeight = (int)g_pEventHandler->camera().windowSize().height; + } + + if(g_nTotalFrames>1) + { + OFCondition ofTest; + OFString decompressedColorModel; + + Uint32 nDisplayFrameIndex = g_nCurrentFrame; + + ofTest = g_pixelDataElement->getUncompressedFrame(g_pDcmDataset, 1, nDisplayFrameIndex, g_pBuf, g_nFrameSizeUncompressed, decompressedColorModel); + + if(g_nColorType==0) + { + + updateTextureGray16(g_nFrameTextureWidth, g_nFrameTextureHeight, g_pBuf); + } + else if(g_nColorType==1) + { + + //printf("updateTextureRGB: %d, %d, %d, %d, %s\nerror: %s\n", g_nFrameTextureWidth, g_nFrameTextureHeight, g_nCurrentFrame, g_nFrameSizeUncompressed, decompressedColorModel.c_str(), ofTest.text()); + updateTextureRGB(g_nFrameTextureWidth, g_nFrameTextureHeight, g_pBuf); + } + + if(g_nCurrentFrame>=g_nTotalFrames) + { + g_nCurrentFrame = 0; + } + } + else + { +/* + const Uint8* pImageData = NULL; + + g_pDcmDataset->findAndGetUint8Array(DCM_PixelData, pImageData); + + if(g_nColorType==0) + { + printf("updateTextureGray16: %d\n", g_nCurrentFrame); + updateTextureGray16(g_nFrameTextureWidth, g_nFrameTextureHeight, (void*)pImageData); + } + else if(g_nColorType==1) + { + printf("updateTextureRGB: %d, %d, %x\n", g_nFrameTextureWidth, g_nFrameTextureHeight, pImageData); + //printf("updateTextureRGB: %d, %d, %d, %d, %s\nerror: %s\n", g_nFrameTextureWidth, g_nFrameTextureHeight, g_nCurrentFrame, g_nFrameSizeUncompressed, decompressedColorModel.c_str(), ofTest.text()); + updateTextureRGB(g_nFrameTextureWidth, g_nFrameTextureHeight, (void*)pImageData); + } + + */ + } + + + + if(g_nColorType==0) + { + updateWindowWidthLevelGray16(g_nPrevWindowWidth, g_nPrevWindowCenter); + } + else if(g_nColorType==1) + { + updateWindowWidthLevelRGB(g_nPrevWindowWidth, g_nPrevWindowCenter); + + } + // Clear screen + glClearColor(0.0, 0.0, 0.0, 1.0); + glClear(GL_COLOR_BUFFER_BIT); + + //glUseProgram(g_shaderProgramGray16); + +// glActiveTexture(GL_TEXTURE0); +// glBindTexture(GL_TEXTURE_2D, textureObj); + + //glBindBuffer(GL_ARRAY_BUFFER, g_vbo); + + // Draw the vertex buffer + glDrawArrays(GL_TRIANGLES, 0, 6); + //glDrawArrays(GL_QUADS, 0, 4); + + // Swap front/back framebuffers + eventHandler.swapWindow(); + + //printf("redraw\n"); +} + +void mainLoop(void* mainLoopArg) +{ + EventHandler& eventHandler = *((EventHandler*)mainLoopArg); + eventHandler.processEvents(); + + int nType = eventHandler.GetEventType(); + if(nType==1 || nType==2) + { + float fDeltaX = eventHandler.GetDeltaX(); + float fDeltaY = eventHandler.GetDeltaY(); + + + g_nPrevWindowCenter = g_nWindowCenter+fDeltaY; + g_nPrevWindowWidth = g_nWindowWidth + fDeltaX; + + + + + //printf("DeltaX: %f, DeltaY:%f, (%d, %d)\n", fDeltaX, fDeltaY, g_nPrevWindowCenter, g_nPrevWindowWidth); + +// glUniform1f(g_shaderWindowCenterGray16, (float)g_nPrevWindowCenter); +// glUniform1f(g_shaderWindowWidthGray16, (float)g_nPrevWindowWidth); +// + + } + else if(nType==3 || nType==4) + { + g_nWindowCenter = g_nPrevWindowCenter; + g_nWindowWidth = g_nPrevWindowWidth; + + } + +// glUniform1f(g_shaderWindowCenterGray16, (float)g_nPrevWindowCenter); +// glUniform1f(g_shaderWindowWidthGray16, (float)g_nPrevWindowWidth); + + // Update shader if camera changed + if (eventHandler.camera().updated()) + updateShader(eventHandler); + + redraw(eventHandler); +} + +#ifdef __cplusplus +#define EXTERN extern "C" +#else +#define EXTERN +#endif + +EXTERN EMSCRIPTEN_KEEPALIVE int UpdateDcmImage(std::string strFile) +{ + printf("UpdateDcmImage: %s\n", strFile.c_str()); + + emscripten_async_wget_data(strFile.c_str(), (void*)135, onLoadedData, onErrorData); + + return 0; +} + +EXTERN EMSCRIPTEN_KEEPALIVE int SetWindowWidthLevel(int nWindowCenter, int nWindowWidth) +{ + printf("New nWindowCenter:%d, nWindowWidth:%d\n", nWindowCenter, nWindowWidth); + + g_nWindowCenter = nWindowCenter; + g_nWindowWidth = nWindowWidth; + + g_nPrevWindowCenter = g_nWindowCenter; + g_nPrevWindowWidth = g_nWindowWidth; + + + return 0; +} + + + + +EXTERN EMSCRIPTEN_KEEPALIVE int SetDisplayFrameIndex(int nIndex) +{ + g_nCurrentFrame = nIndex; + + if(g_nCurrentFrame>=g_nTotalFrames) + { + g_nCurrentFrame = g_nTotalFrames-1; + } + + return 0; +} + +EXTERN EMSCRIPTEN_KEEPALIVE int SetResizeFrame(int nWidth, int nHeight) +{ + printf("SetResizeFrame: (%d, %d)\n", nWidth, nHeight); + + g_pEventHandler->camera().setWindowSize(nWidth, nHeight); + return 0; +} +EXTERN EMSCRIPTEN_KEEPALIVE int GetWindowWidth() +{ + return g_nWindowWidth; +} + +EXTERN EMSCRIPTEN_KEEPALIVE int GetWindowCenter() +{ + return g_nWindowCenter; +} + +EXTERN EMSCRIPTEN_KEEPALIVE int GetTotalFrames() +{ + return g_nTotalFrames; +} + +EXTERN EMSCRIPTEN_KEEPALIVE float GetFrameUpdateTimeDelay() +{ + return (g_fFrameDelay + g_fFrameTime); +} + + +EXTERN EMSCRIPTEN_KEEPALIVE bool SetCallbackUpdateDcmImageComplete(callback_UpdateDcmImage callback_) +{ + printf("SetCallbackUpdateDcmImage: %x\n", callback_); + + callback_UpdateDcmImageComplete = callback_; + return true; +} + + + +int main(int argc, char** argv) +{ + OFLog::configure(OFLogger::OFF_LOG_LEVEL); + EventHandler eventHandler("dcm image viewer"); + + // Initialize shader and geometry + GLuint shaderProgram = initShader(eventHandler); + + //initTexture(); + + // Start the main loop + void* mainLoopArg = &eventHandler; + + + DJDecoderRegistration::registerCodecs(); + DJLSDecoderRegistration::registerCodecs(); + DcmRLEDecoderRegistration::registerCodecs(); + + //emscripten_async_wget_data("http://49.171.226.18:1901/3.dcm", (void*)135, onLoadedData, onErrorData); + + +#ifdef __EMSCRIPTEN__ + int fps = 0; // Use browser's requestAnimationFrame + emscripten_set_main_loop_arg(mainLoop, mainLoopArg, fps, true); +#else + while(true) + mainLoop(mainLoopArg); +#endif + + glDeleteTextures(1, &textureObj); + + glBindTexture(GL_TEXTURE_2D, 0); + + DJDecoderRegistration::cleanup(); + DJLSDecoderRegistration::cleanup(); + DcmRLEDecoderRegistration::cleanup(); + + if(g_pDcmDataset!=NULL) + { + delete g_pDcmDataset; + g_pDcmDataset = NULL; + } + + printf("exit!!!!! c++ dcm_image_mod"); + + return 0; +} diff --git a/webassembly/dcm_image3.cc b/webassembly/dcm_image3.cc new file mode 100644 index 0000000..ce14e9a --- /dev/null +++ b/webassembly/dcm_image3.cc @@ -0,0 +1,1197 @@ +// +// Emscripten/SDL2/OpenGLES2 sample that demonstrates simple geometry and shaders, mouse and touch input, and window resizing +// +// Setup: +// Install emscripten: http://kripken.github.io/emscripten-site/docs/getting_started/downloads.html +// +// Build: +// emcc -std=c++11 hello_triangle.cpp events.cpp camera.cpp -s USE_SDL=2 -s FULL_ES2=1 -s WASM=0 -o hello_triangle.html +// +// Run: +// emrun hello_triangle.html +// +// Result: +// A colorful triangle. Left mouse pans, mouse wheel zooms in/out. Window is resizable. +// + +#ifdef __EMSCRIPTEN__ +#include +#endif + +#include +#include +//#include +//#include + +#include +#include "dcmtk/config/osconfig.h" +#include "dcmtk/dcmdata/dcfilefo.h" +#include "dcmtk/dcmdata/dcdeftag.h" +#include "dcmtk/dcmdata/dcuid.h" +#include "dcmtk/dcmdata/dcmetinf.h" +#include "dcmtk/dcmdata/dcdict.h" +#include "dcmtk/dcmdata/dcdicent.h" +#include "dcmtk/dcmdata/dcxfer.h" + +#include "dcmtk/dcmjpeg/djdecode.h" /* for JPEG decoders */ +#include "dcmtk/dcmjpeg/djencode.h" /* for JPEG encoders */ +#include "dcmtk/dcmjpls/djdecode.h" /* for JPEG-LS decoders */ +#include "dcmtk/dcmjpls/djencode.h" /* for JPEG-LS encoders */ +#include "dcmtk/dcmdata/dcrledrg.h" /* for RLE decoder */ +#include "dcmtk/dcmdata/dcrleerg.h" /* for RLE encoder */ +#include "dcmtk/dcmjpeg/dipijpeg.h" /* for dcmimage JPEG plugin */ +#include "dcmtk/dcmjpeg/djrplol.h" + + +#include "dcmtk/dcmimage/diregist.h" +#include "dcmtk/dcmdata/dcpixseq.h" +#include "dcmtk/dcmjpeg/djcparam.h" +#include "dcmtk/dcmjpeg/djeijg8.h" +#include "dcmtk/dcmjpeg/djcodece.h" +#include "dcmtk/dcmdata/dcchrstr.h" +#include "dcmtk/ofstd/ofchrenc.h" + +#include "dcmtk/dcmdata/dcvrui.h" +#include "dcmtk/dcmdata/dcvrsh.h" +#include "dcmtk/dcmdata/dcistrmb.h" +#include "dcmtk/oflog/loglevel.h" + + +#include "events.h" + +typedef void (*callback_UpdateDcmImage) (); +callback_UpdateDcmImage callback_UpdateDcmImageComplete = NULL; + +int g_nHandleWget = 0; +bool g_bCancelLoad = false; + +bool g_bLoadImage = false; + +DcmDataset* g_pDcmDataset = NULL; +DcmElement* g_pixelDataElement = NULL; +bool g_bChange = false; + +EventHandler* g_pEventHandler = NULL; + +GLuint textureObj = 0; + +GLuint g_shaderProgramGray16 = 0; +GLuint g_shaderProgramRGB = 0; + +// Vertex shader +GLint g_shaderPanGray16, g_shaderZoomGray16, g_shaderAspectGray16, g_shaderWindowCenterGray16, g_shaderWindowWidthGray16; +GLint g_shaderPanRGB, g_shaderZoomRGB, g_shaderAspectRGB, g_shaderWindowCenterRGB, g_shaderWindowWidthRGB; + +int g_nTotalBytes = 0; +int g_nReadBytes = 0; + +int g_nWindowWidth = 0; +int g_nWindowCenter = 0; + +int g_nPrevWindowWidth = 0; +int g_nPrevWindowCenter = 0; + +int g_nDefaultWindowWidth = 0; +int g_nDefaultWindowCenter = 0; + +int g_nColorType = 0; + +Uint32 g_nCurrentFrame = 0; +int g_nTotalFrames = 0; + +int g_nFrameTextureWidth = 0; +int g_nFrameTextureHeight = 0; + +int g_nSamplesPerPixel = 0; +int g_nBitsAllocated = 0; + +int g_nFrameSizeUncompressed = 0; + +int g_nWindowSizeWidth = 0; +int g_nWindowSizeHeight = 0; + +float g_fFrameTime = 0; +float g_fFrameDelay = 0; + + + + +char* g_pBuf = NULL; + +const GLchar* vertexSourceGray16 = +"uniform vec2 pan; \n" +"uniform float zoom; \n" +"uniform float aspect; \n" +"attribute vec4 position; \n" +"attribute vec2 a_texCoord; \n" +"varying vec2 texCoord; \n" +"void main() \n" +"{ \n" +" gl_Position = vec4(position.xyz, 1.0); \n" +" gl_Position.xy += pan; \n" +" gl_Position.xy *= zoom; \n" +" texCoord = a_texCoord; \n" +" gl_Position.y *= aspect; \n" +"} \n"; + + +// Fragment/pixel shader +const GLchar* fragmentSourceGray16 = +"precision mediump float; \n" +"varying vec2 texCoord; \n" +"uniform sampler2D texSampler; \n" +"uniform float fWindowCenter; \n" +"uniform float fWindowWidth; \n" +"void main() \n" +"{ \n" +" vec4 colorOut = texture2D(texSampler, texCoord); \n" +" float fMin = fWindowCenter - fWindowWidth/2.0;\n" +" float fMax = fWindowCenter + fWindowWidth/2.0;\n" +" float fData = ( ((colorOut.a + colorOut.r*256.0)*256.0) - fMin)/(fMax-fMin); \n" +" fData = ( ((colorOut.a + colorOut.a*256.0)*256.0) - fMin)/(fMax-fMin); \n" +" fData = colorOut.r;\n" +" fData = (((colorOut.a * 256.0 + colorOut.r)*256.0) - fMin) / (fMax-fMin);" +" float fTmpData = fMin;\n" +" gl_FragColor = vec4(fData, fData, fData, 1.0); \n" + +"} \n"; + + + +const GLchar* vertexSourceRGB = +"uniform vec2 panRGB; \n" +"uniform float zoomRGB; \n" +"uniform float aspectRGB; \n" +"attribute vec4 position; \n" +"attribute vec2 a_texCoord; \n" +"varying vec2 texCoord; \n" +"void main() \n" +"{ \n" +" gl_Position = vec4(position.xyz, 1.0); \n" +" gl_Position.xy += panRGB; \n" +" gl_Position.xy *= zoomRGB; \n" +" texCoord = a_texCoord; \n" +" gl_Position.y *= aspectRGB; \n" +"} \n"; + + +// Fragment/pixel shader +const GLchar* fragmentSourceRGB = +"precision mediump float; \n" +"varying vec2 texCoord; \n" +"uniform sampler2D texSampler; \n" +"uniform float fWindowCenterRGB; \n" +"uniform float fWindowWidthRGB; \n" +"void main() \n" +"{ \n" +" vec4 colorOut = texture2D(texSampler, texCoord); \n" +" float fMin = fWindowCenterRGB - fWindowWidthRGB/2.0;\n" +" float fMax = fWindowCenterRGB + fWindowWidthRGB/2.0;\n" +" float fTestValue = (fMax - fMin);\n" +" float fR = (colorOut.r*256.0 - fMin) / (fMax-fMin);\n" +" float fG = (colorOut.g*256.0 - fMin) / (fMax-fMin);\n" +" float fB = (colorOut.b*256.0 - fMin) / (fMax-fMin);\n" +" gl_FragColor = vec4(fR, fG, fB, 1.0); \n" +//" gl_FragColor = vec4(colorOut.r/fTestValue, 1.0, 1.0, 1.0); \n" + +"} \n"; + +void updateShader(EventHandler& eventHandler) +{ + Camera& camera = eventHandler.camera(); + + //printf("updateShader: g_nColorType=%d\n", g_nColorType); + + + if(g_nColorType==0) + { + glUseProgram(g_shaderProgramGray16); + + glUniform2fv(g_shaderPanGray16, 1, camera.pan()); + glUniform1f(g_shaderZoomGray16, camera.zoom()); + glUniform1f(g_shaderAspectGray16, camera.aspect()); + } + else if(g_nColorType==1) + { + glUseProgram(g_shaderProgramRGB); + + glUniform2fv(g_shaderPanRGB, 1, camera.pan()); + glUniform1f(g_shaderZoomRGB, camera.zoom()); + glUniform1f(g_shaderAspectRGB, camera.aspect()); + } + +} + + + + + + +void updateTextureGray16(int nWidth, int nHeight, void* pData) +{ + glTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE_ALPHA, nWidth, nHeight, 0, GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE, pData); +} + +void updateTextureRGB(int nWidth, int nHeight, void* pData) +{ + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, nWidth, nHeight, 0, GL_RGB, GL_UNSIGNED_BYTE, pData); +} + +void updateWindowWidthLevelGray16(int nWidth, int nLevel) +{ + glUniform1f(g_shaderWindowCenterGray16, (float)nLevel); + glUniform1f(g_shaderWindowWidthGray16, (float)nWidth); +} + +void updateWindowWidthLevelRGB(int nWidth, int nLevel) +{ + glUniform1f(g_shaderWindowCenterRGB, (float)nLevel); + glUniform1f(g_shaderWindowWidthRGB, (float)nWidth); +} + + + + +void initShaderGray16() +{ + // Create and compile vertex shader + GLuint vertexShader = glCreateShader(GL_VERTEX_SHADER); + glShaderSource(vertexShader, 1, &vertexSourceGray16, NULL); + glCompileShader(vertexShader); + + // Create and compile fragment shader + GLuint fragmentShader = glCreateShader(GL_FRAGMENT_SHADER); + glShaderSource(fragmentShader, 1, &fragmentSourceGray16, NULL); + glCompileShader(fragmentShader); + + // Link vertex and fragment shader into shader program and use it + g_shaderProgramGray16 = glCreateProgram(); + glAttachShader(g_shaderProgramGray16, vertexShader); + glAttachShader(g_shaderProgramGray16, fragmentShader); + glLinkProgram(g_shaderProgramGray16); + //glUseProgram(g_shaderProgramGray16); + + // Get shader variables and initialize them + g_shaderPanGray16 = glGetUniformLocation(g_shaderProgramGray16, "pan"); + g_shaderZoomGray16 = glGetUniformLocation(g_shaderProgramGray16, "zoom"); + g_shaderAspectGray16 = glGetUniformLocation(g_shaderProgramGray16, "aspect"); + g_shaderWindowCenterGray16 = glGetUniformLocation(g_shaderProgramGray16, "fWindowCenter"); + g_shaderWindowWidthGray16 = glGetUniformLocation(g_shaderProgramGray16, "fWindowWidth"); + + glUniform1f(g_shaderWindowCenterGray16, 128.0f); + glUniform1f(g_shaderWindowWidthGray16, 255.0f); + ////printf("pan:%d, zoom:%d, aspect:%d, g_shaderWindowCenterGray16:%d, g_shaderWindowWidthGray16:%d\n", g_shaderPanGray16, g_shaderZoomGray16, g_shaderAspectGray16, g_shaderWindowCenterGray16, g_shaderWindowWidthGray16); + + +} + + +void initShaderRGB() +{ + // Create and compile vertex shader + GLuint vertexShader = glCreateShader(GL_VERTEX_SHADER); + glShaderSource(vertexShader, 1, &vertexSourceRGB, NULL); + glCompileShader(vertexShader); + + // Create and compile fragment shader + GLuint fragmentShader = glCreateShader(GL_FRAGMENT_SHADER); + glShaderSource(fragmentShader, 1, &fragmentSourceRGB, NULL); + glCompileShader(fragmentShader); + + // Link vertex and fragment shader into shader program and use it + g_shaderProgramRGB = glCreateProgram(); + ////printf("g_shaderProgramRGB: %d\n", g_shaderProgramRGB); + glAttachShader(g_shaderProgramRGB, vertexShader); + glAttachShader(g_shaderProgramRGB, fragmentShader); + glLinkProgram(g_shaderProgramRGB); + //glUseProgram(g_shaderProgramRGB); + + // Get shader variables and initialize them + g_shaderPanRGB = glGetUniformLocation(g_shaderProgramRGB, "panRGB"); + g_shaderZoomRGB = glGetUniformLocation(g_shaderProgramRGB, "zoomRGB"); + g_shaderAspectRGB = glGetUniformLocation(g_shaderProgramRGB, "aspectRGB"); + g_shaderWindowCenterRGB = glGetUniformLocation(g_shaderProgramRGB, "fWindowCenterRGB"); + g_shaderWindowWidthRGB = glGetUniformLocation(g_shaderProgramRGB, "fWindowWidthRGB"); + + glUniform1f(g_shaderWindowCenterRGB, 128.0f); + glUniform1f(g_shaderWindowWidthRGB, 255.0f); + ////printf("pan:%d, zoom:%d, aspect:%d, g_shaderWindowCenterRGB:%d, g_shaderWindowWidthRGB:%d\n", g_shaderPanRGB, g_shaderZoomRGB, g_shaderAspectRGB, g_shaderWindowCenterRGB, g_shaderWindowWidthRGB); + + + +} + + + + +GLuint initShader(EventHandler& eventHandler) +{ + initShaderGray16(); + initShaderRGB(); + updateShader(eventHandler); + + g_pEventHandler = &eventHandler; + + return g_shaderProgramGray16; +} + +GLuint g_vbo = 0; + +void initGeometry(GLuint shaderProgram) +{ + // Create vertex buffer object and copy vertex data into it + + ////printf("g_vbo: %d\n", g_vbo); + + g_nWindowSizeWidth = (int)g_pEventHandler->camera().windowSize().width; + g_nWindowSizeHeight = (int)g_pEventHandler->camera().windowSize().height; + + + float fWindowWidth = (float)g_pEventHandler->camera().windowSize().width; + float fWindowHeight = (float)g_pEventHandler->camera().windowSize().height; + + float fWindowRatio = fWindowWidth / fWindowHeight; + + float fFrameTextureRatio = (float)g_nFrameTextureWidth / (float)g_nFrameTextureHeight; + + float fRatioX = 1.0f; + float fRatioY = 1.0f; + + + float fRefWidthRatio = (float)g_nFrameTextureWidth / fWindowWidth; + float fRefHeightRatio = (float)g_nFrameTextureHeight / fWindowHeight; + + + if(fRefWidthRatio>fRefHeightRatio) + { + fRatioX = 1.0f; + fRatioY = (fWindowWidth*((float)g_nFrameTextureHeight/(float)g_nFrameTextureWidth)) / fWindowHeight; + } + else + { + fRatioY = 1.0f; + fRatioX = (fWindowHeight*((float)g_nFrameTextureWidth/(float)g_nFrameTextureHeight)) / fWindowWidth; + } + +/* + if(fRatioX>1.0f || fRatioY>1.0f) + { + float fMax = fRatioX; + if(fRatioXtransferInit(); + { + error = g_pDcmDataset->read(dcmBuffer2, EXS_LittleEndianExplicit); + g_pDcmDataset->findAndGetOFString(DCM_TransferSyntaxUID, strTransferSyntaxUID); + g_pDcmDataset->transferEnd(); + dcmBuffer2.releaseBuffer(); + + delete g_pDcmDataset; + g_pDcmDataset = new DcmDataset; + } + if (strTransferSyntaxUID.size() > 0) + { + + } + + DcmXfer dcmXfer(strTransferSyntaxUID.c_str()); + + + + g_pDcmDataset->transferInit(); + + //error = g_pDcmDataset->read(dcmBuffer, EXS_JPEGProcess14SV1); + error = g_pDcmDataset->read(dcmBuffer, dcmXfer.getXfer()); + if(error.bad()) + { + //printf("Dataset State: %u(%s)\n", g_pDcmDataset->transferState(), error.text()); + } + + g_pDcmDataset->transferEnd(); + + dcmBuffer.releaseBuffer(); + + + g_nTotalFrames = 1; + g_nFrameTextureWidth = 0; + g_nFrameTextureHeight = 0; + g_nSamplesPerPixel = 1; + g_nBitsAllocated = 8; + + + Uint16 val = 0; + g_pDcmDataset->findAndGetUint16(DCM_Rows, val); + g_nFrameTextureHeight = val; + + g_pDcmDataset->findAndGetUint16(DCM_Columns, val); + g_nFrameTextureWidth = val; + + g_pDcmDataset->findAndGetUint16(DCM_SamplesPerPixel, val); + g_nSamplesPerPixel = val; + + g_pDcmDataset->findAndGetUint16(DCM_BitsAllocated, val); + g_nBitsAllocated = val; + + int nMaxValue = pow(2, g_nBitsAllocated) - 1; + int nMinValue = 0; + + int nDefaultWindowWidth = nMaxValue - nMinValue; + int nDefaultWindowCenter = (nMaxValue + nMinValue)/2; + + Sint32 nFrames = 0; + OFString strTmp; + OFString strFrames; +// g_pDcmDataset->findAndGetSint32(DCM_NumberOfFrames, nFrames); + g_pDcmDataset->findAndGetOFString(DCM_NumberOfFrames, strFrames); + + nFrames = atoi(strFrames.c_str()); + if(nFrames<=0) + { + nFrames = 1; + } + else + { + strTmp = ""; + g_pDcmDataset->findAndGetOFString(DCM_FrameTime, strTmp); + //printf("DCM_Frametime: %s\n", strTmp.c_str()); + + g_fFrameTime = atof(strTmp.c_str()); + + strTmp = ""; + g_pDcmDataset->findAndGetOFString(DCM_FrameDelay, strTmp); + //printf("DCM_FrameDelay: %s\n", strTmp.c_str()); + + g_fFrameDelay = atof(strTmp.c_str()); + } + g_nTotalFrames = nFrames; + + + + strTmp = ""; + g_pDcmDataset->findAndGetOFString(DCM_WindowCenter, strTmp); + g_nDefaultWindowCenter = atoi(strTmp.c_str()); + if(g_nDefaultWindowCenter==0) + { + g_nDefaultWindowCenter = nDefaultWindowCenter; + } + if(g_nWindowCenter<=0 && g_nDefaultWindowCenter) + { + g_nWindowCenter = g_nDefaultWindowCenter; + } + + + + strTmp = ""; + g_pDcmDataset->findAndGetOFString(DCM_WindowWidth, strTmp); + g_nDefaultWindowWidth = atoi(strTmp.c_str()); + if(g_nDefaultWindowWidth==0) + { + g_nDefaultWindowWidth = nDefaultWindowWidth; + } + if(g_nWindowWidth<=0 && g_nDefaultWindowWidth>0) + { + g_nWindowWidth = g_nDefaultWindowWidth; + } + + +/* + Float64 fValue = 0.0f; + fValue = 0; + g_nDefaultWindowCenter = 0; + g_pDcmDataset->findAndGetFloat64(DCM_WindowCenter, fValue); + g_nDefaultWindowCenter = (int)val; + if(g_nWindowCenter<=0 && g_nDefaultWindowCenter) + { + g_nWindowCenter = g_nDefaultWindowCenter; + } + + fValue = 0; + g_pDcmDataset->findAndGetFloat64(DCM_WindowWidth, fValue); + g_nDefaultWindowWidth = (int)val; + if(g_nWindowWidth<=0 && g_nDefaultWindowWidth>0) + { + g_nWindowWidth = g_nDefaultWindowWidth; + } + */ + + //printf("File WindowWidth: %d, WindowCenter: %d\n", g_nDefaultWindowWidth, g_nDefaultWindowCenter); + + + + g_nPrevWindowCenter = g_nWindowCenter; + g_nPrevWindowWidth = g_nWindowWidth; + + + + if(g_nSamplesPerPixel==3 && g_nBitsAllocated==8) + { + g_nColorType = 1; + } + else + { + g_nColorType = 0; + } + + + //printf("ColorType:%d, Width:%d, Height:%d, TotalFrames:(%s)(%d) SamplesPerPixel:%d, BitsAllocated:%d\n", g_nColorType, g_nFrameTextureWidth, g_nFrameTextureHeight, strFrames.c_str(), g_nTotalFrames, g_nSamplesPerPixel, g_nBitsAllocated); + + if(g_nFrameTextureWidth==0) + { + DcmElement* pElement = NULL; + g_pDcmDataset->findAndGetElement(DCM_Columns, pElement); + //printf("pElement: %x\n", pElement); + } + + + + + + + + g_pixelDataElement = NULL; + g_pDcmDataset->findAndGetElement(DCM_PixelData, g_pixelDataElement); + + //printf("OnLoadedData: g_pixelDataElement: %x\n", g_pixelDataElement); + + const Uint8* pImageData = NULL; + g_pDcmDataset->findAndGetUint8Array(DCM_PixelData, pImageData); + + if(pImageData!=NULL) + { + error = g_pDcmDataset->chooseRepresentation(EXS_LittleEndianExplicit, NULL); + if(error.bad()) + { + //printf("chooseRepresentation: %s\n", error.text()); + } + else + { + g_pDcmDataset->findAndGetUint8Array(DCM_PixelData, pImageData); + } + } + else + { + //printf("Find Pixel Data!!!\n"); + if(g_pixelDataElement->isEmpty()==true) + { + //printf("PixelData is Empty!!\n"); + } + else + { + //printf("ok0\n"); + Uint32 nFrameSizeUncompressed = 0; + g_pixelDataElement->getUncompressedFrameSize(g_pDcmDataset, nFrameSizeUncompressed); + g_nFrameSizeUncompressed = nFrameSizeUncompressed; + + //printf("ok1: %d\n", g_nFrameSizeUncompressed); + + if(g_pBuf!=NULL) + { + delete[] g_pBuf; + } + + g_pBuf = new char[g_nFrameSizeUncompressed]; + + OFCondition ofTest; + OFString decompressedColorModel; + + Uint32 startFragment = 0; + + + ofTest = g_pixelDataElement->getUncompressedFrame(g_pDcmDataset, 1, startFragment, g_pBuf, g_nFrameSizeUncompressed, decompressedColorModel); + + ////printf("updateTextureRGB: %d, %d, %d, %d, %s\nerror: %s\n", g_nFrameTextureWidth, g_nFrameTextureHeight, startFragment, g_nFrameSizeUncompressed, decompressedColorModel.c_str(), ofTest.text()); + + updateTextureRGB(g_nFrameTextureWidth, g_nFrameTextureHeight, g_pBuf); + + + ////printf("sizeF: %d\n", sizeF); + } + } + + + if(callback_UpdateDcmImageComplete!=NULL) + { + printf("c++ callback_UpdateDcmImageComplete\n"); + callback_UpdateDcmImageComplete(); + } + + g_bChange = true; + //g_bChange = false; + + ////printf("load OK!\n"); +} + +void onErrorData2(unsigned nHandle, void* arg, int nHTTPCode, const char* strDescription) +{ + printf("onErrorData2 %d, %d, %d, %s\n", nHandle, (int)arg, nHTTPCode, strDescription); +} + +void onLoadedData2(unsigned nHandle, void* arg, void* buffer, unsigned nSize) +{ + if(g_bCancelLoad==true) + { + return; + } + + printf("onLoadedData2: %d(%d), %d, %d, %d\n", g_nHandleWget, nHandle, (int)arg, (int)buffer, nSize); + + if(g_nHandleWget==nHandle) + { + onLoadedData(arg, buffer, nSize); + } + + +} + +void onProgressData2(unsigned nHandle, void* arg, int nLoadedBytes, int nTotalBytes) +{ + //printf("onProgressData2: %d, %d, %d, %d\n", nHandle, (int)arg, nLoadedBytes, nTotalBytes); + g_nReadBytes = nLoadedBytes; + g_nTotalBytes = nTotalBytes; +} + + + +void initTextureGray16() +{ + + const Uint16* pImageData = NULL; + g_pDcmDataset->findAndGetUint16Array(DCM_PixelData, pImageData); + + + int w = g_nFrameTextureWidth; + int h = g_nFrameTextureHeight; + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + { + glGenTextures(1, &textureObj); + + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_2D, textureObj); + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + + + PrintError(); + glTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE_ALPHA, w, h, 0, GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE, pImageData); + PrintError(); + + GLint nTextureID = glGetUniformLocation(g_shaderProgramGray16, "texSampler"); + + glActiveTexture(GL_TEXTURE0); + + glUniform1i(nTextureID, 0); + } +} + + +void initTextureRGB() +{ + const Uint8* pImageData = NULL; + g_pDcmDataset->findAndGetUint8Array(DCM_PixelData, pImageData); + + int w = g_nFrameTextureWidth; + int h = g_nFrameTextureHeight; + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + GLint format = GL_RGB; + + if(textureObj>=0) + { + glBindTexture(GL_TEXTURE_2D, 0); + + glDeleteTextures(1, &textureObj); + } + + glGenTextures(1, &textureObj); + + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_2D, textureObj); + + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + + + PrintError(); + + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, w, h, 0, GL_RGB, GL_UNSIGNED_BYTE, pImageData); + + PrintError(); + + GLint nTextureID = glGetUniformLocation(g_shaderProgramRGB, "texSampler"); + + glActiveTexture(GL_TEXTURE0); + + glUniform1i(nTextureID, 0); + +} + + + +void redraw(EventHandler& eventHandler) +{ + + int nWindowSizeWidth = (int)g_pEventHandler->camera().windowSize().width; + int nWindowSizeHeight = (int)g_pEventHandler->camera().windowSize().height; + + bool bSizeChange = false; + + if(nWindowSizeWidth != g_nWindowSizeWidth || + nWindowSizeHeight != g_nWindowSizeHeight) + { + bSizeChange = true; + + } + + if(g_bChange==true) + { + if(g_nColorType==0) + { + //printf("redraw: initTextureGray16\n"); + initGeometry(g_shaderProgramGray16); + glUseProgram(g_shaderProgramGray16); + initTextureGray16(); + updateShader(*g_pEventHandler); + } + else if(g_nColorType==1) + { + //printf("redraw: initTextureRGB\n"); + initGeometry(g_shaderProgramRGB); + glUseProgram(g_shaderProgramRGB); + initTextureRGB(); + updateShader(*g_pEventHandler); + } + g_bChange = false; + } + + if(bSizeChange==true) + { + if(g_nColorType==0) + { + //printf("redraw: SizeChange initTextureGray16\n"); + initGeometry(g_shaderProgramGray16); + } + else if(g_nColorType==1) + { + //printf("redraw: SizeChange initTextureRGB\n"); + initGeometry(g_shaderProgramRGB); + } + + g_nWindowSizeWidth = (int)g_pEventHandler->camera().windowSize().width; + g_nWindowSizeHeight = (int)g_pEventHandler->camera().windowSize().height; + } + + if(g_nTotalFrames>1) + { + OFCondition ofTest; + OFString decompressedColorModel; + + Uint32 nDisplayFrameIndex = g_nCurrentFrame; + + ofTest = g_pixelDataElement->getUncompressedFrame(g_pDcmDataset, 1, nDisplayFrameIndex, g_pBuf, g_nFrameSizeUncompressed, decompressedColorModel); + + if(g_nColorType==0) + { + + updateTextureGray16(g_nFrameTextureWidth, g_nFrameTextureHeight, g_pBuf); + } + else if(g_nColorType==1) + { + + ////printf("updateTextureRGB: %d, %d, %d, %d, %s\nerror: %s\n", g_nFrameTextureWidth, g_nFrameTextureHeight, g_nCurrentFrame, g_nFrameSizeUncompressed, decompressedColorModel.c_str(), ofTest.text()); + updateTextureRGB(g_nFrameTextureWidth, g_nFrameTextureHeight, g_pBuf); + } + + if(g_nCurrentFrame>=g_nTotalFrames) + { + g_nCurrentFrame = 0; + } + } + else + { +/* + const Uint8* pImageData = NULL; + + g_pDcmDataset->findAndGetUint8Array(DCM_PixelData, pImageData); + + if(g_nColorType==0) + { + //printf("updateTextureGray16: %d\n", g_nCurrentFrame); + updateTextureGray16(g_nFrameTextureWidth, g_nFrameTextureHeight, (void*)pImageData); + } + else if(g_nColorType==1) + { + //printf("updateTextureRGB: %d, %d, %x\n", g_nFrameTextureWidth, g_nFrameTextureHeight, pImageData); + ////printf("updateTextureRGB: %d, %d, %d, %d, %s\nerror: %s\n", g_nFrameTextureWidth, g_nFrameTextureHeight, g_nCurrentFrame, g_nFrameSizeUncompressed, decompressedColorModel.c_str(), ofTest.text()); + updateTextureRGB(g_nFrameTextureWidth, g_nFrameTextureHeight, (void*)pImageData); + } + + */ + } + + + + if(g_nColorType==0) + { + updateWindowWidthLevelGray16(g_nPrevWindowWidth, g_nPrevWindowCenter); + } + else if(g_nColorType==1) + { + updateWindowWidthLevelRGB(g_nPrevWindowWidth, g_nPrevWindowCenter); + + } + // Clear screen + glClearColor(0.0, 0.0, 0.0, 1.0); + glClear(GL_COLOR_BUFFER_BIT); + + //glUseProgram(g_shaderProgramGray16); + +// glActiveTexture(GL_TEXTURE0); +// glBindTexture(GL_TEXTURE_2D, textureObj); + + //glBindBuffer(GL_ARRAY_BUFFER, g_vbo); + + // Draw the vertex buffer + glDrawArrays(GL_TRIANGLES, 0, 6); + //glDrawArrays(GL_QUADS, 0, 4); + + // Swap front/back framebuffers + eventHandler.swapWindow(); + + ////printf("redraw\n"); +} + +void mainLoop(void* mainLoopArg) +{ + EventHandler& eventHandler = *((EventHandler*)mainLoopArg); + eventHandler.processEvents(); + + int nType = eventHandler.GetEventType(); + if(nType==1 || nType==2) + { + float fDeltaX = eventHandler.GetDeltaX(); + float fDeltaY = eventHandler.GetDeltaY(); + + + g_nPrevWindowCenter = g_nWindowCenter+fDeltaY; + g_nPrevWindowWidth = g_nWindowWidth + fDeltaX; + + + + + ////printf("DeltaX: %f, DeltaY:%f, (%d, %d)\n", fDeltaX, fDeltaY, g_nPrevWindowCenter, g_nPrevWindowWidth); + +// glUniform1f(g_shaderWindowCenterGray16, (float)g_nPrevWindowCenter); +// glUniform1f(g_shaderWindowWidthGray16, (float)g_nPrevWindowWidth); +// + + } + else if(nType==3 || nType==4) + { + g_nWindowCenter = g_nPrevWindowCenter; + g_nWindowWidth = g_nPrevWindowWidth; + + } + +// glUniform1f(g_shaderWindowCenterGray16, (float)g_nPrevWindowCenter); +// glUniform1f(g_shaderWindowWidthGray16, (float)g_nPrevWindowWidth); + + // Update shader if camera changed + if (eventHandler.camera().updated()) + updateShader(eventHandler); + + redraw(eventHandler); +} + +#ifdef __cplusplus +#define EXTERN extern "C" +#else +#define EXTERN +#endif + + +EXTERN EMSCRIPTEN_KEEPALIVE int CancelLoadImage() +{ + printf("c++ CancelLoadImage: %d\n", g_nHandleWget); + g_bCancelLoad = true; + emscripten_async_wget2_abort(g_nHandleWget); + + printf("c++ Cancel Complete\n"); + return 0; +} + +EXTERN EMSCRIPTEN_KEEPALIVE int UpdateDcmImage(std::string strFile) +{ + + + g_nTotalBytes = 1000000000; + g_nReadBytes = 0; + + g_bCancelLoad = false; + + g_bLoadImage = true; + + //emscripten_async_wget_data(strFile.c_str(), (void*)135, onLoadedData, onErrorData); + g_nHandleWget = emscripten_async_wget2_data(strFile.c_str(), "GET", "", (void*)135, false, onLoadedData2, onErrorData2, onProgressData2); + + printf("c++ UpdateDcmImage: %d(%s)\n", g_nHandleWget, strFile.c_str()); + + return 0; +} + +EXTERN EMSCRIPTEN_KEEPALIVE int SetWindowWidthLevel(int nWindowCenter, int nWindowWidth) +{ + //printf("New nWindowCenter:%d, nWindowWidth:%d\n", nWindowCenter, nWindowWidth); + + g_nWindowCenter = nWindowCenter; + g_nWindowWidth = nWindowWidth; + + g_nPrevWindowCenter = g_nWindowCenter; + g_nPrevWindowWidth = g_nWindowWidth; + + + return 0; +} + + + + +EXTERN EMSCRIPTEN_KEEPALIVE int SetDisplayFrameIndex(int nIndex) +{ + g_nCurrentFrame = nIndex; + + if(g_nCurrentFrame>=g_nTotalFrames) + { + g_nCurrentFrame = g_nTotalFrames-1; + } + + return 0; +} + +EXTERN EMSCRIPTEN_KEEPALIVE int SetResizeFrame(int nWidth, int nHeight) +{ + //printf("SetResizeFrame: (%d, %d)\n", nWidth, nHeight); + + g_pEventHandler->camera().setWindowSize(nWidth, nHeight); + return 0; +} + +EXTERN EMSCRIPTEN_KEEPALIVE int GetTotalBytes() +{ + return g_nTotalBytes; +} + +EXTERN EMSCRIPTEN_KEEPALIVE int GetReadBytes() +{ + return g_nReadBytes; +} + +EXTERN EMSCRIPTEN_KEEPALIVE int GetWindowWidth() +{ + return g_nWindowWidth; +} + +EXTERN EMSCRIPTEN_KEEPALIVE int GetWindowCenter() +{ + return g_nWindowCenter; +} + +EXTERN EMSCRIPTEN_KEEPALIVE int GetTotalFrames() +{ + return g_nTotalFrames; +} + +EXTERN EMSCRIPTEN_KEEPALIVE float GetFrameUpdateTimeDelay() +{ + return (g_fFrameDelay + g_fFrameTime); +} + + +EXTERN EMSCRIPTEN_KEEPALIVE bool SetCallbackUpdateDcmImageComplete(callback_UpdateDcmImage callback_) +{ + //printf("SetCallbackUpdateDcmImage: %x\n", callback_); + + callback_UpdateDcmImageComplete = callback_; + return true; +} + + + +int main(int argc, char** argv) +{ + OFLog::configure(OFLogger::OFF_LOG_LEVEL); + EventHandler eventHandler("dcm image viewer"); + + // Initialize shader and geometry + GLuint shaderProgram = initShader(eventHandler); + + //initTexture(); + + // Start the main loop + void* mainLoopArg = &eventHandler; + + + DJDecoderRegistration::registerCodecs(); + DJLSDecoderRegistration::registerCodecs(); + DcmRLEDecoderRegistration::registerCodecs(); + + //emscripten_async_wget_data("http://49.171.226.18:1901/3.dcm", (void*)135, onLoadedData, onErrorData); + + +#ifdef __EMSCRIPTEN__ + int fps = 0; // Use browser's requestAnimationFrame + emscripten_set_main_loop_arg(mainLoop, mainLoopArg, fps, true); +#else + while(true) + mainLoop(mainLoopArg); +#endif + + glDeleteTextures(1, &textureObj); + + glBindTexture(GL_TEXTURE_2D, 0); + + DJDecoderRegistration::cleanup(); + DJLSDecoderRegistration::cleanup(); + DcmRLEDecoderRegistration::cleanup(); + + if(g_pDcmDataset!=NULL) + { + delete g_pDcmDataset; + g_pDcmDataset = NULL; + } + + //printf("exit!!!!! c++ dcm_image_mod"); + + return 0; +} diff --git a/webassembly/dcm_image_mod3.js b/webassembly/dcm_image_mod3.js new file mode 100644 index 0000000..ca7ce70 --- /dev/null +++ b/webassembly/dcm_image_mod3.js @@ -0,0 +1,14 @@ +var Module = (() => { + + return ( +async function(moduleArg = {}) { + var moduleRtn; + +var Module=moduleArg;var ENVIRONMENT_IS_WEB=true;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var _scriptName=import.meta.url;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_SHELL){const isNode=typeof process=="object"&&process.versions?.node&&process.type!="renderer";if(isNode||typeof window=="object"||typeof WorkerGlobalScope!="undefined")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)")}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}if(!(typeof window=="object"||typeof WorkerGlobalScope!="undefined"))throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");{readAsync=async url=>{assert(!isFileURI(url),"readAsync does not work with file:// URLs");var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{throw new Error("environment detection error")}var out=console.log.bind(console);var err=console.error.bind(console);assert(!ENVIRONMENT_IS_WORKER,"worker environment detected but not enabled at build time. Add `worker` to `-sENVIRONMENT` to enable.");assert(!ENVIRONMENT_IS_NODE,"node environment detected but not enabled at build time. Add `node` to `-sENVIRONMENT` to enable.");assert(!ENVIRONMENT_IS_SHELL,"shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable.");var wasmBinary;if(typeof WebAssembly!="object"){err("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed"+(text?": "+text:""))}}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAP64,HEAPU64,HEAPF64;var runtimeInitialized=false;var isFileURI=filename=>filename.startsWith("file://");function writeStackCookie(){var max=_emscripten_stack_get_end();assert((max&3)==0);if(max==0){max+=4}HEAPU32[max>>>2>>>0]=34821223;HEAPU32[max+4>>>2>>>0]=2310721022;HEAPU32[0>>>2>>>0]=1668509029}function checkStackCookie(){if(ABORT)return;var max=_emscripten_stack_get_end();if(max==0){max+=4}var cookie1=HEAPU32[max>>>2>>>0];var cookie2=HEAPU32[max+4>>>2>>>0];if(cookie1!=34821223||cookie2!=2310721022){abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`)}if(HEAPU32[0>>>2>>>0]!=1668509029){abort("Runtime error: The application has corrupted its heap memory area (address zero)!")}}var runtimeDebug=true;(()=>{var h16=new Int16Array(1);var h8=new Int8Array(h16.buffer);h16[0]=25459;if(h8[0]!==115||h8[1]!==99)throw"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)"})();function consumedModuleProp(prop){if(!Object.getOwnPropertyDescriptor(Module,prop)){Object.defineProperty(Module,prop,{configurable:true,set(){abort(`Attempt to set \`Module.${prop}\` after it has already been processed. This can happen, for example, when code is injected via '--post-js' rather than '--pre-js'`)}})}}function makeInvalidEarlyAccess(name){return()=>assert(false,`call to '${name}' via reference taken before Wasm module initialization`)}function ignoredModuleProp(prop){if(Object.getOwnPropertyDescriptor(Module,prop)){abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`)}}function isExportedByForceFilesystem(name){return name==="FS_createPath"||name==="FS_createDataFile"||name==="FS_createPreloadedFile"||name==="FS_unlink"||name==="addRunDependency"||name==="FS_createLazyFile"||name==="FS_createDevice"||name==="removeRunDependency"}function hookGlobalSymbolAccess(sym,func){if(typeof globalThis!="undefined"&&!Object.getOwnPropertyDescriptor(globalThis,sym)){Object.defineProperty(globalThis,sym,{configurable:true,get(){func();return undefined}})}}function missingGlobal(sym,msg){hookGlobalSymbolAccess(sym,()=>{warnOnce(`\`${sym}\` is not longer defined by emscripten. ${msg}`)})}missingGlobal("buffer","Please use HEAP8.buffer or wasmMemory.buffer");missingGlobal("asm","Please use wasmExports instead");function missingLibrarySymbol(sym){hookGlobalSymbolAccess(sym,()=>{var msg=`\`${sym}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`;var librarySymbol=sym;if(!librarySymbol.startsWith("_")){librarySymbol="$"+sym}msg+=` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${librarySymbol}')`;if(isExportedByForceFilesystem(sym)){msg+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"}warnOnce(msg)});unexportedRuntimeSymbol(sym)}function unexportedRuntimeSymbol(sym){if(!Object.getOwnPropertyDescriptor(Module,sym)){Object.defineProperty(Module,sym,{configurable:true,get(){var msg=`'${sym}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`;if(isExportedByForceFilesystem(sym)){msg+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"}abort(msg)}})}}var readyPromiseResolve,readyPromiseReject;function updateMemoryViews(){var b=wasmMemory.buffer;HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);HEAPU8=new Uint8Array(b);HEAPU16=new Uint16Array(b);HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b);HEAP64=new BigInt64Array(b);HEAPU64=new BigUint64Array(b)}assert(typeof Int32Array!="undefined"&&typeof Float64Array!=="undefined"&&Int32Array.prototype.subarray!=undefined&&Int32Array.prototype.set!=undefined,"JS engine does not provide full typed array support");function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}consumedModuleProp("preRun");callRuntimeCallbacks(onPreRuns)}function initRuntime(){assert(!runtimeInitialized);runtimeInitialized=true;checkStackCookie();SOCKFS.root=FS.mount(SOCKFS,{},null);if(!Module["noFSInit"]&&!FS.initialized)FS.init();TTY.init();wasmExports["__wasm_call_ctors"]();FS.ignorePermissions=false}function preMain(){checkStackCookie()}function postRun(){checkStackCookie();if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}consumedModuleProp("postRun");callRuntimeCallbacks(onPostRuns)}var runDependencies=0;var dependenciesFulfilled=null;var runDependencyTracking={};var runDependencyWatcher=null;function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies);if(id){assert(!runDependencyTracking[id]);runDependencyTracking[id]=1;if(runDependencyWatcher===null&&typeof setInterval!="undefined"){runDependencyWatcher=setInterval(()=>{if(ABORT){clearInterval(runDependencyWatcher);runDependencyWatcher=null;return}var shown=false;for(var dep in runDependencyTracking){if(!shown){shown=true;err("still waiting on run dependencies:")}err(`dependency: ${dep}`)}if(shown){err("(end of list)")}},1e4)}}else{err("warning: run dependency added without ID")}}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(id){assert(runDependencyTracking[id]);delete runDependencyTracking[id]}else{err("warning: run dependency removed without ID")}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;var e=new WebAssembly.RuntimeError(what);readyPromiseReject?.(e);throw e}function createExportWrapper(name,nargs){return(...args)=>{assert(runtimeInitialized,`native function \`${name}\` called before runtime initialization`);var f=wasmExports[name];assert(f,`exported native function \`${name}\` not found`);assert(args.length<=nargs,`native function \`${name}\` called with ${args.length} args but expects ${nargs}`);return f(...args)}}var wasmBinaryFile;function findWasmBinary(){if(Module["locateFile"]){return locateFile("dcm_image_mod3.wasm")}return new URL("dcm_image_mod3.wasm",import.meta.url).href}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);if(isFileURI(wasmBinaryFile)){err(`warning: Loading from a file URI (${wasmBinaryFile}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`)}abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){return{env:wasmImports,wasi_snapshot_preview1:wasmImports}}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=applySignatureConversions(wasmExports);wasmMemory=wasmExports["memory"];assert(wasmMemory,"memory not found in wasm exports");updateMemoryViews();wasmTable=wasmExports["__indirect_function_table"];assert(wasmTable,"table not found in wasm exports");assignWasmExports(wasmExports);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");var trueModule=Module;function receiveInstantiationResult(result){assert(Module===trueModule,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?");trueModule=null;return receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{try{Module["instantiateWasm"](info,(mod,inst)=>{resolve(receiveInstance(mod,inst))})}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);reject(e)}})}wasmBinaryFile??=findWasmBinary();var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);var noExitRuntime=true;var ptrToString=ptr=>{assert(typeof ptr==="number");return"0x"+ptr.toString(16).padStart(8,"0")};function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr>>>0]=value;break;case"i8":HEAP8[ptr>>>0]=value;break;case"i16":HEAP16[ptr>>>1>>>0]=value;break;case"i32":HEAP32[ptr>>>2>>>0]=value;break;case"i64":HEAP64[ptr>>>3>>>0]=BigInt(value);break;case"float":HEAPF32[ptr>>>2>>>0]=value;break;case"double":HEAPF64[ptr>>>3>>>0]=value;break;case"*":HEAPU32[ptr>>>2>>>0]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();var warnOnce=text=>{warnOnce.shown||={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}};class ExceptionInfo{constructor(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24}set_type(type){HEAPU32[this.ptr+4>>>2>>>0]=type}get_type(){return HEAPU32[this.ptr+4>>>2>>>0]}set_destructor(destructor){HEAPU32[this.ptr+8>>>2>>>0]=destructor}get_destructor(){return HEAPU32[this.ptr+8>>>2>>>0]}set_caught(caught){caught=caught?1:0;HEAP8[this.ptr+12>>>0]=caught}get_caught(){return HEAP8[this.ptr+12>>>0]!=0}set_rethrown(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>>0]=rethrown}get_rethrown(){return HEAP8[this.ptr+13>>>0]!=0}init(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)}set_adjusted_ptr(adjustedPtr){HEAPU32[this.ptr+16>>>2>>>0]=adjustedPtr}get_adjusted_ptr(){return HEAPU32[this.ptr+16>>>2>>>0]}}var exceptionLast=0;var uncaughtExceptionCount=0;var INT53_MAX=9007199254740992;var INT53_MIN=-9007199254740992;var bigintToI53Checked=num=>numINT53_MAX?NaN:Number(num);function ___cxa_throw(ptr,type,destructor){ptr>>>=0;type>>>=0;destructor>>>=0;var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;assert(false,"Exception thrown, but exception catching is not enabled. Compile with -sNO_DISABLE_EXCEPTION_CATCHING or -sEXCEPTION_CATCHING_ALLOWED=[..] to catch.")}var initRandomFill=()=>view=>crypto.getRandomValues(view);var randomFill=view=>{(randomFill=initRandomFill())(view)};var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.slice(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.slice(0,-1)}return root+dir},basename:path=>path&&path.match(/([^\/]+|\/)\/*$/)[1],join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).slice(1);to=PATH_FS.resolve(to).slice(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{idx>>>=0;var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var FS_stdin_getChar_buffer=[];var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{outIdx>>>=0;assert(typeof str==="string",`stringToUTF8Array expects a string (got ${typeof str})`);if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=endIdx)break;heap[outIdx++>>>0]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++>>>0]=192|u>>6;heap[outIdx++>>>0]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++>>>0]=224|u>>12;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63}else{if(outIdx+3>=endIdx)break;if(u>1114111)warnOnce("Invalid Unicode code point "+ptrToString(u)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).");heap[outIdx++>>>0]=240|u>>18;heap[outIdx++>>>0]=128|u>>12&63;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63;i++}}heap[outIdx>>>0]=0;return outIdx-startIdx};var intArrayFromString=(stringy,dontAddNull,length)=>{var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array};var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output?.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};var mmapAlloc=size=>{abort("internal error: mmapAlloc called but `emscripten_builtin_memalign` native symbol not exported")};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16895,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.atime=node.mtime=node.ctime=Date.now();if(parent){parent.contents[name]=node;parent.atime=parent.mtime=parent.ctime=node.atime}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.atime);attr.mtime=new Date(node.mtime);attr.ctime=new Date(node.ctime);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){for(const key of["mode","atime","mtime","ctime"]){if(attr[key]!=null){node[key]=attr[key]}}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw new FS.ErrnoError(44)},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){if(FS.isDir(old_node.mode)){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}FS.hashRemoveNode(new_node)}delete old_node.parent.contents[old_node.name];new_dir.contents[new_name]=old_node;old_node.name=new_name;new_dir.ctime=new_dir.mtime=old_node.parent.ctime=old_node.parent.mtime=Date.now()},unlink(parent,name){delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},readdir(node){return[".","..",...Object.keys(node.contents)]},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length>>0)}}return{ptr,allocated}},msync(stream,buffer,offset,length,mmapFlags){MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};var asyncLoad=async url=>{var arrayBuffer=await readAsync(url);assert(arrayBuffer,`Loading data file "${url}" failed (no arrayBuffer).`);return new Uint8Array(arrayBuffer)};var FS_createDataFile=(...args)=>FS.createDataFile(...args);var getUniqueRunDependency=id=>{var orig=id;while(1){if(!runDependencyTracking[id])return id;id=orig+Math.random()}};var preloadPlugins=[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url).then(processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var UTF8ToString=(ptr,maxBytesToRead)=>{assert(typeof ptr=="number",`UTF8ToString expects a number (got ${typeof ptr})`);ptr>>>=0;return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""};var strError=errno=>UTF8ToString(_strerror(errno));var ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,filesystems:null,syncFSRequests:0,readFiles:{},ErrnoError:class extends Error{name="ErrnoError";constructor(errno){super(runtimeInitialized?strError(errno):"");this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}}},FSStream:class{shared={};get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{node_ops={};stream_ops={};readMode=292|73;writeMode=146;mounted=null;constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.rdev=rdev;this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){if(!path){throw new FS.ErrnoError(44)}opts.follow_mount??=true;if(!PATH.isAbs(path)){path=FS.cwd()+"/"+path}linkloop:for(var nlinks=0;nlinks<40;nlinks++){var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){assert(typeof parent=="object");var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){if(!FS.isDir(dir.mode)){return 54}try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&(512|64)){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},checkOpExists(op,err){if(!op){throw new FS.ErrnoError(err)}return op},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){assert(fd>=-1);stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},doSetAttr(stream,node,attr){var setattr=stream?.stream_ops.setattr;var arg=setattr?stream:node;setattr??=node.node_ops.setattr;FS.checkOpExists(setattr,63);setattr(arg,attr)},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){if(typeof type=="string"){throw type}var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type,opts,mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name){throw new FS.ErrnoError(28)}if(name==="."||name===".."){throw new FS.ErrnoError(20)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},statfs(path){return FS.statfsNode(FS.lookupPath(path,{follow:true}).node)},statfsStream(stream){return FS.statfsNode(stream.node)},statfsNode(node){var rtn={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:FS.nextInode,ffree:FS.nextInode-1,fsid:42,flags:2,namelen:255};if(node.node_ops.statfs){Object.assign(rtn,node.node_ops.statfs(node.mount.opts.root))}return rtn},create(path,mode=438){mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode=511){mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var dir of dirs){if(!dir)continue;if(d||PATH.isAbs(path))d+="/";d+=dir;try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev(path,mode,dev){if(typeof dev=="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink(oldpath,newpath){if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name);old_node.parent=new_dir}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var readdir=FS.checkOpExists(node.node_ops.readdir,54);return readdir(node)},unlink(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return link.node_ops.readlink(link)},stat(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;var getattr=FS.checkOpExists(node.node_ops.getattr,63);return getattr(node)},fstat(fd){var stream=FS.getStreamChecked(fd);var node=stream.node;var getattr=stream.stream_ops.getattr;var arg=getattr?stream:node;getattr??=node.node_ops.getattr;FS.checkOpExists(getattr,63);return getattr(arg)},lstat(path){return FS.stat(path,true)},doChmod(stream,node,mode,dontFollow){FS.doSetAttr(stream,node,{mode:mode&4095|node.mode&~4095,ctime:Date.now(),dontFollow})},chmod(path,mode,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChmod(null,node,mode,dontFollow)},lchmod(path,mode){FS.chmod(path,mode,true)},fchmod(fd,mode){var stream=FS.getStreamChecked(fd);FS.doChmod(stream,stream.node,mode,false)},doChown(stream,node,dontFollow){FS.doSetAttr(stream,node,{timestamp:Date.now(),dontFollow})},chown(path,uid,gid,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChown(null,node,dontFollow)},lchown(path,uid,gid){FS.chown(path,uid,gid,true)},fchown(fd,uid,gid){var stream=FS.getStreamChecked(fd);FS.doChown(stream,stream.node,false)},doTruncate(stream,node,len){if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}FS.doSetAttr(stream,node,{size:len,timestamp:Date.now()})},truncate(path,len){if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}FS.doTruncate(null,node,len)},ftruncate(fd,len){var stream=FS.getStreamChecked(fd);if(len<0||(stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.doTruncate(stream,stream.node,len)},utime(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var setattr=FS.checkOpExists(node.node_ops.setattr,63);setattr(node,{atime,mtime})},open(path,flags,mode=438){if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS_modeStringToFlags(flags):flags;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;var isDirPath;if(typeof path=="object"){node=path}else{isDirPath=path.endsWith("/");var lookup=FS.lookupPath(path,{follow:!(flags&131072),noent_okay:true});node=lookup.node;path=lookup.path}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else if(isDirPath){throw new FS.ErrnoError(31)}else{node=FS.mknod(path,mode|511,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512&&!created){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node,path:FS.getPath(node),flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(created){FS.chmod(node,mode&511)}if(Module["logReadFiles"]&&!(flags&1)){if(!(path in FS.readFiles)){FS.readFiles[path]=1}}return stream},close(stream){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed(stream){return stream.fd===null},llseek(stream,offset,whence){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read(stream,buffer,offset,length,position){assert(offset>=0);if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write(stream,buffer,offset,length,position,canOwn){assert(offset>=0);if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},mmap(stream,length,position,prot,flags){if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}if(!length){throw new FS.ErrnoError(28)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync(stream,buffer,offset,length,mmapFlags){assert(offset>=0);if(!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},ioctl(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile(path,opts={}){opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error(`Invalid encoding type "${opts.encoding}"`)}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile(path,data,opts={}){opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length,llseek:()=>0});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomFill(randomBuffer);randomLeft=randomBuffer.byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16895,73);node.stream_ops={llseek:MEMFS.stream_ops.llseek};node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path},id:fd+1};ret.parent=ret;return ret},readdir(){return Array.from(FS.streams.entries()).filter(([k,v])=>v).map(([k,v])=>k.toString())}};return node}},{},"/proc/self/fd")},createStandardStreams(input,output,error){if(input){FS.createDevice("/dev","stdin",input)}else{FS.symlink("/dev/tty","/dev/stdin")}if(output){FS.createDevice("/dev","stdout",null,output)}else{FS.symlink("/dev/tty","/dev/stdout")}if(error){FS.createDevice("/dev","stderr",null,error)}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1);assert(stdin.fd===0,`invalid handle for stdin (${stdin.fd})`);assert(stdout.fd===1,`invalid handle for stdout (${stdout.fd})`);assert(stderr.fd===2,`invalid handle for stderr (${stderr.fd})`)},staticInit(){FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS}},init(input,output,error){assert(!FS.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.initialized=true;input??=Module["stdin"];output??=Module["stdout"];error??=Module["stderr"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;_fflush(0);for(var stream of FS.streams){if(stream){FS.close(stream)}}},findObject(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(!ret.exists){return null}return ret.object},analyzePath(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createPath(parent,path,canRead,canWrite){parent=typeof parent=="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){if(e.errno!=20)throw e}parent=current}return current},createFile(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS_getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile(parent,name,data,canRead,canWrite,canOwn){var path=name;if(parent){parent=typeof parent=="string"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS_getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data=="string"){var arr=new Array(data.length);for(var i=0,len=data.length;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node},absolutePath(){abort("FS.absolutePath has been removed; use PATH_FS.resolve instead")},createFolder(){abort("FS.createFolder has been removed; use FS.mkdir instead")},createLink(){abort("FS.createLink has been removed; use FS.symlink instead")},joinPath(){abort("FS.joinPath has been removed; use PATH.join instead")},mmapAlloc(){abort("FS.mmapAlloc has been replaced by the top level function mmapAlloc")},standardizePath(){abort("FS.standardizePath has been removed; use PATH.normalize instead")}};var SOCKFS={websocketArgs:{},callbacks:{},on(event,callback){SOCKFS.callbacks[event]=callback},emit(event,param){SOCKFS.callbacks[event]?.(param)},mount(mount){SOCKFS.websocketArgs=Module["websocket"]||{};(Module["websocket"]??={})["on"]=SOCKFS.on;return FS.createNode(null,"/",16895,0)},createSocket(family,type,protocol){if(family!=2){throw new FS.ErrnoError(5)}type&=~526336;if(type!=1&&type!=2){throw new FS.ErrnoError(28)}var streaming=type==1;if(streaming&&protocol&&protocol!=6){throw new FS.ErrnoError(66)}var sock={family,type,protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node,flags:2,seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock},getSocket(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock},stream_ops:{poll(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)},ioctl(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)},read(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length},write(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)},close(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)}},nextname(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return`socket[${SOCKFS.nextname.current++}]`},websocket_sock_ops:{createPeer(sock,addr,port){var ws;if(typeof addr=="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var url="ws://".replace("#","//");var subProtocols="binary";var opts=undefined;if(SOCKFS.websocketArgs["url"]){url=SOCKFS.websocketArgs["url"]}if(SOCKFS.websocketArgs["subprotocol"]){subProtocols=SOCKFS.websocketArgs["subprotocol"]}else if(SOCKFS.websocketArgs["subprotocol"]===null){subProtocols="null"}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}if(subProtocols!=="null"){subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);opts=subProtocols}var WebSocketConstructor;{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(23)}}var peer={addr,port,socket:ws,msg_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!="undefined"){peer.msg_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer},getPeer(sock,addr,port){return sock.peers[addr+":"+port]},addPeer(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer},removePeer(sock,peer){delete sock.peers[peer.addr+":"+peer.port]},handlePeerEvents(sock,peer){var first=true;var handleOpen=function(){sock.connecting=false;SOCKFS.emit("open",sock.stream.fd);try{var queued=peer.msg_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.msg_send_queue.shift()}}catch(e){peer.socket.close()}};function handleMessage(data){if(typeof data=="string"){var encoder=new TextEncoder;data=encoder.encode(data)}else{assert(data.byteLength!==undefined);if(data.byteLength==0){return}data=new Uint8Array(data)}var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data});SOCKFS.emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",function(data,isBinary){if(!isBinary){return}handleMessage(new Uint8Array(data).buffer)});peer.socket.on("close",function(){SOCKFS.emit("close",sock.stream.fd)});peer.socket.on("error",function(error){sock.error=14;SOCKFS.emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}else{peer.socket.onopen=handleOpen;peer.socket.onclose=function(){SOCKFS.emit("close",sock.stream.fd)};peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=function(error){sock.error=14;SOCKFS.emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}}},poll(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){if(sock.connecting){mask|=4}else{mask|=16}}return mask},ioctl(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>>2>>>0]=bytes;return 0;default:return 28}},close(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}for(var peer of Object.values(sock.peers)){try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0},bind(sock,addr,port){if(typeof sock.saddr!="undefined"||typeof sock.sport!="undefined"){throw new FS.ErrnoError(28)}sock.saddr=addr;sock.sport=port;if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e.name==="ErrnoError"))throw e;if(e.errno!==138)throw e}}},connect(sock,addr,port){if(sock.server){throw new FS.ErrnoError(138)}if(typeof sock.daddr!="undefined"&&typeof sock.dport!="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(7)}else{throw new FS.ErrnoError(30)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;sock.connecting=true},listen(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(138)}},accept(listensock){if(!listensock.server||!listensock.pending.length){throw new FS.ErrnoError(28)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock},getname(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(53)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr,port}},sendmsg(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(17)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(53)}}if(ArrayBuffer.isView(buffer)){offset+=buffer.byteOffset;buffer=buffer.buffer}var data=buffer.slice(offset,offset+length);if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(sock.type===2){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}}dest.msg_send_queue.push(data);return length}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(28)}},recvmsg(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(53)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(53)}if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}throw new FS.ErrnoError(6)}throw new FS.ErrnoError(6)}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead{var socket=SOCKFS.getSocket(fd);if(!socket)throw new FS.ErrnoError(8);return socket};var inetNtop4=addr=>(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255);var inetNtop6=ints=>{var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=inetNtop4(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word{var family=HEAP16[sa>>>1>>>0];var port=_ntohs(HEAPU16[sa+2>>>1>>>0]);var addr;switch(family){case 2:if(salen!==16){return{errno:28}}addr=HEAP32[sa+4>>>2>>>0];addr=inetNtop4(addr);break;case 10:if(salen!==28){return{errno:28}}addr=[HEAP32[sa+8>>>2>>>0],HEAP32[sa+12>>>2>>>0],HEAP32[sa+16>>>2>>>0],HEAP32[sa+20>>>2>>>0]];addr=inetNtop6(addr);break;default:return{errno:5}}return{family,addr,port}};var inetPton4=str=>{var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0};var inetPton6=str=>{var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.startsWith("::")){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=Number(words[words.length-4])+Number(words[words.length-3])*256;words[words.length-3]=Number(words[words.length-2])+Number(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w{var info=readSockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info};function ___syscall_connect(fd,addr,addrlen,d1,d2,d3){addr>>>=0;addrlen>>>=0;try{var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.connect(sock,info.addr,info.port);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return dir+"/"+path},writeStat(buf,stat){HEAP32[buf>>>2>>>0]=stat.dev;HEAP32[buf+4>>>2>>>0]=stat.mode;HEAPU32[buf+8>>>2>>>0]=stat.nlink;HEAP32[buf+12>>>2>>>0]=stat.uid;HEAP32[buf+16>>>2>>>0]=stat.gid;HEAP32[buf+20>>>2>>>0]=stat.rdev;HEAP64[buf+24>>>3>>>0]=BigInt(stat.size);HEAP32[buf+32>>>2>>>0]=4096;HEAP32[buf+36>>>2>>>0]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();HEAP64[buf+40>>>3>>>0]=BigInt(Math.floor(atime/1e3));HEAPU32[buf+48>>>2>>>0]=atime%1e3*1e3*1e3;HEAP64[buf+56>>>3>>>0]=BigInt(Math.floor(mtime/1e3));HEAPU32[buf+64>>>2>>>0]=mtime%1e3*1e3*1e3;HEAP64[buf+72>>>3>>>0]=BigInt(Math.floor(ctime/1e3));HEAPU32[buf+80>>>2>>>0]=ctime%1e3*1e3*1e3;HEAP64[buf+88>>>3>>>0]=BigInt(stat.ino);return 0},writeStatFs(buf,stats){HEAP32[buf+4>>>2>>>0]=stats.bsize;HEAP32[buf+40>>>2>>>0]=stats.bsize;HEAP32[buf+8>>>2>>>0]=stats.blocks;HEAP32[buf+12>>>2>>>0]=stats.bfree;HEAP32[buf+16>>>2>>>0]=stats.bavail;HEAP32[buf+20>>>2>>>0]=stats.files;HEAP32[buf+24>>>2>>>0]=stats.ffree;HEAP32[buf+28>>>2>>>0]=stats.fsid;HEAP32[buf+44>>>2>>>0]=stats.flags;HEAP32[buf+36>>>2>>>0]=stats.namelen},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_faccessat(dirfd,path,amode,flags){path>>>=0;try{path=SYSCALLS.getStr(path);assert(!flags||flags==512);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var syscallGetVarargI=()=>{assert(SYSCALLS.varargs!=undefined);var ret=HEAP32[+SYSCALLS.varargs>>>2>>>0];SYSCALLS.varargs+=4;return ret};var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){varargs>>>=0;SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>>1>>>0]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){buf>>>=0;try{return SYSCALLS.writeStat(buf,FS.fstat(fd))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){varargs>>>=0;SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=syscallGetVarargP();HEAP32[argp>>>2>>>0]=termios.c_iflag||0;HEAP32[argp+4>>>2>>>0]=termios.c_oflag||0;HEAP32[argp+8>>>2>>>0]=termios.c_cflag||0;HEAP32[argp+12>>>2>>>0]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17>>>0]=termios.c_cc[i]||0}return 0}return 0}case 21510:case 21511:case 21512:{if(!stream.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcsets){var argp=syscallGetVarargP();var c_iflag=HEAP32[argp>>>2>>>0];var c_oflag=HEAP32[argp+4>>>2>>>0];var c_cflag=HEAP32[argp+8>>>2>>>0];var c_lflag=HEAP32[argp+12>>>2>>>0];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17>>>0])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag,c_oflag,c_cflag,c_lflag,c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=syscallGetVarargP();HEAP32[argp>>>2>>>0]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=syscallGetVarargP();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=syscallGetVarargP();HEAP16[argp>>>1>>>0]=winsize[0];HEAP16[argp+2>>>1>>>0]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){path>>>=0;buf>>>=0;try{path=SYSCALLS.getStr(path);return SYSCALLS.writeStat(buf,FS.lstat(path))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_newfstatat(dirfd,path,buf,flags){path>>>=0;buf>>>=0;try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;assert(!flags,`unknown flags in __syscall_newfstatat: ${flags}`);path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.writeStat(buf,nofollow?FS.lstat(path):FS.stat(path))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){path>>>=0;varargs>>>=0;SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?syscallGetVarargI():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_renameat(olddirfd,oldpath,newdirfd,newpath){oldpath>>>=0;newpath>>>=0;try{oldpath=SYSCALLS.getStr(oldpath);newpath=SYSCALLS.getStr(newpath);oldpath=SYSCALLS.calculateAt(olddirfd,oldpath);newpath=SYSCALLS.calculateAt(newdirfd,newpath);FS.rename(oldpath,newpath);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_rmdir(path){path>>>=0;try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_sendto(fd,message,length,flags,addr,addr_len){message>>>=0;length>>>=0;addr>>>=0;addr_len>>>=0;try{var sock=getSocketFromFD(fd);if(!addr){return FS.write(sock.stream,HEAP8,message,length)}var dest=getSocketAddress(addr,addr_len);return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_socket(domain,type,protocol){try{var sock=SOCKFS.createSocket(domain,type,protocol);assert(sock.stream.fd<64);return sock.stream.fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_stat64(path,buf){path>>>=0;buf>>>=0;try{path=SYSCALLS.getStr(path);return SYSCALLS.writeStat(buf,FS.stat(path))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_unlinkat(dirfd,path,flags){path>>>=0;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(!flags){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{return-28}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __abort_js=()=>abort("native code called abort()");var __emscripten_throw_longjmp=()=>{throw Infinity};function __gmtime_js(time,tmPtr){time=bigintToI53Checked(time);tmPtr>>>=0;var date=new Date(time*1e3);HEAP32[tmPtr>>>2>>>0]=date.getUTCSeconds();HEAP32[tmPtr+4>>>2>>>0]=date.getUTCMinutes();HEAP32[tmPtr+8>>>2>>>0]=date.getUTCHours();HEAP32[tmPtr+12>>>2>>>0]=date.getUTCDate();HEAP32[tmPtr+16>>>2>>>0]=date.getUTCMonth();HEAP32[tmPtr+20>>>2>>>0]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>>2>>>0]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>>2>>>0]=yday}var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time,tmPtr){time=bigintToI53Checked(time);tmPtr>>>=0;var date=new Date(time*1e3);HEAP32[tmPtr>>>2>>>0]=date.getSeconds();HEAP32[tmPtr+4>>>2>>>0]=date.getMinutes();HEAP32[tmPtr+8>>>2>>>0]=date.getHours();HEAP32[tmPtr+12>>>2>>>0]=date.getDate();HEAP32[tmPtr+16>>>2>>>0]=date.getMonth();HEAP32[tmPtr+20>>>2>>>0]=date.getFullYear()-1900;HEAP32[tmPtr+24>>>2>>>0]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>>2>>>0]=yday;HEAP32[tmPtr+36>>>2>>>0]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>>2>>>0]=dst}var __mktime_js=function(tmPtr){tmPtr>>>=0;var ret=(()=>{var date=new Date(HEAP32[tmPtr+20>>>2>>>0]+1900,HEAP32[tmPtr+16>>>2>>>0],HEAP32[tmPtr+12>>>2>>>0],HEAP32[tmPtr+8>>>2>>>0],HEAP32[tmPtr+4>>>2>>>0],HEAP32[tmPtr>>>2>>>0],0);var dst=HEAP32[tmPtr+32>>>2>>>0];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>>2>>>0]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>>2>>>0]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>>2>>>0]=yday;HEAP32[tmPtr>>>2>>>0]=date.getSeconds();HEAP32[tmPtr+4>>>2>>>0]=date.getMinutes();HEAP32[tmPtr+8>>>2>>>0]=date.getHours();HEAP32[tmPtr+12>>>2>>>0]=date.getDate();HEAP32[tmPtr+16>>>2>>>0]=date.getMonth();HEAP32[tmPtr+20>>>2>>>0]=date.getYear();var timeMs=date.getTime();if(isNaN(timeMs)){return-1}return timeMs/1e3})();return BigInt(ret)};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>{assert(typeof maxBytesToWrite=="number","stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)};var __tzset_js=function(timezone,daylight,std_name,dst_name){timezone>>>=0;daylight>>>=0;std_name>>>=0;dst_name>>>=0;var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>>2>>>0]=stdTimezoneOffset*60;HEAP32[daylight>>>2>>>0]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);assert(winterName);assert(summerName);assert(lengthBytesUTF8(winterName)<=16,`timezone name truncated to fit in TZNAME_MAX (${winterName})`);assert(lengthBytesUTF8(summerName)<=16,`timezone name truncated to fit in TZNAME_MAX (${summerName})`);if(summerOffsetperformance.now();var _emscripten_date_now=()=>Date.now();var nowIsMonotonic=1;var checkWasiClock=clock_id=>clock_id>=0&&clock_id<=3;function _clock_time_get(clk_id,ignored_precision,ptime){ignored_precision=bigintToI53Checked(ignored_precision);ptime>>>=0;if(!checkWasiClock(clk_id)){return 28}var now;if(clk_id===0){now=_emscripten_date_now()}else if(nowIsMonotonic){now=_emscripten_get_now()}else{return 52}var nsec=Math.round(now*1e3*1e3);HEAP64[ptime>>>3>>>0]=BigInt(nsec);return 0}var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}checkStackCookie();if(e instanceof WebAssembly.RuntimeError){if(_emscripten_stack_get_current()<=0){err("Stack overflow detected. You can try increasing -sSTACK_SIZE (currently set to 65536)")}}quit_(1,e)};var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;checkUnflushedContent();if(keepRuntimeAlive()&&!implicit){var msg=`program exited (with status: ${status}), but keepRuntimeAlive() is set (counter=${runtimeKeepaliveCounter}) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`;readyPromiseReject?.(msg);err(msg)}_proc_exit(status)};var _exit=exitJS;var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){err("user callback triggered after runtime exited or application aborted. Ignoring.");return}try{func();maybeExit()}catch(e){handleException(e)}};var safeSetTimeout=(func,timeout)=>setTimeout(()=>{callUserCallback(func)},timeout);var Browser={useWebGL:false,isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],preloadedImages:{},preloadedAudios:{},getCanvas:()=>Module["canvas"],init(){if(Browser.initted)return;Browser.initted=true;var imagePlugin={};imagePlugin["canHandle"]=function imagePlugin_canHandle(name){return!Module["noImageDecoding"]&&/\.(jpg|jpeg|png|bmp|webp)$/i.test(name)};imagePlugin["handle"]=function imagePlugin_handle(byteArray,name,onload,onerror){var b=new Blob([byteArray],{type:Browser.getMimetype(name)});if(b.size!==byteArray.length){b=new Blob([new Uint8Array(byteArray).buffer],{type:Browser.getMimetype(name)})}var url=URL.createObjectURL(b);assert(typeof url=="string","createObjectURL must return a url as a string");var img=new Image;img.onload=()=>{assert(img.complete,`Image ${name} could not be decoded`);var canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;var ctx=canvas.getContext("2d");ctx.drawImage(img,0,0);Browser.preloadedImages[name]=canvas;URL.revokeObjectURL(url);onload?.(byteArray)};img.onerror=event=>{err(`Image ${url} could not be decoded`);onerror?.()};img.src=url};preloadPlugins.push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=function audioPlugin_canHandle(name){return!Module["noAudioDecoding"]&&name.slice(-4)in{".ogg":1,".wav":1,".mp3":1}};audioPlugin["handle"]=function audioPlugin_handle(byteArray,name,onload,onerror){var done=false;function finish(audio){if(done)return;done=true;Browser.preloadedAudios[name]=audio;onload?.(byteArray)}var b=new Blob([byteArray],{type:Browser.getMimetype(name)});var url=URL.createObjectURL(b);assert(typeof url=="string","createObjectURL must return a url as a string");var audio=new Audio;audio.addEventListener("canplaythrough",()=>finish(audio),false);audio.onerror=function audio_onerror(event){if(done)return;err(`warning: browser could not fully decode audio ${name}, trying slower base64 approach`);function encode64(data){var BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var PAD="=";var ret="";var leftchar=0;var leftbits=0;for(var i=0;i=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.slice(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;safeSetTimeout(()=>{finish(audio)},1e4)};preloadPlugins.push(audioPlugin);function pointerLockChange(){var canvas=Browser.getCanvas();Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===canvas}var canvas=Browser.getCanvas();if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(()=>{});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(()=>{});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",ev=>{if(!Browser.pointerLock&&Browser.getCanvas().requestPointerLock){Browser.getCanvas().requestPointerLock();ev.preventDefault()}},false)}}},createContext(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module["ctx"]&&canvas==Browser.getCanvas())return Module["ctx"];var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx=="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module["ctx"]=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Browser.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(callback=>callback());Browser.init()}return ctx},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer=="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas=="undefined")Browser.resizeCanvas=false;var canvas=Browser.getCanvas();function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}Module["onFullScreen"]?.(Browser.isFullscreen);Module["onFullscreen"]?.(Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?()=>canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]):null)||(canvasContainer["webkitRequestFullScreen"]?()=>canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]):null);canvasContainer.requestFullscreen()},requestFullScreen(){abort("Module.requestFullScreen has been replaced by Module.requestFullscreen (without a capital S)")},exitFullscreen(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||(()=>{});CFS.apply(document,[]);return true},safeSetTimeout(func,timeout){return safeSetTimeout(func,timeout)},getMimetype(name){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[name.slice(name.lastIndexOf(".")+1)]},getUserMedia(func){window.getUserMedia||=navigator["getUserMedia"]||navigator["mozGetUserMedia"];window.getUserMedia(func)},getMovementX(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseCoords(pageX,pageY){var canvas=Browser.getCanvas();var rect=canvas.getBoundingClientRect();var scrollX=typeof window.scrollX!="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!="undefined"?window.scrollY:window.pageYOffset;assert(typeof scrollX!="undefined"&&typeof scrollY!="undefined","Unable to retrieve scroll position, mouse positions likely broken.");var adjustedX=pageX-(scrollX+rect.left);var adjustedY=pageY-(scrollY+rect.top);adjustedX=adjustedX*(canvas.width/rect.width);adjustedY=adjustedY*(canvas.height/rect.height);return{x:adjustedX,y:adjustedY}},setMouseCoords(pageX,pageY){const{x,y}=Browser.calculateMouseCoords(pageX,pageY);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y},calculateMouseEvent(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}else{if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var coords=Browser.calculateMouseCoords(touch.pageX,touch.pageY);if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];last||=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}Browser.setMouseCoords(event.pageX,event.pageY)}},resizeListeners:[],updateResizeListeners(){var canvas=Browser.getCanvas();Browser.resizeListeners.forEach(listener=>listener(canvas.width,canvas.height))},setCanvasSize(width,height,noUpdates){var canvas=Browser.getCanvas();Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>>2>>>0];flags=flags|8388608;HEAP32[SDL.screen>>>2>>>0]=flags}Browser.updateCanvasDimensions(Browser.getCanvas());Browser.updateResizeListeners()},setWindowedCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>>2>>>0];flags=flags&~8388608;HEAP32[SDL.screen>>>2>>>0]=flags}Browser.updateCanvasDimensions(Browser.getCanvas());Browser.updateResizeListeners()},updateCanvasDimensions(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]>0){if(w/h>>2>>>0];if(param==12321){var alphaSize=HEAP32[attribList+4>>>2>>>0];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>>2>>>0];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>>2>>>0];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>>2>>>0];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>>2>>>0];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>>2>>>0];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>>2>>>0]=1}if(config&&config_size>0){HEAPU32[config>>>2>>>0]=62002}EGL.setErrorCode(12288);return 1}};var _eglBindAPI=api=>{if(api==12448){EGL.setErrorCode(12288);return 1}EGL.setErrorCode(12300);return 0};function _eglChooseConfig(display,attrib_list,configs,config_size,numConfigs){display>>>=0;attrib_list>>>=0;configs>>>=0;numConfigs>>>=0;return EGL.chooseConfig(display,attrib_list,configs,config_size,numConfigs)}var GLctx;var webgl_enable_ANGLE_instanced_arrays=ctx=>{var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=(index,divisor)=>ext["vertexAttribDivisorANGLE"](index,divisor);ctx["drawArraysInstanced"]=(mode,first,count,primcount)=>ext["drawArraysInstancedANGLE"](mode,first,count,primcount);ctx["drawElementsInstanced"]=(mode,count,type,indices,primcount)=>ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount);return 1}};var webgl_enable_OES_vertex_array_object=ctx=>{var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=()=>ext["createVertexArrayOES"]();ctx["deleteVertexArray"]=vao=>ext["deleteVertexArrayOES"](vao);ctx["bindVertexArray"]=vao=>ext["bindVertexArrayOES"](vao);ctx["isVertexArray"]=vao=>ext["isVertexArrayOES"](vao);return 1}};var webgl_enable_WEBGL_draw_buffers=ctx=>{var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=(n,bufs)=>ext["drawBuffersWEBGL"](n,bufs);return 1}};var webgl_enable_EXT_polygon_offset_clamp=ctx=>!!(ctx.extPolygonOffsetClamp=ctx.getExtension("EXT_polygon_offset_clamp"));var webgl_enable_EXT_clip_control=ctx=>!!(ctx.extClipControl=ctx.getExtension("EXT_clip_control"));var webgl_enable_WEBGL_polygon_mode=ctx=>!!(ctx.webglPolygonMode=ctx.getExtension("WEBGL_polygon_mode"));var webgl_enable_WEBGL_multi_draw=ctx=>!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"));var getEmscriptenSupportedExtensions=ctx=>{var supportedExtensions=["ANGLE_instanced_arrays","EXT_blend_minmax","EXT_disjoint_timer_query","EXT_frag_depth","EXT_shader_texture_lod","EXT_sRGB","OES_element_index_uint","OES_fbo_render_mipmap","OES_standard_derivatives","OES_texture_float","OES_texture_half_float","OES_texture_half_float_linear","OES_vertex_array_object","WEBGL_color_buffer_float","WEBGL_depth_texture","WEBGL_draw_buffers","EXT_clip_control","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_polygon_offset_clamp","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw","WEBGL_polygon_mode"];return(ctx.getSupportedExtensions()||[]).filter(ext=>supportedExtensions.includes(ext))};var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],stringCache:{},unpackAlignment:4,unpackRowLength:0,recordError:errorCode=>{if(!GL.lastError){GL.lastError=errorCode}},getNewId:table=>{var ret=GL.counter++;for(var i=table.length;i{for(var i=0;i>>2>>>0]=id}},getSource:(shader,count,string,length)=>{var source="";for(var i=0;i>>2>>>0]:undefined;source+=UTF8ToString(HEAPU32[string+i*4>>>2>>>0],len)}return source},createContext:(canvas,webGLContextAttributes)=>{if(!canvas.getContextSafariWebGL2Fixed){canvas.getContextSafariWebGL2Fixed=canvas.getContext;function fixedGetContext(ver,attrs){var gl=canvas.getContextSafariWebGL2Fixed(ver,attrs);return ver=="webgl"==gl instanceof WebGLRenderingContext?gl:null}canvas.getContext=fixedGetContext}var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:(ctx,webGLContextAttributes)=>{var handle=GL.getNewId(GL.contexts);var context={handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault=="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:contextHandle=>{GL.currentContext=GL.contexts[contextHandle];Module["ctx"]=GLctx=GL.currentContext?.GLctx;return!(contextHandle&&!GLctx)},getContext:contextHandle=>GL.contexts[contextHandle],deleteContext:contextHandle=>{if(GL.currentContext===GL.contexts[contextHandle]){GL.currentContext=null}if(typeof JSEvents=="object"){JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas)}if(GL.contexts[contextHandle]?.GLctx.canvas){GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined}GL.contexts[contextHandle]=null},initExtensions:context=>{context||=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;webgl_enable_WEBGL_multi_draw(GLctx);webgl_enable_EXT_polygon_offset_clamp(GLctx);webgl_enable_EXT_clip_control(GLctx);webgl_enable_WEBGL_polygon_mode(GLctx);webgl_enable_ANGLE_instanced_arrays(GLctx);webgl_enable_OES_vertex_array_object(GLctx);webgl_enable_WEBGL_draw_buffers(GLctx);{GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}getEmscriptenSupportedExtensions(GLctx).forEach(ext=>{if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};function _eglCreateContext(display,config,hmm,contextAttribs){display>>>=0;config>>>=0;hmm>>>=0;contextAttribs>>>=0;if(display!=62e3){EGL.setErrorCode(12296);return 0}var glesContextVersion=1;for(;;){var param=HEAP32[contextAttribs>>>2>>>0];if(param==12440){glesContextVersion=HEAP32[contextAttribs+4>>>2>>>0]}else if(param==12344){break}else{EGL.setErrorCode(12292);return 0}contextAttribs+=8}if(glesContextVersion!=2){EGL.setErrorCode(12293);return 0}EGL.contextAttributes.majorVersion=glesContextVersion-1;EGL.contextAttributes.minorVersion=0;EGL.context=GL.createContext(Browser.getCanvas(),EGL.contextAttributes);if(EGL.context!=0){EGL.setErrorCode(12288);GL.makeContextCurrent(EGL.context);Browser.useWebGL=true;Browser.moduleContextCreatedCallbacks.forEach(callback=>callback());GL.makeContextCurrent(null);return 62004}else{EGL.setErrorCode(12297);return 0}}function _eglCreateWindowSurface(display,config,win,attrib_list){display>>>=0;config>>>=0;attrib_list>>>=0;if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}EGL.setErrorCode(12288);return 62006}function _eglDestroyContext(display,context){display>>>=0;context>>>=0;if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=62004){EGL.setErrorCode(12294);return 0}GL.deleteContext(EGL.context);EGL.setErrorCode(12288);if(EGL.currentContext==context){EGL.currentContext=0}return 1}function _eglDestroySurface(display,surface){display>>>=0;surface>>>=0;if(display!=62e3){EGL.setErrorCode(12296);return 0}if(surface!=62006){EGL.setErrorCode(12301);return 1}if(EGL.currentReadSurface==surface){EGL.currentReadSurface=0}if(EGL.currentDrawSurface==surface){EGL.currentDrawSurface=0}EGL.setErrorCode(12288);return 1}function _eglGetConfigAttrib(display,config,attribute,value){display>>>=0;config>>>=0;value>>>=0;if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12320:HEAP32[value>>>2>>>0]=EGL.contextAttributes.alpha?32:24;return 1;case 12321:HEAP32[value>>>2>>>0]=EGL.contextAttributes.alpha?8:0;return 1;case 12322:HEAP32[value>>>2>>>0]=8;return 1;case 12323:HEAP32[value>>>2>>>0]=8;return 1;case 12324:HEAP32[value>>>2>>>0]=8;return 1;case 12325:HEAP32[value>>>2>>>0]=EGL.contextAttributes.depth?24:0;return 1;case 12326:HEAP32[value>>>2>>>0]=EGL.contextAttributes.stencil?8:0;return 1;case 12327:HEAP32[value>>>2>>>0]=12344;return 1;case 12328:HEAP32[value>>>2>>>0]=62002;return 1;case 12329:HEAP32[value>>>2>>>0]=0;return 1;case 12330:HEAP32[value>>>2>>>0]=4096;return 1;case 12331:HEAP32[value>>>2>>>0]=16777216;return 1;case 12332:HEAP32[value>>>2>>>0]=4096;return 1;case 12333:HEAP32[value>>>2>>>0]=0;return 1;case 12334:HEAP32[value>>>2>>>0]=0;return 1;case 12335:HEAP32[value>>>2>>>0]=12344;return 1;case 12337:HEAP32[value>>>2>>>0]=EGL.contextAttributes.antialias?4:0;return 1;case 12338:HEAP32[value>>>2>>>0]=EGL.contextAttributes.antialias?1:0;return 1;case 12339:HEAP32[value>>>2>>>0]=4;return 1;case 12340:HEAP32[value>>>2>>>0]=12344;return 1;case 12341:case 12342:case 12343:HEAP32[value>>>2>>>0]=-1;return 1;case 12345:case 12346:HEAP32[value>>>2>>>0]=0;return 1;case 12347:HEAP32[value>>>2>>>0]=0;return 1;case 12348:HEAP32[value>>>2>>>0]=1;return 1;case 12349:case 12350:HEAP32[value>>>2>>>0]=0;return 1;case 12351:HEAP32[value>>>2>>>0]=12430;return 1;case 12352:HEAP32[value>>>2>>>0]=4;return 1;case 12354:HEAP32[value>>>2>>>0]=0;return 1;default:EGL.setErrorCode(12292);return 0}}function _eglGetDisplay(nativeDisplayType){nativeDisplayType>>>=0;EGL.setErrorCode(12288);if(nativeDisplayType!=0&&nativeDisplayType!=1){return 0}return 62e3}var _eglGetError=()=>EGL.errorCode;function _eglInitialize(display,majorVersion,minorVersion){display>>>=0;majorVersion>>>=0;minorVersion>>>=0;if(display!=62e3){EGL.setErrorCode(12296);return 0}if(majorVersion){HEAP32[majorVersion>>>2>>>0]=1}if(minorVersion){HEAP32[minorVersion>>>2>>>0]=4}EGL.defaultDisplayInitialized=true;EGL.setErrorCode(12288);return 1}function _eglMakeCurrent(display,draw,read,context){display>>>=0;draw>>>=0;read>>>=0;context>>>=0;if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=0&&context!=62004){EGL.setErrorCode(12294);return 0}if(read!=0&&read!=62006||draw!=0&&draw!=62006){EGL.setErrorCode(12301);return 0}GL.makeContextCurrent(context?EGL.context:null);EGL.currentContext=context;EGL.currentDrawSurface=draw;EGL.currentReadSurface=read;EGL.setErrorCode(12288);return 1}var stringToNewUTF8=str=>{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};function _eglQueryString(display,name){display>>>=0;if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.setErrorCode(12288);if(EGL.stringCache[name])return EGL.stringCache[name];var ret;switch(name){case 12371:ret=stringToNewUTF8("Emscripten");break;case 12372:ret=stringToNewUTF8("1.4 Emscripten EGL");break;case 12373:ret=stringToNewUTF8("");break;case 12429:ret=stringToNewUTF8("OpenGL_ES");break;default:EGL.setErrorCode(12300);return 0}EGL.stringCache[name]=ret;return ret}function _eglSwapBuffers(dpy,surface){dpy>>>=0;surface>>>=0;if(!EGL.defaultDisplayInitialized){EGL.setErrorCode(12289)}else if(!GLctx){EGL.setErrorCode(12290)}else if(GLctx.isContextLost()){EGL.setErrorCode(12302)}else{EGL.setErrorCode(12288);return 1}return 0}var setMainLoop=(iterFunc,fps,simulateInfiniteLoop,arg,noSetTiming)=>{assert(!MainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");MainLoop.func=iterFunc;MainLoop.arg=arg;var thisMainLoopId=MainLoop.currentlyRunningMainloop;function checkIsRunning(){if(thisMainLoopId0){var start=Date.now();var blocker=MainLoop.queue.shift();blocker.func(blocker.arg);if(MainLoop.remainingBlockers){var remaining=MainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){MainLoop.remainingBlockers=next}else{next=next+.5;MainLoop.remainingBlockers=(8*remaining+next)/9}}MainLoop.updateStatus();if(!checkIsRunning())return;setTimeout(MainLoop.runner,0);return}if(!checkIsRunning())return;MainLoop.currentFrameNumber=MainLoop.currentFrameNumber+1|0;if(MainLoop.timingMode==1&&MainLoop.timingValue>1&&MainLoop.currentFrameNumber%MainLoop.timingValue!=0){MainLoop.scheduler();return}else if(MainLoop.timingMode==0){MainLoop.tickStartTime=_emscripten_get_now()}if(MainLoop.method==="timeout"&&Module["ctx"]){warnOnce("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");MainLoop.method=""}MainLoop.runIter(iterFunc);if(!checkIsRunning())return;MainLoop.scheduler()};if(!noSetTiming){if(fps>0){_emscripten_set_main_loop_timing(0,1e3/fps)}else{_emscripten_set_main_loop_timing(1,1)}MainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}};var MainLoop={running:false,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],preMainLoop:[],postMainLoop:[],pause(){MainLoop.scheduler=null;MainLoop.currentlyRunningMainloop++},resume(){MainLoop.currentlyRunningMainloop++;var timingMode=MainLoop.timingMode;var timingValue=MainLoop.timingValue;var func=MainLoop.func;MainLoop.func=null;setMainLoop(func,0,false,MainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);MainLoop.scheduler()},updateStatus(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=MainLoop.remainingBlockers??0;var expected=MainLoop.expectedBlockers??0;if(remaining){if(remaining=MainLoop.nextRAF){MainLoop.nextRAF+=1e3/60}}var delay=Math.max(MainLoop.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame(func){if(typeof requestAnimationFrame=="function"){requestAnimationFrame(func);return}var RAF=MainLoop.fakeRequestAnimationFrame;RAF(func)}};var _emscripten_set_main_loop_timing=(mode,value)=>{MainLoop.timingMode=mode;MainLoop.timingValue=value;if(!MainLoop.func){err("emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.");return 1}if(!MainLoop.running){MainLoop.running=true}if(mode==0){MainLoop.scheduler=function MainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,MainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(MainLoop.runner,timeUntilNextTick)};MainLoop.method="timeout"}else if(mode==1){MainLoop.scheduler=function MainLoop_scheduler_rAF(){MainLoop.requestAnimationFrame(MainLoop.runner)};MainLoop.method="rAF"}else if(mode==2){if(typeof MainLoop.setImmediate=="undefined"){if(typeof setImmediate=="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var MainLoop_setImmediate_messageHandler=event=>{if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",MainLoop_setImmediate_messageHandler,true);MainLoop.setImmediate=func=>{setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){Module["setImmediates"]??=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}else{MainLoop.setImmediate=setImmediate}}MainLoop.scheduler=function MainLoop_scheduler_setImmediate(){MainLoop.setImmediate(MainLoop.runner)};MainLoop.method="immediate"}return 0};function _eglSwapInterval(display,interval){display>>>=0;if(display!=62e3){EGL.setErrorCode(12296);return 0}if(interval==0)_emscripten_set_main_loop_timing(0,0);else _emscripten_set_main_loop_timing(1,interval);EGL.setErrorCode(12288);return 1}function _eglTerminate(display){display>>>=0;if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.currentContext=0;EGL.currentReadSurface=0;EGL.currentDrawSurface=0;EGL.defaultDisplayInitialized=false;EGL.setErrorCode(12288);return 1}var _eglWaitClient=()=>{EGL.setErrorCode(12288);return 1};var _eglWaitGL=_eglWaitClient;var _eglWaitNative=nativeEngineId=>{EGL.setErrorCode(12288);return 1};var readEmAsmArgsArray=[];var readEmAsmArgs=(sigPtr,buf)=>{assert(Array.isArray(readEmAsmArgsArray));assert(buf%16==0);readEmAsmArgsArray.length=0;var ch;while(ch=HEAPU8[sigPtr++>>>0]){var chr=String.fromCharCode(ch);var validChars=["d","f","i","p"];validChars.push("j");assert(validChars.includes(chr),`Invalid character ${ch}("${chr}") in readEmAsmArgs! Use only [${validChars}], and do not specify "v" for void return argument.`);var wide=ch!=105;wide&=ch!=112;buf+=wide&&buf%8?4:0;readEmAsmArgsArray.push(ch==112?HEAPU32[buf>>>2>>>0]:ch==106?HEAP64[buf>>>3>>>0]:ch==105?HEAP32[buf>>>2>>>0]:HEAPF64[buf>>>3>>>0]);buf+=wide?8:4}return readEmAsmArgsArray};var runEmAsmFunction=(code,sigPtr,argbuf)=>{var args=readEmAsmArgs(sigPtr,argbuf);assert(ASM_CONSTS.hasOwnProperty(code),`No EM_ASM constant found at address ${code}. The loaded WebAssembly file is likely out of sync with the generated JavaScript.`);return ASM_CONSTS[code](...args)};function _emscripten_asm_const_int(code,sigPtr,argbuf){code>>>=0;sigPtr>>>=0;argbuf>>>=0;return runEmAsmFunction(code,sigPtr,argbuf)}var runMainThreadEmAsm=(emAsmAddr,sigPtr,argbuf,sync)=>{var args=readEmAsmArgs(sigPtr,argbuf);assert(ASM_CONSTS.hasOwnProperty(emAsmAddr),`No EM_ASM constant found at address ${emAsmAddr}. The loaded WebAssembly file is likely out of sync with the generated JavaScript.`);return ASM_CONSTS[emAsmAddr](...args)};function _emscripten_asm_const_int_sync_on_main_thread(emAsmAddr,sigPtr,argbuf){emAsmAddr>>>=0;sigPtr>>>=0;argbuf>>>=0;return runMainThreadEmAsm(emAsmAddr,sigPtr,argbuf,1)}function _emscripten_asm_const_ptr_sync_on_main_thread(emAsmAddr,sigPtr,argbuf){emAsmAddr>>>=0;sigPtr>>>=0;argbuf>>>=0;return runMainThreadEmAsm(emAsmAddr,sigPtr,argbuf,1)}var wget={wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle(){var handle=wget.nextWgetRequestHandle;wget.nextWgetRequestHandle++;return handle}};var _emscripten_async_wget2_abort=handle=>{var http=wget.wgetRequests[handle];http?.abort()};var wasmTableMirror=[];var wasmTable;var getWasmTableEntry=funcPtr=>{var func=wasmTableMirror[funcPtr];if(!func){wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}assert(wasmTable.get(funcPtr)==func,"JavaScript-side Wasm function table mirror is out of date!");return func};function _emscripten_async_wget2_data(url,request,param,userdata,free,onload,onerror,onprogress){url>>>=0;request>>>=0;param>>>=0;userdata>>>=0;onload>>>=0;onerror>>>=0;onprogress>>>=0;var _url=UTF8ToString(url);var _request=UTF8ToString(request);var _param=UTF8ToString(param);var http=new XMLHttpRequest;http.open(_request,_url,true);http.responseType="arraybuffer";var handle=wget.getNextWgetRequestHandle();function onerrorjs(){if(onerror){var sp=stackSave();var statusText=0;if(http.statusText){statusText=stringToUTF8OnStack(http.statusText)}getWasmTableEntry(onerror)(handle,userdata,http.status,statusText);stackRestore(sp)}}http.onload=e=>{if(http.status>=200&&http.status<300||http.status===0&&_url.slice(0,4).toLowerCase()!="http"){var byteArray=new Uint8Array(http.response);var buffer=_malloc(byteArray.length);HEAPU8.set(byteArray,buffer>>>0);if(onload)getWasmTableEntry(onload)(handle,userdata,buffer,byteArray.length);_free(buffer)}else{onerrorjs()}delete wget.wgetRequests[handle]};http.onerror=e=>{onerrorjs();delete wget.wgetRequests[handle]};http.onprogress=e=>{if(onprogress)getWasmTableEntry(onprogress)(handle,userdata,e.loaded,e.lengthComputable||e.lengthComputable===undefined?e.total:0)};http.onabort=e=>{delete wget.wgetRequests[handle]};if(_request=="POST"){http.setRequestHeader("Content-type","application/x-www-form-urlencoded");http.send(_param)}else{http.send(null)}wget.wgetRequests[handle]=http;return handle}function _emscripten_err(str){str>>>=0;return err(UTF8ToString(str))}var onExits=[];var JSEvents={memcpy(target,src,size){HEAP8.set(HEAP8.subarray(src>>>0,src+size>>>0),target>>>0)},removeAllEventListeners(){while(JSEvents.eventHandlers.length){JSEvents._removeHandler(JSEvents.eventHandlers.length-1)}JSEvents.deferredCalls=[]},inEventHandler:0,deferredCalls:[],deferCall(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var call of JSEvents.deferredCalls){if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction,precedence,argsList});JSEvents.deferredCalls.sort((x,y)=>x.precedencecall.targetFunction!=targetFunction)},canPerformEventHandlerRequests(){if(navigator.userActivation){return navigator.userActivation.isActive}return JSEvents.inEventHandler&&JSEvents.currentEventHandler.allowsDeferredCalls},runDeferredCalls(){if(!JSEvents.canPerformEventHandlerRequests()){return}var deferredCalls=JSEvents.deferredCalls;JSEvents.deferredCalls=[];for(var call of deferredCalls){call.targetFunction(...call.argsList)}},eventHandlers:[],removeAllHandlersOnTarget:(target,eventTypeString)=>{for(var i=0;icString>2?UTF8ToString(cString):cString;var findEventTarget=target=>{target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||document.querySelector(target);return domElement};var findCanvasEventTarget=findEventTarget;function _emscripten_get_canvas_element_size(target,width,height){target>>>=0;width>>>=0;height>>>=0;var canvas=findCanvasEventTarget(target);if(!canvas)return-4;HEAP32[width>>>2>>>0]=canvas.width;HEAP32[height>>>2>>>0]=canvas.height}var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var getCanvasElementSize=target=>{var sp=stackSave();var w=stackAlloc(8);var h=w+4;var targetInt=stringToUTF8OnStack(target.id);var ret=_emscripten_get_canvas_element_size(targetInt,w,h);var size=[HEAP32[w>>>2>>>0],HEAP32[h>>>2>>>0]];stackRestore(sp);return size};function _emscripten_set_canvas_element_size(target,width,height){target>>>=0;var canvas=findCanvasEventTarget(target);if(!canvas)return-4;canvas.width=width;canvas.height=height;return 0}var setCanvasElementSize=(target,width,height)=>{if(!target.controlTransferredOffscreen){target.width=width;target.height=height}else{var sp=stackSave();var targetInt=stringToUTF8OnStack(target.id);_emscripten_set_canvas_element_size(targetInt,width,height);stackRestore(sp)}};var currentFullscreenStrategy={};var registerRestoreOldStyle=canvas=>{var canvasSize=getCanvasElementSize(canvas);var oldWidth=canvasSize[0];var oldHeight=canvasSize[1];var oldCssWidth=canvas.style.width;var oldCssHeight=canvas.style.height;var oldBackgroundColor=canvas.style.backgroundColor;var oldDocumentBackgroundColor=document.body.style.backgroundColor;var oldPaddingLeft=canvas.style.paddingLeft;var oldPaddingRight=canvas.style.paddingRight;var oldPaddingTop=canvas.style.paddingTop;var oldPaddingBottom=canvas.style.paddingBottom;var oldMarginLeft=canvas.style.marginLeft;var oldMarginRight=canvas.style.marginRight;var oldMarginTop=canvas.style.marginTop;var oldMarginBottom=canvas.style.marginBottom;var oldDocumentBodyMargin=document.body.style.margin;var oldDocumentOverflow=document.documentElement.style.overflow;var oldDocumentScroll=document.body.scroll;var oldImageRendering=canvas.style.imageRendering;function restoreOldStyle(){var fullscreenElement=document.fullscreenElement||document.webkitFullscreenElement;if(!fullscreenElement){document.removeEventListener("fullscreenchange",restoreOldStyle);document.removeEventListener("webkitfullscreenchange",restoreOldStyle);setCanvasElementSize(canvas,oldWidth,oldHeight);canvas.style.width=oldCssWidth;canvas.style.height=oldCssHeight;canvas.style.backgroundColor=oldBackgroundColor;if(!oldDocumentBackgroundColor)document.body.style.backgroundColor="white";document.body.style.backgroundColor=oldDocumentBackgroundColor;canvas.style.paddingLeft=oldPaddingLeft;canvas.style.paddingRight=oldPaddingRight;canvas.style.paddingTop=oldPaddingTop;canvas.style.paddingBottom=oldPaddingBottom;canvas.style.marginLeft=oldMarginLeft;canvas.style.marginRight=oldMarginRight;canvas.style.marginTop=oldMarginTop;canvas.style.marginBottom=oldMarginBottom;document.body.style.margin=oldDocumentBodyMargin;document.documentElement.style.overflow=oldDocumentOverflow;document.body.scroll=oldDocumentScroll;canvas.style.imageRendering=oldImageRendering;if(canvas.GLctxObject)canvas.GLctxObject.GLctx.viewport(0,0,oldWidth,oldHeight);if(currentFullscreenStrategy.canvasResizedCallback){getWasmTableEntry(currentFullscreenStrategy.canvasResizedCallback)(37,0,currentFullscreenStrategy.canvasResizedCallbackUserData)}}}document.addEventListener("fullscreenchange",restoreOldStyle);document.addEventListener("webkitfullscreenchange",restoreOldStyle);return restoreOldStyle};var setLetterbox=(element,topBottom,leftRight)=>{element.style.paddingLeft=element.style.paddingRight=leftRight+"px";element.style.paddingTop=element.style.paddingBottom=topBottom+"px"};var getBoundingClientRect=e=>specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{left:0,top:0};var JSEvents_resizeCanvasForFullscreen=(target,strategy)=>{var restoreOldStyle=registerRestoreOldStyle(target);var cssWidth=strategy.softFullscreen?innerWidth:screen.width;var cssHeight=strategy.softFullscreen?innerHeight:screen.height;var rect=getBoundingClientRect(target);var windowedCssWidth=rect.width;var windowedCssHeight=rect.height;var canvasSize=getCanvasElementSize(target);var windowedRttWidth=canvasSize[0];var windowedRttHeight=canvasSize[1];if(strategy.scaleMode==3){setLetterbox(target,(cssHeight-windowedCssHeight)/2,(cssWidth-windowedCssWidth)/2);cssWidth=windowedCssWidth;cssHeight=windowedCssHeight}else if(strategy.scaleMode==2){if(cssWidth*windowedRttHeight{if(strategy.scaleMode!=0||strategy.canvasResolutionScaleMode!=0){JSEvents_resizeCanvasForFullscreen(target,strategy)}if(target.requestFullscreen){target.requestFullscreen()}else if(target.webkitRequestFullscreen){target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}else{return JSEvents.fullscreenEnabled()?-3:-1}currentFullscreenStrategy=strategy;if(strategy.canvasResizedCallback){getWasmTableEntry(strategy.canvasResizedCallback)(37,0,strategy.canvasResizedCallbackUserData)}return 0};var _emscripten_exit_fullscreen=()=>{if(!JSEvents.fullscreenEnabled())return-1;JSEvents.removeDeferredCalls(JSEvents_requestFullscreen);var d=specialHTMLTargets[1];if(d.exitFullscreen){d.fullscreenElement&&d.exitFullscreen()}else if(d.webkitExitFullscreen){d.webkitFullscreenElement&&d.webkitExitFullscreen()}else{return-1}return 0};var requestPointerLock=target=>{if(target.requestPointerLock){target.requestPointerLock()}else{if(document.body.requestPointerLock){return-3}return-1}return 0};var _emscripten_exit_pointerlock=()=>{JSEvents.removeDeferredCalls(requestPointerLock);if(!document.exitPointerLock)return-1;document.exitPointerLock();return 0};var _emscripten_get_device_pixel_ratio=()=>devicePixelRatio;function _emscripten_get_element_css_size(target,width,height){target>>>=0;width>>>=0;height>>>=0;target=findEventTarget(target);if(!target)return-4;var rect=getBoundingClientRect(target);HEAPF64[width>>>3>>>0]=rect.width;HEAPF64[height>>>3>>>0]=rect.height;return 0}var fillGamepadEventData=(eventStruct,e)=>{HEAPF64[eventStruct>>>3>>>0]=e.timestamp;for(var i=0;i>>3>>>0]=e.axes[i]}for(var i=0;i>>3>>>0]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>>3>>>0]=e.buttons[i]}}for(var i=0;i>>0]=e.buttons[i].pressed}else{HEAP8[eventStruct+i+1040>>>0]=e.buttons[i]==1}}HEAP8[eventStruct+1104>>>0]=e.connected;HEAP32[eventStruct+1108>>>2>>>0]=e.index;HEAP32[eventStruct+8>>>2>>>0]=e.axes.length;HEAP32[eventStruct+12>>>2>>>0]=e.buttons.length;stringToUTF8(e.id,eventStruct+1112,64);stringToUTF8(e.mapping,eventStruct+1176,64)};function _emscripten_get_gamepad_status(index,gamepadState){gamepadState>>>=0;if(!JSEvents.lastGamepadState)throw"emscripten_get_gamepad_status() can only be called after having first called emscripten_sample_gamepad_data() and that function has returned EMSCRIPTEN_RESULT_SUCCESS!";if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}var _emscripten_get_num_gamepads=()=>{if(!JSEvents.lastGamepadState)throw"emscripten_get_num_gamepads() can only be called after having first called emscripten_sample_gamepad_data() and that function has returned EMSCRIPTEN_RESULT_SUCCESS!";return JSEvents.lastGamepadState.length};function _emscripten_get_screen_size(width,height){width>>>=0;height>>>=0;HEAP32[width>>>2>>>0]=screen.width;HEAP32[height>>>2>>>0]=screen.height}var _glActiveTexture=x0=>GLctx.activeTexture(x0);var _emscripten_glActiveTexture=_glActiveTexture;var _glAttachShader=(program,shader)=>{GLctx.attachShader(GL.programs[program],GL.shaders[shader])};var _emscripten_glAttachShader=_glAttachShader;var _glBeginQueryEXT=(target,id)=>{GLctx.disjointTimerQueryExt["beginQueryEXT"](target,GL.queries[id])};var _emscripten_glBeginQueryEXT=_glBeginQueryEXT;function _glBindAttribLocation(program,index,name){name>>>=0;GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}var _emscripten_glBindAttribLocation=_glBindAttribLocation;var _glBindBuffer=(target,buffer)=>{GLctx.bindBuffer(target,GL.buffers[buffer])};var _emscripten_glBindBuffer=_glBindBuffer;var _glBindFramebuffer=(target,framebuffer)=>{GLctx.bindFramebuffer(target,GL.framebuffers[framebuffer])};var _emscripten_glBindFramebuffer=_glBindFramebuffer;var _glBindRenderbuffer=(target,renderbuffer)=>{GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])};var _emscripten_glBindRenderbuffer=_glBindRenderbuffer;var _glBindTexture=(target,texture)=>{GLctx.bindTexture(target,GL.textures[texture])};var _emscripten_glBindTexture=_glBindTexture;var _glBindVertexArray=vao=>{GLctx.bindVertexArray(GL.vaos[vao])};var _glBindVertexArrayOES=_glBindVertexArray;var _emscripten_glBindVertexArrayOES=_glBindVertexArrayOES;var _glBlendColor=(x0,x1,x2,x3)=>GLctx.blendColor(x0,x1,x2,x3);var _emscripten_glBlendColor=_glBlendColor;var _glBlendEquation=x0=>GLctx.blendEquation(x0);var _emscripten_glBlendEquation=_glBlendEquation;var _glBlendEquationSeparate=(x0,x1)=>GLctx.blendEquationSeparate(x0,x1);var _emscripten_glBlendEquationSeparate=_glBlendEquationSeparate;var _glBlendFunc=(x0,x1)=>GLctx.blendFunc(x0,x1);var _emscripten_glBlendFunc=_glBlendFunc;var _glBlendFuncSeparate=(x0,x1,x2,x3)=>GLctx.blendFuncSeparate(x0,x1,x2,x3);var _emscripten_glBlendFuncSeparate=_glBlendFuncSeparate;function _glBufferData(target,size,data,usage){size>>>=0;data>>>=0;GLctx.bufferData(target,data?HEAPU8.subarray(data>>>0,data+size>>>0):size,usage)}var _emscripten_glBufferData=_glBufferData;function _glBufferSubData(target,offset,size,data){offset>>>=0;size>>>=0;data>>>=0;GLctx.bufferSubData(target,offset,HEAPU8.subarray(data>>>0,data+size>>>0))}var _emscripten_glBufferSubData=_glBufferSubData;var _glCheckFramebufferStatus=x0=>GLctx.checkFramebufferStatus(x0);var _emscripten_glCheckFramebufferStatus=_glCheckFramebufferStatus;var _glClear=x0=>GLctx.clear(x0);var _emscripten_glClear=_glClear;var _glClearColor=(x0,x1,x2,x3)=>GLctx.clearColor(x0,x1,x2,x3);var _emscripten_glClearColor=_glClearColor;var _glClearDepthf=x0=>GLctx.clearDepth(x0);var _emscripten_glClearDepthf=_glClearDepthf;var _glClearStencil=x0=>GLctx.clearStencil(x0);var _emscripten_glClearStencil=_glClearStencil;var _glClipControlEXT=(origin,depth)=>{GLctx.extClipControl["clipControlEXT"](origin,depth)};var _emscripten_glClipControlEXT=_glClipControlEXT;var _glColorMask=(red,green,blue,alpha)=>{GLctx.colorMask(!!red,!!green,!!blue,!!alpha)};var _emscripten_glColorMask=_glColorMask;var _glCompileShader=shader=>{GLctx.compileShader(GL.shaders[shader])};var _emscripten_glCompileShader=_glCompileShader;function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){data>>>=0;GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,HEAPU8.subarray(data>>>0,data+imageSize>>>0))}var _emscripten_glCompressedTexImage2D=_glCompressedTexImage2D;function _glCompressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imageSize,data){data>>>=0;GLctx.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,HEAPU8.subarray(data>>>0,data+imageSize>>>0))}var _emscripten_glCompressedTexSubImage2D=_glCompressedTexSubImage2D;var _glCopyTexImage2D=(x0,x1,x2,x3,x4,x5,x6,x7)=>GLctx.copyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7);var _emscripten_glCopyTexImage2D=_glCopyTexImage2D;var _glCopyTexSubImage2D=(x0,x1,x2,x3,x4,x5,x6,x7)=>GLctx.copyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7);var _emscripten_glCopyTexSubImage2D=_glCopyTexSubImage2D;var _glCreateProgram=()=>{var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;program.maxUniformLength=program.maxAttributeLength=program.maxUniformBlockNameLength=0;program.uniformIdCounter=1;GL.programs[id]=program;return id};var _emscripten_glCreateProgram=_glCreateProgram;var _glCreateShader=shaderType=>{var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id};var _emscripten_glCreateShader=_glCreateShader;var _glCullFace=x0=>GLctx.cullFace(x0);var _emscripten_glCullFace=_glCullFace;function _glDeleteBuffers(n,buffers){buffers>>>=0;for(var i=0;i>>2>>>0];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}var _emscripten_glDeleteBuffers=_glDeleteBuffers;function _glDeleteFramebuffers(n,framebuffers){framebuffers>>>=0;for(var i=0;i>>2>>>0];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}var _emscripten_glDeleteFramebuffers=_glDeleteFramebuffers;var _glDeleteProgram=id=>{if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null};var _emscripten_glDeleteProgram=_glDeleteProgram;function _glDeleteQueriesEXT(n,ids){ids>>>=0;for(var i=0;i>>2>>>0];var query=GL.queries[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.queries[id]=null}}var _emscripten_glDeleteQueriesEXT=_glDeleteQueriesEXT;function _glDeleteRenderbuffers(n,renderbuffers){renderbuffers>>>=0;for(var i=0;i>>2>>>0];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}var _emscripten_glDeleteRenderbuffers=_glDeleteRenderbuffers;var _glDeleteShader=id=>{if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null};var _emscripten_glDeleteShader=_glDeleteShader;function _glDeleteTextures(n,textures){textures>>>=0;for(var i=0;i>>2>>>0];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}var _emscripten_glDeleteTextures=_glDeleteTextures;function _glDeleteVertexArrays(n,vaos){vaos>>>=0;for(var i=0;i>>2>>>0];GLctx.deleteVertexArray(GL.vaos[id]);GL.vaos[id]=null}}var _glDeleteVertexArraysOES=_glDeleteVertexArrays;var _emscripten_glDeleteVertexArraysOES=_glDeleteVertexArraysOES;var _glDepthFunc=x0=>GLctx.depthFunc(x0);var _emscripten_glDepthFunc=_glDepthFunc;var _glDepthMask=flag=>{GLctx.depthMask(!!flag)};var _emscripten_glDepthMask=_glDepthMask;var _glDepthRangef=(x0,x1)=>GLctx.depthRange(x0,x1);var _emscripten_glDepthRangef=_glDepthRangef;var _glDetachShader=(program,shader)=>{GLctx.detachShader(GL.programs[program],GL.shaders[shader])};var _emscripten_glDetachShader=_glDetachShader;var _glDisable=x0=>GLctx.disable(x0);var _emscripten_glDisable=_glDisable;var _glDisableVertexAttribArray=index=>{GLctx.disableVertexAttribArray(index)};var _emscripten_glDisableVertexAttribArray=_glDisableVertexAttribArray;var _glDrawArrays=(mode,first,count)=>{GLctx.drawArrays(mode,first,count)};var _emscripten_glDrawArrays=_glDrawArrays;var _glDrawArraysInstanced=(mode,first,count,primcount)=>{GLctx.drawArraysInstanced(mode,first,count,primcount)};var _glDrawArraysInstancedANGLE=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedANGLE=_glDrawArraysInstancedANGLE;var tempFixedLengthArray=[];function _glDrawBuffers(n,bufs){bufs>>>=0;var bufArray=tempFixedLengthArray[n];for(var i=0;i>>2>>>0]}GLctx.drawBuffers(bufArray)}var _glDrawBuffersWEBGL=_glDrawBuffers;var _emscripten_glDrawBuffersWEBGL=_glDrawBuffersWEBGL;function _glDrawElements(mode,count,type,indices){indices>>>=0;GLctx.drawElements(mode,count,type,indices)}var _emscripten_glDrawElements=_glDrawElements;function _glDrawElementsInstanced(mode,count,type,indices,primcount){indices>>>=0;GLctx.drawElementsInstanced(mode,count,type,indices,primcount)}var _glDrawElementsInstancedANGLE=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedANGLE=_glDrawElementsInstancedANGLE;var _glEnable=x0=>GLctx.enable(x0);var _emscripten_glEnable=_glEnable;var _glEnableVertexAttribArray=index=>{GLctx.enableVertexAttribArray(index)};var _emscripten_glEnableVertexAttribArray=_glEnableVertexAttribArray;var _glEndQueryEXT=target=>{GLctx.disjointTimerQueryExt["endQueryEXT"](target)};var _emscripten_glEndQueryEXT=_glEndQueryEXT;var _glFinish=()=>GLctx.finish();var _emscripten_glFinish=_glFinish;var _glFlush=()=>GLctx.flush();var _emscripten_glFlush=_glFlush;var _glFramebufferRenderbuffer=(target,attachment,renderbuffertarget,renderbuffer)=>{GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])};var _emscripten_glFramebufferRenderbuffer=_glFramebufferRenderbuffer;var _glFramebufferTexture2D=(target,attachment,textarget,texture,level)=>{GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)};var _emscripten_glFramebufferTexture2D=_glFramebufferTexture2D;var _glFrontFace=x0=>GLctx.frontFace(x0);var _emscripten_glFrontFace=_glFrontFace;function _glGenBuffers(n,buffers){buffers>>>=0;GL.genObject(n,buffers,"createBuffer",GL.buffers)}var _emscripten_glGenBuffers=_glGenBuffers;function _glGenFramebuffers(n,ids){ids>>>=0;GL.genObject(n,ids,"createFramebuffer",GL.framebuffers)}var _emscripten_glGenFramebuffers=_glGenFramebuffers;function _glGenQueriesEXT(n,ids){ids>>>=0;for(var i=0;i>>2>>>0]=0;return}var id=GL.getNewId(GL.queries);query.name=id;GL.queries[id]=query;HEAP32[ids+i*4>>>2>>>0]=id}}var _emscripten_glGenQueriesEXT=_glGenQueriesEXT;function _glGenRenderbuffers(n,renderbuffers){renderbuffers>>>=0;GL.genObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}var _emscripten_glGenRenderbuffers=_glGenRenderbuffers;function _glGenTextures(n,textures){textures>>>=0;GL.genObject(n,textures,"createTexture",GL.textures)}var _emscripten_glGenTextures=_glGenTextures;function _glGenVertexArrays(n,arrays){arrays>>>=0;GL.genObject(n,arrays,"createVertexArray",GL.vaos)}var _glGenVertexArraysOES=_glGenVertexArrays;var _emscripten_glGenVertexArraysOES=_glGenVertexArraysOES;var _glGenerateMipmap=x0=>GLctx.generateMipmap(x0);var _emscripten_glGenerateMipmap=_glGenerateMipmap;var __glGetActiveAttribOrUniform=(funcName,program,index,bufSize,length,size,type,name)=>{program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>>2>>>0]=numBytesWrittenExclNull;if(size)HEAP32[size>>>2>>>0]=info.size;if(type)HEAP32[type>>>2>>>0]=info.type}};function _glGetActiveAttrib(program,index,bufSize,length,size,type,name){length>>>=0;size>>>=0;type>>>=0;name>>>=0;return __glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}var _emscripten_glGetActiveAttrib=_glGetActiveAttrib;function _glGetActiveUniform(program,index,bufSize,length,size,type,name){length>>>=0;size>>>=0;type>>>=0;name>>>=0;return __glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}var _emscripten_glGetActiveUniform=_glGetActiveUniform;function _glGetAttachedShaders(program,maxCount,count,shaders){count>>>=0;shaders>>>=0;var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>>2>>>0]=len;for(var i=0;i>>2>>>0]=id}}var _emscripten_glGetAttachedShaders=_glGetAttachedShaders;function _glGetAttribLocation(program,name){name>>>=0;return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}var _emscripten_glGetAttribLocation=_glGetAttribLocation;var readI53FromI64=ptr=>HEAPU32[ptr>>>2>>>0]+HEAP32[ptr+4>>>2>>>0]*4294967296;var readI53FromU64=ptr=>HEAPU32[ptr>>>2>>>0]+HEAPU32[ptr+4>>>2>>>0]*4294967296;var writeI53ToI64=(ptr,num)=>{HEAPU32[ptr>>>2>>>0]=num;var lower=HEAPU32[ptr>>>2>>>0];HEAPU32[ptr+4>>>2>>>0]=(num-lower)/4294967296;var deserialized=num>=0?readI53FromU64(ptr):readI53FromI64(ptr);var offset=ptr>>>2;if(deserialized!=num)warnOnce(`writeI53ToI64() out of range: serialized JS Number ${num} to Wasm heap as bytes lo=${ptrToString(HEAPU32[offset>>>0])}, hi=${ptrToString(HEAPU32[offset+1>>>0])}, which deserializes back to ${deserialized} instead!`)};var emscriptenWebGLGet=(name_,p,type)=>{if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>>2>>>0]=result[i];break;case 2:HEAPF32[p+i*4>>>2>>>0]=result[i];break;case 4:HEAP8[p+i>>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err(`GL_INVALID_ENUM in glGet${type}v: Unknown object returned from WebGL getParameter(${name_})! (error: ${e})`);return}}break;default:GL.recordError(1280);err(`GL_INVALID_ENUM in glGet${type}v: Native code calling glGet${type}v(${name_}) and it returns ${result} of type ${typeof result}!`);return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>>2>>>0]=ret;break;case 2:HEAPF32[p>>>2>>>0]=ret;break;case 4:HEAP8[p>>>0]=ret?1:0;break}};function _glGetBooleanv(name_,p){p>>>=0;return emscriptenWebGLGet(name_,p,4)}var _emscripten_glGetBooleanv=_glGetBooleanv;function _glGetBufferParameteriv(target,value,data){data>>>=0;if(!data){GL.recordError(1281);return}HEAP32[data>>>2>>>0]=GLctx.getBufferParameter(target,value)}var _emscripten_glGetBufferParameteriv=_glGetBufferParameteriv;var _glGetError=()=>{var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error};var _emscripten_glGetError=_glGetError;function _glGetFloatv(name_,p){p>>>=0;return emscriptenWebGLGet(name_,p,2)}var _emscripten_glGetFloatv=_glGetFloatv;function _glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){params>>>=0;var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>>2>>>0]=result}var _emscripten_glGetFramebufferAttachmentParameteriv=_glGetFramebufferAttachmentParameteriv;function _glGetIntegerv(name_,p){p>>>=0;return emscriptenWebGLGet(name_,p,0)}var _emscripten_glGetIntegerv=_glGetIntegerv;function _glGetProgramInfoLog(program,maxLength,length,infoLog){length>>>=0;infoLog>>>=0;var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>>2>>>0]=numBytesWrittenExclNull}var _emscripten_glGetProgramInfoLog=_glGetProgramInfoLog;function _glGetProgramiv(program,pname,p){p>>>=0;if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}program=GL.programs[program];if(pname==35716){var log=GLctx.getProgramInfoLog(program);if(log===null)log="(unknown error)";HEAP32[p>>>2>>>0]=log.length+1}else if(pname==35719){if(!program.maxUniformLength){var numActiveUniforms=GLctx.getProgramParameter(program,35718);for(var i=0;i>>2>>>0]=program.maxUniformLength}else if(pname==35722){if(!program.maxAttributeLength){var numActiveAttributes=GLctx.getProgramParameter(program,35721);for(var i=0;i>>2>>>0]=program.maxAttributeLength}else if(pname==35381){if(!program.maxUniformBlockNameLength){var numActiveUniformBlocks=GLctx.getProgramParameter(program,35382);for(var i=0;i>>2>>>0]=program.maxUniformBlockNameLength}else{HEAP32[p>>>2>>>0]=GLctx.getProgramParameter(program,pname)}}var _emscripten_glGetProgramiv=_glGetProgramiv;function _glGetQueryObjecti64vEXT(id,pname,params){params>>>=0;if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param;{param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname)}var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}var _emscripten_glGetQueryObjecti64vEXT=_glGetQueryObjecti64vEXT;function _glGetQueryObjectivEXT(id,pname,params){params>>>=0;if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>>2>>>0]=ret}var _emscripten_glGetQueryObjectivEXT=_glGetQueryObjectivEXT;var _glGetQueryObjectui64vEXT=_glGetQueryObjecti64vEXT;var _emscripten_glGetQueryObjectui64vEXT=_glGetQueryObjectui64vEXT;var _glGetQueryObjectuivEXT=_glGetQueryObjectivEXT;var _emscripten_glGetQueryObjectuivEXT=_glGetQueryObjectuivEXT;function _glGetQueryivEXT(target,pname,params){params>>>=0;if(!params){GL.recordError(1281);return}HEAP32[params>>>2>>>0]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}var _emscripten_glGetQueryivEXT=_glGetQueryivEXT;function _glGetRenderbufferParameteriv(target,pname,params){params>>>=0;if(!params){GL.recordError(1281);return}HEAP32[params>>>2>>>0]=GLctx.getRenderbufferParameter(target,pname)}var _emscripten_glGetRenderbufferParameteriv=_glGetRenderbufferParameteriv;function _glGetShaderInfoLog(shader,maxLength,length,infoLog){length>>>=0;infoLog>>>=0;var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>>2>>>0]=numBytesWrittenExclNull}var _emscripten_glGetShaderInfoLog=_glGetShaderInfoLog;function _glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){range>>>=0;precision>>>=0;var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>>2>>>0]=result.rangeMin;HEAP32[range+4>>>2>>>0]=result.rangeMax;HEAP32[precision>>>2>>>0]=result.precision}var _emscripten_glGetShaderPrecisionFormat=_glGetShaderPrecisionFormat;function _glGetShaderSource(shader,bufSize,length,source){length>>>=0;source>>>=0;var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>>2>>>0]=numBytesWrittenExclNull}var _emscripten_glGetShaderSource=_glGetShaderSource;function _glGetShaderiv(shader,pname,p){p>>>=0;if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>>2>>>0]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>>2>>>0]=sourceLength}else{HEAP32[p>>>2>>>0]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}var _emscripten_glGetShaderiv=_glGetShaderiv;var webglGetExtensions=()=>{var exts=getEmscriptenSupportedExtensions(GLctx);exts=exts.concat(exts.map(e=>"GL_"+e));return exts};function _glGetString(name_){var ret=GL.stringCache[name_];if(!ret){switch(name_){case 7939:ret=stringToNewUTF8(webglGetExtensions().join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=s?stringToNewUTF8(s):0;break;case 7938:var webGLVersion=GLctx.getParameter(7938);var glVersion=`OpenGL ES 2.0 (${webGLVersion})`;ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion=`OpenGL ES GLSL ES ${ver_num[1]} (${glslVersion})`}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280)}GL.stringCache[name_]=ret}return ret}var _emscripten_glGetString=_glGetString;function _glGetTexParameterfv(target,pname,params){params>>>=0;if(!params){GL.recordError(1281);return}HEAPF32[params>>>2>>>0]=GLctx.getTexParameter(target,pname)}var _emscripten_glGetTexParameterfv=_glGetTexParameterfv;function _glGetTexParameteriv(target,pname,params){params>>>=0;if(!params){GL.recordError(1281);return}HEAP32[params>>>2>>>0]=GLctx.getTexParameter(target,pname)}var _emscripten_glGetTexParameteriv=_glGetTexParameteriv;var jstoi_q=str=>parseInt(str);var webglGetLeftBracePos=name=>name.slice(-1)=="]"&&name.lastIndexOf("[");var webglPrepareUniformLocationsBeforeFirstUse=program=>{var uniformLocsById=program.uniformLocsById,uniformSizeAndIdsByName=program.uniformSizeAndIdsByName,i,j;if(!uniformLocsById){program.uniformLocsById=uniformLocsById={};program.uniformArrayNamesById={};var numActiveUniforms=GLctx.getProgramParameter(program,35718);for(i=0;i0?nm.slice(0,lb):nm;var id=program.uniformIdCounter;program.uniformIdCounter+=sz;uniformSizeAndIdsByName[arrayName]=[sz,id];for(j=0;j>>=0;name=UTF8ToString(name);if(program=GL.programs[program]){webglPrepareUniformLocationsBeforeFirstUse(program);var uniformLocsById=program.uniformLocsById;var arrayIndex=0;var uniformBaseName=name;var leftBrace=webglGetLeftBracePos(name);if(leftBrace>0){arrayIndex=jstoi_q(name.slice(leftBrace+1))>>>0;uniformBaseName=name.slice(0,leftBrace)}var sizeAndId=program.uniformSizeAndIdsByName[uniformBaseName];if(sizeAndId&&arrayIndex{var p=GLctx.currentProgram;if(p){var webglLoc=p.uniformLocsById[location];if(typeof webglLoc=="number"){p.uniformLocsById[location]=webglLoc=GLctx.getUniformLocation(p,p.uniformArrayNamesById[location]+(webglLoc>0?`[${webglLoc}]`:""))}return webglLoc}else{GL.recordError(1282)}};var emscriptenWebGLGetUniform=(program,location,params,type)=>{if(!params){GL.recordError(1281);return}program=GL.programs[program];webglPrepareUniformLocationsBeforeFirstUse(program);var data=GLctx.getUniform(program,webglGetUniformLocation(location));if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>>2>>>0]=data;break;case 2:HEAPF32[params>>>2>>>0]=data;break}}else{for(var i=0;i>>2>>>0]=data[i];break;case 2:HEAPF32[params+i*4>>>2>>>0]=data[i];break}}}};function _glGetUniformfv(program,location,params){params>>>=0;emscriptenWebGLGetUniform(program,location,params,2)}var _emscripten_glGetUniformfv=_glGetUniformfv;function _glGetUniformiv(program,location,params){params>>>=0;emscriptenWebGLGetUniform(program,location,params,0)}var _emscripten_glGetUniformiv=_glGetUniformiv;function _glGetVertexAttribPointerv(index,pname,pointer){pointer>>>=0;if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>>2>>>0]=GLctx.getVertexAttribOffset(index,pname)}var _emscripten_glGetVertexAttribPointerv=_glGetVertexAttribPointerv;var emscriptenWebGLGetVertexAttrib=(index,pname,params,type)=>{if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>>2>>>0]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>>2>>>0]=data;break;case 2:HEAPF32[params>>>2>>>0]=data;break;case 5:HEAP32[params>>>2>>>0]=Math.fround(data);break}}else{for(var i=0;i>>2>>>0]=data[i];break;case 2:HEAPF32[params+i*4>>>2>>>0]=data[i];break;case 5:HEAP32[params+i*4>>>2>>>0]=Math.fround(data[i]);break}}}};function _glGetVertexAttribfv(index,pname,params){params>>>=0;emscriptenWebGLGetVertexAttrib(index,pname,params,2)}var _emscripten_glGetVertexAttribfv=_glGetVertexAttribfv;function _glGetVertexAttribiv(index,pname,params){params>>>=0;emscriptenWebGLGetVertexAttrib(index,pname,params,5)}var _emscripten_glGetVertexAttribiv=_glGetVertexAttribiv;var _glHint=(x0,x1)=>GLctx.hint(x0,x1);var _emscripten_glHint=_glHint;var _glIsBuffer=buffer=>{var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)};var _emscripten_glIsBuffer=_glIsBuffer;var _glIsEnabled=x0=>GLctx.isEnabled(x0);var _emscripten_glIsEnabled=_glIsEnabled;var _glIsFramebuffer=framebuffer=>{var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)};var _emscripten_glIsFramebuffer=_glIsFramebuffer;var _glIsProgram=program=>{program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)};var _emscripten_glIsProgram=_glIsProgram;var _glIsQueryEXT=id=>{var query=GL.queries[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)};var _emscripten_glIsQueryEXT=_glIsQueryEXT;var _glIsRenderbuffer=renderbuffer=>{var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)};var _emscripten_glIsRenderbuffer=_glIsRenderbuffer;var _glIsShader=shader=>{var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)};var _emscripten_glIsShader=_glIsShader;var _glIsTexture=id=>{var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)};var _emscripten_glIsTexture=_glIsTexture;var _glIsVertexArray=array=>{var vao=GL.vaos[array];if(!vao)return 0;return GLctx.isVertexArray(vao)};var _glIsVertexArrayOES=_glIsVertexArray;var _emscripten_glIsVertexArrayOES=_glIsVertexArrayOES;var _glLineWidth=x0=>GLctx.lineWidth(x0);var _emscripten_glLineWidth=_glLineWidth;var _glLinkProgram=program=>{program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={}};var _emscripten_glLinkProgram=_glLinkProgram;var _glPixelStorei=(pname,param)=>{if(pname==3317){GL.unpackAlignment=param}else if(pname==3314){GL.unpackRowLength=param}GLctx.pixelStorei(pname,param)};var _emscripten_glPixelStorei=_glPixelStorei;var _glPolygonModeWEBGL=(face,mode)=>{GLctx.webglPolygonMode["polygonModeWEBGL"](face,mode)};var _emscripten_glPolygonModeWEBGL=_glPolygonModeWEBGL;var _glPolygonOffset=(x0,x1)=>GLctx.polygonOffset(x0,x1);var _emscripten_glPolygonOffset=_glPolygonOffset;var _glPolygonOffsetClampEXT=(factor,units,clamp)=>{GLctx.extPolygonOffsetClamp["polygonOffsetClampEXT"](factor,units,clamp)};var _emscripten_glPolygonOffsetClampEXT=_glPolygonOffsetClampEXT;var _glQueryCounterEXT=(id,target)=>{GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.queries[id],target)};var _emscripten_glQueryCounterEXT=_glQueryCounterEXT;var computeUnpackAlignedImageSize=(width,height,sizePerPixel)=>{function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=(GL.unpackRowLength||width)*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,GL.unpackAlignment);return height*alignedRowSize};var colorChannelsInGlTextureFormat=format=>{var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1};var heapObjectForWebGLType=type=>{type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16};var toTypedArrayIndex=(pointer,heap)=>pointer>>>31-Math.clz32(heap.BYTES_PER_ELEMENT);var emscriptenWebGLGetTexPixelData=(type,format,width,height,pixels,internalFormat)=>{var heap=heapObjectForWebGLType(type);var sizePerPixel=colorChannelsInGlTextureFormat(format)*heap.BYTES_PER_ELEMENT;var bytes=computeUnpackAlignedImageSize(width,height,sizePerPixel);return heap.subarray(toTypedArrayIndex(pixels,heap)>>>0,toTypedArrayIndex(pixels+bytes,heap)>>>0)};function _glReadPixels(x,y,width,height,format,type,pixels){pixels>>>=0;var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}var _emscripten_glReadPixels=_glReadPixels;var _glReleaseShaderCompiler=()=>{};var _emscripten_glReleaseShaderCompiler=_glReleaseShaderCompiler;var _glRenderbufferStorage=(x0,x1,x2,x3)=>GLctx.renderbufferStorage(x0,x1,x2,x3);var _emscripten_glRenderbufferStorage=_glRenderbufferStorage;var _glSampleCoverage=(value,invert)=>{GLctx.sampleCoverage(value,!!invert)};var _emscripten_glSampleCoverage=_glSampleCoverage;var _glScissor=(x0,x1,x2,x3)=>GLctx.scissor(x0,x1,x2,x3);var _emscripten_glScissor=_glScissor;function _glShaderBinary(count,shaders,binaryformat,binary,length){shaders>>>=0;binary>>>=0;GL.recordError(1280)}var _emscripten_glShaderBinary=_glShaderBinary;function _glShaderSource(shader,count,string,length){string>>>=0;length>>>=0;var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}var _emscripten_glShaderSource=_glShaderSource;var _glStencilFunc=(x0,x1,x2)=>GLctx.stencilFunc(x0,x1,x2);var _emscripten_glStencilFunc=_glStencilFunc;var _glStencilFuncSeparate=(x0,x1,x2,x3)=>GLctx.stencilFuncSeparate(x0,x1,x2,x3);var _emscripten_glStencilFuncSeparate=_glStencilFuncSeparate;var _glStencilMask=x0=>GLctx.stencilMask(x0);var _emscripten_glStencilMask=_glStencilMask;var _glStencilMaskSeparate=(x0,x1)=>GLctx.stencilMaskSeparate(x0,x1);var _emscripten_glStencilMaskSeparate=_glStencilMaskSeparate;var _glStencilOp=(x0,x1,x2)=>GLctx.stencilOp(x0,x1,x2);var _emscripten_glStencilOp=_glStencilOp;var _glStencilOpSeparate=(x0,x1,x2,x3)=>GLctx.stencilOpSeparate(x0,x1,x2,x3);var _emscripten_glStencilOpSeparate=_glStencilOpSeparate;function _glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){pixels>>>=0;var pixelData=pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null;GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixelData)}var _emscripten_glTexImage2D=_glTexImage2D;var _glTexParameterf=(x0,x1,x2)=>GLctx.texParameterf(x0,x1,x2);var _emscripten_glTexParameterf=_glTexParameterf;function _glTexParameterfv(target,pname,params){params>>>=0;var param=HEAPF32[params>>>2>>>0];GLctx.texParameterf(target,pname,param)}var _emscripten_glTexParameterfv=_glTexParameterfv;var _glTexParameteri=(x0,x1,x2)=>GLctx.texParameteri(x0,x1,x2);var _emscripten_glTexParameteri=_glTexParameteri;function _glTexParameteriv(target,pname,params){params>>>=0;var param=HEAP32[params>>>2>>>0];GLctx.texParameteri(target,pname,param)}var _emscripten_glTexParameteriv=_glTexParameteriv;function _glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){pixels>>>=0;var pixelData=pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0):null;GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}var _emscripten_glTexSubImage2D=_glTexSubImage2D;var _glUniform1f=(location,v0)=>{GLctx.uniform1f(webglGetUniformLocation(location),v0)};var _emscripten_glUniform1f=_glUniform1f;var miniTempWebGLFloatBuffers=[];function _glUniform1fv(location,count,value){value>>>=0;if(count<=288){var view=miniTempWebGLFloatBuffers[count];for(var i=0;i>>2>>>0]}}else{var view=HEAPF32.subarray(value>>>2>>>0,value+count*4>>>2>>>0)}GLctx.uniform1fv(webglGetUniformLocation(location),view)}var _emscripten_glUniform1fv=_glUniform1fv;var _glUniform1i=(location,v0)=>{GLctx.uniform1i(webglGetUniformLocation(location),v0)};var _emscripten_glUniform1i=_glUniform1i;var miniTempWebGLIntBuffers=[];function _glUniform1iv(location,count,value){value>>>=0;if(count<=288){var view=miniTempWebGLIntBuffers[count];for(var i=0;i>>2>>>0]}}else{var view=HEAP32.subarray(value>>>2>>>0,value+count*4>>>2>>>0)}GLctx.uniform1iv(webglGetUniformLocation(location),view)}var _emscripten_glUniform1iv=_glUniform1iv;var _glUniform2f=(location,v0,v1)=>{GLctx.uniform2f(webglGetUniformLocation(location),v0,v1)};var _emscripten_glUniform2f=_glUniform2f;function _glUniform2fv(location,count,value){value>>>=0;if(count<=144){count*=2;var view=miniTempWebGLFloatBuffers[count];for(var i=0;i>>2>>>0];view[i+1]=HEAPF32[value+(4*i+4)>>>2>>>0]}}else{var view=HEAPF32.subarray(value>>>2>>>0,value+count*8>>>2>>>0)}GLctx.uniform2fv(webglGetUniformLocation(location),view)}var _emscripten_glUniform2fv=_glUniform2fv;var _glUniform2i=(location,v0,v1)=>{GLctx.uniform2i(webglGetUniformLocation(location),v0,v1)};var _emscripten_glUniform2i=_glUniform2i;function _glUniform2iv(location,count,value){value>>>=0;if(count<=144){count*=2;var view=miniTempWebGLIntBuffers[count];for(var i=0;i>>2>>>0];view[i+1]=HEAP32[value+(4*i+4)>>>2>>>0]}}else{var view=HEAP32.subarray(value>>>2>>>0,value+count*8>>>2>>>0)}GLctx.uniform2iv(webglGetUniformLocation(location),view)}var _emscripten_glUniform2iv=_glUniform2iv;var _glUniform3f=(location,v0,v1,v2)=>{GLctx.uniform3f(webglGetUniformLocation(location),v0,v1,v2)};var _emscripten_glUniform3f=_glUniform3f;function _glUniform3fv(location,count,value){value>>>=0;if(count<=96){count*=3;var view=miniTempWebGLFloatBuffers[count];for(var i=0;i>>2>>>0];view[i+1]=HEAPF32[value+(4*i+4)>>>2>>>0];view[i+2]=HEAPF32[value+(4*i+8)>>>2>>>0]}}else{var view=HEAPF32.subarray(value>>>2>>>0,value+count*12>>>2>>>0)}GLctx.uniform3fv(webglGetUniformLocation(location),view)}var _emscripten_glUniform3fv=_glUniform3fv;var _glUniform3i=(location,v0,v1,v2)=>{GLctx.uniform3i(webglGetUniformLocation(location),v0,v1,v2)};var _emscripten_glUniform3i=_glUniform3i;function _glUniform3iv(location,count,value){value>>>=0;if(count<=96){count*=3;var view=miniTempWebGLIntBuffers[count];for(var i=0;i>>2>>>0];view[i+1]=HEAP32[value+(4*i+4)>>>2>>>0];view[i+2]=HEAP32[value+(4*i+8)>>>2>>>0]}}else{var view=HEAP32.subarray(value>>>2>>>0,value+count*12>>>2>>>0)}GLctx.uniform3iv(webglGetUniformLocation(location),view)}var _emscripten_glUniform3iv=_glUniform3iv;var _glUniform4f=(location,v0,v1,v2,v3)=>{GLctx.uniform4f(webglGetUniformLocation(location),v0,v1,v2,v3)};var _emscripten_glUniform4f=_glUniform4f;function _glUniform4fv(location,count,value){value>>>=0;if(count<=72){var view=miniTempWebGLFloatBuffers[4*count];var heap=HEAPF32;value=value>>>2;count*=4;for(var i=0;i>>0];view[i+1]=heap[dst+1>>>0];view[i+2]=heap[dst+2>>>0];view[i+3]=heap[dst+3>>>0]}}else{var view=HEAPF32.subarray(value>>>2>>>0,value+count*16>>>2>>>0)}GLctx.uniform4fv(webglGetUniformLocation(location),view)}var _emscripten_glUniform4fv=_glUniform4fv;var _glUniform4i=(location,v0,v1,v2,v3)=>{GLctx.uniform4i(webglGetUniformLocation(location),v0,v1,v2,v3)};var _emscripten_glUniform4i=_glUniform4i;function _glUniform4iv(location,count,value){value>>>=0;if(count<=72){count*=4;var view=miniTempWebGLIntBuffers[count];for(var i=0;i>>2>>>0];view[i+1]=HEAP32[value+(4*i+4)>>>2>>>0];view[i+2]=HEAP32[value+(4*i+8)>>>2>>>0];view[i+3]=HEAP32[value+(4*i+12)>>>2>>>0]}}else{var view=HEAP32.subarray(value>>>2>>>0,value+count*16>>>2>>>0)}GLctx.uniform4iv(webglGetUniformLocation(location),view)}var _emscripten_glUniform4iv=_glUniform4iv;function _glUniformMatrix2fv(location,count,transpose,value){value>>>=0;if(count<=72){count*=4;var view=miniTempWebGLFloatBuffers[count];for(var i=0;i>>2>>>0];view[i+1]=HEAPF32[value+(4*i+4)>>>2>>>0];view[i+2]=HEAPF32[value+(4*i+8)>>>2>>>0];view[i+3]=HEAPF32[value+(4*i+12)>>>2>>>0]}}else{var view=HEAPF32.subarray(value>>>2>>>0,value+count*16>>>2>>>0)}GLctx.uniformMatrix2fv(webglGetUniformLocation(location),!!transpose,view)}var _emscripten_glUniformMatrix2fv=_glUniformMatrix2fv;function _glUniformMatrix3fv(location,count,transpose,value){value>>>=0;if(count<=32){count*=9;var view=miniTempWebGLFloatBuffers[count];for(var i=0;i>>2>>>0];view[i+1]=HEAPF32[value+(4*i+4)>>>2>>>0];view[i+2]=HEAPF32[value+(4*i+8)>>>2>>>0];view[i+3]=HEAPF32[value+(4*i+12)>>>2>>>0];view[i+4]=HEAPF32[value+(4*i+16)>>>2>>>0];view[i+5]=HEAPF32[value+(4*i+20)>>>2>>>0];view[i+6]=HEAPF32[value+(4*i+24)>>>2>>>0];view[i+7]=HEAPF32[value+(4*i+28)>>>2>>>0];view[i+8]=HEAPF32[value+(4*i+32)>>>2>>>0]}}else{var view=HEAPF32.subarray(value>>>2>>>0,value+count*36>>>2>>>0)}GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,view)}var _emscripten_glUniformMatrix3fv=_glUniformMatrix3fv;function _glUniformMatrix4fv(location,count,transpose,value){value>>>=0;if(count<=18){var view=miniTempWebGLFloatBuffers[16*count];var heap=HEAPF32;value=value>>>2;count*=16;for(var i=0;i>>0];view[i+1]=heap[dst+1>>>0];view[i+2]=heap[dst+2>>>0];view[i+3]=heap[dst+3>>>0];view[i+4]=heap[dst+4>>>0];view[i+5]=heap[dst+5>>>0];view[i+6]=heap[dst+6>>>0];view[i+7]=heap[dst+7>>>0];view[i+8]=heap[dst+8>>>0];view[i+9]=heap[dst+9>>>0];view[i+10]=heap[dst+10>>>0];view[i+11]=heap[dst+11>>>0];view[i+12]=heap[dst+12>>>0];view[i+13]=heap[dst+13>>>0];view[i+14]=heap[dst+14>>>0];view[i+15]=heap[dst+15>>>0]}}else{var view=HEAPF32.subarray(value>>>2>>>0,value+count*64>>>2>>>0)}GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,view)}var _emscripten_glUniformMatrix4fv=_glUniformMatrix4fv;var _glUseProgram=program=>{program=GL.programs[program];GLctx.useProgram(program);GLctx.currentProgram=program};var _emscripten_glUseProgram=_glUseProgram;var _glValidateProgram=program=>{GLctx.validateProgram(GL.programs[program])};var _emscripten_glValidateProgram=_glValidateProgram;var _glVertexAttrib1f=(x0,x1)=>GLctx.vertexAttrib1f(x0,x1);var _emscripten_glVertexAttrib1f=_glVertexAttrib1f;function _glVertexAttrib1fv(index,v){v>>>=0;GLctx.vertexAttrib1f(index,HEAPF32[v>>>2])}var _emscripten_glVertexAttrib1fv=_glVertexAttrib1fv;var _glVertexAttrib2f=(x0,x1,x2)=>GLctx.vertexAttrib2f(x0,x1,x2);var _emscripten_glVertexAttrib2f=_glVertexAttrib2f;function _glVertexAttrib2fv(index,v){v>>>=0;GLctx.vertexAttrib2f(index,HEAPF32[v>>>2],HEAPF32[v+4>>>2])}var _emscripten_glVertexAttrib2fv=_glVertexAttrib2fv;var _glVertexAttrib3f=(x0,x1,x2,x3)=>GLctx.vertexAttrib3f(x0,x1,x2,x3);var _emscripten_glVertexAttrib3f=_glVertexAttrib3f;function _glVertexAttrib3fv(index,v){v>>>=0;GLctx.vertexAttrib3f(index,HEAPF32[v>>>2],HEAPF32[v+4>>>2],HEAPF32[v+8>>>2])}var _emscripten_glVertexAttrib3fv=_glVertexAttrib3fv;var _glVertexAttrib4f=(x0,x1,x2,x3,x4)=>GLctx.vertexAttrib4f(x0,x1,x2,x3,x4);var _emscripten_glVertexAttrib4f=_glVertexAttrib4f;function _glVertexAttrib4fv(index,v){v>>>=0;GLctx.vertexAttrib4f(index,HEAPF32[v>>>2],HEAPF32[v+4>>>2],HEAPF32[v+8>>>2],HEAPF32[v+12>>>2])}var _emscripten_glVertexAttrib4fv=_glVertexAttrib4fv;var _glVertexAttribDivisor=(index,divisor)=>{GLctx.vertexAttribDivisor(index,divisor)};var _glVertexAttribDivisorANGLE=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorANGLE=_glVertexAttribDivisorANGLE;function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){ptr>>>=0;GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}var _emscripten_glVertexAttribPointer=_glVertexAttribPointer;var _glViewport=(x0,x1,x2,x3)=>GLctx.viewport(x0,x1,x2,x3);var _emscripten_glViewport=_glViewport;var _emscripten_has_asyncify=()=>0;var doRequestFullscreen=(target,strategy)=>{if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;if(!target.requestFullscreen&&!target.webkitRequestFullscreen){return-3}if(!JSEvents.canPerformEventHandlerRequests()){if(strategy.deferUntilInEventHandler){JSEvents.deferCall(JSEvents_requestFullscreen,1,[target,strategy]);return 1}return-2}return JSEvents_requestFullscreen(target,strategy)};function _emscripten_request_fullscreen_strategy(target,deferUntilInEventHandler,fullscreenStrategy){target>>>=0;fullscreenStrategy>>>=0;var strategy={scaleMode:HEAP32[fullscreenStrategy>>>2>>>0],canvasResolutionScaleMode:HEAP32[fullscreenStrategy+4>>>2>>>0],filteringMode:HEAP32[fullscreenStrategy+8>>>2>>>0],deferUntilInEventHandler,canvasResizedCallback:HEAP32[fullscreenStrategy+12>>>2>>>0],canvasResizedCallbackUserData:HEAP32[fullscreenStrategy+16>>>2>>>0]};return doRequestFullscreen(target,strategy)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target>>>=0;target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock){return-1}if(!JSEvents.canPerformEventHandlerRequests()){if(deferUntilInEventHandler){JSEvents.deferCall(requestPointerLock,2,[target]);return 1}return-2}return requestPointerLock(target)}var getHeapMax=()=>4294901760;var alignMemory=(size,alignment)=>{assert(alignment,"alignment argument is required");return Math.ceil(size/alignment)*alignment};var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){err(`growMemory: Attempted to grow heap from ${b.byteLength} bytes to ${size} bytes, but got error: ${e}`)}};function _emscripten_resize_heap(requestedSize){requestedSize>>>=0;var oldSize=HEAPU8.length;assert(requestedSize>oldSize);var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){err(`Cannot enlarge memory, requested ${requestedSize} bytes, but the limit is ${maxHeapSize} bytes!`);return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}err(`Failed to grow the heap from ${oldSize} bytes to ${newSize} bytes, not enough memory!`);return false}var _emscripten_sample_gamepad_data=()=>{try{if(navigator.getGamepads)return(JSEvents.lastGamepadState=navigator.getGamepads())?0:-1}catch(e){err(`navigator.getGamepads() exists, but failed to execute with exception ${e}. Disabling Gamepad access.`);navigator.getGamepads=null}return-1};var registerBeforeUnloadEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString)=>{var beforeUnloadEventHandlerFunc=(e=event)=>{var confirmationMessage=getWasmTableEntry(callbackfunc)(eventTypeId,0,userData);if(confirmationMessage){confirmationMessage=UTF8ToString(confirmationMessage)}if(confirmationMessage){e.preventDefault();e.returnValue=confirmationMessage;return confirmationMessage}};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:beforeUnloadEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_beforeunload_callback_on_thread(userData,callbackfunc,targetThread){userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;if(typeof onbeforeunload=="undefined")return-1;if(targetThread!==1)return-5;return registerBeforeUnloadEventCallback(2,userData,true,callbackfunc,28,"beforeunload")}var registerFocusEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.focusEvent||=_malloc(256);var focusEventHandlerFunc=(e=event)=>{var nodeName=JSEvents.getNodeNameForTarget(e.target);var id=e.target.id?e.target.id:"";var focusEvent=JSEvents.focusEvent;stringToUTF8(nodeName,focusEvent+0,128);stringToUTF8(id,focusEvent+128,128);if(getWasmTableEntry(callbackfunc)(eventTypeId,focusEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:focusEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_blur_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerFocusEventCallback(target,userData,useCapture,callbackfunc,12,"blur",targetThread)}function _emscripten_set_element_css_size(target,width,height){target>>>=0;target=findEventTarget(target);if(!target)return-4;target.style.width=width+"px";target.style.height=height+"px";return 0}function _emscripten_set_focus_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerFocusEventCallback(target,userData,useCapture,callbackfunc,13,"focus",targetThread)}var fillFullscreenChangeEventData=eventStruct=>{var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP8[eventStruct>>>0]=isFullscreen;HEAP8[eventStruct+1>>>0]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement?.id||"";stringToUTF8(nodeName,eventStruct+2,128);stringToUTF8(id,eventStruct+130,128);HEAP32[eventStruct+260>>>2>>>0]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+264>>>2>>>0]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+268>>>2>>>0]=screen.width;HEAP32[eventStruct+272>>>2>>>0]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}};var registerFullscreenChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.fullscreenChangeEvent||=_malloc(276);var fullscreenChangeEventhandlerFunc=(e=event)=>{var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;fillFullscreenChangeEventData(fullscreenChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target,eventTypeString,callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread)}var registerGamepadEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.gamepadEvent||=_malloc(1240);var gamepadEventHandlerFunc=(e=event)=>{var gamepadEvent=JSEvents.gamepadEvent;fillGamepadEventData(gamepadEvent,e["gamepad"]);if(getWasmTableEntry(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString,callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;if(_emscripten_sample_gamepad_data())return-1;return registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread)}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;if(_emscripten_sample_gamepad_data())return-1;return registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread)}var registerKeyEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.keyEvent||=_malloc(160);var keyEventHandlerFunc=e=>{assert(e);var keyEventData=JSEvents.keyEvent;HEAPF64[keyEventData>>>3>>>0]=e.timeStamp;var idx=keyEventData>>>2;HEAP32[idx+2>>>0]=e.location;HEAP8[keyEventData+12>>>0]=e.ctrlKey;HEAP8[keyEventData+13>>>0]=e.shiftKey;HEAP8[keyEventData+14>>>0]=e.altKey;HEAP8[keyEventData+15>>>0]=e.metaKey;HEAP8[keyEventData+16>>>0]=e.repeat;HEAP32[idx+5>>>0]=e.charCode;HEAP32[idx+6>>>0]=e.keyCode;HEAP32[idx+7>>>0]=e.which;stringToUTF8(e.key||"",keyEventData+32,32);stringToUTF8(e.code||"",keyEventData+64,32);stringToUTF8(e.char||"",keyEventData+96,32);stringToUTF8(e.locale||"",keyEventData+128,32);if(getWasmTableEntry(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString,callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread)}function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread)}function _emscripten_set_keyup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerKeyEventCallback(target,userData,useCapture,callbackfunc,3,"keyup",targetThread)}var _emscripten_set_main_loop_arg=function(func,arg,fps,simulateInfiniteLoop){func>>>=0;arg>>>=0;var iterFunc=()=>getWasmTableEntry(func)(arg);setMainLoop(iterFunc,fps,simulateInfiniteLoop,arg)};var fillMouseEventData=(eventStruct,e,target)=>{assert(eventStruct%4==0);HEAPF64[eventStruct>>>3>>>0]=e.timeStamp;var idx=eventStruct>>>2;HEAP32[idx+2>>>0]=e.screenX;HEAP32[idx+3>>>0]=e.screenY;HEAP32[idx+4>>>0]=e.clientX;HEAP32[idx+5>>>0]=e.clientY;HEAP8[eventStruct+24>>>0]=e.ctrlKey;HEAP8[eventStruct+25>>>0]=e.shiftKey;HEAP8[eventStruct+26>>>0]=e.altKey;HEAP8[eventStruct+27>>>0]=e.metaKey;HEAP16[idx*2+14>>>0]=e.button;HEAP16[idx*2+15>>>0]=e.buttons;HEAP32[idx+8>>>0]=e["movementX"];HEAP32[idx+9>>>0]=e["movementY"];var rect=getBoundingClientRect(target);HEAP32[idx+10>>>0]=e.clientX-(rect.left|0);HEAP32[idx+11>>>0]=e.clientY-(rect.top|0)};var registerMouseEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.mouseEvent||=_malloc(64);target=findEventTarget(target);var mouseEventHandlerFunc=(e=event)=>{fillMouseEventData(JSEvents.mouseEvent,e,target);if(getWasmTableEntry(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString,callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_mousedown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerMouseEventCallback(target,userData,useCapture,callbackfunc,5,"mousedown",targetThread)}function _emscripten_set_mouseenter_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerMouseEventCallback(target,userData,useCapture,callbackfunc,33,"mouseenter",targetThread)}function _emscripten_set_mouseleave_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerMouseEventCallback(target,userData,useCapture,callbackfunc,34,"mouseleave",targetThread)}function _emscripten_set_mousemove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerMouseEventCallback(target,userData,useCapture,callbackfunc,8,"mousemove",targetThread)}function _emscripten_set_mouseup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerMouseEventCallback(target,userData,useCapture,callbackfunc,6,"mouseup",targetThread)}var fillPointerlockChangeEventData=eventStruct=>{var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP8[eventStruct>>>0]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement?.id||"";stringToUTF8(nodeName,eventStruct+1,128);stringToUTF8(id,eventStruct+129,128)};var registerPointerlockChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.pointerlockChangeEvent||=_malloc(257);var pointerlockChangeEventHandlerFunc=(e=event)=>{var pointerlockChangeEvent=JSEvents.pointerlockChangeEvent;fillPointerlockChangeEventData(pointerlockChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,pointerlockChangeEvent,userData))e.preventDefault()};var eventHandler={target,eventTypeString,callbackfunc,handlerFunc:pointerlockChangeEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_pointerlockchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;if(!document||!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}target=findEventTarget(target);if(!target)return-4;registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mozpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"webkitpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mspointerlockchange",targetThread);return registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"pointerlockchange",targetThread)}var registerUiEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.uiEvent||=_malloc(36);target=findEventTarget(target);var uiEventHandlerFunc=(e=event)=>{if(e.target!=target){return}var b=document.body;if(!b){return}var uiEvent=JSEvents.uiEvent;HEAP32[uiEvent>>>2>>>0]=0;HEAP32[uiEvent+4>>>2>>>0]=b.clientWidth;HEAP32[uiEvent+8>>>2>>>0]=b.clientHeight;HEAP32[uiEvent+12>>>2>>>0]=innerWidth;HEAP32[uiEvent+16>>>2>>>0]=innerHeight;HEAP32[uiEvent+20>>>2>>>0]=outerWidth;HEAP32[uiEvent+24>>>2>>>0]=outerHeight;HEAP32[uiEvent+28>>>2>>>0]=pageXOffset|0;HEAP32[uiEvent+32>>>2>>>0]=pageYOffset|0;if(getWasmTableEntry(callbackfunc)(eventTypeId,uiEvent,userData))e.preventDefault()};var eventHandler={target,eventTypeString,callbackfunc,handlerFunc:uiEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_resize_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerUiEventCallback(target,userData,useCapture,callbackfunc,10,"resize",targetThread)}var registerTouchEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.touchEvent||=_malloc(1552);target=findEventTarget(target);var touchEventHandlerFunc=e=>{assert(e);var t,touches={},et=e.touches;for(let t of et){t.isChanged=t.onTarget=0;touches[t.identifier]=t}for(let t of e.changedTouches){t.isChanged=1;touches[t.identifier]=t}for(let t of e.targetTouches){touches[t.identifier].onTarget=1}var touchEvent=JSEvents.touchEvent;HEAPF64[touchEvent>>>3>>>0]=e.timeStamp;HEAP8[touchEvent+12>>>0]=e.ctrlKey;HEAP8[touchEvent+13>>>0]=e.shiftKey;HEAP8[touchEvent+14>>>0]=e.altKey;HEAP8[touchEvent+15>>>0]=e.metaKey;var idx=touchEvent+16;var targetRect=getBoundingClientRect(target);var numTouches=0;for(let t of Object.values(touches)){var idx32=idx>>>2;HEAP32[idx32+0>>>0]=t.identifier;HEAP32[idx32+1>>>0]=t.screenX;HEAP32[idx32+2>>>0]=t.screenY;HEAP32[idx32+3>>>0]=t.clientX;HEAP32[idx32+4>>>0]=t.clientY;HEAP32[idx32+5>>>0]=t.pageX;HEAP32[idx32+6>>>0]=t.pageY;HEAP8[idx+28>>>0]=t.isChanged;HEAP8[idx+29>>>0]=t.onTarget;HEAP32[idx32+8>>>0]=t.clientX-(targetRect.left|0);HEAP32[idx32+9>>>0]=t.clientY-(targetRect.top|0);idx+=48;if(++numTouches>31){break}}HEAP32[touchEvent+8>>>2>>>0]=numTouches;if(getWasmTableEntry(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString,callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread)}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread)}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread)}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread)}var fillVisibilityChangeEventData=eventStruct=>{var visibilityStates=["hidden","visible","prerender","unloaded"];var visibilityState=visibilityStates.indexOf(document.visibilityState);HEAP8[eventStruct>>>0]=document.hidden;HEAP32[eventStruct+4>>>2>>>0]=visibilityState};var registerVisibilityChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.visibilityChangeEvent||=_malloc(8);var visibilityChangeEventHandlerFunc=(e=event)=>{var visibilityChangeEvent=JSEvents.visibilityChangeEvent;fillVisibilityChangeEventData(visibilityChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,visibilityChangeEvent,userData))e.preventDefault()};var eventHandler={target,eventTypeString,callbackfunc,handlerFunc:visibilityChangeEventHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_visibilitychange_callback_on_thread(userData,useCapture,callbackfunc,targetThread){userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;return registerVisibilityChangeEventCallback(specialHTMLTargets[1],userData,useCapture,callbackfunc,21,"visibilitychange",targetThread)}var registerWheelEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{JSEvents.wheelEvent||=_malloc(96);var wheelHandlerFunc=(e=event)=>{var wheelEvent=JSEvents.wheelEvent;fillMouseEventData(wheelEvent,e,target);HEAPF64[wheelEvent+64>>>3>>>0]=e["deltaX"];HEAPF64[wheelEvent+72>>>3>>>0]=e["deltaY"];HEAPF64[wheelEvent+80>>>3>>>0]=e["deltaZ"];HEAP32[wheelEvent+88>>>2>>>0]=e["deltaMode"];if(getWasmTableEntry(callbackfunc)(eventTypeId,wheelEvent,userData))e.preventDefault()};var eventHandler={target,allowsDeferredCalls:true,eventTypeString,callbackfunc,handlerFunc:wheelHandlerFunc,useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};function _emscripten_set_wheel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target>>>=0;userData>>>=0;callbackfunc>>>=0;targetThread>>>=0;target=findEventTarget(target);if(!target)return-4;if(typeof target.onwheel!="undefined"){return registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"wheel",targetThread)}else{return-1}}function _emscripten_set_window_title(title){title>>>=0;return document.title=UTF8ToString(title)}var _emscripten_sleep=()=>{throw"Please compile your program with async support in order to use asynchronous operations like emscripten_sleep"};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.language||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};function _environ_get(__environ,environ_buf){__environ>>>=0;environ_buf>>>=0;var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;HEAPU32[__environ+envp>>>2>>>0]=ptr;bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=4}return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){penviron_count>>>=0;penviron_buf_size>>>=0;var strings=getEnvStrings();HEAPU32[penviron_count>>>2>>>0]=strings.length;var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}HEAPU32[penviron_buf_size>>>2>>>0]=bufSize;return 0}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_fdstat_get(fd,pbuf){pbuf>>>=0;try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf>>>0]=type;HEAP16[pbuf+2>>>1>>>0]=flags;HEAP64[pbuf+8>>>3>>>0]=BigInt(rightsBase);HEAP64[pbuf+16>>>3>>>0]=BigInt(rightsInheriting);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>>2>>>0];var len=HEAPU32[iov+4>>>2>>>0];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>>=0;iovcnt>>>=0;pnum>>>=0;try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doReadv(stream,iov,iovcnt);HEAPU32[pnum>>>2>>>0]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset,whence,newOffset){offset=bigintToI53Checked(offset);newOffset>>>=0;try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);HEAP64[newOffset>>>3>>>0]=BigInt(stream.position);if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>>2>>>0];var len=HEAPU32[iov+4>>>2>>>0];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>>=0;iovcnt>>>=0;pnum>>>=0;try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>>2>>>0]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var zeroMemory=(ptr,size)=>HEAPU8.fill(0,ptr,ptr+size);var writeSockaddr=(sa,family,addr,port,addrlen)=>{switch(family){case 2:addr=inetPton4(addr);zeroMemory(sa,16);if(addrlen){HEAP32[addrlen>>>2>>>0]=16}HEAP16[sa>>>1>>>0]=family;HEAP32[sa+4>>>2>>>0]=addr;HEAP16[sa+2>>>1>>>0]=_htons(port);break;case 10:addr=inetPton6(addr);zeroMemory(sa,28);if(addrlen){HEAP32[addrlen>>>2>>>0]=28}HEAP32[sa>>>2>>>0]=family;HEAP32[sa+8>>>2>>>0]=addr[0];HEAP32[sa+12>>>2>>>0]=addr[1];HEAP32[sa+16>>>2>>>0]=addr[2];HEAP32[sa+20>>>2>>>0]=addr[3];HEAP16[sa+2>>>1>>>0]=_htons(port);break;default:return 5}return 0};function _getaddrinfo(node,service,hint,out){node>>>=0;service>>>=0;hint>>>=0;out>>>=0;var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var errno;salen=family===10?28:16;addr=family===10?inetNtop6(addr):inetNtop4(addr);sa=_malloc(salen);errno=writeSockaddr(sa,family,addr,port);assert(!errno);ai=_malloc(32);HEAP32[ai+4>>>2>>>0]=family;HEAP32[ai+8>>>2>>>0]=type;HEAP32[ai+12>>>2>>>0]=proto;HEAPU32[ai+24>>>2>>>0]=canon;HEAPU32[ai+20>>>2>>>0]=sa;if(family===10){HEAP32[ai+16>>>2>>>0]=28}else{HEAP32[ai+16>>>2>>>0]=16}HEAP32[ai+28>>>2>>>0]=0;return ai}if(hint){flags=HEAP32[hint>>>2>>>0];family=HEAP32[hint+4>>>2>>>0];type=HEAP32[hint+8>>>2>>>0];proto=HEAP32[hint+12>>>2>>>0]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>>2>>>0]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=UTF8ToString(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,_htonl(1)]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAPU32[out>>>2>>>0]=ai;return 0}node=UTF8ToString(node);addr=inetPton4(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=inetPton6(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAPU32[out>>>2>>>0]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=inetPton4(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAPU32[out>>>2>>>0]=ai;return 0}var autoResumeAudioContext=(ctx,elements)=>{if(!elements){elements=[document,document.getElementById("canvas")]}["keydown","mousedown","touchstart"].forEach(event=>{elements.forEach(element=>{element?.addEventListener(event,()=>{if(ctx.state==="suspended")ctx.resume()},{once:true})})})};var dynCall=(sig,ptr,args=[],promising=false)=>{assert(!promising,"async dynCall is not supported in this mode");assert(getWasmTableEntry(ptr),`missing table entry in dynCall: ${ptr}`);var func=getWasmTableEntry(ptr);var rtn=func(...args);function convert(rtn){return sig[0]=="p"?rtn>>>0:rtn}return convert(rtn)};var getCFunc=ident=>{var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func};var writeArrayToMemory=(array,buffer)=>{assert(array.length>=0,"writeArrayToMemory array must have a length (should be an array or typed array)");HEAP8.set(array,buffer>>>0)};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;assert(returnType!=="array",'Return type should not be "array".');if(args){for(var i=0;i(...args)=>ccall(ident,returnType,argTypes,args,opts);var uleb128Encode=(n,target)=>{assert(n<16384);if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}};var sigToWasmTypes=sig=>{var typeNames={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;i{var sigRet=sig.slice(0,1);var sigParam=sig.slice(1);var typeCodes={i:127,p:127,j:126,f:125,d:124,e:111};target.push(96);uleb128Encode(sigParam.length,target);for(var paramType of sigParam){assert(paramType in typeCodes,`invalid signature char: ${paramType}`);target.push(typeCodes[paramType])}if(sigRet=="v"){target.push(0)}else{target.push(1,typeCodes[sigRet])}};var convertJsFunctionToWasm=(func,sig)=>{if(typeof WebAssembly.Function=="function"){return new WebAssembly.Function(sigToWasmTypes(sig),func)}var typeSectionBody=[1];generateFuncType(sig,typeSectionBody);var bytes=[0,97,115,109,1,0,0,0,1];uleb128Encode(typeSectionBody.length,bytes);bytes.push(...typeSectionBody);bytes.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var module=new WebAssembly.Module(new Uint8Array(bytes));var instance=new WebAssembly.Instance(module,{e:{f:func}});var wrappedFunc=instance.exports["f"];return wrappedFunc};var updateTableMap=(offset,count)=>{if(functionsInTableMap){for(var i=offset;i{if(!functionsInTableMap){functionsInTableMap=new WeakMap;updateTableMap(0,wasmTable.length)}return functionsInTableMap.get(func)||0};var freeTableIndexes=[];var getEmptyTableSlot=()=>{if(freeTableIndexes.length){return freeTableIndexes.pop()}try{wasmTable.grow(1)}catch(err){if(!(err instanceof RangeError)){throw err}throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return wasmTable.length-1};var setWasmTableEntry=(idx,func)=>{wasmTable.set(idx,func);wasmTableMirror[idx]=wasmTable.get(idx)};var addFunction=(func,sig)=>{assert(typeof func!="undefined");var rtn=getFunctionAddress(func);if(rtn){return rtn}var ret=getEmptyTableSlot();try{setWasmTableEntry(ret,func)}catch(err){if(!(err instanceof TypeError)){throw err}assert(typeof sig!="undefined","Missing signature argument to addFunction: "+func);var wrapped=convertJsFunctionToWasm(func,sig);setWasmTableEntry(ret,wrapped)}functionsInTableMap.set(func,ret);return ret};var createContext=Browser.createContext;FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();Module["requestAnimationFrame"]=MainLoop.requestAnimationFrame;Module["pauseMainLoop"]=MainLoop.pause;Module["resumeMainLoop"]=MainLoop.resume;MainLoop.init();for(let i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<=288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i)}var miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<=288;++i){miniTempWebGLIntBuffers[i]=miniTempWebGLIntBuffersStorage.subarray(0,i)}{if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(Module["preloadPlugins"])preloadPlugins=Module["preloadPlugins"];if(Module["print"])out=Module["print"];if(Module["printErr"])err=Module["printErr"];if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];checkIncomingModuleAPI();if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];assert(typeof Module["memoryInitializerPrefixURL"]=="undefined","Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["pthreadMainPrefixURL"]=="undefined","Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["cdInitializerPrefixURL"]=="undefined","Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["filePackagePrefixURL"]=="undefined","Module.filePackagePrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["read"]=="undefined","Module.read option was removed");assert(typeof Module["readAsync"]=="undefined","Module.readAsync option was removed (modify readAsync in JS)");assert(typeof Module["readBinary"]=="undefined","Module.readBinary option was removed (modify readBinary in JS)");assert(typeof Module["setWindowTitle"]=="undefined","Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)");assert(typeof Module["TOTAL_MEMORY"]=="undefined","Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY");assert(typeof Module["ENVIRONMENT"]=="undefined","Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)");assert(typeof Module["STACK_SIZE"]=="undefined","STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time");assert(typeof Module["wasmMemory"]=="undefined","Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally");assert(typeof Module["INITIAL_MEMORY"]=="undefined","Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically")}Module["callMain"]=callMain;Module["abort"]=abort;Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["addFunction"]=addFunction;Module["JSEvents"]=JSEvents;Module["specialHTMLTargets"]=specialHTMLTargets;Module["createContext"]=createContext;Module["GL"]=GL;var missingLibrarySymbols=["writeI53ToI64Clamped","writeI53ToI64Signaling","writeI53ToU64Clamped","writeI53ToU64Signaling","convertI32PairToI53","convertI32PairToI53Checked","convertU32PairToI53","getTempRet0","setTempRet0","withStackSave","emscriptenLog","getDynCaller","runtimeKeepalivePush","runtimeKeepalivePop","asmjsMangle","HandleAllocator","getNativeTypeSize","addOnInit","addOnPostCtor","addOnPreMain","STACK_SIZE","STACK_ALIGN","POINTER_SIZE","ASSERTIONS","removeFunction","reallyNegative","unSign","strLen","reSign","formatString","intArrayToString","AsciiToString","stringToAscii","UTF16ToString","stringToUTF16","lengthBytesUTF16","UTF32ToString","stringToUTF32","lengthBytesUTF32","fillDeviceOrientationEventData","registerDeviceOrientationEventCallback","fillDeviceMotionEventData","registerDeviceMotionEventCallback","screenOrientation","fillOrientationChangeEventData","registerOrientationChangeEventCallback","hideEverythingExceptGivenElement","restoreHiddenElements","softFullscreenResizeWebGLRenderTarget","registerPointerlockErrorEventCallback","fillBatteryEventData","battery","registerBatteryEventCallback","jsStackTrace","getCallstack","convertPCtoSourceLocation","wasiRightsToMuslOFlags","wasiOFlagsToMuslOFlags","setImmediateWrapped","safeRequestAnimationFrame","clearImmediateWrapped","registerPostMainLoop","registerPreMainLoop","getPromise","makePromise","idsToPromises","makePromiseCallback","findMatchingCatch","Browser_asyncPrepareDataCounter","arraySum","addDays","FS_mkdirTree","_setNetworkCallback","writeGLArray","registerWebGlEventCallback","runAndAbortIfError","ALLOC_NORMAL","ALLOC_STACK","allocate","writeStringToMemory","writeAsciiToMemory","demangle","stackTrace"];missingLibrarySymbols.forEach(missingLibrarySymbol);var unexportedSymbols=["run","addRunDependency","removeRunDependency","out","err","wasmMemory","wasmExports","HEAPF32","HEAPF64","HEAP8","HEAPU8","HEAP16","HEAPU16","HEAP32","HEAPU32","HEAP64","HEAPU64","writeStackCookie","checkStackCookie","writeI53ToI64","readI53FromI64","readI53FromU64","INT53_MAX","INT53_MIN","bigintToI53Checked","stackSave","stackRestore","stackAlloc","ptrToString","zeroMemory","exitJS","getHeapMax","growMemory","ENV","ERRNO_CODES","strError","inetPton4","inetNtop4","inetPton6","inetNtop6","readSockaddr","writeSockaddr","DNS","Protocols","Sockets","timers","warnOnce","readEmAsmArgsArray","readEmAsmArgs","runEmAsmFunction","runMainThreadEmAsm","jstoi_q","getExecutableName","autoResumeAudioContext","dynCall","handleException","keepRuntimeAlive","callUserCallback","maybeExit","asyncLoad","alignMemory","mmapAlloc","wasmTable","getUniqueRunDependency","noExitRuntime","addOnPreRun","addOnExit","addOnPostRun","uleb128Encode","sigToWasmTypes","generateFuncType","convertJsFunctionToWasm","freeTableIndexes","functionsInTableMap","getEmptyTableSlot","updateTableMap","getFunctionAddress","setValue","getValue","PATH","PATH_FS","UTF8Decoder","UTF8ArrayToString","UTF8ToString","stringToUTF8Array","stringToUTF8","lengthBytesUTF8","intArrayFromString","UTF16Decoder","stringToNewUTF8","stringToUTF8OnStack","writeArrayToMemory","registerKeyEventCallback","maybeCStringToJsString","findEventTarget","findCanvasEventTarget","getBoundingClientRect","fillMouseEventData","registerMouseEventCallback","registerWheelEventCallback","registerUiEventCallback","registerFocusEventCallback","fillFullscreenChangeEventData","registerFullscreenChangeEventCallback","JSEvents_requestFullscreen","JSEvents_resizeCanvasForFullscreen","registerRestoreOldStyle","setLetterbox","currentFullscreenStrategy","restoreOldWindowedStyle","doRequestFullscreen","fillPointerlockChangeEventData","registerPointerlockChangeEventCallback","requestPointerLock","fillVisibilityChangeEventData","registerVisibilityChangeEventCallback","registerTouchEventCallback","fillGamepadEventData","registerGamepadEventCallback","registerBeforeUnloadEventCallback","setCanvasElementSize","getCanvasElementSize","UNWIND_CACHE","ExitStatus","getEnvStrings","checkWasiClock","doReadv","doWritev","initRandomFill","randomFill","safeSetTimeout","emSetImmediate","emClearImmediate_deps","emClearImmediate","promiseMap","uncaughtExceptionCount","exceptionLast","exceptionCaught","ExceptionInfo","Browser","requestFullscreen","requestFullScreen","setCanvasSize","getUserMedia","getPreloadedImageData__data","wget","MONTH_DAYS_REGULAR","MONTH_DAYS_LEAP","MONTH_DAYS_REGULAR_CUMULATIVE","MONTH_DAYS_LEAP_CUMULATIVE","isLeapYear","ydayFromDate","SYSCALLS","getSocketFromFD","getSocketAddress","preloadPlugins","FS_createPreloadedFile","FS_modeStringToFlags","FS_getMode","FS_stdin_getChar_buffer","FS_stdin_getChar","FS_unlink","FS_createPath","FS_createDevice","FS_readFile","FS","FS_root","FS_mounts","FS_devices","FS_streams","FS_nextInode","FS_nameTable","FS_currentPath","FS_initialized","FS_ignorePermissions","FS_filesystems","FS_syncFSRequests","FS_readFiles","FS_lookupPath","FS_getPath","FS_hashName","FS_hashAddNode","FS_hashRemoveNode","FS_lookupNode","FS_createNode","FS_destroyNode","FS_isRoot","FS_isMountpoint","FS_isFile","FS_isDir","FS_isLink","FS_isChrdev","FS_isBlkdev","FS_isFIFO","FS_isSocket","FS_flagsToPermissionString","FS_nodePermissions","FS_mayLookup","FS_mayCreate","FS_mayDelete","FS_mayOpen","FS_checkOpExists","FS_nextfd","FS_getStreamChecked","FS_getStream","FS_createStream","FS_closeStream","FS_dupStream","FS_doSetAttr","FS_chrdev_stream_ops","FS_major","FS_minor","FS_makedev","FS_registerDevice","FS_getDevice","FS_getMounts","FS_syncfs","FS_mount","FS_unmount","FS_lookup","FS_mknod","FS_statfs","FS_statfsStream","FS_statfsNode","FS_create","FS_mkdir","FS_mkdev","FS_symlink","FS_rename","FS_rmdir","FS_readdir","FS_readlink","FS_stat","FS_fstat","FS_lstat","FS_doChmod","FS_chmod","FS_lchmod","FS_fchmod","FS_doChown","FS_chown","FS_lchown","FS_fchown","FS_doTruncate","FS_truncate","FS_ftruncate","FS_utime","FS_open","FS_close","FS_isClosed","FS_llseek","FS_read","FS_write","FS_mmap","FS_msync","FS_ioctl","FS_writeFile","FS_cwd","FS_chdir","FS_createDefaultDirectories","FS_createDefaultDevices","FS_createSpecialDirectories","FS_createStandardStreams","FS_staticInit","FS_init","FS_quit","FS_findObject","FS_analyzePath","FS_createFile","FS_createDataFile","FS_forceLoadFile","FS_createLazyFile","FS_absolutePath","FS_createFolder","FS_createLink","FS_joinPath","FS_mmapAlloc","FS_standardizePath","MEMFS","TTY","PIPEFS","SOCKFS","tempFixedLengthArray","miniTempWebGLFloatBuffers","miniTempWebGLIntBuffers","heapObjectForWebGLType","toTypedArrayIndex","webgl_enable_ANGLE_instanced_arrays","webgl_enable_OES_vertex_array_object","webgl_enable_WEBGL_draw_buffers","webgl_enable_WEBGL_multi_draw","webgl_enable_EXT_polygon_offset_clamp","webgl_enable_EXT_clip_control","webgl_enable_WEBGL_polygon_mode","emscriptenWebGLGet","computeUnpackAlignedImageSize","colorChannelsInGlTextureFormat","emscriptenWebGLGetTexPixelData","emscriptenWebGLGetUniform","webglGetUniformLocation","webglPrepareUniformLocationsBeforeFirstUse","webglGetLeftBracePos","emscriptenWebGLGetVertexAttrib","__glGetActiveAttribOrUniform","AL","GLUT","EGL","GLEW","IDBStore","allocateUTF8","allocateUTF8OnStack","print","printErr","jstoi_s"];unexportedSymbols.forEach(unexportedRuntimeSymbol);function checkIncomingModuleAPI(){ignoredModuleProp("fetchSettings")}var ASM_CONSTS={971597:()=>{if(typeof AudioContext!=="undefined"){return true}else if(typeof webkitAudioContext!=="undefined"){return true}return false},971744:()=>{if(typeof navigator.mediaDevices!=="undefined"&&typeof navigator.mediaDevices.getUserMedia!=="undefined"){return true}else if(typeof navigator.webkitGetUserMedia!=="undefined"){return true}return false},971978:$0=>{if(typeof Module["SDL2"]==="undefined"){Module["SDL2"]={}}var SDL2=Module["SDL2"];if(!$0){SDL2.audio={}}else{SDL2.capture={}}if(!SDL2.audioContext){if(typeof AudioContext!=="undefined"){SDL2.audioContext=new AudioContext}else if(typeof webkitAudioContext!=="undefined"){SDL2.audioContext=new webkitAudioContext}if(SDL2.audioContext){if(typeof navigator.userActivation==="undefined"){autoResumeAudioContext(SDL2.audioContext)}}}return SDL2.audioContext===undefined?-1:0},972530:()=>{var SDL2=Module["SDL2"];return SDL2.audioContext.sampleRate},972598:($0,$1,$2,$3)=>{var SDL2=Module["SDL2"];var have_microphone=function(stream){if(SDL2.capture.silenceTimer!==undefined){clearInterval(SDL2.capture.silenceTimer);SDL2.capture.silenceTimer=undefined;SDL2.capture.silenceBuffer=undefined}SDL2.capture.mediaStreamNode=SDL2.audioContext.createMediaStreamSource(stream);SDL2.capture.scriptProcessorNode=SDL2.audioContext.createScriptProcessor($1,$0,1);SDL2.capture.scriptProcessorNode.onaudioprocess=function(audioProcessingEvent){if(SDL2===undefined||SDL2.capture===undefined){return}audioProcessingEvent.outputBuffer.getChannelData(0).fill(0);SDL2.capture.currentCaptureBuffer=audioProcessingEvent.inputBuffer;dynCall("vi",$2,[$3])};SDL2.capture.mediaStreamNode.connect(SDL2.capture.scriptProcessorNode);SDL2.capture.scriptProcessorNode.connect(SDL2.audioContext.destination);SDL2.capture.stream=stream};var no_microphone=function(error){};SDL2.capture.silenceBuffer=SDL2.audioContext.createBuffer($0,$1,SDL2.audioContext.sampleRate);SDL2.capture.silenceBuffer.getChannelData(0).fill(0);var silence_callback=function(){SDL2.capture.currentCaptureBuffer=SDL2.capture.silenceBuffer;dynCall("vi",$2,[$3])};SDL2.capture.silenceTimer=setInterval(silence_callback,$1/SDL2.audioContext.sampleRate*1e3);if(navigator.mediaDevices!==undefined&&navigator.mediaDevices.getUserMedia!==undefined){navigator.mediaDevices.getUserMedia({audio:true,video:false}).then(have_microphone).catch(no_microphone)}else if(navigator.webkitGetUserMedia!==undefined){navigator.webkitGetUserMedia({audio:true,video:false},have_microphone,no_microphone)}},974291:($0,$1,$2,$3)=>{var SDL2=Module["SDL2"];SDL2.audio.scriptProcessorNode=SDL2.audioContext["createScriptProcessor"]($1,0,$0);SDL2.audio.scriptProcessorNode["onaudioprocess"]=function(e){if(SDL2===undefined||SDL2.audio===undefined){return}if(SDL2.audio.silenceTimer!==undefined){clearInterval(SDL2.audio.silenceTimer);SDL2.audio.silenceTimer=undefined;SDL2.audio.silenceBuffer=undefined}SDL2.audio.currentOutputBuffer=e["outputBuffer"];dynCall("vi",$2,[$3])};SDL2.audio.scriptProcessorNode["connect"](SDL2.audioContext["destination"]);if(SDL2.audioContext.state==="suspended"){SDL2.audio.silenceBuffer=SDL2.audioContext.createBuffer($0,$1,SDL2.audioContext.sampleRate);SDL2.audio.silenceBuffer.getChannelData(0).fill(0);var silence_callback=function(){if(typeof navigator.userActivation!=="undefined"){if(navigator.userActivation.hasBeenActive){SDL2.audioContext.resume()}}SDL2.audio.currentOutputBuffer=SDL2.audio.silenceBuffer;dynCall("vi",$2,[$3]);SDL2.audio.currentOutputBuffer=undefined};SDL2.audio.silenceTimer=setInterval(silence_callback,$1/SDL2.audioContext.sampleRate*1e3)}},975466:($0,$1)=>{var SDL2=Module["SDL2"];var numChannels=SDL2.capture.currentCaptureBuffer.numberOfChannels;for(var c=0;c{var SDL2=Module["SDL2"];var buf=$0>>>2;var numChannels=SDL2.audio.currentOutputBuffer["numberOfChannels"];for(var c=0;c>>0]}}},976560:$0=>{var SDL2=Module["SDL2"];if($0){if(SDL2.capture.silenceTimer!==undefined){clearInterval(SDL2.capture.silenceTimer)}if(SDL2.capture.stream!==undefined){var tracks=SDL2.capture.stream.getAudioTracks();for(var i=0;i{var w=$0;var h=$1;var pixels=$2;if(!Module["SDL2"])Module["SDL2"]={};var SDL2=Module["SDL2"];if(SDL2.ctxCanvas!==Module["canvas"]){SDL2.ctx=Module["createContext"](Module["canvas"],false,true);SDL2.ctxCanvas=Module["canvas"]}if(SDL2.w!==w||SDL2.h!==h||SDL2.imageCtx!==SDL2.ctx){SDL2.image=SDL2.ctx.createImageData(w,h);SDL2.w=w;SDL2.h=h;SDL2.imageCtx=SDL2.ctx}var data=SDL2.image.data;var src=pixels/4;var dst=0;var num;if(typeof CanvasPixelArray!=="undefined"&&data instanceof CanvasPixelArray){num=data.length;while(dst>>0];data[dst]=val&255;data[dst+1]=val>>8&255;data[dst+2]=val>>16&255;data[dst+3]=255;src++;dst+=4}}else{if(SDL2.data32Data!==data){SDL2.data32=new Int32Array(data.buffer);SDL2.data8=new Uint8Array(data.buffer);SDL2.data32Data=data}var data32=SDL2.data32;num=data32.length;data32.set(HEAP32.subarray(src>>>0,src+num>>>0));var data8=SDL2.data8;var i=3;var j=i+4*num;if(num%8==0){while(i{var w=$0;var h=$1;var hot_x=$2;var hot_y=$3;var pixels=$4;var canvas=document.createElement("canvas");canvas.width=w;canvas.height=h;var ctx=canvas.getContext("2d");var image=ctx.createImageData(w,h);var data=image.data;var src=pixels/4;var dst=0;var num;if(typeof CanvasPixelArray!=="undefined"&&data instanceof CanvasPixelArray){num=data.length;while(dst>>0];data[dst]=val&255;data[dst+1]=val>>8&255;data[dst+2]=val>>16&255;data[dst+3]=val>>24&255;src++;dst+=4}}else{var data32=new Int32Array(data.buffer);num=data32.length;data32.set(HEAP32.subarray(src>>>0,src+num>>>0))}ctx.putImageData(image,0,0);var url=hot_x===0&&hot_y===0?"url("+canvas.toDataURL()+"), auto":"url("+canvas.toDataURL()+") "+hot_x+" "+hot_y+", auto";var urlBuf=_malloc(url.length+1);stringToUTF8(url,urlBuf,url.length+1);return urlBuf},980022:$0=>{if(Module["canvas"]){Module["canvas"].style["cursor"]=UTF8ToString($0)}},980105:()=>{if(Module["canvas"]){Module["canvas"].style["cursor"]="none"}},980174:()=>window.innerWidth,980204:()=>window.innerHeight};var _free=makeInvalidEarlyAccess("_free");var _htons=makeInvalidEarlyAccess("_htons");var _ntohs=makeInvalidEarlyAccess("_ntohs");var _htonl=makeInvalidEarlyAccess("_htonl");var _fflush=makeInvalidEarlyAccess("_fflush");var _malloc=Module["_malloc"]=makeInvalidEarlyAccess("_malloc");var _CancelLoadImage=Module["_CancelLoadImage"]=makeInvalidEarlyAccess("_CancelLoadImage");var _UpdateDcmImage=Module["_UpdateDcmImage"]=makeInvalidEarlyAccess("_UpdateDcmImage");var _SetWindowWidthLevel=Module["_SetWindowWidthLevel"]=makeInvalidEarlyAccess("_SetWindowWidthLevel");var _SetDisplayFrameIndex=Module["_SetDisplayFrameIndex"]=makeInvalidEarlyAccess("_SetDisplayFrameIndex");var _SetResizeFrame=Module["_SetResizeFrame"]=makeInvalidEarlyAccess("_SetResizeFrame");var _GetTotalBytes=Module["_GetTotalBytes"]=makeInvalidEarlyAccess("_GetTotalBytes");var _GetReadBytes=Module["_GetReadBytes"]=makeInvalidEarlyAccess("_GetReadBytes");var _GetWindowWidth=Module["_GetWindowWidth"]=makeInvalidEarlyAccess("_GetWindowWidth");var _GetWindowCenter=Module["_GetWindowCenter"]=makeInvalidEarlyAccess("_GetWindowCenter");var _GetTotalFrames=Module["_GetTotalFrames"]=makeInvalidEarlyAccess("_GetTotalFrames");var _GetFrameUpdateTimeDelay=Module["_GetFrameUpdateTimeDelay"]=makeInvalidEarlyAccess("_GetFrameUpdateTimeDelay");var _SetCallbackUpdateDcmImageComplete=Module["_SetCallbackUpdateDcmImageComplete"]=makeInvalidEarlyAccess("_SetCallbackUpdateDcmImageComplete");var _main=Module["_main"]=makeInvalidEarlyAccess("_main");var _strerror=makeInvalidEarlyAccess("_strerror");var _emscripten_stack_get_end=makeInvalidEarlyAccess("_emscripten_stack_get_end");var _emscripten_stack_get_base=makeInvalidEarlyAccess("_emscripten_stack_get_base");var _setThrew=makeInvalidEarlyAccess("_setThrew");var _emscripten_stack_init=makeInvalidEarlyAccess("_emscripten_stack_init");var _emscripten_stack_get_free=makeInvalidEarlyAccess("_emscripten_stack_get_free");var __emscripten_stack_restore=makeInvalidEarlyAccess("__emscripten_stack_restore");var __emscripten_stack_alloc=makeInvalidEarlyAccess("__emscripten_stack_alloc");var _emscripten_stack_get_current=makeInvalidEarlyAccess("_emscripten_stack_get_current");function assignWasmExports(wasmExports){_free=createExportWrapper("free",1);_htons=createExportWrapper("htons",1);_ntohs=createExportWrapper("ntohs",1);_htonl=createExportWrapper("htonl",1);_fflush=createExportWrapper("fflush",1);Module["_malloc"]=_malloc=createExportWrapper("malloc",1);Module["_CancelLoadImage"]=_CancelLoadImage=createExportWrapper("CancelLoadImage",0);Module["_UpdateDcmImage"]=_UpdateDcmImage=createExportWrapper("UpdateDcmImage",1);Module["_SetWindowWidthLevel"]=_SetWindowWidthLevel=createExportWrapper("SetWindowWidthLevel",2);Module["_SetDisplayFrameIndex"]=_SetDisplayFrameIndex=createExportWrapper("SetDisplayFrameIndex",1);Module["_SetResizeFrame"]=_SetResizeFrame=createExportWrapper("SetResizeFrame",2);Module["_GetTotalBytes"]=_GetTotalBytes=createExportWrapper("GetTotalBytes",0);Module["_GetReadBytes"]=_GetReadBytes=createExportWrapper("GetReadBytes",0);Module["_GetWindowWidth"]=_GetWindowWidth=createExportWrapper("GetWindowWidth",0);Module["_GetWindowCenter"]=_GetWindowCenter=createExportWrapper("GetWindowCenter",0);Module["_GetTotalFrames"]=_GetTotalFrames=createExportWrapper("GetTotalFrames",0);Module["_GetFrameUpdateTimeDelay"]=_GetFrameUpdateTimeDelay=createExportWrapper("GetFrameUpdateTimeDelay",0);Module["_SetCallbackUpdateDcmImageComplete"]=_SetCallbackUpdateDcmImageComplete=createExportWrapper("SetCallbackUpdateDcmImageComplete",1);Module["_main"]=_main=createExportWrapper("__main_argc_argv",2);_strerror=createExportWrapper("strerror",1);_emscripten_stack_get_end=wasmExports["emscripten_stack_get_end"];_emscripten_stack_get_base=wasmExports["emscripten_stack_get_base"];_setThrew=createExportWrapper("setThrew",2);_emscripten_stack_init=wasmExports["emscripten_stack_init"];_emscripten_stack_get_free=wasmExports["emscripten_stack_get_free"];__emscripten_stack_restore=wasmExports["_emscripten_stack_restore"];__emscripten_stack_alloc=wasmExports["_emscripten_stack_alloc"];_emscripten_stack_get_current=wasmExports["emscripten_stack_get_current"]}var wasmImports={__cxa_throw:___cxa_throw,__syscall_connect:___syscall_connect,__syscall_faccessat:___syscall_faccessat,__syscall_fcntl64:___syscall_fcntl64,__syscall_fstat64:___syscall_fstat64,__syscall_ioctl:___syscall_ioctl,__syscall_lstat64:___syscall_lstat64,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_renameat:___syscall_renameat,__syscall_rmdir:___syscall_rmdir,__syscall_sendto:___syscall_sendto,__syscall_socket:___syscall_socket,__syscall_stat64:___syscall_stat64,__syscall_unlinkat:___syscall_unlinkat,_abort_js:__abort_js,_emscripten_throw_longjmp:__emscripten_throw_longjmp,_gmtime_js:__gmtime_js,_localtime_js:__localtime_js,_mktime_js:__mktime_js,_tzset_js:__tzset_js,clock_time_get:_clock_time_get,eglBindAPI:_eglBindAPI,eglChooseConfig:_eglChooseConfig,eglCreateContext:_eglCreateContext,eglCreateWindowSurface:_eglCreateWindowSurface,eglDestroyContext:_eglDestroyContext,eglDestroySurface:_eglDestroySurface,eglGetConfigAttrib:_eglGetConfigAttrib,eglGetDisplay:_eglGetDisplay,eglGetError:_eglGetError,eglInitialize:_eglInitialize,eglMakeCurrent:_eglMakeCurrent,eglQueryString:_eglQueryString,eglSwapBuffers:_eglSwapBuffers,eglSwapInterval:_eglSwapInterval,eglTerminate:_eglTerminate,eglWaitGL:_eglWaitGL,eglWaitNative:_eglWaitNative,emscripten_asm_const_int:_emscripten_asm_const_int,emscripten_asm_const_int_sync_on_main_thread:_emscripten_asm_const_int_sync_on_main_thread,emscripten_asm_const_ptr_sync_on_main_thread:_emscripten_asm_const_ptr_sync_on_main_thread,emscripten_async_wget2_abort:_emscripten_async_wget2_abort,emscripten_async_wget2_data:_emscripten_async_wget2_data,emscripten_date_now:_emscripten_date_now,emscripten_err:_emscripten_err,emscripten_exit_fullscreen:_emscripten_exit_fullscreen,emscripten_exit_pointerlock:_emscripten_exit_pointerlock,emscripten_get_device_pixel_ratio:_emscripten_get_device_pixel_ratio,emscripten_get_element_css_size:_emscripten_get_element_css_size,emscripten_get_gamepad_status:_emscripten_get_gamepad_status,emscripten_get_now:_emscripten_get_now,emscripten_get_num_gamepads:_emscripten_get_num_gamepads,emscripten_get_screen_size:_emscripten_get_screen_size,emscripten_glActiveTexture:_emscripten_glActiveTexture,emscripten_glAttachShader:_emscripten_glAttachShader,emscripten_glBeginQueryEXT:_emscripten_glBeginQueryEXT,emscripten_glBindAttribLocation:_emscripten_glBindAttribLocation,emscripten_glBindBuffer:_emscripten_glBindBuffer,emscripten_glBindFramebuffer:_emscripten_glBindFramebuffer,emscripten_glBindRenderbuffer:_emscripten_glBindRenderbuffer,emscripten_glBindTexture:_emscripten_glBindTexture,emscripten_glBindVertexArrayOES:_emscripten_glBindVertexArrayOES,emscripten_glBlendColor:_emscripten_glBlendColor,emscripten_glBlendEquation:_emscripten_glBlendEquation,emscripten_glBlendEquationSeparate:_emscripten_glBlendEquationSeparate,emscripten_glBlendFunc:_emscripten_glBlendFunc,emscripten_glBlendFuncSeparate:_emscripten_glBlendFuncSeparate,emscripten_glBufferData:_emscripten_glBufferData,emscripten_glBufferSubData:_emscripten_glBufferSubData,emscripten_glCheckFramebufferStatus:_emscripten_glCheckFramebufferStatus,emscripten_glClear:_emscripten_glClear,emscripten_glClearColor:_emscripten_glClearColor,emscripten_glClearDepthf:_emscripten_glClearDepthf,emscripten_glClearStencil:_emscripten_glClearStencil,emscripten_glClipControlEXT:_emscripten_glClipControlEXT,emscripten_glColorMask:_emscripten_glColorMask,emscripten_glCompileShader:_emscripten_glCompileShader,emscripten_glCompressedTexImage2D:_emscripten_glCompressedTexImage2D,emscripten_glCompressedTexSubImage2D:_emscripten_glCompressedTexSubImage2D,emscripten_glCopyTexImage2D:_emscripten_glCopyTexImage2D,emscripten_glCopyTexSubImage2D:_emscripten_glCopyTexSubImage2D,emscripten_glCreateProgram:_emscripten_glCreateProgram,emscripten_glCreateShader:_emscripten_glCreateShader,emscripten_glCullFace:_emscripten_glCullFace,emscripten_glDeleteBuffers:_emscripten_glDeleteBuffers,emscripten_glDeleteFramebuffers:_emscripten_glDeleteFramebuffers,emscripten_glDeleteProgram:_emscripten_glDeleteProgram,emscripten_glDeleteQueriesEXT:_emscripten_glDeleteQueriesEXT,emscripten_glDeleteRenderbuffers:_emscripten_glDeleteRenderbuffers,emscripten_glDeleteShader:_emscripten_glDeleteShader,emscripten_glDeleteTextures:_emscripten_glDeleteTextures,emscripten_glDeleteVertexArraysOES:_emscripten_glDeleteVertexArraysOES,emscripten_glDepthFunc:_emscripten_glDepthFunc,emscripten_glDepthMask:_emscripten_glDepthMask,emscripten_glDepthRangef:_emscripten_glDepthRangef,emscripten_glDetachShader:_emscripten_glDetachShader,emscripten_glDisable:_emscripten_glDisable,emscripten_glDisableVertexAttribArray:_emscripten_glDisableVertexAttribArray,emscripten_glDrawArrays:_emscripten_glDrawArrays,emscripten_glDrawArraysInstancedANGLE:_emscripten_glDrawArraysInstancedANGLE,emscripten_glDrawBuffersWEBGL:_emscripten_glDrawBuffersWEBGL,emscripten_glDrawElements:_emscripten_glDrawElements,emscripten_glDrawElementsInstancedANGLE:_emscripten_glDrawElementsInstancedANGLE,emscripten_glEnable:_emscripten_glEnable,emscripten_glEnableVertexAttribArray:_emscripten_glEnableVertexAttribArray,emscripten_glEndQueryEXT:_emscripten_glEndQueryEXT,emscripten_glFinish:_emscripten_glFinish,emscripten_glFlush:_emscripten_glFlush,emscripten_glFramebufferRenderbuffer:_emscripten_glFramebufferRenderbuffer,emscripten_glFramebufferTexture2D:_emscripten_glFramebufferTexture2D,emscripten_glFrontFace:_emscripten_glFrontFace,emscripten_glGenBuffers:_emscripten_glGenBuffers,emscripten_glGenFramebuffers:_emscripten_glGenFramebuffers,emscripten_glGenQueriesEXT:_emscripten_glGenQueriesEXT,emscripten_glGenRenderbuffers:_emscripten_glGenRenderbuffers,emscripten_glGenTextures:_emscripten_glGenTextures,emscripten_glGenVertexArraysOES:_emscripten_glGenVertexArraysOES,emscripten_glGenerateMipmap:_emscripten_glGenerateMipmap,emscripten_glGetActiveAttrib:_emscripten_glGetActiveAttrib,emscripten_glGetActiveUniform:_emscripten_glGetActiveUniform,emscripten_glGetAttachedShaders:_emscripten_glGetAttachedShaders,emscripten_glGetAttribLocation:_emscripten_glGetAttribLocation,emscripten_glGetBooleanv:_emscripten_glGetBooleanv,emscripten_glGetBufferParameteriv:_emscripten_glGetBufferParameteriv,emscripten_glGetError:_emscripten_glGetError,emscripten_glGetFloatv:_emscripten_glGetFloatv,emscripten_glGetFramebufferAttachmentParameteriv:_emscripten_glGetFramebufferAttachmentParameteriv,emscripten_glGetIntegerv:_emscripten_glGetIntegerv,emscripten_glGetProgramInfoLog:_emscripten_glGetProgramInfoLog,emscripten_glGetProgramiv:_emscripten_glGetProgramiv,emscripten_glGetQueryObjecti64vEXT:_emscripten_glGetQueryObjecti64vEXT,emscripten_glGetQueryObjectivEXT:_emscripten_glGetQueryObjectivEXT,emscripten_glGetQueryObjectui64vEXT:_emscripten_glGetQueryObjectui64vEXT,emscripten_glGetQueryObjectuivEXT:_emscripten_glGetQueryObjectuivEXT,emscripten_glGetQueryivEXT:_emscripten_glGetQueryivEXT,emscripten_glGetRenderbufferParameteriv:_emscripten_glGetRenderbufferParameteriv,emscripten_glGetShaderInfoLog:_emscripten_glGetShaderInfoLog,emscripten_glGetShaderPrecisionFormat:_emscripten_glGetShaderPrecisionFormat,emscripten_glGetShaderSource:_emscripten_glGetShaderSource,emscripten_glGetShaderiv:_emscripten_glGetShaderiv,emscripten_glGetString:_emscripten_glGetString,emscripten_glGetTexParameterfv:_emscripten_glGetTexParameterfv,emscripten_glGetTexParameteriv:_emscripten_glGetTexParameteriv,emscripten_glGetUniformLocation:_emscripten_glGetUniformLocation,emscripten_glGetUniformfv:_emscripten_glGetUniformfv,emscripten_glGetUniformiv:_emscripten_glGetUniformiv,emscripten_glGetVertexAttribPointerv:_emscripten_glGetVertexAttribPointerv,emscripten_glGetVertexAttribfv:_emscripten_glGetVertexAttribfv,emscripten_glGetVertexAttribiv:_emscripten_glGetVertexAttribiv,emscripten_glHint:_emscripten_glHint,emscripten_glIsBuffer:_emscripten_glIsBuffer,emscripten_glIsEnabled:_emscripten_glIsEnabled,emscripten_glIsFramebuffer:_emscripten_glIsFramebuffer,emscripten_glIsProgram:_emscripten_glIsProgram,emscripten_glIsQueryEXT:_emscripten_glIsQueryEXT,emscripten_glIsRenderbuffer:_emscripten_glIsRenderbuffer,emscripten_glIsShader:_emscripten_glIsShader,emscripten_glIsTexture:_emscripten_glIsTexture,emscripten_glIsVertexArrayOES:_emscripten_glIsVertexArrayOES,emscripten_glLineWidth:_emscripten_glLineWidth,emscripten_glLinkProgram:_emscripten_glLinkProgram,emscripten_glPixelStorei:_emscripten_glPixelStorei,emscripten_glPolygonModeWEBGL:_emscripten_glPolygonModeWEBGL,emscripten_glPolygonOffset:_emscripten_glPolygonOffset,emscripten_glPolygonOffsetClampEXT:_emscripten_glPolygonOffsetClampEXT,emscripten_glQueryCounterEXT:_emscripten_glQueryCounterEXT,emscripten_glReadPixels:_emscripten_glReadPixels,emscripten_glReleaseShaderCompiler:_emscripten_glReleaseShaderCompiler,emscripten_glRenderbufferStorage:_emscripten_glRenderbufferStorage,emscripten_glSampleCoverage:_emscripten_glSampleCoverage,emscripten_glScissor:_emscripten_glScissor,emscripten_glShaderBinary:_emscripten_glShaderBinary,emscripten_glShaderSource:_emscripten_glShaderSource,emscripten_glStencilFunc:_emscripten_glStencilFunc,emscripten_glStencilFuncSeparate:_emscripten_glStencilFuncSeparate,emscripten_glStencilMask:_emscripten_glStencilMask,emscripten_glStencilMaskSeparate:_emscripten_glStencilMaskSeparate,emscripten_glStencilOp:_emscripten_glStencilOp,emscripten_glStencilOpSeparate:_emscripten_glStencilOpSeparate,emscripten_glTexImage2D:_emscripten_glTexImage2D,emscripten_glTexParameterf:_emscripten_glTexParameterf,emscripten_glTexParameterfv:_emscripten_glTexParameterfv,emscripten_glTexParameteri:_emscripten_glTexParameteri,emscripten_glTexParameteriv:_emscripten_glTexParameteriv,emscripten_glTexSubImage2D:_emscripten_glTexSubImage2D,emscripten_glUniform1f:_emscripten_glUniform1f,emscripten_glUniform1fv:_emscripten_glUniform1fv,emscripten_glUniform1i:_emscripten_glUniform1i,emscripten_glUniform1iv:_emscripten_glUniform1iv,emscripten_glUniform2f:_emscripten_glUniform2f,emscripten_glUniform2fv:_emscripten_glUniform2fv,emscripten_glUniform2i:_emscripten_glUniform2i,emscripten_glUniform2iv:_emscripten_glUniform2iv,emscripten_glUniform3f:_emscripten_glUniform3f,emscripten_glUniform3fv:_emscripten_glUniform3fv,emscripten_glUniform3i:_emscripten_glUniform3i,emscripten_glUniform3iv:_emscripten_glUniform3iv,emscripten_glUniform4f:_emscripten_glUniform4f,emscripten_glUniform4fv:_emscripten_glUniform4fv,emscripten_glUniform4i:_emscripten_glUniform4i,emscripten_glUniform4iv:_emscripten_glUniform4iv,emscripten_glUniformMatrix2fv:_emscripten_glUniformMatrix2fv,emscripten_glUniformMatrix3fv:_emscripten_glUniformMatrix3fv,emscripten_glUniformMatrix4fv:_emscripten_glUniformMatrix4fv,emscripten_glUseProgram:_emscripten_glUseProgram,emscripten_glValidateProgram:_emscripten_glValidateProgram,emscripten_glVertexAttrib1f:_emscripten_glVertexAttrib1f,emscripten_glVertexAttrib1fv:_emscripten_glVertexAttrib1fv,emscripten_glVertexAttrib2f:_emscripten_glVertexAttrib2f,emscripten_glVertexAttrib2fv:_emscripten_glVertexAttrib2fv,emscripten_glVertexAttrib3f:_emscripten_glVertexAttrib3f,emscripten_glVertexAttrib3fv:_emscripten_glVertexAttrib3fv,emscripten_glVertexAttrib4f:_emscripten_glVertexAttrib4f,emscripten_glVertexAttrib4fv:_emscripten_glVertexAttrib4fv,emscripten_glVertexAttribDivisorANGLE:_emscripten_glVertexAttribDivisorANGLE,emscripten_glVertexAttribPointer:_emscripten_glVertexAttribPointer,emscripten_glViewport:_emscripten_glViewport,emscripten_has_asyncify:_emscripten_has_asyncify,emscripten_request_fullscreen_strategy:_emscripten_request_fullscreen_strategy,emscripten_request_pointerlock:_emscripten_request_pointerlock,emscripten_resize_heap:_emscripten_resize_heap,emscripten_sample_gamepad_data:_emscripten_sample_gamepad_data,emscripten_set_beforeunload_callback_on_thread:_emscripten_set_beforeunload_callback_on_thread,emscripten_set_blur_callback_on_thread:_emscripten_set_blur_callback_on_thread,emscripten_set_canvas_element_size:_emscripten_set_canvas_element_size,emscripten_set_element_css_size:_emscripten_set_element_css_size,emscripten_set_focus_callback_on_thread:_emscripten_set_focus_callback_on_thread,emscripten_set_fullscreenchange_callback_on_thread:_emscripten_set_fullscreenchange_callback_on_thread,emscripten_set_gamepadconnected_callback_on_thread:_emscripten_set_gamepadconnected_callback_on_thread,emscripten_set_gamepaddisconnected_callback_on_thread:_emscripten_set_gamepaddisconnected_callback_on_thread,emscripten_set_keydown_callback_on_thread:_emscripten_set_keydown_callback_on_thread,emscripten_set_keypress_callback_on_thread:_emscripten_set_keypress_callback_on_thread,emscripten_set_keyup_callback_on_thread:_emscripten_set_keyup_callback_on_thread,emscripten_set_main_loop_arg:_emscripten_set_main_loop_arg,emscripten_set_mousedown_callback_on_thread:_emscripten_set_mousedown_callback_on_thread,emscripten_set_mouseenter_callback_on_thread:_emscripten_set_mouseenter_callback_on_thread,emscripten_set_mouseleave_callback_on_thread:_emscripten_set_mouseleave_callback_on_thread,emscripten_set_mousemove_callback_on_thread:_emscripten_set_mousemove_callback_on_thread,emscripten_set_mouseup_callback_on_thread:_emscripten_set_mouseup_callback_on_thread,emscripten_set_pointerlockchange_callback_on_thread:_emscripten_set_pointerlockchange_callback_on_thread,emscripten_set_resize_callback_on_thread:_emscripten_set_resize_callback_on_thread,emscripten_set_touchcancel_callback_on_thread:_emscripten_set_touchcancel_callback_on_thread,emscripten_set_touchend_callback_on_thread:_emscripten_set_touchend_callback_on_thread,emscripten_set_touchmove_callback_on_thread:_emscripten_set_touchmove_callback_on_thread,emscripten_set_touchstart_callback_on_thread:_emscripten_set_touchstart_callback_on_thread,emscripten_set_visibilitychange_callback_on_thread:_emscripten_set_visibilitychange_callback_on_thread,emscripten_set_wheel_callback_on_thread:_emscripten_set_wheel_callback_on_thread,emscripten_set_window_title:_emscripten_set_window_title,emscripten_sleep:_emscripten_sleep,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,exit:_exit,fd_close:_fd_close,fd_fdstat_get:_fd_fdstat_get,fd_read:_fd_read,fd_seek:_fd_seek,fd_write:_fd_write,getaddrinfo:_getaddrinfo,glActiveTexture:_glActiveTexture,glAttachShader:_glAttachShader,glBindBuffer:_glBindBuffer,glBindTexture:_glBindTexture,glBufferData:_glBufferData,glClear:_glClear,glClearColor:_glClearColor,glCompileShader:_glCompileShader,glCreateProgram:_glCreateProgram,glCreateShader:_glCreateShader,glDeleteTextures:_glDeleteTextures,glDrawArrays:_glDrawArrays,glEnableVertexAttribArray:_glEnableVertexAttribArray,glGenBuffers:_glGenBuffers,glGenTextures:_glGenTextures,glGetAttribLocation:_glGetAttribLocation,glGetError:_glGetError,glGetProgramInfoLog:_glGetProgramInfoLog,glGetProgramiv:_glGetProgramiv,glGetShaderInfoLog:_glGetShaderInfoLog,glGetShaderiv:_glGetShaderiv,glGetUniformLocation:_glGetUniformLocation,glLinkProgram:_glLinkProgram,glShaderSource:_glShaderSource,glTexImage2D:_glTexImage2D,glTexParameteri:_glTexParameteri,glUniform1f:_glUniform1f,glUniform1i:_glUniform1i,glUniform2fv:_glUniform2fv,glUseProgram:_glUseProgram,glVertexAttribPointer:_glVertexAttribPointer,glViewport:_glViewport,invoke_i,invoke_ii,invoke_iii,invoke_iiii,invoke_iiiii,invoke_v,invoke_vi,invoke_vii,invoke_viii,invoke_viiiiii};var wasmExports=await createWasm();function invoke_ii(index,a1){var sp=stackSave();try{return getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_i(index){var sp=stackSave();try{return getWasmTableEntry(index)()}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_v(index){var sp=stackSave();try{getWasmTableEntry(index)()}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function applySignatureConversions(wasmExports){wasmExports=Object.assign({},wasmExports);var makeWrapper_pp=f=>a0=>f(a0)>>>0;var makeWrapper_p_=f=>a0=>f(a0)>>>0;var makeWrapper_p=f=>()=>f()>>>0;wasmExports["malloc"]=makeWrapper_pp(wasmExports["malloc"]);wasmExports["strerror"]=makeWrapper_p_(wasmExports["strerror"]);wasmExports["emscripten_stack_get_end"]=makeWrapper_p(wasmExports["emscripten_stack_get_end"]);wasmExports["emscripten_stack_get_base"]=makeWrapper_p(wasmExports["emscripten_stack_get_base"]);wasmExports["_emscripten_stack_alloc"]=makeWrapper_pp(wasmExports["_emscripten_stack_alloc"]);wasmExports["emscripten_stack_get_current"]=makeWrapper_p(wasmExports["emscripten_stack_get_current"]);return wasmExports}var calledRun;function callMain(args=[]){assert(runDependencies==0,'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])');assert(typeof onPreRuns==="undefined"||onPreRuns.length==0,"cannot call main when preRun functions remain to be called");var entryFunction=_main;args.unshift(thisProgram);var argc=args.length;var argv=stackAlloc((argc+1)*4);var argv_ptr=argv;args.forEach(arg=>{HEAPU32[argv_ptr>>>2>>>0]=stringToUTF8OnStack(arg);argv_ptr+=4});HEAPU32[argv_ptr>>>2>>>0]=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function stackCheckInit(){_emscripten_stack_init();writeStackCookie()}function run(args=arguments_){if(runDependencies>0){dependenciesFulfilled=run;return}stackCheckInit();preRun();if(runDependencies>0){dependenciesFulfilled=run;return}function doRun(){assert(!calledRun);calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve?.(Module);Module["onRuntimeInitialized"]?.();consumedModuleProp("onRuntimeInitialized");var noInitialRun=Module["noInitialRun"]||false;if(!noInitialRun)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}checkStackCookie()}function checkUnflushedContent(){var oldOut=out;var oldErr=err;var has=false;out=err=x=>{has=true};try{_fflush(0);["stdout","stderr"].forEach(name=>{var info=FS.analyzePath("/dev/"+name);if(!info)return;var stream=info.object;var rdev=stream.rdev;var tty=TTY.ttys[rdev];if(tty?.output?.length){has=true}})}catch(e){}out=oldOut;err=oldErr;if(has){warnOnce("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc.")}}function preInit(){if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].shift()()}}consumedModuleProp("preInit")}preInit();run();if(runtimeInitialized){moduleRtn=Module}else{moduleRtn=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject})}for(const prop of Object.keys(Module)){if(!(prop in moduleArg)){Object.defineProperty(moduleArg,prop,{configurable:true,get(){abort(`Access to module property ('${prop}') is no longer possible via the module constructor argument; Instead, use the result of the module constructor.`)}})}} + + + return moduleRtn; +} +); +})(); +export default Module; diff --git a/webassembly/dcm_mod.cc b/webassembly/dcm_mod.cc new file mode 100644 index 0000000..f3197f4 --- /dev/null +++ b/webassembly/dcm_mod.cc @@ -0,0 +1,970 @@ +// +// Emscripten/SDL2/OpenGLES2 sample that demonstrates simple geometry and shaders, mouse and touch input, and window resizing +// +// Setup: +// Install emscripten: http://kripken.github.io/emscripten-site/docs/getting_started/downloads.html +// +// Build: +// emcc -std=c++11 hello_triangle.cpp events.cpp camera.cpp -s USE_SDL=2 -s FULL_ES2=1 -s WASM=0 -o hello_triangle.html +// +// Run: +// emrun hello_triangle.html +// +// Result: +// A colorful triangle. Left mouse pans, mouse wheel zooms in/out. Window is resizable. +// + +#ifdef __EMSCRIPTEN__ +#include +#endif + +#include +#include +//#include +//#include + +#include +#include "dcmtk/config/osconfig.h" +#include "dcmtk/dcmdata/dcfilefo.h" +#include "dcmtk/dcmdata/dcdeftag.h" +#include "dcmtk/dcmdata/dcuid.h" +#include "dcmtk/dcmdata/dcmetinf.h" +#include "dcmtk/dcmdata/dcdict.h" +#include "dcmtk/dcmdata/dcdicent.h" +#include "dcmtk/dcmdata/dcxfer.h" + +#include "dcmtk/dcmjpeg/djdecode.h" /* for JPEG decoders */ +#include "dcmtk/dcmjpeg/djencode.h" /* for JPEG encoders */ +#include "dcmtk/dcmjpls/djdecode.h" /* for JPEG-LS decoders */ +#include "dcmtk/dcmjpls/djencode.h" /* for JPEG-LS encoders */ +#include "dcmtk/dcmdata/dcrledrg.h" /* for RLE decoder */ +#include "dcmtk/dcmdata/dcrleerg.h" /* for RLE encoder */ +#include "dcmtk/dcmjpeg/dipijpeg.h" /* for dcmimage JPEG plugin */ +#include "dcmtk/dcmjpeg/djrplol.h" + + +#include "dcmtk/dcmimage/diregist.h" +#include "dcmtk/dcmdata/dcpixseq.h" +#include "dcmtk/dcmjpeg/djcparam.h" +#include "dcmtk/dcmjpeg/djeijg8.h" +#include "dcmtk/dcmjpeg/djcodece.h" +#include "dcmtk/dcmdata/dcchrstr.h" +#include "dcmtk/ofstd/ofchrenc.h" + +#include "dcmtk/dcmdata/dcvrui.h" +#include "dcmtk/dcmdata/dcvrsh.h" +#include "dcmtk/dcmdata/dcistrmb.h" + + +#include "events.h" + +typedef void (*callback_UpdateDcmImage) (); +callback_UpdateDcmImage callback_UpdateDcmImageComplete = NULL; + + + +DcmDataset* g_pDcmDataset = NULL; +DcmElement* g_pixelDataElement = NULL; +bool g_bChange = false; + +EventHandler* g_pEventHandler = NULL; + +GLuint textureObj = 0; + +GLuint g_shaderProgramGray16 = 0; +GLuint g_shaderProgramRGB = 0; + +// Vertex shader +GLint g_shaderPanGray16, g_shaderZoomGray16, g_shaderAspectGray16, g_shaderWindowCenterGray16, g_shaderWindowWidthGray16; +GLint g_shaderPanRGB, g_shaderZoomRGB, g_shaderAspectRGB, g_shaderWindowCenterRGB, g_shaderWindowWidthRGB; + +int g_nWindowWidth = 0; +int g_nWindowCenter = 0; + +int g_nPrevWindowWidth = 0; +int g_nPrevWindowCenter = 0; + +int g_nColorType = 0; + +Uint32 g_nCurrentFrame = 0; +int g_nTotalFrames = 0; + +int g_nFrameWidth = 0; +int g_nFrameHeight = 0; + +int g_nSamplesPerPixel = 0; +int g_nBitsAllocated = 0; + +int g_nFrameSizeUncompressed = 0; + +char* g_pBuf = NULL; + +const GLchar* vertexSourceGray16 = +"uniform vec2 pan; \n" +"uniform float zoom; \n" +"uniform float aspect; \n" +"attribute vec4 position; \n" +"attribute vec2 a_texCoord; \n" +"varying vec2 texCoord; \n" +"void main() \n" +"{ \n" +" gl_Position = vec4(position.xyz, 1.0); \n" +" gl_Position.xy += pan; \n" +" gl_Position.xy *= zoom; \n" +" texCoord = a_texCoord; \n" +" gl_Position.y *= aspect; \n" +"} \n"; + + +// Fragment/pixel shader +const GLchar* fragmentSourceGray16 = +"precision mediump float; \n" +"varying vec2 texCoord; \n" +"uniform sampler2D texSampler; \n" +"uniform float fWindowCenter; \n" +"uniform float fWindowWidth; \n" +"void main() \n" +"{ \n" +" vec4 colorOut = texture2D(texSampler, texCoord); \n" +" float fMin = fWindowCenter - fWindowWidth/2.0;\n" +" float fMax = fWindowCenter + fWindowWidth/2.0;\n" +" float fData = ( ((colorOut.a + colorOut.r*256.0)*256.0) - fMin)/(fMax-fMin); \n" +" fData = ( ((colorOut.a + colorOut.a*256.0)*256.0) - fMin)/(fMax-fMin); \n" +" fData = colorOut.r;\n" +" fData = (((colorOut.a * 256.0 + colorOut.r)*256.0) - fMin) / (fMax-fMin);" +" float fTmpData = fMin;\n" +" gl_FragColor = vec4(fData, fData, fData, 1.0); \n" + +"} \n"; + + + +const GLchar* vertexSourceRGB = +"uniform vec2 panRGB; \n" +"uniform float zoomRGB; \n" +"uniform float aspectRGB; \n" +"attribute vec4 position; \n" +"attribute vec2 a_texCoord; \n" +"varying vec2 texCoord; \n" +"void main() \n" +"{ \n" +" gl_Position = vec4(position.xyz, 1.0); \n" +" gl_Position.xy += panRGB; \n" +" gl_Position.xy *= zoomRGB; \n" +" texCoord = a_texCoord; \n" +" gl_Position.y *= aspectRGB; \n" +"} \n"; + + +// Fragment/pixel shader +const GLchar* fragmentSourceRGB = +"precision mediump float; \n" +"varying vec2 texCoord; \n" +"uniform sampler2D texSampler; \n" +"uniform float fWindowCenterRGB; \n" +"uniform float fWindowWidthRGB; \n" +"void main() \n" +"{ \n" +" vec4 colorOut = texture2D(texSampler, texCoord); \n" +" float fMin = fWindowCenterRGB - fWindowWidthRGB/2.0;\n" +" float fMax = fWindowCenterRGB + fWindowWidthRGB/2.0;\n" +" float fTestValue = (fMax - fMin);\n" +" float fR = (colorOut.r*256.0 - fMin) / (fMax-fMin);\n" +" float fG = (colorOut.g*256.0 - fMin) / (fMax-fMin);\n" +" float fB = (colorOut.b*256.0 - fMin) / (fMax-fMin);\n" +" gl_FragColor = vec4(fR, fG, fB, 1.0); \n" +//" gl_FragColor = vec4(colorOut.r/fTestValue, 1.0, 1.0, 1.0); \n" + +"} \n"; + +void updateShader(EventHandler& eventHandler) +{ + Camera& camera = eventHandler.camera(); + + printf("updateShader: g_nColorType=%d\n", g_nColorType); + + + if(g_nColorType==0) + { + glUseProgram(g_shaderProgramGray16); + + glUniform2fv(g_shaderPanGray16, 1, camera.pan()); + glUniform1f(g_shaderZoomGray16, camera.zoom()); + glUniform1f(g_shaderAspectGray16, camera.aspect()); + } + else if(g_nColorType==1) + { + glUseProgram(g_shaderProgramRGB); + + glUniform2fv(g_shaderPanRGB, 1, camera.pan()); + glUniform1f(g_shaderZoomRGB, camera.zoom()); + glUniform1f(g_shaderAspectRGB, camera.aspect()); + } + +} + +void onErrorData(void* arg) +{ + printf("onErrorData %d\n", (int)arg); +} + +void updateTextureGray16(int nWidth, int nHeight, void* pData) +{ + glTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE_ALPHA, nWidth, nHeight, 0, GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE, pData); +} + +void updateTextureRGB(int nWidth, int nHeight, void* pData) +{ + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, nWidth, nHeight, 0, GL_RGB, GL_UNSIGNED_BYTE, pData); +} + +void updateWindowWidthLevelGray16(int nWidth, int nLevel) +{ + glUniform1f(g_shaderWindowCenterGray16, (float)nLevel); + glUniform1f(g_shaderWindowWidthGray16, (float)nWidth); +} + +void updateWindowWidthLevelRGB(int nWidth, int nLevel) +{ + glUniform1f(g_shaderWindowCenterRGB, (float)nLevel); + glUniform1f(g_shaderWindowWidthRGB, (float)nWidth); +} + + + + +void initShaderGray16() +{ + // Create and compile vertex shader + GLuint vertexShader = glCreateShader(GL_VERTEX_SHADER); + glShaderSource(vertexShader, 1, &vertexSourceGray16, NULL); + glCompileShader(vertexShader); + + // Create and compile fragment shader + GLuint fragmentShader = glCreateShader(GL_FRAGMENT_SHADER); + glShaderSource(fragmentShader, 1, &fragmentSourceGray16, NULL); + glCompileShader(fragmentShader); + + // Link vertex and fragment shader into shader program and use it + g_shaderProgramGray16 = glCreateProgram(); + glAttachShader(g_shaderProgramGray16, vertexShader); + glAttachShader(g_shaderProgramGray16, fragmentShader); + glLinkProgram(g_shaderProgramGray16); + //glUseProgram(g_shaderProgramGray16); + + // Get shader variables and initialize them + g_shaderPanGray16 = glGetUniformLocation(g_shaderProgramGray16, "pan"); + g_shaderZoomGray16 = glGetUniformLocation(g_shaderProgramGray16, "zoom"); + g_shaderAspectGray16 = glGetUniformLocation(g_shaderProgramGray16, "aspect"); + g_shaderWindowCenterGray16 = glGetUniformLocation(g_shaderProgramGray16, "fWindowCenter"); + g_shaderWindowWidthGray16 = glGetUniformLocation(g_shaderProgramGray16, "fWindowWidth"); + + glUniform1f(g_shaderWindowCenterGray16, 128.0f); + glUniform1f(g_shaderWindowWidthGray16, 255.0f); + //printf("pan:%d, zoom:%d, aspect:%d, g_shaderWindowCenterGray16:%d, g_shaderWindowWidthGray16:%d\n", g_shaderPanGray16, g_shaderZoomGray16, g_shaderAspectGray16, g_shaderWindowCenterGray16, g_shaderWindowWidthGray16); + + +} + + +void initShaderRGB() +{ + // Create and compile vertex shader + GLuint vertexShader = glCreateShader(GL_VERTEX_SHADER); + glShaderSource(vertexShader, 1, &vertexSourceRGB, NULL); + glCompileShader(vertexShader); + + // Create and compile fragment shader + GLuint fragmentShader = glCreateShader(GL_FRAGMENT_SHADER); + glShaderSource(fragmentShader, 1, &fragmentSourceRGB, NULL); + glCompileShader(fragmentShader); + + // Link vertex and fragment shader into shader program and use it + g_shaderProgramRGB = glCreateProgram(); + //printf("g_shaderProgramRGB: %d\n", g_shaderProgramRGB); + glAttachShader(g_shaderProgramRGB, vertexShader); + glAttachShader(g_shaderProgramRGB, fragmentShader); + glLinkProgram(g_shaderProgramRGB); + //glUseProgram(g_shaderProgramRGB); + + // Get shader variables and initialize them + g_shaderPanRGB = glGetUniformLocation(g_shaderProgramRGB, "panRGB"); + g_shaderZoomRGB = glGetUniformLocation(g_shaderProgramRGB, "zoomRGB"); + g_shaderAspectRGB = glGetUniformLocation(g_shaderProgramRGB, "aspectRGB"); + g_shaderWindowCenterRGB = glGetUniformLocation(g_shaderProgramRGB, "fWindowCenterRGB"); + g_shaderWindowWidthRGB = glGetUniformLocation(g_shaderProgramRGB, "fWindowWidthRGB"); + + glUniform1f(g_shaderWindowCenterRGB, 128.0f); + glUniform1f(g_shaderWindowWidthRGB, 255.0f); + //printf("pan:%d, zoom:%d, aspect:%d, g_shaderWindowCenterRGB:%d, g_shaderWindowWidthRGB:%d\n", g_shaderPanRGB, g_shaderZoomRGB, g_shaderAspectRGB, g_shaderWindowCenterRGB, g_shaderWindowWidthRGB); + + + +} + + + + +GLuint initShader(EventHandler& eventHandler) +{ + initShaderGray16(); + initShaderRGB(); + updateShader(eventHandler); + + g_pEventHandler = &eventHandler; + + return g_shaderProgramGray16; +} + +GLuint g_vbo = 0; + +void initGeometry(GLuint shaderProgram) +{ + // Create vertex buffer object and copy vertex data into it + + //printf("g_vbo: %d\n", g_vbo); + + glGenBuffers(1, &g_vbo); + glBindBuffer(GL_ARRAY_BUFFER, g_vbo); + GLfloat vertices[] = + { + -1.0f, -1.0f, 0.0f, 0.0f, 1.0f, + 1.0f, -1.0f, 0.0f, 1.0f, 1.0f, + -1.0f, 1.0f, 0.0f, 0.0f, 0.0f, + + 1.0f, 1.0f, 0.0f, 1.0f, 0.0f, + -1.0f, 1.0f, 0.0f, 0.0f, 0.0f, + 1.0f, -1.0f, 0.0f, 1.0f, 1.0f, + }; + glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW); + + // Specify the layout of the shader vertex data (positions only, 3 floats) + GLint posAttrib = glGetAttribLocation(shaderProgram, "position"); + glEnableVertexAttribArray(posAttrib); +// glVertexAttribPointer(posAttrib, 3, GL_FLOAT, GL_FALSE, 0, 0); + glVertexAttribPointer(posAttrib, 3, GL_FLOAT, GL_FALSE, 5*sizeof(GLfloat), (GLvoid*)0); +// glEnableVertexAttribArray(0); + + GLint texAttrib = glGetAttribLocation(shaderProgram, "a_texCoord"); + glEnableVertexAttribArray(texAttrib); + glVertexAttribPointer(texAttrib, 2, GL_FLOAT, GL_FALSE, 5*sizeof(GLfloat), (GLvoid*)(3*sizeof(GLfloat))); + //glEnableVertexAttribArray(2); + +// glBindBuffer(GL_ARRAY_BUFFER, 0); + + //printf("initGeometry(%d, %d)\n", posAttrib, texAttrib); + +} + +void PrintError() +{ + int nError = 0; + nError = glGetError(); + printf("Error Code: %d\n", nError); +} + + +void onLoadedData(void* arg, void* buffer, int nSize) +{ + //printf("onLoadedData %d, %d\n", (int)arg, nSize); + + OFCondition error; + E_TransferSyntax opt_ixfer = EXS_Unknown; + E_FileReadMode opt_readMode = ERM_autoDetect; + Uint8* pData = (Uint8*)buffer; + + int nFindIndex = 0; + bool bFind = false; + int i=0; + Uint8* pDataTmp = (Uint8*)buffer; + for(i=0 ; itransferInit(); + { + error = g_pDcmDataset->read(dcmBuffer2, EXS_LittleEndianExplicit); + g_pDcmDataset->findAndGetOFString(DCM_TransferSyntaxUID, strTransferSyntaxUID); + g_pDcmDataset->transferEnd(); + dcmBuffer2.releaseBuffer(); + + delete g_pDcmDataset; + g_pDcmDataset = new DcmDataset; + } + if (strTransferSyntaxUID.size() > 0) + { + + } + + DcmXfer dcmXfer(strTransferSyntaxUID.c_str()); + + + + g_pDcmDataset->transferInit(); + + //error = g_pDcmDataset->read(dcmBuffer, EXS_JPEGProcess14SV1); + error = g_pDcmDataset->read(dcmBuffer, dcmXfer.getXfer()); + if(error.bad()) + { + printf("Dataset State: %u(%s)\n", g_pDcmDataset->transferState(), error.text()); + } + + g_pDcmDataset->transferEnd(); + + dcmBuffer.releaseBuffer(); + + + g_nTotalFrames = 1; + g_nFrameWidth = 0; + g_nFrameHeight = 0; + g_nSamplesPerPixel = 1; + g_nBitsAllocated = 8; + + + Uint16 val = 0; + g_pDcmDataset->findAndGetUint16(DCM_Rows, val); + g_nFrameHeight = val; + + g_pDcmDataset->findAndGetUint16(DCM_Columns, val); + g_nFrameWidth = val; + + g_pDcmDataset->findAndGetUint16(DCM_SamplesPerPixel, val); + g_nSamplesPerPixel = val; + + g_pDcmDataset->findAndGetUint16(DCM_BitsAllocated, val); + g_nBitsAllocated = val; + + Sint32 nFrames = 0; + OFString strFrames; +// g_pDcmDataset->findAndGetSint32(DCM_NumberOfFrames, nFrames); + g_pDcmDataset->findAndGetOFString(DCM_NumberOfFrames, strFrames); + + nFrames = atoi(strFrames.c_str()); + if(nFrames<=0) + { + nFrames = 1; + } + g_nTotalFrames = nFrames; + + OFString strTmp; + + strTmp = ""; + g_pDcmDataset->findAndGetOFString(DCM_WindowCenter, strTmp); + if(g_nWindowCenter<=0) + g_nWindowCenter = atoi(strTmp.c_str()); + + strTmp = ""; + g_pDcmDataset->findAndGetOFString(DCM_WindowWidth, strTmp); + if(g_nWindowWidth<=0) + g_nWindowWidth = atoi(strTmp.c_str()); + + g_nPrevWindowCenter = g_nWindowCenter; + g_nPrevWindowWidth = g_nWindowWidth; + + + + if(g_nSamplesPerPixel==3 && g_nBitsAllocated==8) + { + g_nColorType = 1; + } + else + { + g_nColorType = 0; + } + + + printf("ColorType:%d, Width:%d, Height:%d, TotalFrames:(%s)(%d) SamplesPerPixel:%d, BitsAllocated:%d\n", g_nColorType, g_nFrameWidth, g_nFrameHeight, strFrames.c_str(), g_nTotalFrames, g_nSamplesPerPixel, g_nBitsAllocated); + + if(g_nFrameWidth==0) + { + DcmElement* pElement = NULL; + g_pDcmDataset->findAndGetElement(DCM_Columns, pElement); + printf("pElement: %x\n", pElement); + } + + + + + + + + g_pixelDataElement = NULL; + g_pDcmDataset->findAndGetElement(DCM_PixelData, g_pixelDataElement); + + const Uint8* pImageData = NULL; + g_pDcmDataset->findAndGetUint8Array(DCM_PixelData, pImageData); + + if(pImageData!=NULL) + { + error = g_pDcmDataset->chooseRepresentation(EXS_LittleEndianExplicit, NULL); + if(error.bad()) + { + printf("chooseRepresentation: %s\n", error.text()); + } + else + { + g_pDcmDataset->findAndGetUint8Array(DCM_PixelData, pImageData); + } + } + else + { + printf("Find Pixel Data!!!\n"); + if(g_pixelDataElement->isEmpty()==true) + { + printf("PixelData is Empty!!\n"); + } + else + { + printf("ok0\n"); + Uint32 nFrameSizeUncompressed = 0; + g_pixelDataElement->getUncompressedFrameSize(g_pDcmDataset, nFrameSizeUncompressed); + g_nFrameSizeUncompressed = nFrameSizeUncompressed; + + printf("ok1: %d\n", g_nFrameSizeUncompressed); + + if(g_pBuf!=NULL) + { + delete[] g_pBuf; + } + + g_pBuf = new char[g_nFrameSizeUncompressed]; + + OFCondition ofTest; + OFString decompressedColorModel; + + Uint32 startFragment = 0; + + + ofTest = g_pixelDataElement->getUncompressedFrame(g_pDcmDataset, 1, startFragment, g_pBuf, g_nFrameSizeUncompressed, decompressedColorModel); + + //printf("updateTextureRGB: %d, %d, %d, %d, %s\nerror: %s\n", g_nFrameWidth, g_nFrameHeight, startFragment, g_nFrameSizeUncompressed, decompressedColorModel.c_str(), ofTest.text()); + + updateTextureRGB(g_nFrameWidth, g_nFrameHeight, g_pBuf); + + + //printf("sizeF: %d\n", sizeF); + } + } + + + if(callback_UpdateDcmImageComplete!=NULL) + { + printf("callback_UpdateDcmImageComplete\n"); + callback_UpdateDcmImageComplete(); + } + + g_bChange = true; + //g_bChange = false; + + //printf("load OK!\n"); +} + + + + +void initTextureGray16() +{ + + const Uint16* pImageData = NULL; + //g_pDcmDataset->findAndGetUint8Array(DCM_PixelData, pImageData); + g_pDcmDataset->findAndGetUint16Array(DCM_PixelData, pImageData); + //printf("PixelPointer: %x\n", pImageData); + + + int w = g_nFrameWidth; + int h = g_nFrameHeight; + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + //SDL_Surface* image = SDL_CreateRGBSurface(0, w, h, 24, 0, 0, 0, 0); + //memset(image->pixels, 0x1f, image->w * image->h * 3); + + // + //Uint8* pData = new Uint8[1920*1080*4]; + //memset(pData, 0xff, 1920*1080*4); + + //if(image!=NULL) + { + glGenTextures(1, &textureObj); + + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_2D, textureObj); + + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + + + PrintError(); +// glTexImage2D(GL_TEXTURE_2D, 0, format, w, h, 0, format, GL_UNSIGNED_BYTE, pData); + glTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE_ALPHA, w, h, 0, GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE, pImageData); +// glTexImage2D(GL_TEXTURE_2D, 0, GL_R16I, w, h, 0, GL_RED_INTEGER, GL_UNSIGNED_SHORT, pData16); + + PrintError(); + + GLint nTextureID = glGetUniformLocation(g_shaderProgramGray16, "texSampler"); + + //printf("texSampler: %d\n", nTextureID); + + glActiveTexture(GL_TEXTURE0); + + glUniform1i(nTextureID, 0); + + + // glBindTexture(GL_TEXTURE_2D, 0); + } + + +// updateWindowWidthLevelGray16(g_nWindowWidth, g_nWindowCenter); +// glUniform1f(g_shaderWindowCenterGray16, (float)g_nWindowCenter); +// glUniform1f(g_shaderWindowWidthGray16, (float)g_nWindowWidth); + + + + //printf("WindowCenter: %d, WindowWidth: %d\n", g_nWindowCenter, g_nWindowWidth); + + + + + //delete g_pDcmDataset; + + //glUseProgram(g_shaderProgramGray16); + + +} + + +void initTextureRGB() +{ + //printf("initTextureRGB\n"); + const Uint8* pImageData = NULL; + g_pDcmDataset->findAndGetUint8Array(DCM_PixelData, pImageData); + //printf("PixelPointer: %x\n", pImageData); + + + int w = g_nFrameWidth; + int h = g_nFrameHeight; + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + GLint format = GL_RGB; + + //printf("textureObj: %d\n", textureObj); + if(textureObj>=0) + { + glBindTexture(GL_TEXTURE_2D, 0); + + glDeleteTextures(1, &textureObj); + } + + glGenTextures(1, &textureObj); + + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_2D, textureObj); + + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + + + PrintError(); + + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, w, h, 0, GL_RGB, GL_UNSIGNED_BYTE, pImageData); + + PrintError(); + + GLint nTextureID = glGetUniformLocation(g_shaderProgramRGB, "texSampler"); + + //printf("texSampler: %d\n", nTextureID); + + glActiveTexture(GL_TEXTURE0); + + glUniform1i(nTextureID, 0); + + +// updateWindowWidthLevelRGB(g_nWindowWidth, g_nWindowCenter); + + +// glUniform1f(g_shaderWindowCenterRGB, (float)g_nWindowCenter); +// glUniform1f(g_shaderWindowWidthRGB, (float)g_nWindowWidth); + +// printf("WindowCenter: %d, WindowWidth: %d\n", g_nWindowCenter, g_nWindowWidth); + + + /* + if(g_pDcmDataset!=NULL) + { + delete g_pDcmDataset; + g_pDcmDataset = NULL; + } + */ +} + + + +void redraw(EventHandler& eventHandler) +{ + if(g_bChange==true) + { + if(g_nColorType==0) + { + initGeometry(g_shaderProgramGray16); + glUseProgram(g_shaderProgramGray16); + initTextureGray16(); + updateShader(*g_pEventHandler); + } + else if(g_nColorType==1) + { + initGeometry(g_shaderProgramRGB); + glUseProgram(g_shaderProgramRGB); + initTextureRGB(); + updateShader(*g_pEventHandler); + } + g_bChange = false; + } + + //printf("g_nTotalFrames: %d\n", g_nTotalFrames); + + if(g_nTotalFrames>0) + { + + OFCondition ofTest; + OFString decompressedColorModel; + + + + + ofTest = g_pixelDataElement->getUncompressedFrame(g_pDcmDataset, 1, g_nCurrentFrame, g_pBuf, g_nFrameSizeUncompressed, decompressedColorModel); + + + + if(g_nColorType==0) + { + printf("updateTextureRGB: %d\n", g_nCurrentFrame); + updateTextureGray16(g_nFrameWidth, g_nFrameHeight, g_pBuf); + } + else if(g_nColorType==1) + { + //printf("updateTextureRGB: %d, %d, %d, %d, %s\nerror: %s\n", g_nFrameWidth, g_nFrameHeight, g_nCurrentFrame, g_nFrameSizeUncompressed, decompressedColorModel.c_str(), ofTest.text()); + updateTextureRGB(g_nFrameWidth, g_nFrameHeight, g_pBuf); + } + + if(g_nCurrentFrame>=g_nTotalFrames) + { + g_nCurrentFrame = 0; + } + + + } + + + if(g_nColorType==0) + { + updateWindowWidthLevelGray16(g_nPrevWindowWidth, g_nPrevWindowCenter); +// glUniform1f(g_shaderWindowCenterGray16, (float)g_nPrevWindowCenter); +// glUniform1f(g_shaderWindowWidthGray16, (float)g_nPrevWindowWidth); + } + else if(g_nColorType==1) + { + updateWindowWidthLevelRGB(g_nPrevWindowWidth, g_nPrevWindowCenter); +// glUniform1f(g_shaderWindowCenterRGB, (float)g_nPrevWindowCenter); +// glUniform1f(g_shaderWindowWidthRGB, (float)g_nPrevWindowWidth); + + } + // Clear screen + glClearColor(0.0, 0.0, 0.0, 1.0); + glClear(GL_COLOR_BUFFER_BIT); + + //glUseProgram(g_shaderProgramGray16); + +// glActiveTexture(GL_TEXTURE0); +// glBindTexture(GL_TEXTURE_2D, textureObj); + + //glBindBuffer(GL_ARRAY_BUFFER, g_vbo); + + // Draw the vertex buffer + glDrawArrays(GL_TRIANGLES, 0, 6); + //glDrawArrays(GL_QUADS, 0, 4); + + // Swap front/back framebuffers + eventHandler.swapWindow(); + + //printf("redraw\n"); +} + +void mainLoop(void* mainLoopArg) +{ + EventHandler& eventHandler = *((EventHandler*)mainLoopArg); + eventHandler.processEvents(); + + int nType = eventHandler.GetEventType(); + if(nType==1 || nType==2) + { + float fDeltaX = eventHandler.GetDeltaX(); + float fDeltaY = eventHandler.GetDeltaY(); + + + g_nPrevWindowCenter = g_nWindowCenter+fDeltaY; + g_nPrevWindowWidth = g_nWindowWidth + fDeltaX; + + + + + //printf("DeltaX: %f, DeltaY:%f, (%d, %d)\n", fDeltaX, fDeltaY, g_nPrevWindowCenter, g_nPrevWindowWidth); + +// glUniform1f(g_shaderWindowCenterGray16, (float)g_nPrevWindowCenter); +// glUniform1f(g_shaderWindowWidthGray16, (float)g_nPrevWindowWidth); +// + + } + else if(nType==3 || nType==4) + { + g_nWindowCenter = g_nPrevWindowCenter; + g_nWindowWidth = g_nPrevWindowWidth; + + } + +// glUniform1f(g_shaderWindowCenterGray16, (float)g_nPrevWindowCenter); +// glUniform1f(g_shaderWindowWidthGray16, (float)g_nPrevWindowWidth); + + // Update shader if camera changed + if (eventHandler.camera().updated()) + updateShader(eventHandler); + + redraw(eventHandler); +} + +#ifdef __cplusplus +#define EXTERN extern "C" +#else +#define EXTERN +#endif + +EXTERN EMSCRIPTEN_KEEPALIVE int UpdateDcmImage(std::string strFile) +{ + printf("UpdateDcmImage: %s\n", strFile.c_str()); + + emscripten_async_wget_data(strFile.c_str(), (void*)135, onLoadedData, onErrorData); + + return 0; +} + +EXTERN EMSCRIPTEN_KEEPALIVE int SetWindowWidthLevel(int nWindowCenter, int nWindowWidth) +{ + printf("New nWindowCenter:%d, nWindowWidth:%d\n", nWindowCenter, nWindowWidth); + + g_nWindowCenter = nWindowCenter; + g_nWindowWidth = nWindowWidth; + + g_nPrevWindowCenter = g_nWindowCenter; + g_nPrevWindowWidth = g_nWindowWidth; + + + return 0; +} + +EXTERN EMSCRIPTEN_KEEPALIVE int GetWindowWidth() +{ + return g_nWindowWidth; +} + +EXTERN EMSCRIPTEN_KEEPALIVE int GetWindowCenter() +{ + return g_nWindowCenter; +} + + +EXTERN EMSCRIPTEN_KEEPALIVE bool SetCallbackUpdateDcmImageComplete(callback_UpdateDcmImage callback_) +{ + printf("SetCallbackUpdateDcmImage: %x\n", callback_); + + callback_UpdateDcmImageComplete = callback_; + return true; +} + + + +int main(int argc, char** argv) +{ + EventHandler eventHandler("dcm image viewer"); + + // Initialize shader and geometry + GLuint shaderProgram = initShader(eventHandler); + + //initTexture(); + + // Start the main loop + void* mainLoopArg = &eventHandler; + + + DJDecoderRegistration::registerCodecs(); + DJLSDecoderRegistration::registerCodecs(); + DcmRLEDecoderRegistration::registerCodecs(); + + //emscripten_async_wget_data("http://49.171.226.18:1901/3.dcm", (void*)135, onLoadedData, onErrorData); + + +#ifdef __EMSCRIPTEN__ + int fps = 0; // Use browser's requestAnimationFrame + emscripten_set_main_loop_arg(mainLoop, mainLoopArg, fps, true); +#else + while(true) + mainLoop(mainLoopArg); +#endif + + glDeleteTextures(1, &textureObj); + + glBindTexture(GL_TEXTURE_2D, 0); + + DJDecoderRegistration::cleanup(); + DJLSDecoderRegistration::cleanup(); + DcmRLEDecoderRegistration::cleanup(); + + if(g_pDcmDataset!=NULL) + { + delete g_pDcmDataset; + g_pDcmDataset = NULL; + } + + printf("exit!!!!! c++ dcm_image_mod"); + + return 0; +} diff --git a/webassembly/dcm_mod.js b/webassembly/dcm_mod.js new file mode 100644 index 0000000..eb7965c --- /dev/null +++ b/webassembly/dcm_mod.js @@ -0,0 +1,16 @@ + +export var Module = (() => { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + + return ( +function(moduleArg = {}) { + +var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=true;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeKeepaliveCounter=0;function keepRuntimeAlive(){return noExitRuntime||runtimeKeepaliveCounter>0}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;SOCKFS.root=FS.mount(SOCKFS,{},null);if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}var wasmBinaryFile;wasmBinaryFile="dcm_mod.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{if(!response["ok"]){throw"failed to load wasm binary file at '"+binaryFile+"'"}return response["arrayBuffer"]()}).catch(()=>getBinary(binaryFile))}}return Promise.resolve().then(()=>getBinary(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>{return WebAssembly.instantiate(binary,imports)}).then(instance=>{return instance}).then(receiver,reason=>{err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}else{return instantiateArrayBuffer(binaryFile,imports,callback)}}function createWasm(){var info={"env":wasmImports,"wasi_snapshot_preview1":wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["memory"];updateMemoryViews();wasmTable=Module["asm"]["__indirect_function_table"];addOnInit(Module["asm"]["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate");return exports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err("Module.instantiateWasm callback failed with error: "+e);readyPromiseReject(e)}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}var tempDouble;var tempI64;var ASM_CONSTS={997224:()=>{if(typeof AudioContext!=="undefined"){return true}else if(typeof webkitAudioContext!=="undefined"){return true}return false},997371:()=>{if(typeof navigator.mediaDevices!=="undefined"&&typeof navigator.mediaDevices.getUserMedia!=="undefined"){return true}else if(typeof navigator.webkitGetUserMedia!=="undefined"){return true}return false},997605:$0=>{if(typeof Module["SDL2"]==="undefined"){Module["SDL2"]={}}var SDL2=Module["SDL2"];if(!$0){SDL2.audio={}}else{SDL2.capture={}}if(!SDL2.audioContext){if(typeof AudioContext!=="undefined"){SDL2.audioContext=new AudioContext}else if(typeof webkitAudioContext!=="undefined"){SDL2.audioContext=new webkitAudioContext}if(SDL2.audioContext){autoResumeAudioContext(SDL2.audioContext)}}return SDL2.audioContext===undefined?-1:0},998098:()=>{var SDL2=Module["SDL2"];return SDL2.audioContext.sampleRate},998166:($0,$1,$2,$3)=>{var SDL2=Module["SDL2"];var have_microphone=function(stream){if(SDL2.capture.silenceTimer!==undefined){clearTimeout(SDL2.capture.silenceTimer);SDL2.capture.silenceTimer=undefined}SDL2.capture.mediaStreamNode=SDL2.audioContext.createMediaStreamSource(stream);SDL2.capture.scriptProcessorNode=SDL2.audioContext.createScriptProcessor($1,$0,1);SDL2.capture.scriptProcessorNode.onaudioprocess=function(audioProcessingEvent){if(SDL2===undefined||SDL2.capture===undefined){return}audioProcessingEvent.outputBuffer.getChannelData(0).fill(0);SDL2.capture.currentCaptureBuffer=audioProcessingEvent.inputBuffer;dynCall("vi",$2,[$3])};SDL2.capture.mediaStreamNode.connect(SDL2.capture.scriptProcessorNode);SDL2.capture.scriptProcessorNode.connect(SDL2.audioContext.destination);SDL2.capture.stream=stream};var no_microphone=function(error){};SDL2.capture.silenceBuffer=SDL2.audioContext.createBuffer($0,$1,SDL2.audioContext.sampleRate);SDL2.capture.silenceBuffer.getChannelData(0).fill(0);var silence_callback=function(){SDL2.capture.currentCaptureBuffer=SDL2.capture.silenceBuffer;dynCall("vi",$2,[$3])};SDL2.capture.silenceTimer=setTimeout(silence_callback,$1/SDL2.audioContext.sampleRate*1e3);if(navigator.mediaDevices!==undefined&&navigator.mediaDevices.getUserMedia!==undefined){navigator.mediaDevices.getUserMedia({audio:true,video:false}).then(have_microphone).catch(no_microphone)}else if(navigator.webkitGetUserMedia!==undefined){navigator.webkitGetUserMedia({audio:true,video:false},have_microphone,no_microphone)}},999818:($0,$1,$2,$3)=>{var SDL2=Module["SDL2"];SDL2.audio.scriptProcessorNode=SDL2.audioContext["createScriptProcessor"]($1,0,$0);SDL2.audio.scriptProcessorNode["onaudioprocess"]=function(e){if(SDL2===undefined||SDL2.audio===undefined){return}SDL2.audio.currentOutputBuffer=e["outputBuffer"];dynCall("vi",$2,[$3])};SDL2.audio.scriptProcessorNode["connect"](SDL2.audioContext["destination"])},1000228:($0,$1)=>{var SDL2=Module["SDL2"];var numChannels=SDL2.capture.currentCaptureBuffer.numberOfChannels;for(var c=0;c{var SDL2=Module["SDL2"];var numChannels=SDL2.audio.currentOutputBuffer["numberOfChannels"];for(var c=0;c>>2]}}},1001313:$0=>{var SDL2=Module["SDL2"];if($0){if(SDL2.capture.silenceTimer!==undefined){clearTimeout(SDL2.capture.silenceTimer)}if(SDL2.capture.stream!==undefined){var tracks=SDL2.capture.stream.getAudioTracks();for(var i=0;i{var w=$0;var h=$1;var pixels=$2;if(!Module["SDL2"])Module["SDL2"]={};var SDL2=Module["SDL2"];if(SDL2.ctxCanvas!==Module["canvas"]){SDL2.ctx=Module["createContext"](Module["canvas"],false,true);SDL2.ctxCanvas=Module["canvas"]}if(SDL2.w!==w||SDL2.h!==h||SDL2.imageCtx!==SDL2.ctx){SDL2.image=SDL2.ctx.createImageData(w,h);SDL2.w=w;SDL2.h=h;SDL2.imageCtx=SDL2.ctx}var data=SDL2.image.data;var src=pixels>>2;var dst=0;var num;if(typeof CanvasPixelArray!=="undefined"&&data instanceof CanvasPixelArray){num=data.length;while(dst>>0];data[dst]=val&255;data[dst+1]=val>>8&255;data[dst+2]=val>>16&255;data[dst+3]=255;src++;dst+=4}}else{if(SDL2.data32Data!==data){SDL2.data32=new Int32Array(data.buffer);SDL2.data8=new Uint8Array(data.buffer);SDL2.data32Data=data}var data32=SDL2.data32;num=data32.length;data32.set(HEAP32.subarray(src>>>0,src+num>>>0));var data8=SDL2.data8;var i=3;var j=i+4*num;if(num%8==0){while(i{var w=$0;var h=$1;var hot_x=$2;var hot_y=$3;var pixels=$4;var canvas=document.createElement("canvas");canvas.width=w;canvas.height=h;var ctx=canvas.getContext("2d");var image=ctx.createImageData(w,h);var data=image.data;var src=pixels>>2;var dst=0;var num;if(typeof CanvasPixelArray!=="undefined"&&data instanceof CanvasPixelArray){num=data.length;while(dst>>0];data[dst]=val&255;data[dst+1]=val>>8&255;data[dst+2]=val>>16&255;data[dst+3]=val>>24&255;src++;dst+=4}}else{var data32=new Int32Array(data.buffer);num=data32.length;data32.set(HEAP32.subarray(src>>>0,src+num>>>0))}ctx.putImageData(image,0,0);var url=hot_x===0&&hot_y===0?"url("+canvas.toDataURL()+"), auto":"url("+canvas.toDataURL()+") "+hot_x+" "+hot_y+", auto";var urlBuf=_malloc(url.length+1);stringToUTF8(url,urlBuf,url.length+1);return urlBuf},1004943:$0=>{if(Module["canvas"]){Module["canvas"].style["cursor"]=UTF8ToString($0)}},1005026:()=>{if(Module["canvas"]){Module["canvas"].style["cursor"]="none"}},1005095:()=>{return window.innerWidth},1005125:()=>{return window.innerHeight}};function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var listenOnce=(object,event,func)=>{object.addEventListener(event,func,{"once":true})};var autoResumeAudioContext=(ctx,elements)=>{if(!elements){elements=[document,document.getElementById("canvas")]}["keydown","mousedown","touchstart"].forEach(event=>{elements.forEach(element=>{if(element){listenOnce(element,event,()=>{if(ctx.state==="suspended")ctx.resume()})}})})};var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var dynCallLegacy=(sig,ptr,args)=>{var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)};var wasmTableMirror=[];var getWasmTableEntry=funcPtr=>{var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func};var dynCall=(sig,ptr,args)=>{if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn};function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr>>>0]=value;break;case"i8":HEAP8[ptr>>>0]=value;break;case"i16":HEAP16[ptr>>>1]=value;break;case"i32":HEAP32[ptr>>>2]=value;break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":HEAPF32[ptr>>>2]=value;break;case"double":HEAPF64[ptr>>>3]=value;break;case"*":HEAPU32[ptr>>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var ___call_sighandler=(fp,sig)=>getWasmTableEntry(fp)(sig);function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>>2]};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast}var initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else abort("initRandomDevice")};var randomFill=view=>{return(randomFill=initRandomFill())(view)};var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:function(){var paths=Array.prototype.slice.call(arguments);return PATH.normalize(paths.join("/"))},join2:(l,r)=>{return PATH.normalize(l+"/"+r)}};var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{outIdx>>>=0;if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++>>>0]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++>>>0]=192|u>>6;heap[outIdx++>>>0]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++>>>0]=224|u>>12;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++>>>0]=240|u>>18;heap[outIdx++>>>0]=128|u>>12&63;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63}}heap[outIdx>>>0]=0;return outIdx-startIdx};function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{idx>>>=0;var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var TTY={ttys:[],init:function(){},shutdown:function(){},register:function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.fsync(stream.tty)},fsync:function(stream){stream.tty.ops.fsync(stream.tty)},read:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}},ioctl_tcgets:function(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets:function(tty,optional_actions,data){return 0},ioctl_tiocgwinsz:function(tty){return[24,80]}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var zeroMemory=(address,size)=>{HEAPU8.fill(0,address,address+size);return address};var mmapAlloc=size=>{abort()};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){newCapacity>>>=0;var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage:function(node,newSize){newSize>>>=0;if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr:function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[44]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read:function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length>>=0;HEAP8.set(contents,ptr>>>0)}return{ptr:ptr,allocated:allocated}},msync:function(stream,buffer,offset,length,mmapFlags){MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};var asyncLoad=(url,onload,onerror,noRunDep)=>{var dep=!noRunDep?getUniqueRunDependency(`al ${url}`):"";readAsync(url,arrayBuffer=>{assert(arrayBuffer,`Loading data file "${url}" failed (no arrayBuffer).`);onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},event=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)};var preloadPlugins=Module["preloadPlugins"]||[];function FS_handledByPreloadPlugin(byteArray,fullname,finish,onerror){if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled}function FS_createPreloadedFile(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{if(onerror)onerror();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}}function FS_modeStringToFlags(str){var flagModes={"r":0,"r+":2,"w":512|64|1,"w+":512|64|2,"a":1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags}function FS_getMode(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(path,opts={})=>{path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:node=>{var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName:(parentid,name)=>{var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:node=>{var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:node=>{var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:(parent,name)=>{var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:(parent,name,mode,rdev)=>{var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:node=>{FS.hashRemoveNode(node)},isRoot:node=>{return node===node.parent},isMountpoint:node=>{return!!node.mounted},isFile:mode=>{return(mode&61440)===32768},isDir:mode=>{return(mode&61440)===16384},isLink:mode=>{return(mode&61440)===40960},isChrdev:mode=>{return(mode&61440)===8192},isBlkdev:mode=>{return(mode&61440)===24576},isFIFO:mode=>{return(mode&61440)===4096},isSocket:mode=>{return(mode&49152)===49152},flagsToPermissionString:flag=>{var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:(node,perms)=>{if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup:dir=>{var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:(dir,name)=>{try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:(dir,name,isdir)=>{var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:(node,flags)=>{if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:()=>{for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked:fd=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream:(stream,fd=-1)=>{if(!FS.FSStream){FS.FSStream=function(){this.shared={}};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}},flags:{get:function(){return this.shared.flags},set:function(val){this.shared.flags=val}},position:{get:function(){return this.shared.position},set:function(val){this.shared.position=val}}})}stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:fd=>{FS.streams[fd]=null},chrdev_stream_ops:{open:stream=>{var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:()=>{throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice:(dev,ops)=>{FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts:mount=>{var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:(populate,callback)=>{if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:(type,opts,mountpoint)=>{var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:mountpoint=>{var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:(parent,name)=>{return parent.node_ops.lookup(parent,name)},mknod:(path,mode,dev)=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:(path,mode)=>{mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:(path,mode)=>{mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:(path,mode)=>{var dirs=path.split("/");var d="";for(var i=0;i{if(typeof dev=="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:(oldpath,newpath)=>{if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:(old_path,new_path)=>{var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir:path=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(54)}return node.node_ops.readdir(node)},unlink:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink:path=>{var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:(path,dontFollow)=>{var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(44)}if(!node.node_ops.getattr){throw new FS.ErrnoError(63)}return node.node_ops.getattr(node)},lstat:path=>{return FS.stat(path,true)},chmod:(path,mode,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:(path,mode)=>{FS.chmod(path,mode,true)},fchmod:(fd,mode)=>{var stream=FS.getStreamChecked(fd);FS.chmod(stream.node,mode)},chown:(path,uid,gid,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:(path,uid,gid)=>{FS.chown(path,uid,gid,true)},fchown:(fd,uid,gid)=>{var stream=FS.getStreamChecked(fd);FS.chown(stream.node,uid,gid)},truncate:(path,len)=>{if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:(fd,len)=>{var stream=FS.getStreamChecked(fd);if((stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.truncate(stream.node,len)},utime:(path,atime,mtime)=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:(path,flags,mode)=>{if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS_modeStringToFlags(flags):flags;mode=typeof mode=="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path=="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512&&!created){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1}}return stream},close:stream=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:stream=>{return stream.fd===null},llseek:(stream,offset,whence)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:(stream,buffer,offset,length,position)=>{offset>>>=0;if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:(stream,buffer,offset,length,position,canOwn)=>{offset>>>=0;if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},allocate:(stream,offset,length)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap:(stream,length,position,prot,flags)=>{if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync:(stream,buffer,offset,length,mmapFlags)=>{offset>>>=0;if(!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:stream=>0,ioctl:(stream,cmd,arg)=>{if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:(path,opts={})=>{opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error(`Invalid encoding type "${opts.encoding}"`)}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:(path,data,opts={})=>{opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir:path=>{var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories:()=>{FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:()=>{FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:()=>{var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup:(parent,name)=>{var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:()=>{if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},ensureErrnoError:()=>{if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.name="ErrnoError";this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""})},staticInit:()=>{FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS}},init:(input,output,error)=>{FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:()=>{FS.init.initialized=false;for(var i=0;i{var ret=FS.analyzePath(path,dontResolveLastLink);if(!ret.exists){return null}return ret.object},analyzePath:(path,dontResolveLastLink)=>{try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createPath:(parent,path,canRead,canWrite)=>{parent=typeof parent=="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:(parent,name,properties,canRead,canWrite)=>{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS_getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:(parent,name,data,canRead,canWrite,canOwn)=>{var path=name;if(parent){parent=typeof parent=="string"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS_getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data=="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS_getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:stream=>{stream.seekable=false},close:stream=>{if(output&&output.buffer&&output.buffer.length){output(10)}},read:(stream,buffer,offset,length,pos)=>{var bytesRead=0;for(var i=0;i{for(var i=0;i{if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;if(typeof XMLHttpRequest!="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(read_){try{obj.contents=intArrayFromString(read_(obj.url),true);obj.usedBytes=obj.contents.length}catch(e){throw new FS.ErrnoError(29)}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}},createLazyFile:(parent,name,url,canRead,canWrite)=>{function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SOCKFS={mount:function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this};Module["websocket"].emit=function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}};return FS.createNode(null,"/",16384|511,0)},createSocket:function(family,type,protocol){type&=~526336;var streaming=type==1;if(streaming&&protocol&&protocol!=6){throw new FS.ErrnoError(66)}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:2,seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock},getSocket:function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock},stream_ops:{poll:function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)},ioctl:function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)},read:function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length},write:function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)},close:function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)}},nextname:function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current+++"]"},websocket_sock_ops:{createPeer:function(sock,addr,port){var ws;if(typeof addr=="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}var opts=undefined;if(subProtocols!=="null"){subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);opts=subProtocols}if(runtimeConfig&&null===Module["websocket"]["subprotocol"]){subProtocols="null";opts=undefined}var WebSocketConstructor;{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(23)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer},getPeer:function(sock,addr,port){return sock.peers[addr+":"+port]},addPeer:function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer},removePeer:function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]},handlePeerEvents:function(sock,peer){var first=true;var handleOpen=function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}};function handleMessage(data){if(typeof data=="string"){var encoder=new TextEncoder;data=encoder.encode(data)}else{assert(data.byteLength!==undefined);if(data.byteLength==0){return}data=new Uint8Array(data)}var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",function(data,isBinary){if(!isBinary){return}handleMessage(new Uint8Array(data).buffer)});peer.socket.on("close",function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.on("error",function(error){sock.error=14;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}else{peer.socket.onopen=handleOpen;peer.socket.onclose=function(){Module["websocket"].emit("close",sock.stream.fd)};peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=function(error){sock.error=14;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}}},poll:function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask},ioctl:function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>>2]=bytes;return 0;default:return 28}},close:function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i{HEAP32[___errno_location()>>>2]=value;return value};var inetNtop4=addr=>{return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)};var inetNtop6=ints=>{var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=inetNtop4(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word{var family=HEAP16[sa>>>1];var port=_ntohs(HEAPU16[sa+2>>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:28}}addr=HEAP32[sa+4>>>2];addr=inetNtop4(addr);break;case 10:if(salen!==28){return{errno:28}}addr=[HEAP32[sa+8>>>2],HEAP32[sa+12>>>2],HEAP32[sa+16>>>2],HEAP32[sa+20>>>2]];addr=inetNtop6(addr);break;default:return{errno:5}}return{family:family,addr:addr,port:port}};var inetPton4=str=>{var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0};var jstoi_q=str=>parseInt(str);var inetPton6=str=>{var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.startsWith("::")){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=jstoi_q(words[words.length-4])+jstoi_q(words[words.length-3])*256;words[words.length-3]=jstoi_q(words[words.length-2])+jstoi_q(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w{var res=inetPton4(name);if(res!==null){return name}res=inetPton6(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr},lookup_addr:addr=>{if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null}};function getSocketAddress(addrp,addrlen,allowNull){if(allowNull&&addrp===0)return null;var info=readSockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}var UTF8ToString=(ptr,maxBytesToRead)=>{ptr>>>=0;return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt:function(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}HEAP32[buf>>>2]=stat.dev;HEAP32[buf+4>>>2]=stat.mode;HEAPU32[buf+8>>>2]=stat.nlink;HEAP32[buf+12>>>2]=stat.uid;HEAP32[buf+16>>>2]=stat.gid;HEAP32[buf+20>>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>>2]=tempI64[0],HEAP32[buf+28>>>2]=tempI64[1];HEAP32[buf+32>>>2]=4096;HEAP32[buf+36>>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>>2]=tempI64[0],HEAP32[buf+44>>>2]=tempI64[1];HEAPU32[buf+48>>>2]=atime%1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>>2]=tempI64[0],HEAP32[buf+60>>>2]=tempI64[1];HEAPU32[buf+64>>>2]=mtime%1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>>2]=tempI64[0],HEAP32[buf+76>>>2]=tempI64[1];HEAPU32[buf+80>>>2]=ctime%1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>>2]=tempI64[0],HEAP32[buf+92>>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}addr>>>=0;var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStreamChecked(fd);return stream}};function ___syscall_connect(fd,addr,addrlen,d1,d2,d3){try{var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.connect(sock,info.addr,info.port);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.createStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 5:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>>1]=2;return 0}case 6:case 7:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=SYSCALLS.get();HEAP32[argp>>>2]=termios.c_iflag||0;HEAP32[argp+4>>>2]=termios.c_oflag||0;HEAP32[argp+8>>>2]=termios.c_cflag||0;HEAP32[argp+12>>>2]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17>>>0]=termios.c_cc[i]||0}return 0}return 0}case 21510:case 21511:case 21512:{if(!stream.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcsets){var argp=SYSCALLS.get();var c_iflag=HEAP32[argp>>>2];var c_oflag=HEAP32[argp+4>>>2];var c_cflag=HEAP32[argp+8>>>2];var c_lflag=HEAP32[argp+12>>>2];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17>>>0])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag:c_iflag,c_oflag:c_oflag,c_cflag:c_cflag,c_lflag:c_lflag,c_cc:c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=SYSCALLS.get();HEAP16[argp>>>1]=winsize[0];HEAP16[argp+2>>>1]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_newfstatat(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.doStat(nofollow?FS.lstat:FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?SYSCALLS.get():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_renameat(olddirfd,oldpath,newdirfd,newpath){try{oldpath=SYSCALLS.getStr(oldpath);newpath=SYSCALLS.getStr(newpath);oldpath=SYSCALLS.calculateAt(olddirfd,oldpath);newpath=SYSCALLS.calculateAt(newdirfd,newpath);FS.rename(oldpath,newpath);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_sendto(fd,message,length,flags,addr,addr_len){try{var sock=getSocketFromFD(fd);var dest=getSocketAddress(addr,addr_len,true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_socket(domain,type,protocol){try{var sock=SOCKFS.createSocket(domain,type,protocol);return sock.stream.fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_stat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_unlinkat(dirfd,path,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(flags===0){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{abort("Invalid flags passed to unlinkat")}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var nowIsMonotonic=true;var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;var __emscripten_throw_longjmp=()=>{throw Infinity};function readI53FromI64(ptr){return HEAPU32[ptr>>>2]+HEAP32[ptr+4>>>2]*4294967296}var __gmtime_js=(time,tmPtr)=>{var date=new Date(readI53FromI64(time)*1e3);HEAP32[tmPtr>>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>>2]=date.getUTCHours();HEAP32[tmPtr+12>>>2]=date.getUTCDate();HEAP32[tmPtr+16>>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>>2]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>>2]=yday};var isLeapYear=year=>{return year%4===0&&(year%100!==0||year%400===0)};var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};var __localtime_js=(time,tmPtr)=>{var date=new Date(readI53FromI64(time)*1e3);HEAP32[tmPtr>>>2]=date.getSeconds();HEAP32[tmPtr+4>>>2]=date.getMinutes();HEAP32[tmPtr+8>>>2]=date.getHours();HEAP32[tmPtr+12>>>2]=date.getDate();HEAP32[tmPtr+16>>>2]=date.getMonth();HEAP32[tmPtr+20>>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>>2]=yday;HEAP32[tmPtr+36>>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>>2]=dst};var __mktime_js=tmPtr=>{var date=new Date(HEAP32[tmPtr+20>>>2]+1900,HEAP32[tmPtr+16>>>2],HEAP32[tmPtr+12>>>2],HEAP32[tmPtr+8>>>2],HEAP32[tmPtr+4>>>2],HEAP32[tmPtr>>>2],0);var dst=HEAP32[tmPtr+32>>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>>2]=yday;HEAP32[tmPtr>>>2]=date.getSeconds();HEAP32[tmPtr+4>>>2]=date.getMinutes();HEAP32[tmPtr+8>>>2]=date.getHours();HEAP32[tmPtr+12>>>2]=date.getDate();HEAP32[tmPtr+16>>>2]=date.getMonth();HEAP32[tmPtr+20>>>2]=date.getYear();return date.getTime()/1e3|0};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>{return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)};var stringToNewUTF8=str=>{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};var __tzset_js=(timezone,daylight,tzname)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>>2]=stdTimezoneOffset*60;HEAP32[daylight>>>2]=Number(winterOffset!=summerOffset);function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=stringToNewUTF8(winterName);var summerNamePtr=stringToNewUTF8(summerName);if(summerOffset>>2]=winterNamePtr;HEAPU32[tzname+4>>>2]=summerNamePtr}else{HEAPU32[tzname>>>2]=summerNamePtr;HEAPU32[tzname+4>>>2]=winterNamePtr}};var _abort=()=>{abort("")};function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(!Browser.mainLoop.running){Browser.mainLoop.running=true}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate=="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=event=>{if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;_emscripten_get_now=()=>performance.now();function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;function checkIsRunning(){if(thisMainLoopId0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}out('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(!checkIsRunning())return;setTimeout(Browser.mainLoop.runner,0);return}if(!checkIsRunning())return;Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0;if(Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(!checkIsRunning())return;if(typeof SDL=="object"&&SDL.audio&&SDL.audio.queueNewAudioData)SDL.audio.queueNewAudioData();Browser.mainLoop.scheduler()};if(!noSetTiming){if(fps&&fps>0){_emscripten_set_main_loop_timing(0,1e3/fps)}else{_emscripten_set_main_loop_timing(1,1)}Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){if(Module["onExit"])Module["onExit"](code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}};var safeSetTimeout=(func,timeout)=>{return setTimeout(()=>{callUserCallback(func)},timeout)};var warnOnce=text=>{if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}};var Browser={mainLoop:{running:false,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining{assert(img.complete,"Image "+name+" could not be decoded");var canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;var ctx=canvas.getContext("2d");ctx.drawImage(img,0,0);preloadedImages[name]=canvas;URL.revokeObjectURL(url);if(onload)onload(byteArray)};img.onerror=event=>{out("Image "+url+" could not be decoded");if(onerror)onerror()};img.src=url};preloadPlugins.push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=function audioPlugin_canHandle(name){return!Module.noAudioDecoding&&name.substr(-4)in{".ogg":1,".wav":1,".mp3":1}};audioPlugin["handle"]=function audioPlugin_handle(byteArray,name,onload,onerror){var done=false;function finish(audio){if(done)return;done=true;preloadedAudios[name]=audio;if(onload)onload(byteArray)}var b=new Blob([byteArray],{type:Browser.getMimetype(name)});var url=URL.createObjectURL(b);var audio=new Audio;audio.addEventListener("canplaythrough",()=>finish(audio),false);audio.onerror=function audio_onerror(event){if(done)return;err("warning: browser could not fully decode audio "+name+", trying slower base64 approach");function encode64(data){var BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var PAD="=";var ret="";var leftchar=0;var leftbits=0;for(var i=0;i=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;safeSetTimeout(()=>{finish(audio)},1e4)};preloadPlugins.push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(()=>{});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(()=>{});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",ev=>{if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx=="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(callback=>callback());Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer=="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas=="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?()=>canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]):null)||(canvasContainer["webkitRequestFullScreen"]?()=>canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]):null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||(()=>{});CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame=="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeSetTimeout:function(func,timeout){return safeSetTimeout(func,timeout)},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(()=>{callUserCallback(func)})},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(listener=>listener(canvas.width,canvas.height))},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>>2];flags=flags|8388608;HEAP32[SDL.screen>>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>>2];flags=flags&~8388608;HEAP32[SDL.screen>>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>>2]=1}if(config&&config_size>0){HEAP32[config>>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglBindAPI(api){if(api==12448){EGL.setErrorCode(12288);return 1}EGL.setErrorCode(12300);return 0}function _eglChooseConfig(display,attrib_list,configs,config_size,numConfigs){return EGL.chooseConfig(display,attrib_list,configs,config_size,numConfigs)}function webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){if(!canvas.getContextSafariWebGL2Fixed){canvas.getContextSafariWebGL2Fixed=canvas.getContext;function fixedGetContext(ver,attrs){var gl=canvas.getContextSafariWebGL2Fixed(ver,attrs);return ver=="webgl"==gl instanceof WebGLRenderingContext?gl:null}canvas.getContext=fixedGetContext}var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault=="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents=="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;webgl_enable_ANGLE_instanced_arrays(GLctx);webgl_enable_OES_vertex_array_object(GLctx);webgl_enable_WEBGL_draw_buffers(GLctx);{GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};function _eglCreateContext(display,config,hmm,contextAttribs){if(display!=62e3){EGL.setErrorCode(12296);return 0}var glesContextVersion=1;for(;;){var param=HEAP32[contextAttribs>>>2];if(param==12440){glesContextVersion=HEAP32[contextAttribs+4>>>2]}else if(param==12344){break}else{EGL.setErrorCode(12292);return 0}contextAttribs+=8}if(glesContextVersion!=2){EGL.setErrorCode(12293);return 0}EGL.contextAttributes.majorVersion=glesContextVersion-1;EGL.contextAttributes.minorVersion=0;EGL.context=GL.createContext(Module["canvas"],EGL.contextAttributes);if(EGL.context!=0){EGL.setErrorCode(12288);GL.makeContextCurrent(EGL.context);Module.useWebGL=true;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});GL.makeContextCurrent(null);return 62004}else{EGL.setErrorCode(12297);return 0}}function _eglCreateWindowSurface(display,config,win,attrib_list){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}EGL.setErrorCode(12288);return 62006}function _eglDestroyContext(display,context){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=62004){EGL.setErrorCode(12294);return 0}GL.deleteContext(EGL.context);EGL.setErrorCode(12288);if(EGL.currentContext==context){EGL.currentContext=0}return 1}function _eglDestroySurface(display,surface){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(surface!=62006){EGL.setErrorCode(12301);return 1}if(EGL.currentReadSurface==surface){EGL.currentReadSurface=0}if(EGL.currentDrawSurface==surface){EGL.currentDrawSurface=0}EGL.setErrorCode(12288);return 1}function _eglGetConfigAttrib(display,config,attribute,value){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12320:HEAP32[value>>>2]=EGL.contextAttributes.alpha?32:24;return 1;case 12321:HEAP32[value>>>2]=EGL.contextAttributes.alpha?8:0;return 1;case 12322:HEAP32[value>>>2]=8;return 1;case 12323:HEAP32[value>>>2]=8;return 1;case 12324:HEAP32[value>>>2]=8;return 1;case 12325:HEAP32[value>>>2]=EGL.contextAttributes.depth?24:0;return 1;case 12326:HEAP32[value>>>2]=EGL.contextAttributes.stencil?8:0;return 1;case 12327:HEAP32[value>>>2]=12344;return 1;case 12328:HEAP32[value>>>2]=62002;return 1;case 12329:HEAP32[value>>>2]=0;return 1;case 12330:HEAP32[value>>>2]=4096;return 1;case 12331:HEAP32[value>>>2]=16777216;return 1;case 12332:HEAP32[value>>>2]=4096;return 1;case 12333:HEAP32[value>>>2]=0;return 1;case 12334:HEAP32[value>>>2]=0;return 1;case 12335:HEAP32[value>>>2]=12344;return 1;case 12337:HEAP32[value>>>2]=EGL.contextAttributes.antialias?4:0;return 1;case 12338:HEAP32[value>>>2]=EGL.contextAttributes.antialias?1:0;return 1;case 12339:HEAP32[value>>>2]=4;return 1;case 12340:HEAP32[value>>>2]=12344;return 1;case 12341:case 12342:case 12343:HEAP32[value>>>2]=-1;return 1;case 12345:case 12346:HEAP32[value>>>2]=0;return 1;case 12347:HEAP32[value>>>2]=0;return 1;case 12348:HEAP32[value>>>2]=1;return 1;case 12349:case 12350:HEAP32[value>>>2]=0;return 1;case 12351:HEAP32[value>>>2]=12430;return 1;case 12352:HEAP32[value>>>2]=4;return 1;case 12354:HEAP32[value>>>2]=0;return 1;default:EGL.setErrorCode(12292);return 0}}function _eglGetDisplay(nativeDisplayType){EGL.setErrorCode(12288);return 62e3}function _eglGetError(){return EGL.errorCode}function _eglInitialize(display,majorVersion,minorVersion){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(majorVersion){HEAP32[majorVersion>>>2]=1}if(minorVersion){HEAP32[minorVersion>>>2]=4}EGL.defaultDisplayInitialized=true;EGL.setErrorCode(12288);return 1}function _eglMakeCurrent(display,draw,read,context){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=0&&context!=62004){EGL.setErrorCode(12294);return 0}if(read!=0&&read!=62006||draw!=0&&draw!=62006){EGL.setErrorCode(12301);return 0}GL.makeContextCurrent(context?EGL.context:null);EGL.currentContext=context;EGL.currentDrawSurface=draw;EGL.currentReadSurface=read;EGL.setErrorCode(12288);return 1}function _eglQueryString(display,name){if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.setErrorCode(12288);if(EGL.stringCache[name])return EGL.stringCache[name];var ret;switch(name){case 12371:ret=stringToNewUTF8("Emscripten");break;case 12372:ret=stringToNewUTF8("1.4 Emscripten EGL");break;case 12373:ret=stringToNewUTF8("");break;case 12429:ret=stringToNewUTF8("OpenGL_ES");break;default:EGL.setErrorCode(12300);return 0}EGL.stringCache[name]=ret;return ret}function _eglSwapBuffers(dpy,surface){if(!EGL.defaultDisplayInitialized){EGL.setErrorCode(12289)}else if(!Module.ctx){EGL.setErrorCode(12290)}else if(Module.ctx.isContextLost()){EGL.setErrorCode(12302)}else{EGL.setErrorCode(12288);return 1}return 0}function _eglSwapInterval(display,interval){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(interval==0)_emscripten_set_main_loop_timing(0,0);else _emscripten_set_main_loop_timing(1,interval);EGL.setErrorCode(12288);return 1}function _eglTerminate(display){if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.currentContext=0;EGL.currentReadSurface=0;EGL.currentDrawSurface=0;EGL.defaultDisplayInitialized=false;EGL.setErrorCode(12288);return 1}function _eglWaitClient(){EGL.setErrorCode(12288);return 1}var _eglWaitGL=_eglWaitClient;function _eglWaitNative(nativeEngineId){EGL.setErrorCode(12288);return 1}var readEmAsmArgsArray=[];var readEmAsmArgs=(sigPtr,buf)=>{readEmAsmArgsArray.length=0;var ch;buf>>=2;while(ch=HEAPU8[sigPtr++>>>0]){buf+=ch!=105&buf;readEmAsmArgsArray.push(ch==105?HEAP32[buf>>>0]:HEAPF64[buf++>>>1]);++buf}return readEmAsmArgsArray};var runEmAsmFunction=(code,sigPtr,argbuf)=>{var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)};var _emscripten_asm_const_int=(code,sigPtr,argbuf)=>{return runEmAsmFunction(code,sigPtr,argbuf)};var runMainThreadEmAsm=(code,sigPtr,argbuf,sync)=>{var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)};var _emscripten_asm_const_int_sync_on_main_thread=(code,sigPtr,argbuf)=>{return runMainThreadEmAsm(code,sigPtr,argbuf,1)};function _emscripten_async_wget_data(url,arg,onload,onerror){asyncLoad(UTF8ToString(url),function(byteArray){callUserCallback(function(){var buffer=_malloc(byteArray.length);HEAPU8.set(byteArray,buffer>>>0);getWasmTableEntry(onload)(arg,buffer,byteArray.length);_free(buffer)})},function(){if(onerror){callUserCallback(function(){getWasmTableEntry(onerror)(arg)})}},true)}function _emscripten_date_now(){return Date.now()}var withStackSave=f=>{var stack=stackSave();var ret=f();stackRestore(stack);return ret};var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,document,window];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||document.querySelector(target);return domElement}function findCanvasEventTarget(target){return findEventTarget(target)}function _emscripten_get_canvas_element_size(target,width,height){var canvas=findCanvasEventTarget(target);if(!canvas)return-4;HEAP32[width>>>2]=canvas.width;HEAP32[height>>>2]=canvas.height}var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var getCanvasElementSize=target=>withStackSave(()=>{var w=stackAlloc(8);var h=w+4;var targetInt=stringToUTF8OnStack(target.id);var ret=_emscripten_get_canvas_element_size(targetInt,w,h);var size=[HEAP32[w>>>2],HEAP32[h>>>2]];return size});function _emscripten_set_canvas_element_size(target,width,height){var canvas=findCanvasEventTarget(target);if(!canvas)return-4;canvas.width=width;canvas.height=height;return 0}function setCanvasElementSize(target,width,height){if(!target.controlTransferredOffscreen){target.width=width;target.height=height}else{withStackSave(function(){var targetInt=stringToUTF8OnStack(target.id);_emscripten_set_canvas_element_size(targetInt,width,height)})}}function registerRestoreOldStyle(canvas){var canvasSize=getCanvasElementSize(canvas);var oldWidth=canvasSize[0];var oldHeight=canvasSize[1];var oldCssWidth=canvas.style.width;var oldCssHeight=canvas.style.height;var oldBackgroundColor=canvas.style.backgroundColor;var oldDocumentBackgroundColor=document.body.style.backgroundColor;var oldPaddingLeft=canvas.style.paddingLeft;var oldPaddingRight=canvas.style.paddingRight;var oldPaddingTop=canvas.style.paddingTop;var oldPaddingBottom=canvas.style.paddingBottom;var oldMarginLeft=canvas.style.marginLeft;var oldMarginRight=canvas.style.marginRight;var oldMarginTop=canvas.style.marginTop;var oldMarginBottom=canvas.style.marginBottom;var oldDocumentBodyMargin=document.body.style.margin;var oldDocumentOverflow=document.documentElement.style.overflow;var oldDocumentScroll=document.body.scroll;var oldImageRendering=canvas.style.imageRendering;function restoreOldStyle(){var fullscreenElement=document.fullscreenElement||document.webkitFullscreenElement;if(!fullscreenElement){document.removeEventListener("fullscreenchange",restoreOldStyle);document.removeEventListener("webkitfullscreenchange",restoreOldStyle);setCanvasElementSize(canvas,oldWidth,oldHeight);canvas.style.width=oldCssWidth;canvas.style.height=oldCssHeight;canvas.style.backgroundColor=oldBackgroundColor;if(!oldDocumentBackgroundColor)document.body.style.backgroundColor="white";document.body.style.backgroundColor=oldDocumentBackgroundColor;canvas.style.paddingLeft=oldPaddingLeft;canvas.style.paddingRight=oldPaddingRight;canvas.style.paddingTop=oldPaddingTop;canvas.style.paddingBottom=oldPaddingBottom;canvas.style.marginLeft=oldMarginLeft;canvas.style.marginRight=oldMarginRight;canvas.style.marginTop=oldMarginTop;canvas.style.marginBottom=oldMarginBottom;document.body.style.margin=oldDocumentBodyMargin;document.documentElement.style.overflow=oldDocumentOverflow;document.body.scroll=oldDocumentScroll;canvas.style.imageRendering=oldImageRendering;if(canvas.GLctxObject)canvas.GLctxObject.GLctx.viewport(0,0,oldWidth,oldHeight);if(currentFullscreenStrategy.canvasResizedCallback){getWasmTableEntry(currentFullscreenStrategy.canvasResizedCallback)(37,0,currentFullscreenStrategy.canvasResizedCallbackUserData)}}}document.addEventListener("fullscreenchange",restoreOldStyle);document.addEventListener("webkitfullscreenchange",restoreOldStyle);return restoreOldStyle}function setLetterbox(element,topBottom,leftRight){element.style.paddingLeft=element.style.paddingRight=leftRight+"px";element.style.paddingTop=element.style.paddingBottom=topBottom+"px"}function getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function JSEvents_resizeCanvasForFullscreen(target,strategy){var restoreOldStyle=registerRestoreOldStyle(target);var cssWidth=strategy.softFullscreen?innerWidth:screen.width;var cssHeight=strategy.softFullscreen?innerHeight:screen.height;var rect=getBoundingClientRect(target);var windowedCssWidth=rect.width;var windowedCssHeight=rect.height;var canvasSize=getCanvasElementSize(target);var windowedRttWidth=canvasSize[0];var windowedRttHeight=canvasSize[1];if(strategy.scaleMode==3){setLetterbox(target,(cssHeight-windowedCssHeight)/2,(cssWidth-windowedCssWidth)/2);cssWidth=windowedCssWidth;cssHeight=windowedCssHeight}else if(strategy.scaleMode==2){if(cssWidth*windowedRttHeight>>3]=rect.width;HEAPF64[height>>>3]=rect.height;return 0}function fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>>3]=e.timestamp;for(var i=0;i>>3]=e.axes[i]}for(var i=0;i>>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>>3]=e.buttons[i]}}for(var i=0;i>>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>>2]=e.connected;HEAP32[eventStruct+1300>>>2]=e.index;HEAP32[eventStruct+8>>>2]=e.axes.length;HEAP32[eventStruct+12>>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function _emscripten_get_screen_size(width,height){HEAP32[width>>>2]=screen.width;HEAP32[height>>>2]=screen.height}function _glActiveTexture(x0){GLctx.activeTexture(x0)}var _emscripten_glActiveTexture=_glActiveTexture;function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}var _emscripten_glAttachShader=_glAttachShader;function _glBeginQueryEXT(target,id){GLctx.disjointTimerQueryExt["beginQueryEXT"](target,GL.queries[id])}var _emscripten_glBeginQueryEXT=_glBeginQueryEXT;function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}var _emscripten_glBindAttribLocation=_glBindAttribLocation;function _glBindBuffer(target,buffer){GLctx.bindBuffer(target,GL.buffers[buffer])}var _emscripten_glBindBuffer=_glBindBuffer;function _glBindFramebuffer(target,framebuffer){GLctx.bindFramebuffer(target,GL.framebuffers[framebuffer])}var _emscripten_glBindFramebuffer=_glBindFramebuffer;function _glBindRenderbuffer(target,renderbuffer){GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])}var _emscripten_glBindRenderbuffer=_glBindRenderbuffer;function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}var _emscripten_glBindTexture=_glBindTexture;function _glBindVertexArray(vao){GLctx.bindVertexArray(GL.vaos[vao])}var _glBindVertexArrayOES=_glBindVertexArray;var _emscripten_glBindVertexArrayOES=_glBindVertexArrayOES;function _glBlendColor(x0,x1,x2,x3){GLctx.blendColor(x0,x1,x2,x3)}var _emscripten_glBlendColor=_glBlendColor;function _glBlendEquation(x0){GLctx.blendEquation(x0)}var _emscripten_glBlendEquation=_glBlendEquation;function _glBlendEquationSeparate(x0,x1){GLctx.blendEquationSeparate(x0,x1)}var _emscripten_glBlendEquationSeparate=_glBlendEquationSeparate;function _glBlendFunc(x0,x1){GLctx.blendFunc(x0,x1)}var _emscripten_glBlendFunc=_glBlendFunc;function _glBlendFuncSeparate(x0,x1,x2,x3){GLctx.blendFuncSeparate(x0,x1,x2,x3)}var _emscripten_glBlendFuncSeparate=_glBlendFuncSeparate;function _glBufferData(target,size,data,usage){GLctx.bufferData(target,data?HEAPU8.subarray(data>>>0,data+size>>>0):size,usage)}var _emscripten_glBufferData=_glBufferData;function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data>>>0,data+size>>>0))}var _emscripten_glBufferSubData=_glBufferSubData;function _glCheckFramebufferStatus(x0){return GLctx.checkFramebufferStatus(x0)}var _emscripten_glCheckFramebufferStatus=_glCheckFramebufferStatus;function _glClear(x0){GLctx.clear(x0)}var _emscripten_glClear=_glClear;function _glClearColor(x0,x1,x2,x3){GLctx.clearColor(x0,x1,x2,x3)}var _emscripten_glClearColor=_glClearColor;function _glClearDepthf(x0){GLctx.clearDepth(x0)}var _emscripten_glClearDepthf=_glClearDepthf;function _glClearStencil(x0){GLctx.clearStencil(x0)}var _emscripten_glClearStencil=_glClearStencil;function _glColorMask(red,green,blue,alpha){GLctx.colorMask(!!red,!!green,!!blue,!!alpha)}var _emscripten_glColorMask=_glColorMask;function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}var _emscripten_glCompileShader=_glCompileShader;function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data>>>0,data+imageSize>>>0):null)}var _emscripten_glCompressedTexImage2D=_glCompressedTexImage2D;function _glCompressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imageSize,data){GLctx.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,data?HEAPU8.subarray(data>>>0,data+imageSize>>>0):null)}var _emscripten_glCompressedTexSubImage2D=_glCompressedTexSubImage2D;function _glCopyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx.copyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7)}var _emscripten_glCopyTexImage2D=_glCopyTexImage2D;function _glCopyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx.copyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7)}var _emscripten_glCopyTexSubImage2D=_glCopyTexSubImage2D;function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;program.maxUniformLength=program.maxAttributeLength=program.maxUniformBlockNameLength=0;program.uniformIdCounter=1;GL.programs[id]=program;return id}var _emscripten_glCreateProgram=_glCreateProgram;function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}var _emscripten_glCreateShader=_glCreateShader;function _glCullFace(x0){GLctx.cullFace(x0)}var _emscripten_glCullFace=_glCullFace;function _glDeleteBuffers(n,buffers){for(var i=0;i>>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}}var _emscripten_glDeleteBuffers=_glDeleteBuffers;function _glDeleteFramebuffers(n,framebuffers){for(var i=0;i>>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}var _emscripten_glDeleteFramebuffers=_glDeleteFramebuffers;function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null}var _emscripten_glDeleteProgram=_glDeleteProgram;function _glDeleteQueriesEXT(n,ids){for(var i=0;i>>2];var query=GL.queries[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.queries[id]=null}}var _emscripten_glDeleteQueriesEXT=_glDeleteQueriesEXT;function _glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}var _emscripten_glDeleteRenderbuffers=_glDeleteRenderbuffers;function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}var _emscripten_glDeleteShader=_glDeleteShader;function _glDeleteTextures(n,textures){for(var i=0;i>>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}var _emscripten_glDeleteTextures=_glDeleteTextures;function _glDeleteVertexArrays(n,vaos){for(var i=0;i>>2];GLctx.deleteVertexArray(GL.vaos[id]);GL.vaos[id]=null}}var _glDeleteVertexArraysOES=_glDeleteVertexArrays;var _emscripten_glDeleteVertexArraysOES=_glDeleteVertexArraysOES;function _glDepthFunc(x0){GLctx.depthFunc(x0)}var _emscripten_glDepthFunc=_glDepthFunc;function _glDepthMask(flag){GLctx.depthMask(!!flag)}var _emscripten_glDepthMask=_glDepthMask;function _glDepthRangef(x0,x1){GLctx.depthRange(x0,x1)}var _emscripten_glDepthRangef=_glDepthRangef;function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}var _emscripten_glDetachShader=_glDetachShader;function _glDisable(x0){GLctx.disable(x0)}var _emscripten_glDisable=_glDisable;function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}var _emscripten_glDisableVertexAttribArray=_glDisableVertexAttribArray;function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}var _emscripten_glDrawArrays=_glDrawArrays;function _glDrawArraysInstanced(mode,first,count,primcount){GLctx.drawArraysInstanced(mode,first,count,primcount)}var _glDrawArraysInstancedANGLE=_glDrawArraysInstanced;var _emscripten_glDrawArraysInstancedANGLE=_glDrawArraysInstancedANGLE;var tempFixedLengthArray=[];function _glDrawBuffers(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>>2]}GLctx.drawBuffers(bufArray)}var _glDrawBuffersWEBGL=_glDrawBuffers;var _emscripten_glDrawBuffersWEBGL=_glDrawBuffersWEBGL;function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}var _emscripten_glDrawElements=_glDrawElements;function _glDrawElementsInstanced(mode,count,type,indices,primcount){GLctx.drawElementsInstanced(mode,count,type,indices,primcount)}var _glDrawElementsInstancedANGLE=_glDrawElementsInstanced;var _emscripten_glDrawElementsInstancedANGLE=_glDrawElementsInstancedANGLE;function _glEnable(x0){GLctx.enable(x0)}var _emscripten_glEnable=_glEnable;function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}var _emscripten_glEnableVertexAttribArray=_glEnableVertexAttribArray;function _glEndQueryEXT(target){GLctx.disjointTimerQueryExt["endQueryEXT"](target)}var _emscripten_glEndQueryEXT=_glEndQueryEXT;function _glFinish(){GLctx.finish()}var _emscripten_glFinish=_glFinish;function _glFlush(){GLctx.flush()}var _emscripten_glFlush=_glFlush;function _glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}var _emscripten_glFramebufferRenderbuffer=_glFramebufferRenderbuffer;function _glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}var _emscripten_glFramebufferTexture2D=_glFramebufferTexture2D;function _glFrontFace(x0){GLctx.frontFace(x0)}var _emscripten_glFrontFace=_glFrontFace;function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>>2]=id}}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}var _emscripten_glGenBuffers=_glGenBuffers;function _glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}var _emscripten_glGenFramebuffers=_glGenFramebuffers;function _glGenQueriesEXT(n,ids){for(var i=0;i>>2]=0;return}var id=GL.getNewId(GL.queries);query.name=id;GL.queries[id]=query;HEAP32[ids+i*4>>>2]=id}}var _emscripten_glGenQueriesEXT=_glGenQueriesEXT;function _glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}var _emscripten_glGenRenderbuffers=_glGenRenderbuffers;function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}var _emscripten_glGenTextures=_glGenTextures;function _glGenVertexArrays(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}var _glGenVertexArraysOES=_glGenVertexArrays;var _emscripten_glGenVertexArraysOES=_glGenVertexArraysOES;function _glGenerateMipmap(x0){GLctx.generateMipmap(x0)}var _emscripten_glGenerateMipmap=_glGenerateMipmap;function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>>2]=info.size;if(type)HEAP32[type>>>2]=info.type}}function _glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}var _emscripten_glGetActiveAttrib=_glGetActiveAttrib;function _glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}var _emscripten_glGetActiveUniform=_glGetActiveUniform;function _glGetAttachedShaders(program,maxCount,count,shaders){var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>>2]=len;for(var i=0;i>>2]=id}}var _emscripten_glGetAttachedShaders=_glGetAttachedShaders;function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}var _emscripten_glGetAttribLocation=_glGetAttribLocation;function writeI53ToI64(ptr,num){HEAPU32[ptr>>>2]=num;HEAPU32[ptr+4>>>2]=(num-HEAPU32[ptr>>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>>2]=result[i];break;case 2:HEAPF32[p+i*4>>>2]=result[i];break;case 4:HEAP8[p+i>>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>>2]=ret;break;case 2:HEAPF32[p>>>2]=ret;break;case 4:HEAP8[p>>>0]=ret?1:0;break}}function _glGetBooleanv(name_,p){emscriptenWebGLGet(name_,p,4)}var _emscripten_glGetBooleanv=_glGetBooleanv;function _glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}HEAP32[data>>>2]=GLctx.getBufferParameter(target,value)}var _emscripten_glGetBufferParameteriv=_glGetBufferParameteriv;function _glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}var _emscripten_glGetError=_glGetError;function _glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}var _emscripten_glGetFloatv=_glGetFloatv;function _glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>>2]=result}var _emscripten_glGetFramebufferAttachmentParameteriv=_glGetFramebufferAttachmentParameteriv;function _glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}var _emscripten_glGetIntegerv=_glGetIntegerv;function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>>2]=numBytesWrittenExclNull}var _emscripten_glGetProgramInfoLog=_glGetProgramInfoLog;function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}program=GL.programs[program];if(pname==35716){var log=GLctx.getProgramInfoLog(program);if(log===null)log="(unknown error)";HEAP32[p>>>2]=log.length+1}else if(pname==35719){if(!program.maxUniformLength){for(var i=0;i>>2]=program.maxUniformLength}else if(pname==35722){if(!program.maxAttributeLength){for(var i=0;i>>2]=program.maxAttributeLength}else if(pname==35381){if(!program.maxUniformBlockNameLength){for(var i=0;i>>2]=program.maxUniformBlockNameLength}else{HEAP32[p>>>2]=GLctx.getProgramParameter(program,pname)}}var _emscripten_glGetProgramiv=_glGetProgramiv;function _glGetQueryObjecti64vEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param;{param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname)}var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)}var _emscripten_glGetQueryObjecti64vEXT=_glGetQueryObjecti64vEXT;function _glGetQueryObjectivEXT(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>>2]=ret}var _emscripten_glGetQueryObjectivEXT=_glGetQueryObjectivEXT;var _glGetQueryObjectui64vEXT=_glGetQueryObjecti64vEXT;var _emscripten_glGetQueryObjectui64vEXT=_glGetQueryObjectui64vEXT;var _glGetQueryObjectuivEXT=_glGetQueryObjectivEXT;var _emscripten_glGetQueryObjectuivEXT=_glGetQueryObjectuivEXT;function _glGetQueryivEXT(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)}var _emscripten_glGetQueryivEXT=_glGetQueryivEXT;function _glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>>2]=GLctx.getRenderbufferParameter(target,pname)}var _emscripten_glGetRenderbufferParameteriv=_glGetRenderbufferParameteriv;function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>>2]=numBytesWrittenExclNull}var _emscripten_glGetShaderInfoLog=_glGetShaderInfoLog;function _glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>>2]=result.rangeMin;HEAP32[range+4>>>2]=result.rangeMax;HEAP32[precision>>>2]=result.precision}var _emscripten_glGetShaderPrecisionFormat=_glGetShaderPrecisionFormat;function _glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>>2]=numBytesWrittenExclNull}var _emscripten_glGetShaderSource=_glGetShaderSource;function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>>2]=sourceLength}else{HEAP32[p>>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}var _emscripten_glGetShaderiv=_glGetShaderiv;function _glGetString(name_){var ret=GL.stringCache[name_];if(!ret){switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=s&&stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280)}GL.stringCache[name_]=ret}return ret}var _emscripten_glGetString=_glGetString;function _glGetTexParameterfv(target,pname,params){if(!params){GL.recordError(1281);return}HEAPF32[params>>>2]=GLctx.getTexParameter(target,pname)}var _emscripten_glGetTexParameterfv=_glGetTexParameterfv;function _glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>>2]=GLctx.getTexParameter(target,pname)}var _emscripten_glGetTexParameteriv=_glGetTexParameteriv;function webglGetLeftBracePos(name){return name.slice(-1)=="]"&&name.lastIndexOf("[")}function webglPrepareUniformLocationsBeforeFirstUse(program){var uniformLocsById=program.uniformLocsById,uniformSizeAndIdsByName=program.uniformSizeAndIdsByName,i,j;if(!uniformLocsById){program.uniformLocsById=uniformLocsById={};program.uniformArrayNamesById={};for(i=0;i0?nm.slice(0,lb):nm;var id=program.uniformIdCounter;program.uniformIdCounter+=sz;uniformSizeAndIdsByName[arrayName]=[sz,id];for(j=0;j0){arrayIndex=jstoi_q(name.slice(leftBrace+1))>>>0;uniformBaseName=name.slice(0,leftBrace)}var sizeAndId=program.uniformSizeAndIdsByName[uniformBaseName];if(sizeAndId&&arrayIndex0?"["+webglLoc+"]":""))}return webglLoc}else{GL.recordError(1282)}}function emscriptenWebGLGetUniform(program,location,params,type){if(!params){GL.recordError(1281);return}program=GL.programs[program];webglPrepareUniformLocationsBeforeFirstUse(program);var data=GLctx.getUniform(program,webglGetUniformLocation(location));if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>>2]=data;break;case 2:HEAPF32[params>>>2]=data;break}}else{for(var i=0;i>>2]=data[i];break;case 2:HEAPF32[params+i*4>>>2]=data[i];break}}}}function _glGetUniformfv(program,location,params){emscriptenWebGLGetUniform(program,location,params,2)}var _emscripten_glGetUniformfv=_glGetUniformfv;function _glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}var _emscripten_glGetUniformiv=_glGetUniformiv;function _glGetVertexAttribPointerv(index,pname,pointer){if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>>2]=GLctx.getVertexAttribOffset(index,pname)}var _emscripten_glGetVertexAttribPointerv=_glGetVertexAttribPointerv;function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>>2]=data;break;case 2:HEAPF32[params>>>2]=data;break;case 5:HEAP32[params>>>2]=Math.fround(data);break}}else{for(var i=0;i>>2]=data[i];break;case 2:HEAPF32[params+i*4>>>2]=data[i];break;case 5:HEAP32[params+i*4>>>2]=Math.fround(data[i]);break}}}}function _glGetVertexAttribfv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,2)}var _emscripten_glGetVertexAttribfv=_glGetVertexAttribfv;function _glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}var _emscripten_glGetVertexAttribiv=_glGetVertexAttribiv;function _glHint(x0,x1){GLctx.hint(x0,x1)}var _emscripten_glHint=_glHint;function _glIsBuffer(buffer){var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)}var _emscripten_glIsBuffer=_glIsBuffer;function _glIsEnabled(x0){return GLctx.isEnabled(x0)}var _emscripten_glIsEnabled=_glIsEnabled;function _glIsFramebuffer(framebuffer){var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)}var _emscripten_glIsFramebuffer=_glIsFramebuffer;function _glIsProgram(program){program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)}var _emscripten_glIsProgram=_glIsProgram;function _glIsQueryEXT(id){var query=GL.queries[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)}var _emscripten_glIsQueryEXT=_glIsQueryEXT;function _glIsRenderbuffer(renderbuffer){var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)}var _emscripten_glIsRenderbuffer=_glIsRenderbuffer;function _glIsShader(shader){var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)}var _emscripten_glIsShader=_glIsShader;function _glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}var _emscripten_glIsTexture=_glIsTexture;function _glIsVertexArray(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx.isVertexArray(vao)}var _glIsVertexArrayOES=_glIsVertexArray;var _emscripten_glIsVertexArrayOES=_glIsVertexArrayOES;function _glLineWidth(x0){GLctx.lineWidth(x0)}var _emscripten_glLineWidth=_glLineWidth;function _glLinkProgram(program){program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={}}var _emscripten_glLinkProgram=_glLinkProgram;function _glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}var _emscripten_glPixelStorei=_glPixelStorei;function _glPolygonOffset(x0,x1){GLctx.polygonOffset(x0,x1)}var _emscripten_glPolygonOffset=_glPolygonOffset;function _glQueryCounterEXT(id,target){GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.queries[id],target)}var _emscripten_glQueryCounterEXT=_glQueryCounterEXT;function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>>shift,pixels+bytes>>>shift)}function _glReadPixels(x,y,width,height,format,type,pixels){var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}var _emscripten_glReadPixels=_glReadPixels;function _glReleaseShaderCompiler(){}var _emscripten_glReleaseShaderCompiler=_glReleaseShaderCompiler;function _glRenderbufferStorage(x0,x1,x2,x3){GLctx.renderbufferStorage(x0,x1,x2,x3)}var _emscripten_glRenderbufferStorage=_glRenderbufferStorage;function _glSampleCoverage(value,invert){GLctx.sampleCoverage(value,!!invert)}var _emscripten_glSampleCoverage=_glSampleCoverage;function _glScissor(x0,x1,x2,x3){GLctx.scissor(x0,x1,x2,x3)}var _emscripten_glScissor=_glScissor;function _glShaderBinary(count,shaders,binaryformat,binary,length){GL.recordError(1280)}var _emscripten_glShaderBinary=_glShaderBinary;function _glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}var _emscripten_glShaderSource=_glShaderSource;function _glStencilFunc(x0,x1,x2){GLctx.stencilFunc(x0,x1,x2)}var _emscripten_glStencilFunc=_glStencilFunc;function _glStencilFuncSeparate(x0,x1,x2,x3){GLctx.stencilFuncSeparate(x0,x1,x2,x3)}var _emscripten_glStencilFuncSeparate=_glStencilFuncSeparate;function _glStencilMask(x0){GLctx.stencilMask(x0)}var _emscripten_glStencilMask=_glStencilMask;function _glStencilMaskSeparate(x0,x1){GLctx.stencilMaskSeparate(x0,x1)}var _emscripten_glStencilMaskSeparate=_glStencilMaskSeparate;function _glStencilOp(x0,x1,x2){GLctx.stencilOp(x0,x1,x2)}var _emscripten_glStencilOp=_glStencilOp;function _glStencilOpSeparate(x0,x1,x2,x3){GLctx.stencilOpSeparate(x0,x1,x2,x3)}var _emscripten_glStencilOpSeparate=_glStencilOpSeparate;function _glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}var _emscripten_glTexImage2D=_glTexImage2D;function _glTexParameterf(x0,x1,x2){GLctx.texParameterf(x0,x1,x2)}var _emscripten_glTexParameterf=_glTexParameterf;function _glTexParameterfv(target,pname,params){var param=HEAPF32[params>>>2];GLctx.texParameterf(target,pname,param)}var _emscripten_glTexParameterfv=_glTexParameterfv;function _glTexParameteri(x0,x1,x2){GLctx.texParameteri(x0,x1,x2)}var _emscripten_glTexParameteri=_glTexParameteri;function _glTexParameteriv(target,pname,params){var param=HEAP32[params>>>2];GLctx.texParameteri(target,pname,param)}var _emscripten_glTexParameteriv=_glTexParameteriv;function _glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}var _emscripten_glTexSubImage2D=_glTexSubImage2D;function _glUniform1f(location,v0){GLctx.uniform1f(webglGetUniformLocation(location),v0)}var _emscripten_glUniform1f=_glUniform1f;var miniTempWebGLFloatBuffers=[];function _glUniform1fv(location,count,value){if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>>2]}}else{var view=HEAPF32.subarray(value>>>2,value+count*4>>>2)}GLctx.uniform1fv(webglGetUniformLocation(location),view)}var _emscripten_glUniform1fv=_glUniform1fv;function _glUniform1i(location,v0){GLctx.uniform1i(webglGetUniformLocation(location),v0)}var _emscripten_glUniform1i=_glUniform1i;var miniTempWebGLIntBuffers=[];function _glUniform1iv(location,count,value){if(count<=288){var view=miniTempWebGLIntBuffers[count-1];for(var i=0;i>>2]}}else{var view=HEAP32.subarray(value>>>2,value+count*4>>>2)}GLctx.uniform1iv(webglGetUniformLocation(location),view)}var _emscripten_glUniform1iv=_glUniform1iv;function _glUniform2f(location,v0,v1){GLctx.uniform2f(webglGetUniformLocation(location),v0,v1)}var _emscripten_glUniform2f=_glUniform2f;function _glUniform2fv(location,count,value){if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>>2];view[i+1]=HEAPF32[value+(4*i+4)>>>2]}}else{var view=HEAPF32.subarray(value>>>2,value+count*8>>>2)}GLctx.uniform2fv(webglGetUniformLocation(location),view)}var _emscripten_glUniform2fv=_glUniform2fv;function _glUniform2i(location,v0,v1){GLctx.uniform2i(webglGetUniformLocation(location),v0,v1)}var _emscripten_glUniform2i=_glUniform2i;function _glUniform2iv(location,count,value){if(count<=144){var view=miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>>2];view[i+1]=HEAP32[value+(4*i+4)>>>2]}}else{var view=HEAP32.subarray(value>>>2,value+count*8>>>2)}GLctx.uniform2iv(webglGetUniformLocation(location),view)}var _emscripten_glUniform2iv=_glUniform2iv;function _glUniform3f(location,v0,v1,v2){GLctx.uniform3f(webglGetUniformLocation(location),v0,v1,v2)}var _emscripten_glUniform3f=_glUniform3f;function _glUniform3fv(location,count,value){if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>>2];view[i+1]=HEAPF32[value+(4*i+4)>>>2];view[i+2]=HEAPF32[value+(4*i+8)>>>2]}}else{var view=HEAPF32.subarray(value>>>2,value+count*12>>>2)}GLctx.uniform3fv(webglGetUniformLocation(location),view)}var _emscripten_glUniform3fv=_glUniform3fv;function _glUniform3i(location,v0,v1,v2){GLctx.uniform3i(webglGetUniformLocation(location),v0,v1,v2)}var _emscripten_glUniform3i=_glUniform3i;function _glUniform3iv(location,count,value){if(count<=96){var view=miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>>2];view[i+1]=HEAP32[value+(4*i+4)>>>2];view[i+2]=HEAP32[value+(4*i+8)>>>2]}}else{var view=HEAP32.subarray(value>>>2,value+count*12>>>2)}GLctx.uniform3iv(webglGetUniformLocation(location),view)}var _emscripten_glUniform3iv=_glUniform3iv;function _glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(webglGetUniformLocation(location),v0,v1,v2,v3)}var _emscripten_glUniform4f=_glUniform4f;function _glUniform4fv(location,count,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst>>>0];view[i+1]=heap[dst+1>>>0];view[i+2]=heap[dst+2>>>0];view[i+3]=heap[dst+3>>>0]}}else{var view=HEAPF32.subarray(value>>>2,value+count*16>>>2)}GLctx.uniform4fv(webglGetUniformLocation(location),view)}var _emscripten_glUniform4fv=_glUniform4fv;function _glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(webglGetUniformLocation(location),v0,v1,v2,v3)}var _emscripten_glUniform4i=_glUniform4i;function _glUniform4iv(location,count,value){if(count<=72){var view=miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>>2];view[i+1]=HEAP32[value+(4*i+4)>>>2];view[i+2]=HEAP32[value+(4*i+8)>>>2];view[i+3]=HEAP32[value+(4*i+12)>>>2]}}else{var view=HEAP32.subarray(value>>>2,value+count*16>>>2)}GLctx.uniform4iv(webglGetUniformLocation(location),view)}var _emscripten_glUniform4iv=_glUniform4iv;function _glUniformMatrix2fv(location,count,transpose,value){if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>>2];view[i+1]=HEAPF32[value+(4*i+4)>>>2];view[i+2]=HEAPF32[value+(4*i+8)>>>2];view[i+3]=HEAPF32[value+(4*i+12)>>>2]}}else{var view=HEAPF32.subarray(value>>>2,value+count*16>>>2)}GLctx.uniformMatrix2fv(webglGetUniformLocation(location),!!transpose,view)}var _emscripten_glUniformMatrix2fv=_glUniformMatrix2fv;function _glUniformMatrix3fv(location,count,transpose,value){if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>>2];view[i+1]=HEAPF32[value+(4*i+4)>>>2];view[i+2]=HEAPF32[value+(4*i+8)>>>2];view[i+3]=HEAPF32[value+(4*i+12)>>>2];view[i+4]=HEAPF32[value+(4*i+16)>>>2];view[i+5]=HEAPF32[value+(4*i+20)>>>2];view[i+6]=HEAPF32[value+(4*i+24)>>>2];view[i+7]=HEAPF32[value+(4*i+28)>>>2];view[i+8]=HEAPF32[value+(4*i+32)>>>2]}}else{var view=HEAPF32.subarray(value>>>2,value+count*36>>>2)}GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,view)}var _emscripten_glUniformMatrix3fv=_glUniformMatrix3fv;function _glUniformMatrix4fv(location,count,transpose,value){if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst>>>0];view[i+1]=heap[dst+1>>>0];view[i+2]=heap[dst+2>>>0];view[i+3]=heap[dst+3>>>0];view[i+4]=heap[dst+4>>>0];view[i+5]=heap[dst+5>>>0];view[i+6]=heap[dst+6>>>0];view[i+7]=heap[dst+7>>>0];view[i+8]=heap[dst+8>>>0];view[i+9]=heap[dst+9>>>0];view[i+10]=heap[dst+10>>>0];view[i+11]=heap[dst+11>>>0];view[i+12]=heap[dst+12>>>0];view[i+13]=heap[dst+13>>>0];view[i+14]=heap[dst+14>>>0];view[i+15]=heap[dst+15>>>0]}}else{var view=HEAPF32.subarray(value>>>2,value+count*64>>>2)}GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,view)}var _emscripten_glUniformMatrix4fv=_glUniformMatrix4fv;function _glUseProgram(program){program=GL.programs[program];GLctx.useProgram(program);GLctx.currentProgram=program}var _emscripten_glUseProgram=_glUseProgram;function _glValidateProgram(program){GLctx.validateProgram(GL.programs[program])}var _emscripten_glValidateProgram=_glValidateProgram;function _glVertexAttrib1f(x0,x1){GLctx.vertexAttrib1f(x0,x1)}var _emscripten_glVertexAttrib1f=_glVertexAttrib1f;function _glVertexAttrib1fv(index,v){GLctx.vertexAttrib1f(index,HEAPF32[v>>>2])}var _emscripten_glVertexAttrib1fv=_glVertexAttrib1fv;function _glVertexAttrib2f(x0,x1,x2){GLctx.vertexAttrib2f(x0,x1,x2)}var _emscripten_glVertexAttrib2f=_glVertexAttrib2f;function _glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,HEAPF32[v>>>2],HEAPF32[v+4>>>2])}var _emscripten_glVertexAttrib2fv=_glVertexAttrib2fv;function _glVertexAttrib3f(x0,x1,x2,x3){GLctx.vertexAttrib3f(x0,x1,x2,x3)}var _emscripten_glVertexAttrib3f=_glVertexAttrib3f;function _glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,HEAPF32[v>>>2],HEAPF32[v+4>>>2],HEAPF32[v+8>>>2])}var _emscripten_glVertexAttrib3fv=_glVertexAttrib3fv;function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx.vertexAttrib4f(x0,x1,x2,x3,x4)}var _emscripten_glVertexAttrib4f=_glVertexAttrib4f;function _glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,HEAPF32[v>>>2],HEAPF32[v+4>>>2],HEAPF32[v+8>>>2],HEAPF32[v+12>>>2])}var _emscripten_glVertexAttrib4fv=_glVertexAttrib4fv;function _glVertexAttribDivisor(index,divisor){GLctx.vertexAttribDivisor(index,divisor)}var _glVertexAttribDivisorANGLE=_glVertexAttribDivisor;var _emscripten_glVertexAttribDivisorANGLE=_glVertexAttribDivisorANGLE;function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}var _emscripten_glVertexAttribPointer=_glVertexAttribPointer;function _glViewport(x0,x1,x2,x3){GLctx.viewport(x0,x1,x2,x3)}var _emscripten_glViewport=_glViewport;var _emscripten_has_asyncify=()=>0;var _emscripten_memcpy_big=(dest,src,num)=>HEAPU8.copyWithin(dest>>>0,src>>>0,src+num>>>0);function doRequestFullscreen(target,strategy){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;if(!target.requestFullscreen&&!target.webkitRequestFullscreen){return-3}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(strategy.deferUntilInEventHandler){JSEvents.deferCall(JSEvents_requestFullscreen,1,[target,strategy]);return 1}return-2}return JSEvents_requestFullscreen(target,strategy)}function _emscripten_request_fullscreen_strategy(target,deferUntilInEventHandler,fullscreenStrategy){var strategy={scaleMode:HEAP32[fullscreenStrategy>>>2],canvasResolutionScaleMode:HEAP32[fullscreenStrategy+4>>>2],filteringMode:HEAP32[fullscreenStrategy+8>>>2],deferUntilInEventHandler:deferUntilInEventHandler,canvasResizedCallback:HEAP32[fullscreenStrategy+12>>>2],canvasResizedCallbackUserData:HEAP32[fullscreenStrategy+16>>>2]};return doRequestFullscreen(target,strategy)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(requestPointerLock,2,[target]);return 1}return-2}return requestPointerLock(target)}var getHeapMax=()=>4294901760;var growMemory=size=>{var b=wasmMemory.buffer;var pages=size-b.byteLength+65535>>>16;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function registerBeforeUnloadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString){var beforeUnloadEventHandlerFunc=function(e=event){var confirmationMessage=getWasmTableEntry(callbackfunc)(eventTypeId,0,userData);if(confirmationMessage){confirmationMessage=UTF8ToString(confirmationMessage)}if(confirmationMessage){e.preventDefault();e.returnValue=confirmationMessage;return confirmationMessage}};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:beforeUnloadEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_beforeunload_callback_on_thread(userData,callbackfunc,targetThread){if(typeof onbeforeunload=="undefined")return-1;if(targetThread!==1)return-5;return registerBeforeUnloadEventCallback(2,userData,true,callbackfunc,28,"beforeunload")}function registerFocusEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.focusEvent)JSEvents.focusEvent=_malloc(256);var focusEventHandlerFunc=function(e=event){var nodeName=JSEvents.getNodeNameForTarget(e.target);var id=e.target.id?e.target.id:"";var focusEvent=JSEvents.focusEvent;stringToUTF8(nodeName,focusEvent+0,128);stringToUTF8(id,focusEvent+128,128);if(getWasmTableEntry(callbackfunc)(eventTypeId,focusEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:focusEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_blur_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerFocusEventCallback(target,userData,useCapture,callbackfunc,12,"blur",targetThread)}function _emscripten_set_element_css_size(target,width,height){target=findEventTarget(target);if(!target)return-4;target.style.width=width+"px";target.style.height=height+"px";return 0}function _emscripten_set_focus_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerFocusEventCallback(target,userData,useCapture,callbackfunc,13,"focus",targetThread)}function fillFullscreenChangeEventData(eventStruct){var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>>2]=isFullscreen;HEAP32[eventStruct+4>>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>>2]=screen.width;HEAP32[eventStruct+276>>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(e=event){var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;fillFullscreenChangeEventData(fullscreenChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread)}function registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(e=event){var gamepadEvent=JSEvents.gamepadEvent;fillGamepadEventData(gamepadEvent,e["gamepad"]);if(getWasmTableEntry(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;return registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread)}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;return registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread)}function registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(176);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;HEAPF64[keyEventData>>>3]=e.timeStamp;var idx=keyEventData>>2;HEAP32[idx+2>>>0]=e.location;HEAP32[idx+3>>>0]=e.ctrlKey;HEAP32[idx+4>>>0]=e.shiftKey;HEAP32[idx+5>>>0]=e.altKey;HEAP32[idx+6>>>0]=e.metaKey;HEAP32[idx+7>>>0]=e.repeat;HEAP32[idx+8>>>0]=e.charCode;HEAP32[idx+9>>>0]=e.keyCode;HEAP32[idx+10>>>0]=e.which;stringToUTF8(e.key||"",keyEventData+44,32);stringToUTF8(e.code||"",keyEventData+76,32);stringToUTF8(e.char||"",keyEventData+108,32);stringToUTF8(e.locale||"",keyEventData+140,32);if(getWasmTableEntry(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread)}function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread)}function _emscripten_set_keyup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerKeyEventCallback(target,userData,useCapture,callbackfunc,3,"keyup",targetThread)}var _emscripten_set_main_loop_arg=function(func,arg,fps,simulateInfiniteLoop){var browserIterationFunc=()=>getWasmTableEntry(func)(arg);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg)};function fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>>3]=e.timeStamp;var idx=eventStruct>>2;HEAP32[idx+2>>>0]=e.screenX;HEAP32[idx+3>>>0]=e.screenY;HEAP32[idx+4>>>0]=e.clientX;HEAP32[idx+5>>>0]=e.clientY;HEAP32[idx+6>>>0]=e.ctrlKey;HEAP32[idx+7>>>0]=e.shiftKey;HEAP32[idx+8>>>0]=e.altKey;HEAP32[idx+9>>>0]=e.metaKey;HEAP16[idx*2+20>>>0]=e.button;HEAP16[idx*2+21>>>0]=e.buttons;HEAP32[idx+11>>>0]=e["movementX"];HEAP32[idx+12>>>0]=e["movementY"];var rect=getBoundingClientRect(target);HEAP32[idx+13>>>0]=e.clientX-rect.left;HEAP32[idx+14>>>0]=e.clientY-rect.top}function registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=findEventTarget(target);var mouseEventHandlerFunc=function(e=event){fillMouseEventData(JSEvents.mouseEvent,e,target);if(getWasmTableEntry(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_mousedown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerMouseEventCallback(target,userData,useCapture,callbackfunc,5,"mousedown",targetThread)}function _emscripten_set_mouseenter_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerMouseEventCallback(target,userData,useCapture,callbackfunc,33,"mouseenter",targetThread)}function _emscripten_set_mouseleave_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerMouseEventCallback(target,userData,useCapture,callbackfunc,34,"mouseleave",targetThread)}function _emscripten_set_mousemove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerMouseEventCallback(target,userData,useCapture,callbackfunc,8,"mousemove",targetThread)}function _emscripten_set_mouseup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerMouseEventCallback(target,userData,useCapture,callbackfunc,6,"mouseup",targetThread)}function fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.pointerlockChangeEvent)JSEvents.pointerlockChangeEvent=_malloc(260);var pointerlockChangeEventHandlerFunc=function(e=event){var pointerlockChangeEvent=JSEvents.pointerlockChangeEvent;fillPointerlockChangeEventData(pointerlockChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,pointerlockChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:pointerlockChangeEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_pointerlockchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!document||!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}target=findEventTarget(target);if(!target)return-4;registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mozpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"webkitpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mspointerlockchange",targetThread);return registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"pointerlockchange",targetThread)}function registerUiEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.uiEvent)JSEvents.uiEvent=_malloc(36);target=findEventTarget(target);var uiEventHandlerFunc=function(e=event){if(e.target!=target){return}var b=document.body;if(!b){return}var uiEvent=JSEvents.uiEvent;HEAP32[uiEvent>>>2]=e.detail;HEAP32[uiEvent+4>>>2]=b.clientWidth;HEAP32[uiEvent+8>>>2]=b.clientHeight;HEAP32[uiEvent+12>>>2]=innerWidth;HEAP32[uiEvent+16>>>2]=innerHeight;HEAP32[uiEvent+20>>>2]=outerWidth;HEAP32[uiEvent+24>>>2]=outerHeight;HEAP32[uiEvent+28>>>2]=pageXOffset;HEAP32[uiEvent+32>>>2]=pageYOffset;if(getWasmTableEntry(callbackfunc)(eventTypeId,uiEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:uiEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_resize_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerUiEventCallback(target,userData,useCapture,callbackfunc,10,"resize",targetThread)}function registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1696);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var t,touches={},et=e.touches;for(var i=0;i>>3]=e.timeStamp;var idx=touchEvent>>2;HEAP32[idx+3>>>0]=e.ctrlKey;HEAP32[idx+4>>>0]=e.shiftKey;HEAP32[idx+5>>>0]=e.altKey;HEAP32[idx+6>>>0]=e.metaKey;idx+=7;var targetRect=getBoundingClientRect(target);var numTouches=0;for(var i in touches){t=touches[i];HEAP32[idx+0>>>0]=t.identifier;HEAP32[idx+1>>>0]=t.screenX;HEAP32[idx+2>>>0]=t.screenY;HEAP32[idx+3>>>0]=t.clientX;HEAP32[idx+4>>>0]=t.clientY;HEAP32[idx+5>>>0]=t.pageX;HEAP32[idx+6>>>0]=t.pageY;HEAP32[idx+7>>>0]=t.isChanged;HEAP32[idx+8>>>0]=t.onTarget;HEAP32[idx+9>>>0]=t.clientX-targetRect.left;HEAP32[idx+10>>>0]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent+8>>>2]=numTouches;if(getWasmTableEntry(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread)}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread)}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread)}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread)}function fillVisibilityChangeEventData(eventStruct){var visibilityStates=["hidden","visible","prerender","unloaded"];var visibilityState=visibilityStates.indexOf(document.visibilityState);HEAP32[eventStruct>>>2]=document.hidden;HEAP32[eventStruct+4>>>2]=visibilityState}function registerVisibilityChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.visibilityChangeEvent)JSEvents.visibilityChangeEvent=_malloc(8);var visibilityChangeEventHandlerFunc=function(e=event){var visibilityChangeEvent=JSEvents.visibilityChangeEvent;fillVisibilityChangeEventData(visibilityChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,visibilityChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:visibilityChangeEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_visibilitychange_callback_on_thread(userData,useCapture,callbackfunc,targetThread){return registerVisibilityChangeEventCallback(specialHTMLTargets[1],userData,useCapture,callbackfunc,21,"visibilitychange",targetThread)}function registerWheelEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.wheelEvent)JSEvents.wheelEvent=_malloc(104);var wheelHandlerFunc=function(e=event){var wheelEvent=JSEvents.wheelEvent;fillMouseEventData(wheelEvent,e,target);HEAPF64[wheelEvent+72>>>3]=e["deltaX"];HEAPF64[wheelEvent+80>>>3]=e["deltaY"];HEAPF64[wheelEvent+88>>>3]=e["deltaZ"];HEAP32[wheelEvent+96>>>2]=e["deltaMode"];if(getWasmTableEntry(callbackfunc)(eventTypeId,wheelEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:wheelHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_wheel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target=findEventTarget(target);if(!target)return-4;if(typeof target.onwheel!="undefined"){return registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"wheel",targetThread)}else{return-1}}function _emscripten_set_window_title(title){setWindowTitle(UTF8ToString(title))}function _emscripten_sleep(){throw"Please compile your program with async support in order to use asynchronous operations like emscripten_sleep"}var ENV={};var getExecutableName=()=>{return thisProgram||"./this.program"};var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i>>0]=str.charCodeAt(i)}HEAP8[buffer>>>0]=0};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAPU32[penviron_buf_size>>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf>>>0]=type;HEAP16[pbuf+2>>>1]=flags;tempI64=[rightsBase>>>0,(tempDouble=rightsBase,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+8>>>2]=tempI64[0],HEAP32[pbuf+12>>>2]=tempI64[1];tempI64=[rightsInheriting>>>0,(tempDouble=rightsInheriting,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+16>>>2]=tempI64[0],HEAP32[pbuf+20>>>2]=tempI64[1];return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>>2];var len=HEAPU32[iov+4>>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function convertI32PairToI53Checked(lo,hi){return hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var offset=convertI32PairToI53Checked(offset_low,offset_high);if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>>2]=tempI64[0],HEAP32[newOffset+4>>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>>2];var len=HEAPU32[iov+4>>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!=="undefined"){offset+=curr}}return ret};function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var writeSockaddr=(sa,family,addr,port,addrlen)=>{switch(family){case 2:addr=inetPton4(addr);zeroMemory(sa,16);if(addrlen){HEAP32[addrlen>>>2]=16}HEAP16[sa>>>1]=family;HEAP32[sa+4>>>2]=addr;HEAP16[sa+2>>>1]=_htons(port);break;case 10:addr=inetPton6(addr);zeroMemory(sa,28);if(addrlen){HEAP32[addrlen>>>2]=28}HEAP32[sa>>>2]=family;HEAP32[sa+8>>>2]=addr[0];HEAP32[sa+12>>>2]=addr[1];HEAP32[sa+16>>>2]=addr[2];HEAP32[sa+20>>>2]=addr[3];HEAP16[sa+2>>>1]=_htons(port);break;default:return 5}return 0};var _getaddrinfo=(node,service,hint,out)=>{var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var errno;salen=family===10?28:16;addr=family===10?inetNtop6(addr):inetNtop4(addr);sa=_malloc(salen);errno=writeSockaddr(sa,family,addr,port);assert(!errno);ai=_malloc(32);HEAP32[ai+4>>>2]=family;HEAP32[ai+8>>>2]=type;HEAP32[ai+12>>>2]=proto;HEAPU32[ai+24>>>2]=canon;HEAPU32[ai+20>>>2]=sa;if(family===10){HEAP32[ai+16>>>2]=28}else{HEAP32[ai+16>>>2]=16}HEAP32[ai+28>>>2]=0;return ai}if(hint){flags=HEAP32[hint>>>2];family=HEAP32[hint+4>>>2];type=HEAP32[hint+8>>>2];proto=HEAP32[hint+12>>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=UTF8ToString(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAPU32[out>>>2]=ai;return 0}node=UTF8ToString(node);addr=inetPton4(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=inetPton6(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAPU32[out>>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=inetPton4(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAPU32[out>>>2]=ai;return 0};var arraySum=(array,index)=>{var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum};var MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];var addDays=(date,days)=>{var newDate=new Date(date.getTime());while(days>0){var leap=isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer>>>0)};var _strftime=(s,maxsize,format,tm)=>{var tm_zone=HEAP32[tm+40>>>2];var date={tm_sec:HEAP32[tm>>>2],tm_min:HEAP32[tm+4>>>2],tm_hour:HEAP32[tm+8>>>2],tm_mday:HEAP32[tm+12>>>2],tm_mon:HEAP32[tm+16>>>2],tm_year:HEAP32[tm+20>>>2],tm_wday:HEAP32[tm+24>>>2],tm_yday:HEAP32[tm+28>>>2],tm_isdst:HEAP32[tm+32>>>2],tm_gmtoff:HEAP32[tm+36>>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value=="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}return thisDate.getFullYear()}return thisDate.getFullYear()-1}var EXPANSION_RULES_2={"%a":date=>WEEKDAYS[date.tm_wday].substring(0,3),"%A":date=>WEEKDAYS[date.tm_wday],"%b":date=>MONTHS[date.tm_mon].substring(0,3),"%B":date=>MONTHS[date.tm_mon],"%C":date=>{var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":date=>leadingNulls(date.tm_mday,2),"%e":date=>leadingSomething(date.tm_mday,2," "),"%g":date=>{return getWeekBasedYear(date).toString().substring(2)},"%G":date=>getWeekBasedYear(date),"%H":date=>leadingNulls(date.tm_hour,2),"%I":date=>{var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":date=>{return leadingNulls(date.tm_mday+arraySum(isLeapYear(date.tm_year+1900)?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":date=>leadingNulls(date.tm_mon+1,2),"%M":date=>leadingNulls(date.tm_min,2),"%n":()=>"\n","%p":date=>{if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}return"PM"},"%S":date=>leadingNulls(date.tm_sec,2),"%t":()=>"\t","%u":date=>date.tm_wday||7,"%U":date=>{var days=date.tm_yday+7-date.tm_wday;return leadingNulls(Math.floor(days/7),2)},"%V":date=>{var val=Math.floor((date.tm_yday+7-(date.tm_wday+6)%7)/7);if((date.tm_wday+371-date.tm_yday-2)%7<=2){val++}if(!val){val=52;var dec31=(date.tm_wday+7-date.tm_yday-1)%7;if(dec31==4||dec31==5&&isLeapYear(date.tm_year%400-1)){val++}}else if(val==53){var jan1=(date.tm_wday+371-date.tm_yday)%7;if(jan1!=4&&(jan1!=3||!isLeapYear(date.tm_year)))val=1}return leadingNulls(val,2)},"%w":date=>date.tm_wday,"%W":date=>{var days=date.tm_yday+7-(date.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2)},"%y":date=>{return(date.tm_year+1900).toString().substring(2)},"%Y":date=>date.tm_year+1900,"%z":date=>{var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":date=>date.tm_zone,"%%":()=>"%"};pattern=pattern.replace(/%%/g,"\0\0");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\0\0/g,"%");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1};var _strftime_l=(s,maxsize,format,tm,loc)=>{return _strftime(s,maxsize,format,tm)};function getCFunc(ident){var func=Module["_"+ident];return func}var ccall=function(ident,returnType,argTypes,args,opts){var toC={"string":str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},"array":arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;itype==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return function(){return ccall(ident,returnType,argTypes,arguments,opts)}};function uleb128Encode(n,target){if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}}function sigToWasmTypes(sig){var typeNames={"i":"i32","j":"i64","f":"f32","d":"f64","p":"i32"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;i{wasmTable.set(idx,func);wasmTableMirror[idx]=wasmTable.get(idx)};function addFunction(func,sig){var rtn=getFunctionAddress(func);if(rtn){return rtn}var ret=getEmptyTableSlot();try{setWasmTableEntry(ret,func)}catch(err){if(!(err instanceof TypeError)){throw err}var wrapped=convertJsFunctionToWasm(func,sig);setWasmTableEntry(ret,wrapped)}functionsInTableMap.set(func,ret);return ret}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var preloadedImages={};var preloadedAudios={};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){miniTempWebGLIntBuffers[i]=miniTempWebGLIntBuffersStorage.subarray(0,i+1)}var wasmImports={"__call_sighandler":___call_sighandler,"__cxa_throw":___cxa_throw,"__syscall_connect":___syscall_connect,"__syscall_faccessat":___syscall_faccessat,"__syscall_fcntl64":___syscall_fcntl64,"__syscall_fstat64":___syscall_fstat64,"__syscall_ioctl":___syscall_ioctl,"__syscall_lstat64":___syscall_lstat64,"__syscall_newfstatat":___syscall_newfstatat,"__syscall_openat":___syscall_openat,"__syscall_renameat":___syscall_renameat,"__syscall_rmdir":___syscall_rmdir,"__syscall_sendto":___syscall_sendto,"__syscall_socket":___syscall_socket,"__syscall_stat64":___syscall_stat64,"__syscall_unlinkat":___syscall_unlinkat,"_emscripten_get_now_is_monotonic":__emscripten_get_now_is_monotonic,"_emscripten_throw_longjmp":__emscripten_throw_longjmp,"_gmtime_js":__gmtime_js,"_localtime_js":__localtime_js,"_mktime_js":__mktime_js,"_tzset_js":__tzset_js,"abort":_abort,"eglBindAPI":_eglBindAPI,"eglChooseConfig":_eglChooseConfig,"eglCreateContext":_eglCreateContext,"eglCreateWindowSurface":_eglCreateWindowSurface,"eglDestroyContext":_eglDestroyContext,"eglDestroySurface":_eglDestroySurface,"eglGetConfigAttrib":_eglGetConfigAttrib,"eglGetDisplay":_eglGetDisplay,"eglGetError":_eglGetError,"eglInitialize":_eglInitialize,"eglMakeCurrent":_eglMakeCurrent,"eglQueryString":_eglQueryString,"eglSwapBuffers":_eglSwapBuffers,"eglSwapInterval":_eglSwapInterval,"eglTerminate":_eglTerminate,"eglWaitGL":_eglWaitGL,"eglWaitNative":_eglWaitNative,"emscripten_asm_const_int":_emscripten_asm_const_int,"emscripten_asm_const_int_sync_on_main_thread":_emscripten_asm_const_int_sync_on_main_thread,"emscripten_async_wget_data":_emscripten_async_wget_data,"emscripten_date_now":_emscripten_date_now,"emscripten_exit_fullscreen":_emscripten_exit_fullscreen,"emscripten_exit_pointerlock":_emscripten_exit_pointerlock,"emscripten_get_device_pixel_ratio":_emscripten_get_device_pixel_ratio,"emscripten_get_element_css_size":_emscripten_get_element_css_size,"emscripten_get_gamepad_status":_emscripten_get_gamepad_status,"emscripten_get_now":_emscripten_get_now,"emscripten_get_num_gamepads":_emscripten_get_num_gamepads,"emscripten_get_screen_size":_emscripten_get_screen_size,"emscripten_glActiveTexture":_emscripten_glActiveTexture,"emscripten_glAttachShader":_emscripten_glAttachShader,"emscripten_glBeginQueryEXT":_emscripten_glBeginQueryEXT,"emscripten_glBindAttribLocation":_emscripten_glBindAttribLocation,"emscripten_glBindBuffer":_emscripten_glBindBuffer,"emscripten_glBindFramebuffer":_emscripten_glBindFramebuffer,"emscripten_glBindRenderbuffer":_emscripten_glBindRenderbuffer,"emscripten_glBindTexture":_emscripten_glBindTexture,"emscripten_glBindVertexArrayOES":_emscripten_glBindVertexArrayOES,"emscripten_glBlendColor":_emscripten_glBlendColor,"emscripten_glBlendEquation":_emscripten_glBlendEquation,"emscripten_glBlendEquationSeparate":_emscripten_glBlendEquationSeparate,"emscripten_glBlendFunc":_emscripten_glBlendFunc,"emscripten_glBlendFuncSeparate":_emscripten_glBlendFuncSeparate,"emscripten_glBufferData":_emscripten_glBufferData,"emscripten_glBufferSubData":_emscripten_glBufferSubData,"emscripten_glCheckFramebufferStatus":_emscripten_glCheckFramebufferStatus,"emscripten_glClear":_emscripten_glClear,"emscripten_glClearColor":_emscripten_glClearColor,"emscripten_glClearDepthf":_emscripten_glClearDepthf,"emscripten_glClearStencil":_emscripten_glClearStencil,"emscripten_glColorMask":_emscripten_glColorMask,"emscripten_glCompileShader":_emscripten_glCompileShader,"emscripten_glCompressedTexImage2D":_emscripten_glCompressedTexImage2D,"emscripten_glCompressedTexSubImage2D":_emscripten_glCompressedTexSubImage2D,"emscripten_glCopyTexImage2D":_emscripten_glCopyTexImage2D,"emscripten_glCopyTexSubImage2D":_emscripten_glCopyTexSubImage2D,"emscripten_glCreateProgram":_emscripten_glCreateProgram,"emscripten_glCreateShader":_emscripten_glCreateShader,"emscripten_glCullFace":_emscripten_glCullFace,"emscripten_glDeleteBuffers":_emscripten_glDeleteBuffers,"emscripten_glDeleteFramebuffers":_emscripten_glDeleteFramebuffers,"emscripten_glDeleteProgram":_emscripten_glDeleteProgram,"emscripten_glDeleteQueriesEXT":_emscripten_glDeleteQueriesEXT,"emscripten_glDeleteRenderbuffers":_emscripten_glDeleteRenderbuffers,"emscripten_glDeleteShader":_emscripten_glDeleteShader,"emscripten_glDeleteTextures":_emscripten_glDeleteTextures,"emscripten_glDeleteVertexArraysOES":_emscripten_glDeleteVertexArraysOES,"emscripten_glDepthFunc":_emscripten_glDepthFunc,"emscripten_glDepthMask":_emscripten_glDepthMask,"emscripten_glDepthRangef":_emscripten_glDepthRangef,"emscripten_glDetachShader":_emscripten_glDetachShader,"emscripten_glDisable":_emscripten_glDisable,"emscripten_glDisableVertexAttribArray":_emscripten_glDisableVertexAttribArray,"emscripten_glDrawArrays":_emscripten_glDrawArrays,"emscripten_glDrawArraysInstancedANGLE":_emscripten_glDrawArraysInstancedANGLE,"emscripten_glDrawBuffersWEBGL":_emscripten_glDrawBuffersWEBGL,"emscripten_glDrawElements":_emscripten_glDrawElements,"emscripten_glDrawElementsInstancedANGLE":_emscripten_glDrawElementsInstancedANGLE,"emscripten_glEnable":_emscripten_glEnable,"emscripten_glEnableVertexAttribArray":_emscripten_glEnableVertexAttribArray,"emscripten_glEndQueryEXT":_emscripten_glEndQueryEXT,"emscripten_glFinish":_emscripten_glFinish,"emscripten_glFlush":_emscripten_glFlush,"emscripten_glFramebufferRenderbuffer":_emscripten_glFramebufferRenderbuffer,"emscripten_glFramebufferTexture2D":_emscripten_glFramebufferTexture2D,"emscripten_glFrontFace":_emscripten_glFrontFace,"emscripten_glGenBuffers":_emscripten_glGenBuffers,"emscripten_glGenFramebuffers":_emscripten_glGenFramebuffers,"emscripten_glGenQueriesEXT":_emscripten_glGenQueriesEXT,"emscripten_glGenRenderbuffers":_emscripten_glGenRenderbuffers,"emscripten_glGenTextures":_emscripten_glGenTextures,"emscripten_glGenVertexArraysOES":_emscripten_glGenVertexArraysOES,"emscripten_glGenerateMipmap":_emscripten_glGenerateMipmap,"emscripten_glGetActiveAttrib":_emscripten_glGetActiveAttrib,"emscripten_glGetActiveUniform":_emscripten_glGetActiveUniform,"emscripten_glGetAttachedShaders":_emscripten_glGetAttachedShaders,"emscripten_glGetAttribLocation":_emscripten_glGetAttribLocation,"emscripten_glGetBooleanv":_emscripten_glGetBooleanv,"emscripten_glGetBufferParameteriv":_emscripten_glGetBufferParameteriv,"emscripten_glGetError":_emscripten_glGetError,"emscripten_glGetFloatv":_emscripten_glGetFloatv,"emscripten_glGetFramebufferAttachmentParameteriv":_emscripten_glGetFramebufferAttachmentParameteriv,"emscripten_glGetIntegerv":_emscripten_glGetIntegerv,"emscripten_glGetProgramInfoLog":_emscripten_glGetProgramInfoLog,"emscripten_glGetProgramiv":_emscripten_glGetProgramiv,"emscripten_glGetQueryObjecti64vEXT":_emscripten_glGetQueryObjecti64vEXT,"emscripten_glGetQueryObjectivEXT":_emscripten_glGetQueryObjectivEXT,"emscripten_glGetQueryObjectui64vEXT":_emscripten_glGetQueryObjectui64vEXT,"emscripten_glGetQueryObjectuivEXT":_emscripten_glGetQueryObjectuivEXT,"emscripten_glGetQueryivEXT":_emscripten_glGetQueryivEXT,"emscripten_glGetRenderbufferParameteriv":_emscripten_glGetRenderbufferParameteriv,"emscripten_glGetShaderInfoLog":_emscripten_glGetShaderInfoLog,"emscripten_glGetShaderPrecisionFormat":_emscripten_glGetShaderPrecisionFormat,"emscripten_glGetShaderSource":_emscripten_glGetShaderSource,"emscripten_glGetShaderiv":_emscripten_glGetShaderiv,"emscripten_glGetString":_emscripten_glGetString,"emscripten_glGetTexParameterfv":_emscripten_glGetTexParameterfv,"emscripten_glGetTexParameteriv":_emscripten_glGetTexParameteriv,"emscripten_glGetUniformLocation":_emscripten_glGetUniformLocation,"emscripten_glGetUniformfv":_emscripten_glGetUniformfv,"emscripten_glGetUniformiv":_emscripten_glGetUniformiv,"emscripten_glGetVertexAttribPointerv":_emscripten_glGetVertexAttribPointerv,"emscripten_glGetVertexAttribfv":_emscripten_glGetVertexAttribfv,"emscripten_glGetVertexAttribiv":_emscripten_glGetVertexAttribiv,"emscripten_glHint":_emscripten_glHint,"emscripten_glIsBuffer":_emscripten_glIsBuffer,"emscripten_glIsEnabled":_emscripten_glIsEnabled,"emscripten_glIsFramebuffer":_emscripten_glIsFramebuffer,"emscripten_glIsProgram":_emscripten_glIsProgram,"emscripten_glIsQueryEXT":_emscripten_glIsQueryEXT,"emscripten_glIsRenderbuffer":_emscripten_glIsRenderbuffer,"emscripten_glIsShader":_emscripten_glIsShader,"emscripten_glIsTexture":_emscripten_glIsTexture,"emscripten_glIsVertexArrayOES":_emscripten_glIsVertexArrayOES,"emscripten_glLineWidth":_emscripten_glLineWidth,"emscripten_glLinkProgram":_emscripten_glLinkProgram,"emscripten_glPixelStorei":_emscripten_glPixelStorei,"emscripten_glPolygonOffset":_emscripten_glPolygonOffset,"emscripten_glQueryCounterEXT":_emscripten_glQueryCounterEXT,"emscripten_glReadPixels":_emscripten_glReadPixels,"emscripten_glReleaseShaderCompiler":_emscripten_glReleaseShaderCompiler,"emscripten_glRenderbufferStorage":_emscripten_glRenderbufferStorage,"emscripten_glSampleCoverage":_emscripten_glSampleCoverage,"emscripten_glScissor":_emscripten_glScissor,"emscripten_glShaderBinary":_emscripten_glShaderBinary,"emscripten_glShaderSource":_emscripten_glShaderSource,"emscripten_glStencilFunc":_emscripten_glStencilFunc,"emscripten_glStencilFuncSeparate":_emscripten_glStencilFuncSeparate,"emscripten_glStencilMask":_emscripten_glStencilMask,"emscripten_glStencilMaskSeparate":_emscripten_glStencilMaskSeparate,"emscripten_glStencilOp":_emscripten_glStencilOp,"emscripten_glStencilOpSeparate":_emscripten_glStencilOpSeparate,"emscripten_glTexImage2D":_emscripten_glTexImage2D,"emscripten_glTexParameterf":_emscripten_glTexParameterf,"emscripten_glTexParameterfv":_emscripten_glTexParameterfv,"emscripten_glTexParameteri":_emscripten_glTexParameteri,"emscripten_glTexParameteriv":_emscripten_glTexParameteriv,"emscripten_glTexSubImage2D":_emscripten_glTexSubImage2D,"emscripten_glUniform1f":_emscripten_glUniform1f,"emscripten_glUniform1fv":_emscripten_glUniform1fv,"emscripten_glUniform1i":_emscripten_glUniform1i,"emscripten_glUniform1iv":_emscripten_glUniform1iv,"emscripten_glUniform2f":_emscripten_glUniform2f,"emscripten_glUniform2fv":_emscripten_glUniform2fv,"emscripten_glUniform2i":_emscripten_glUniform2i,"emscripten_glUniform2iv":_emscripten_glUniform2iv,"emscripten_glUniform3f":_emscripten_glUniform3f,"emscripten_glUniform3fv":_emscripten_glUniform3fv,"emscripten_glUniform3i":_emscripten_glUniform3i,"emscripten_glUniform3iv":_emscripten_glUniform3iv,"emscripten_glUniform4f":_emscripten_glUniform4f,"emscripten_glUniform4fv":_emscripten_glUniform4fv,"emscripten_glUniform4i":_emscripten_glUniform4i,"emscripten_glUniform4iv":_emscripten_glUniform4iv,"emscripten_glUniformMatrix2fv":_emscripten_glUniformMatrix2fv,"emscripten_glUniformMatrix3fv":_emscripten_glUniformMatrix3fv,"emscripten_glUniformMatrix4fv":_emscripten_glUniformMatrix4fv,"emscripten_glUseProgram":_emscripten_glUseProgram,"emscripten_glValidateProgram":_emscripten_glValidateProgram,"emscripten_glVertexAttrib1f":_emscripten_glVertexAttrib1f,"emscripten_glVertexAttrib1fv":_emscripten_glVertexAttrib1fv,"emscripten_glVertexAttrib2f":_emscripten_glVertexAttrib2f,"emscripten_glVertexAttrib2fv":_emscripten_glVertexAttrib2fv,"emscripten_glVertexAttrib3f":_emscripten_glVertexAttrib3f,"emscripten_glVertexAttrib3fv":_emscripten_glVertexAttrib3fv,"emscripten_glVertexAttrib4f":_emscripten_glVertexAttrib4f,"emscripten_glVertexAttrib4fv":_emscripten_glVertexAttrib4fv,"emscripten_glVertexAttribDivisorANGLE":_emscripten_glVertexAttribDivisorANGLE,"emscripten_glVertexAttribPointer":_emscripten_glVertexAttribPointer,"emscripten_glViewport":_emscripten_glViewport,"emscripten_has_asyncify":_emscripten_has_asyncify,"emscripten_memcpy_big":_emscripten_memcpy_big,"emscripten_request_fullscreen_strategy":_emscripten_request_fullscreen_strategy,"emscripten_request_pointerlock":_emscripten_request_pointerlock,"emscripten_resize_heap":_emscripten_resize_heap,"emscripten_sample_gamepad_data":_emscripten_sample_gamepad_data,"emscripten_set_beforeunload_callback_on_thread":_emscripten_set_beforeunload_callback_on_thread,"emscripten_set_blur_callback_on_thread":_emscripten_set_blur_callback_on_thread,"emscripten_set_canvas_element_size":_emscripten_set_canvas_element_size,"emscripten_set_element_css_size":_emscripten_set_element_css_size,"emscripten_set_focus_callback_on_thread":_emscripten_set_focus_callback_on_thread,"emscripten_set_fullscreenchange_callback_on_thread":_emscripten_set_fullscreenchange_callback_on_thread,"emscripten_set_gamepadconnected_callback_on_thread":_emscripten_set_gamepadconnected_callback_on_thread,"emscripten_set_gamepaddisconnected_callback_on_thread":_emscripten_set_gamepaddisconnected_callback_on_thread,"emscripten_set_keydown_callback_on_thread":_emscripten_set_keydown_callback_on_thread,"emscripten_set_keypress_callback_on_thread":_emscripten_set_keypress_callback_on_thread,"emscripten_set_keyup_callback_on_thread":_emscripten_set_keyup_callback_on_thread,"emscripten_set_main_loop_arg":_emscripten_set_main_loop_arg,"emscripten_set_mousedown_callback_on_thread":_emscripten_set_mousedown_callback_on_thread,"emscripten_set_mouseenter_callback_on_thread":_emscripten_set_mouseenter_callback_on_thread,"emscripten_set_mouseleave_callback_on_thread":_emscripten_set_mouseleave_callback_on_thread,"emscripten_set_mousemove_callback_on_thread":_emscripten_set_mousemove_callback_on_thread,"emscripten_set_mouseup_callback_on_thread":_emscripten_set_mouseup_callback_on_thread,"emscripten_set_pointerlockchange_callback_on_thread":_emscripten_set_pointerlockchange_callback_on_thread,"emscripten_set_resize_callback_on_thread":_emscripten_set_resize_callback_on_thread,"emscripten_set_touchcancel_callback_on_thread":_emscripten_set_touchcancel_callback_on_thread,"emscripten_set_touchend_callback_on_thread":_emscripten_set_touchend_callback_on_thread,"emscripten_set_touchmove_callback_on_thread":_emscripten_set_touchmove_callback_on_thread,"emscripten_set_touchstart_callback_on_thread":_emscripten_set_touchstart_callback_on_thread,"emscripten_set_visibilitychange_callback_on_thread":_emscripten_set_visibilitychange_callback_on_thread,"emscripten_set_wheel_callback_on_thread":_emscripten_set_wheel_callback_on_thread,"emscripten_set_window_title":_emscripten_set_window_title,"emscripten_sleep":_emscripten_sleep,"environ_get":_environ_get,"environ_sizes_get":_environ_sizes_get,"exit":_exit,"fd_close":_fd_close,"fd_fdstat_get":_fd_fdstat_get,"fd_read":_fd_read,"fd_seek":_fd_seek,"fd_write":_fd_write,"getaddrinfo":_getaddrinfo,"glActiveTexture":_glActiveTexture,"glAttachShader":_glAttachShader,"glBindBuffer":_glBindBuffer,"glBindTexture":_glBindTexture,"glBlendFunc":_glBlendFunc,"glBufferData":_glBufferData,"glClear":_glClear,"glClearColor":_glClearColor,"glCompileShader":_glCompileShader,"glCreateProgram":_glCreateProgram,"glCreateShader":_glCreateShader,"glDeleteTextures":_glDeleteTextures,"glDrawArrays":_glDrawArrays,"glEnable":_glEnable,"glEnableVertexAttribArray":_glEnableVertexAttribArray,"glGenBuffers":_glGenBuffers,"glGenTextures":_glGenTextures,"glGetAttribLocation":_glGetAttribLocation,"glGetError":_glGetError,"glGetUniformLocation":_glGetUniformLocation,"glLinkProgram":_glLinkProgram,"glShaderSource":_glShaderSource,"glTexImage2D":_glTexImage2D,"glTexParameteri":_glTexParameteri,"glUniform1f":_glUniform1f,"glUniform1i":_glUniform1i,"glUniform2fv":_glUniform2fv,"glUseProgram":_glUseProgram,"glVertexAttribPointer":_glVertexAttribPointer,"glViewport":_glViewport,"invoke_i":invoke_i,"invoke_ii":invoke_ii,"invoke_iii":invoke_iii,"invoke_iiii":invoke_iiii,"invoke_iiiii":invoke_iiiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_viii":invoke_viii,"invoke_viiiiii":invoke_viiiiii,"strftime":_strftime,"strftime_l":_strftime_l};var asm=createWasm();var ___wasm_call_ctors=function(){return(___wasm_call_ctors=Module["asm"]["__wasm_call_ctors"]).apply(null,arguments)};var _free=function(){return(_free=Module["asm"]["free"]).apply(null,arguments)};var ___errno_location=function(){return(___errno_location=Module["asm"]["__errno_location"]).apply(null,arguments)};var _htons=function(){return(_htons=Module["asm"]["htons"]).apply(null,arguments)};var _ntohs=function(){return(_ntohs=Module["asm"]["ntohs"]).apply(null,arguments)};var _htonl=function(){return(_htonl=Module["asm"]["htonl"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["malloc"]).apply(null,arguments)};var _UpdateDcmImage=Module["_UpdateDcmImage"]=function(){return(_UpdateDcmImage=Module["_UpdateDcmImage"]=Module["asm"]["UpdateDcmImage"]).apply(null,arguments)};var _SetWindowWidthLevel=Module["_SetWindowWidthLevel"]=function(){return(_SetWindowWidthLevel=Module["_SetWindowWidthLevel"]=Module["asm"]["SetWindowWidthLevel"]).apply(null,arguments)};var _GetWindowWidth=Module["_GetWindowWidth"]=function(){return(_GetWindowWidth=Module["_GetWindowWidth"]=Module["asm"]["GetWindowWidth"]).apply(null,arguments)};var _GetWindowCenter=Module["_GetWindowCenter"]=function(){return(_GetWindowCenter=Module["_GetWindowCenter"]=Module["asm"]["GetWindowCenter"]).apply(null,arguments)};var _SetCallbackUpdateDcmImageComplete=Module["_SetCallbackUpdateDcmImageComplete"]=function(){return(_SetCallbackUpdateDcmImageComplete=Module["_SetCallbackUpdateDcmImageComplete"]=Module["asm"]["SetCallbackUpdateDcmImageComplete"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["__main_argc_argv"]).apply(null,arguments)};var _setThrew=function(){return(_setThrew=Module["asm"]["setThrew"]).apply(null,arguments)};var stackSave=function(){return(stackSave=Module["asm"]["stackSave"]).apply(null,arguments)};var stackRestore=function(){return(stackRestore=Module["asm"]["stackRestore"]).apply(null,arguments)};var stackAlloc=function(){return(stackAlloc=Module["asm"]["stackAlloc"]).apply(null,arguments)};var ___cxa_is_pointer_type=function(){return(___cxa_is_pointer_type=Module["asm"]["__cxa_is_pointer_type"]).apply(null,arguments)};var dynCall_ji=Module["dynCall_ji"]=function(){return(dynCall_ji=Module["dynCall_ji"]=Module["asm"]["dynCall_ji"]).apply(null,arguments)};var dynCall_jiij=Module["dynCall_jiij"]=function(){return(dynCall_jiij=Module["dynCall_jiij"]=Module["asm"]["dynCall_jiij"]).apply(null,arguments)};var dynCall_jij=Module["dynCall_jij"]=function(){return(dynCall_jij=Module["dynCall_jij"]=Module["asm"]["dynCall_jij"]).apply(null,arguments)};var dynCall_vij=Module["dynCall_vij"]=function(){return(dynCall_vij=Module["dynCall_vij"]=Module["asm"]["dynCall_vij"]).apply(null,arguments)};var dynCall_viij=Module["dynCall_viij"]=function(){return(dynCall_viij=Module["dynCall_viij"]=Module["asm"]["dynCall_viij"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["dynCall_jiji"]).apply(null,arguments)};var dynCall_viijii=Module["dynCall_viijii"]=function(){return(dynCall_viijii=Module["dynCall_viijii"]=Module["asm"]["dynCall_viijii"]).apply(null,arguments)};var dynCall_iiiiij=Module["dynCall_iiiiij"]=function(){return(dynCall_iiiiij=Module["dynCall_iiiiij"]=Module["asm"]["dynCall_iiiiij"]).apply(null,arguments)};var dynCall_iiiiijj=Module["dynCall_iiiiijj"]=function(){return(dynCall_iiiiijj=Module["dynCall_iiiiijj"]=Module["asm"]["dynCall_iiiiijj"]).apply(null,arguments)};var dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=function(){return(dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=Module["asm"]["dynCall_iiiiiijj"]).apply(null,arguments)};function invoke_ii(index,a1){var sp=stackSave();try{return getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_i(index){var sp=stackSave();try{return getWasmTableEntry(index)()}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}Module["callMain"]=callMain;Module["abort"]=abort;Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["addFunction"]=addFunction;Module["JSEvents"]=JSEvents;Module["specialHTMLTargets"]=specialHTMLTargets;Module["GL"]=GL;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args=[]){var entryFunction=_main;args.unshift(thisProgram);var argc=args.length;var argv=stackAlloc((argc+1)*4);var argv_ptr=argv>>2;args.forEach(arg=>{HEAP32[argv_ptr++>>>0]=stringToUTF8OnStack(arg)});HEAP32[argv_ptr>>>0]=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(args=arguments_){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;run(); + + + return moduleArg.ready +} + +); +})(); +export default Module; diff --git a/webassembly/events.cpp b/webassembly/events.cpp new file mode 100644 index 0000000..a631bfa --- /dev/null +++ b/webassembly/events.cpp @@ -0,0 +1,405 @@ +// +// Window and input event handling +// +#include +#include +#include +#include "events.h" + +// #define EVENTS_DEBUG + +void EventHandler::windowResizeEvent(int width, int height) +{ + if(width<=0 || height<=0) + { + return; + } + + printf("windowResizeEvnet: %d, %d\n", width, height); + glViewport(0, 0, width, height); + mCamera.setWindowSize(width, height); + + m_InteractionMode = (int)MODE_PAN; +} + +SDL_Renderer* EventHandler::GetRenderer() +{ + return m_pRenderer; +} + +void EventHandler::SetInteractionMode(int mode) +{ + m_InteractionMode = mode; +} + +void EventHandler::initWindow(const char* title) +{ + // Create SDL window + /* + mpWindow = + SDL_CreateWindow(title, + SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, + mCamera.windowSize().width, mCamera.windowSize().height, + SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE| SDL_WINDOW_SHOWN); + */ + + SDL_CreateWindowAndRenderer(mCamera.windowSize().width, mCamera.windowSize().height, + SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE| SDL_WINDOW_SHOWN, + &mpWindow, &m_pRenderer); + + + + mWindowID = SDL_GetWindowID(mpWindow); + + printf("Window Created!!!! Width:%d, Height: %d\n", mCamera.windowSize().width, mCamera.windowSize().height); + + // Create OpenGLES 2 context on SDL window + SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_ES); + SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 2); + SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 0); + SDL_GL_SetSwapInterval(1); + SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); + SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24); + SDL_GLContext glc = SDL_GL_CreateContext(mpWindow); + + // Set clear color to black + glClearColor(1.0f, 1.0f, 1.0f, 1.0f); + + // Initialize viewport + windowResizeEvent(mCamera.windowSize().width, mCamera.windowSize().height); + + m_nEventType = 0; + + m_fDeltaX = 0; + m_fDeltaY = 0; +} + +void EventHandler::swapWindow() +{ + SDL_GL_SwapWindow(mpWindow); +} + +void EventHandler::zoom(float fDelta) +{ + //float zoomDelta = mouseWheelDown ? -cMouseWheelZoomDelta : cMouseWheelZoomDelta; + + float zoomDelta = 0.0f; + + if(fDelta>0) + { + zoomDelta = -cMouseWheelZoomDelta; + } + else + { + zoomDelta = cMouseWheelZoomDelta; + } + mCamera.setZoomDelta(zoomDelta); + +} + +void EventHandler::zoomEventMouse(bool mouseWheelDown, int x, int y) +{ + float preZoomWorldX, preZoomWorldY; + mCamera.windowToWorldCoords(mMousePositionX, mMousePositionY, preZoomWorldX, preZoomWorldY); + + // Zoom by scaling up/down in 0.05 increments + float zoomDelta = mouseWheelDown ? -cMouseWheelZoomDelta : cMouseWheelZoomDelta; + mCamera.setZoomDelta(zoomDelta); + + // Zoom to point: Keep the world coords under mouse position the same before and after the zoom + float postZoomWorldX, postZoomWorldY; + mCamera.windowToWorldCoords(mMousePositionX, mMousePositionY, postZoomWorldX, postZoomWorldY); + Vec2 deltaWorld = { postZoomWorldX - preZoomWorldX, postZoomWorldY - preZoomWorldY }; + mCamera.setPanDelta (deltaWorld); +} + +void EventHandler::zoomEventPinch (float pinchDist, float pinchX, float pinchY) +{ + float preZoomWorldX, preZoomWorldY; + mCamera.normWindowToWorldCoords(pinchX, pinchY, preZoomWorldX, preZoomWorldY); + + // Zoom in/out by positive/negative mPinch distance + float zoomDelta = pinchDist * cPinchScale; + mCamera.setZoomDelta(zoomDelta); + + // Zoom to point: Keep the world coords under pinch position the same before and after the zoom + float postZoomWorldX, postZoomWorldY; + mCamera.normWindowToWorldCoords(pinchX, pinchY, postZoomWorldX, postZoomWorldY); + Vec2 deltaWorld = { postZoomWorldX - preZoomWorldX, postZoomWorldY - preZoomWorldY }; + mCamera.setPanDelta (deltaWorld); +} + +void EventHandler::SetMouseButtonDownPosition(int x, int y) +{ + mMouseButtonDownX = x; + mMouseButtonDownY = y; + + mMouseButtonDown = true; + + mCamera.setBasePan(); + +} + +void EventHandler::SetMouseButtonUpPosition(int x, int y) +{ + m_nEventType = 3; + + mMouseButtonDown = false; +} + +void EventHandler::panEventMouse(int x, int y) +{ + m_nEventType = 1; + + int deltaX = mCamera.windowSize().width / 2 + (x - mMouseButtonDownX), + deltaY = mCamera.windowSize().height / 2 + (y - mMouseButtonDownY); + + if(m_InteractionMode&InteractionMode::MODE_WIDTHLEVEL) + { + m_fDeltaX = x - mMouseButtonDownX; + m_fDeltaY = y - mMouseButtonDownY; + + return; + } + + + float deviceX, deviceY; + mCamera.windowToDeviceCoords(deltaX, deltaY, deviceX, deviceY); + + + Vec2 pan = { mCamera.basePan().x + deviceX / mCamera.zoom(), + mCamera.basePan().y + deviceY / mCamera.zoom() / mCamera.aspect() }; + mCamera.setPan(pan); + /* + int deltaX = mCamera.windowSize().width / 2 + (x - mMouseButtonDownX), + deltaY = mCamera.windowSize().height / 2 + (y - mMouseButtonDownY); + + m_nEventType = 1; + m_fDeltaX = x - mMouseButtonDownX; + m_fDeltaY = y - mMouseButtonDownY; + + return; + float deviceX, deviceY; + mCamera.windowToDeviceCoords(deltaX, deltaY, deviceX, deviceY); + + Vec2 pan = { mCamera.basePan().x + deviceX / mCamera.zoom(), + mCamera.basePan().y + deviceY / mCamera.zoom() / mCamera.aspect() }; + mCamera.setPan(pan); + */ +} + +void EventHandler::panEventFinger(float x, float y) +{ + m_nEventType = 2; + + if(m_InteractionMode&InteractionMode::MODE_WIDTHLEVEL) + { + int nWidth = mCamera.windowSize().width; + int nHeight = mCamera.windowSize().height; + m_fDeltaX = (x - mFingerDownX)*nWidth; + m_fDeltaY = (y - mFingerDownY)*nHeight; + + return; + } + + + float deltaX = 0.5f + (x - mFingerDownX), + deltaY = 0.5f + (y - mFingerDownY); + + float deviceX, deviceY; + mCamera.normWindowToDeviceCoords(deltaX, deltaY, deviceX, deviceY); + + Vec2 pan = { mCamera.basePan().x + deviceX / mCamera.zoom(), + mCamera.basePan().y + deviceY / mCamera.zoom() / mCamera.aspect() }; + mCamera.setPan(pan); + + /* + float deltaX = 0.5f + (x - mFingerDownX), + deltaY = 0.5f + (y - mFingerDownY); + + m_nEventType = 2; + + int nWidth = mCamera.windowSize().width; + int nHeight = mCamera.windowSize().height; + m_fDeltaX = (x - mFingerDownX)*nWidth; + m_fDeltaY = (y - mFingerDownY)*nHeight; + + return; + + float deviceX, deviceY; + mCamera.normWindowToDeviceCoords(deltaX, deltaY, deviceX, deviceY); + + Vec2 pan = { mCamera.basePan().x + deviceX / mCamera.zoom(), + mCamera.basePan().y + deviceY / mCamera.zoom() / mCamera.aspect() }; + mCamera.setPan(pan); + */ +} + +int EventHandler::GetEventType() +{ + return m_nEventType; +} + +float EventHandler::GetDeltaX() +{ + return m_fDeltaX; +} + +float EventHandler::GetDeltaY() +{ + return m_fDeltaY; +} + +void EventHandler::processEvents() +{ + // Handle events + SDL_Event event; + while (SDL_PollEvent(&event)) + { + switch (event.type) + { + case SDL_QUIT: + std::terminate(); + break; + + case SDL_WINDOWEVENT: + { + if (event.window.windowID == mWindowID + && event.window.event == SDL_WINDOWEVENT_SIZE_CHANGED) + { + int width = event.window.data1, height = event.window.data2; + windowResizeEvent(width, height); + } + break; + } + + case SDL_MOUSEWHEEL: + { + // SDL_MOUSEWHEEL regression? + // m->y no longer reliable (often y is 0 when mouse wheel is spun up or down), use m->preciseY instead + SDL_MouseWheelEvent *m = (SDL_MouseWheelEvent*)&event; + #ifdef EVENTS_DEBUG + printf ("SDL_MOUSEWHEEL= x,y=%d,%d preciseX,preciseY=%f,%f\n", m->x, m->y, m->preciseX, m->preciseY); + #endif + bool mouseWheelDown = (m->preciseY < 0.0); + + if(m_InteractionMode&InteractionMode::MODE_SCROLL) + { + zoomEventMouse(mouseWheelDown, mMousePositionX, mMousePositionY); + } + break; + } + + case SDL_MOUSEMOTION: + { + SDL_MouseMotionEvent *m = (SDL_MouseMotionEvent*)&event; + mMousePositionX = m->x; + mMousePositionY = m->y; + if (mMouseButtonDown && !mFingerDown && !mPinch) + panEventMouse(mMousePositionX, mMousePositionY); + break; + } + + case SDL_MOUSEBUTTONDOWN: + { + SDL_MouseButtonEvent *m = (SDL_MouseButtonEvent*)&event; + if (m->button == SDL_BUTTON_LEFT && !mFingerDown && !mPinch) + { + mMouseButtonDown = true; + mMouseButtonDownX = m->x; + mMouseButtonDownY = m->y; + mCamera.setBasePan(); + } + + if (m->button == SDL_BUTTON_RIGHT && !mFingerDown && !mPinch) + { + printf("C++: 오른쪽 마우스 버튼이 눌렸습니다! 좌표: x=%d, y=%d\n", m->x, m->y); + + //mMouseButtonDown = true; + //mMouseButtonDownX = m->x; + //mMouseButtonDownY = m->y; + //mCamera.setBasePan(); + } + + + + break; + } + + case SDL_MOUSEBUTTONUP: + { + SDL_MouseButtonEvent *m = (SDL_MouseButtonEvent*)&event; + if (m->button == SDL_BUTTON_LEFT) + { + mMouseButtonDown = false; + + m_nEventType = 3; + } + break; + } + + case SDL_FINGERMOTION: + if (mFingerDown) + { + SDL_TouchFingerEvent *m = (SDL_TouchFingerEvent*)&event; + + // Finger down and finger moving must match + if (m->fingerId == mFingerDownId) + panEventFinger(m->x, m->y); + } + else + { + + } + break; + + case SDL_FINGERDOWN: + if (!mPinch) + { + // Finger already down means multiple fingers, which is handled by multigesture event + if (mFingerDown) + mFingerDown = false; + else + { + SDL_TouchFingerEvent *m = (SDL_TouchFingerEvent*)&event; + + mFingerDown = true; + mFingerDownX = m->x; + mFingerDownY = m->y; + mFingerDownId = m->fingerId; + mCamera.setBasePan(); + } + } + break; + + case SDL_MULTIGESTURE: + { + SDL_MultiGestureEvent *m = (SDL_MultiGestureEvent*)&event; + if (m->numFingers == 2 && fabs(m->dDist) >= cPinchZoomThreshold) + { + mPinch = true; + mFingerDown = false; + mMouseButtonDown = false; + + if(m_InteractionMode&InteractionMode::MODE_SCROLL) + { + zoomEventPinch(m->dDist, m->x, m->y); + } + } + break; + } + + case SDL_FINGERUP: + m_nEventType = 4; + mFingerDown = false; + mPinch = false; + break; + } + + #ifdef EVENTS_DEBUG + printf ("event=%d mousePos=%d,%d mouseButtonDown=%d fingerDown=%d pinch=%d aspect=%f window=%dx%d\n", + event.type, mMousePositionX, mMousePositionY, mMouseButtonDown, mFingerDown, mPinch, mCamera.aspect(), mCamera.windowSize().width, mCamera.windowSize().height); + printf (" zoom=%f pan=%f,%f\n", mCamera.zoom(), mCamera.pan()[0], mCamera.pan()[1]); + #endif + } +} diff --git a/webassembly/events.h b/webassembly/events.h new file mode 100644 index 0000000..1052ba9 --- /dev/null +++ b/webassembly/events.h @@ -0,0 +1,97 @@ +// +// Window and input event handling +// +#include "camera.h" + +typedef enum _InteractionMode { + MODE_PAN = 0x01, + MODE_WIDTHLEVEL = 0x02, + MODE_ZOOM = 0x04, + MODE_SCROLL = 0x08, +}InteractionMode; + + +class EventHandler +{ +public: + EventHandler(const char* windowTitle); + + void processEvents(); + Camera& camera() { return mCamera; } + void swapWindow(); + + int GetEventType(); + + float GetDeltaX(); + float GetDeltaY(); + + SDL_Renderer* GetRenderer(); + + void SetInteractionMode(int mode); + + void SetMouseButtonDownPosition(int x, int y); + void SetMouseButtonUpPosition(int x, int y); + + +public: + float m_fDeltaX; + float m_fDeltaY; + int m_nEventType; + int m_InteractionMode; + // Camera + Camera mCamera; + + SDL_Renderer* m_pRenderer; + // Window + SDL_Window* mpWindow; + Uint32 mWindowID; + void windowResizeEvent(int width, int height); + void initWindow(const char* title); + + // Mouse input + const float cMouseWheelZoomDelta; + bool mMouseButtonDown; + int mMouseButtonDownX, mMouseButtonDownY; + int mMousePositionX, mMousePositionY; + + // Finger input + bool mFingerDown; + float mFingerDownX, mFingerDownY; + long long mFingerDownId; + + // Pinch input + const float cPinchZoomThreshold, cPinchScale; + bool mPinch; + + void zoom(float fDelta); + + // Events + void zoomEventMouse(bool mouseWheelDown, int x, int y); + void zoomEventPinch (float pinchDist, float pinchX, float pinchY); + void panEventMouse(int x, int y); + void panEventFinger(float x, float y); +}; + +inline EventHandler::EventHandler(const char* windowTitle) + // Window + : mpWindow (nullptr) + , mWindowID (0) + + // Mouse input + , cMouseWheelZoomDelta (0.05f) + , mMouseButtonDown (false) + , mMouseButtonDownX (0), mMouseButtonDownY (0) + , mMousePositionX (0), mMousePositionY (0) + + // Finger input + , mFingerDown (false) + , mFingerDownX (0.0f), mFingerDownY (0.0f) + , mFingerDownId (0) + + // Pinch input + , cPinchZoomThreshold (0.001f) + , cPinchScale (8.0f) + , mPinch (false) +{ + initWindow(windowTitle); +} diff --git a/webassembly/ffmpeg_mod.cc b/webassembly/ffmpeg_mod.cc new file mode 100644 index 0000000..ac1806b --- /dev/null +++ b/webassembly/ffmpeg_mod.cc @@ -0,0 +1,719 @@ +// +// Emscripten/SDL2/OpenGLES2 sample that demonstrates simple geometry and shaders, mouse and touch input, and window resizing +// +// Setup: +// Install emscripten: http://kripken.github.io/emscripten-site/docs/getting_started/downloads.html +// +// Build: +// emcc -std=c++11 hello_triangle.cpp events.cpp camera.cpp -s USE_SDL=2 -s FULL_ES2=1 -s WASM=0 -o hello_triangle.html +// +// Run: +// emrun hello_triangle.html +// +// Result: +// A colorful triangle. Left mouse pans, mouse wheel zooms in/out. Window is resizable. +// + +#ifdef __EMSCRIPTEN__ +#include +#endif + +#include +#include +//#include +//#include + +#include + + +#include "events.h" + +extern "C" { +#include "libavutil/avstring.h" +#include "libavutil/channel_layout.h" +#include "libavutil/eval.h" +#include "libavutil/mathematics.h" +#include "libavutil/pixdesc.h" +#include "libavutil/imgutils.h" +#include "libavutil/dict.h" +#include "libavutil/fifo.h" +#include "libavutil/parseutils.h" +#include "libavutil/samplefmt.h" +#include "libavutil/time.h" +#include "libavutil/bprint.h" +#include "libavformat/avformat.h" +#include "libavdevice/avdevice.h" +#include "libswscale/swscale.h" +#include "libavutil/opt.h" +#include "libavcodec/avfft.h" +#include "libavcodec/avcodec.h" +#include "libswresample/swresample.h" + +} + +typedef void (*callback_UpdateDcmImage) (); +callback_UpdateDcmImage callback_UpdateDcmImageComplete = NULL; + + +uint8_t* g_pImageData = NULL; + +SwsContext *img_convert_ctx = NULL; +AVFormatContext* format_ctx = NULL; +AVCodecContext* codec_ctx = NULL; +int video_stream_index = -1; + +std::string g_strFilename = ""; +bool g_bLoadFile = false; + + + +bool g_bChange = false; + +EventHandler* g_pEventHandler = NULL; + +GLuint textureObj = 0; + +GLuint g_shaderProgramGray16 = 0; +GLuint g_shaderProgramRGB = 0; + +// Vertex shader +GLint g_shaderPanGray16, g_shaderZoomGray16, g_shaderAspectGray16, g_shaderWindowCenterGray16, g_shaderWindowWidthGray16; +GLint g_shaderPanRGB, g_shaderZoomRGB, g_shaderAspectRGB, g_shaderWindowCenterRGB, g_shaderWindowWidthRGB; + +int g_nColorType = 1; + +int g_nWindowCenter = 0; +int g_nWindowWidth = 0; + +int g_nPrevWindowCenter = 0; +int g_nPrevWindowWidth = 0; + + + +Uint32 g_nCurrentFrame = 0; +int g_nTotalFrames = 0; + +int g_nFrameWidth = 0; +int g_nFrameHeight = 0; + +int g_nSamplesPerPixel = 0; +int g_nBitsAllocated = 0; + +int g_nFrameSizeUncompressed = 0; + +const GLchar* vertexSourceGray16 = +"uniform vec2 pan; \n" +"uniform float zoom; \n" +"uniform float aspect; \n" +"attribute vec4 position; \n" +"attribute vec2 a_texCoord; \n" +"varying vec2 texCoord; \n" +"void main() \n" +"{ \n" +" gl_Position = vec4(position.xyz, 1.0); \n" +" gl_Position.xy += pan; \n" +" gl_Position.xy *= zoom; \n" +" texCoord = a_texCoord; \n" +" gl_Position.y *= aspect; \n" +"} \n"; + + +// Fragment/pixel shader +const GLchar* fragmentSourceGray16 = +"precision mediump float; \n" +"varying vec2 texCoord; \n" +"uniform sampler2D texSampler; \n" +"uniform float fWindowCenter; \n" +"uniform float fWindowWidth; \n" +"void main() \n" +"{ \n" +" vec4 colorOut = texture2D(texSampler, texCoord); \n" +" float fMin = fWindowCenter - fWindowWidth/2.0;\n" +" float fMax = fWindowCenter + fWindowWidth/2.0;\n" +" float fData = ( ((colorOut.a + colorOut.r*256.0)*256.0) - fMin)/(fMax-fMin); \n" +" fData = ( ((colorOut.a + colorOut.a*256.0)*256.0) - fMin)/(fMax-fMin); \n" +" fData = colorOut.r;\n" +" fData = (((colorOut.a * 256.0 + colorOut.r)*256.0) - fMin) / (fMax-fMin);" +" float fTmpData = fMin;\n" +" gl_FragColor = vec4(fData, fData, fData, 1.0); \n" + +"} \n"; + + + +const GLchar* vertexSourceRGB = +"uniform vec2 panRGB; \n" +"uniform float zoomRGB; \n" +"uniform float aspectRGB; \n" +"attribute vec4 position; \n" +"attribute vec2 a_texCoord; \n" +"varying vec2 texCoord; \n" +"void main() \n" +"{ \n" +" gl_Position = vec4(position.xyz, 1.0); \n" +" gl_Position.xy += panRGB; \n" +" gl_Position.xy *= zoomRGB; \n" +" texCoord = a_texCoord; \n" +" gl_Position.y *= aspectRGB; \n" +"} \n"; + + +// Fragment/pixel shader +const GLchar* fragmentSourceRGB = +"precision mediump float; \n" +"varying vec2 texCoord; \n" +"uniform sampler2D texSampler; \n" +"uniform float fWindowCenterRGB; \n" +"uniform float fWindowWidthRGB; \n" +"void main() \n" +"{ \n" +" vec4 colorOut = texture2D(texSampler, texCoord); \n" +" float fMin = fWindowCenterRGB - fWindowWidthRGB/2.0;\n" +" float fMax = fWindowCenterRGB + fWindowWidthRGB/2.0;\n" +" float fTestValue = (fMax - fMin);\n" +" float fR = (colorOut.r*256.0 - fMin) / (fMax-fMin);\n" +" float fG = (colorOut.g*256.0 - fMin) / (fMax-fMin);\n" +" float fB = (colorOut.b*256.0 - fMin) / (fMax-fMin);\n" +" gl_FragColor = vec4(fR, fG, fB, 1.0); \n" +//" gl_FragColor = vec4(colorOut.r/fTestValue, 1.0, 1.0, 1.0); \n" + +"} \n"; + +void updateShader(EventHandler& eventHandler) +{ + Camera& camera = eventHandler.camera(); + + printf("updateShader: g_nColorType=%d\n", g_nColorType); + + + if(g_nColorType==0) + { + glUseProgram(g_shaderProgramGray16); + + glUniform2fv(g_shaderPanGray16, 1, camera.pan()); + glUniform1f(g_shaderZoomGray16, camera.zoom()); + glUniform1f(g_shaderAspectGray16, camera.aspect()); + } + else if(g_nColorType==1) + { + glUseProgram(g_shaderProgramRGB); + + glUniform2fv(g_shaderPanRGB, 1, camera.pan()); + glUniform1f(g_shaderZoomRGB, camera.zoom()); + glUniform1f(g_shaderAspectRGB, camera.aspect()); + } + +} + +void onErrorData(void* arg) +{ + printf("onErrorData %d\n", (int)arg); +} + +void updateTextureGray16(int nWidth, int nHeight, void* pData) +{ + glTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE_ALPHA, nWidth, nHeight, 0, GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE, pData); +} + +void updateTextureRGB(int nWidth, int nHeight, void* pData) +{ + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, nWidth, nHeight, 0, GL_RGB, GL_UNSIGNED_BYTE, pData); +} + +void updateWindowWidthLevelGray16(int nWidth, int nLevel) +{ + glUniform1f(g_shaderWindowCenterGray16, (float)nLevel); + glUniform1f(g_shaderWindowWidthGray16, (float)nWidth); +} + +void updateWindowWidthLevelRGB(int nWidth, int nLevel) +{ + glUniform1f(g_shaderWindowCenterRGB, (float)nLevel); + glUniform1f(g_shaderWindowWidthRGB, (float)nWidth); +} + + + + +void initShaderGray16() +{ + // Create and compile vertex shader + GLuint vertexShader = glCreateShader(GL_VERTEX_SHADER); + glShaderSource(vertexShader, 1, &vertexSourceGray16, NULL); + glCompileShader(vertexShader); + + // Create and compile fragment shader + GLuint fragmentShader = glCreateShader(GL_FRAGMENT_SHADER); + glShaderSource(fragmentShader, 1, &fragmentSourceGray16, NULL); + glCompileShader(fragmentShader); + + // Link vertex and fragment shader into shader program and use it + g_shaderProgramGray16 = glCreateProgram(); + glAttachShader(g_shaderProgramGray16, vertexShader); + glAttachShader(g_shaderProgramGray16, fragmentShader); + glLinkProgram(g_shaderProgramGray16); + //glUseProgram(g_shaderProgramGray16); + + // Get shader variables and initialize them + g_shaderPanGray16 = glGetUniformLocation(g_shaderProgramGray16, "pan"); + g_shaderZoomGray16 = glGetUniformLocation(g_shaderProgramGray16, "zoom"); + g_shaderAspectGray16 = glGetUniformLocation(g_shaderProgramGray16, "aspect"); + g_shaderWindowCenterGray16 = glGetUniformLocation(g_shaderProgramGray16, "fWindowCenter"); + g_shaderWindowWidthGray16 = glGetUniformLocation(g_shaderProgramGray16, "fWindowWidth"); + + glUniform1f(g_shaderWindowCenterGray16, 128.0f); + glUniform1f(g_shaderWindowWidthGray16, 255.0f); + //printf("pan:%d, zoom:%d, aspect:%d, g_shaderWindowCenterGray16:%d, g_shaderWindowWidthGray16:%d\n", g_shaderPanGray16, g_shaderZoomGray16, g_shaderAspectGray16, g_shaderWindowCenterGray16, g_shaderWindowWidthGray16); + + +} + + +void initShaderRGB() +{ + // Create and compile vertex shader + GLuint vertexShader = glCreateShader(GL_VERTEX_SHADER); + glShaderSource(vertexShader, 1, &vertexSourceRGB, NULL); + glCompileShader(vertexShader); + + // Create and compile fragment shader + GLuint fragmentShader = glCreateShader(GL_FRAGMENT_SHADER); + glShaderSource(fragmentShader, 1, &fragmentSourceRGB, NULL); + glCompileShader(fragmentShader); + + // Link vertex and fragment shader into shader program and use it + g_shaderProgramRGB = glCreateProgram(); + //printf("g_shaderProgramRGB: %d\n", g_shaderProgramRGB); + glAttachShader(g_shaderProgramRGB, vertexShader); + glAttachShader(g_shaderProgramRGB, fragmentShader); + glLinkProgram(g_shaderProgramRGB); + //glUseProgram(g_shaderProgramRGB); + + // Get shader variables and initialize them + g_shaderPanRGB = glGetUniformLocation(g_shaderProgramRGB, "panRGB"); + g_shaderZoomRGB = glGetUniformLocation(g_shaderProgramRGB, "zoomRGB"); + g_shaderAspectRGB = glGetUniformLocation(g_shaderProgramRGB, "aspectRGB"); + g_shaderWindowCenterRGB = glGetUniformLocation(g_shaderProgramRGB, "fWindowCenterRGB"); + g_shaderWindowWidthRGB = glGetUniformLocation(g_shaderProgramRGB, "fWindowWidthRGB"); + + glUniform1f(g_shaderWindowCenterRGB, 128.0f); + glUniform1f(g_shaderWindowWidthRGB, 255.0f); + //printf("pan:%d, zoom:%d, aspect:%d, g_shaderWindowCenterRGB:%d, g_shaderWindowWidthRGB:%d\n", g_shaderPanRGB, g_shaderZoomRGB, g_shaderAspectRGB, g_shaderWindowCenterRGB, g_shaderWindowWidthRGB); + + + +} + + + + +GLuint initShader(EventHandler& eventHandler) +{ + initShaderGray16(); + initShaderRGB(); + updateShader(eventHandler); + + g_pEventHandler = &eventHandler; + + return g_shaderProgramGray16; +} + +GLuint g_vbo = 0; + +void initGeometry(GLuint shaderProgram) +{ + // Create vertex buffer object and copy vertex data into it + + //printf("g_vbo: %d\n", g_vbo); + + glGenBuffers(1, &g_vbo); + glBindBuffer(GL_ARRAY_BUFFER, g_vbo); + GLfloat vertices[] = + { + -1.0f, -1.0f, 0.0f, 0.0f, 1.0f, + 1.0f, -1.0f, 0.0f, 1.0f, 1.0f, + -1.0f, 1.0f, 0.0f, 0.0f, 0.0f, + + 1.0f, 1.0f, 0.0f, 1.0f, 0.0f, + -1.0f, 1.0f, 0.0f, 0.0f, 0.0f, + 1.0f, -1.0f, 0.0f, 1.0f, 1.0f, + }; + glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW); + + // Specify the layout of the shader vertex data (positions only, 3 floats) + GLint posAttrib = glGetAttribLocation(shaderProgram, "position"); + glEnableVertexAttribArray(posAttrib); +// glVertexAttribPointer(posAttrib, 3, GL_FLOAT, GL_FALSE, 0, 0); + glVertexAttribPointer(posAttrib, 3, GL_FLOAT, GL_FALSE, 5*sizeof(GLfloat), (GLvoid*)0); +// glEnableVertexAttribArray(0); + + GLint texAttrib = glGetAttribLocation(shaderProgram, "a_texCoord"); + glEnableVertexAttribArray(texAttrib); + glVertexAttribPointer(texAttrib, 2, GL_FLOAT, GL_FALSE, 5*sizeof(GLfloat), (GLvoid*)(3*sizeof(GLfloat))); + //glEnableVertexAttribArray(2); + +// glBindBuffer(GL_ARRAY_BUFFER, 0); + + //printf("initGeometry(%d, %d)\n", posAttrib, texAttrib); + +} + +void PrintError() +{ + int nError = 0; + nError = glGetError(); + printf("Error Code: %d\n", nError); +} + + +void onLoadedData(void* arg, void* buffer, int nSize) +{ + printf("onLoadedData %d, %d\n", (int)arg, nSize); +} + +void initTextureGray16(void* pImageData) +{ + //const Uint16* pImageData = NULL; + //g_pDcmDataset->findAndGetUint16Array(DCM_PixelData, pImageData); + + int w = g_nFrameWidth; + int h = g_nFrameHeight; + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + { + glGenTextures(1, &textureObj); + + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_2D, textureObj); + + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + + + PrintError(); + glTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE_ALPHA, w, h, 0, GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE, pImageData); + + PrintError(); + + GLint nTextureID = glGetUniformLocation(g_shaderProgramGray16, "texSampler"); + //printf("texSampler: %d\n", nTextureID); + + glActiveTexture(GL_TEXTURE0); + + glUniform1i(nTextureID, 0); + + } + +} + + +void initTextureRGB(void* pImageData) +{ + printf("initTextureRGB\n"); + //const Uint8* pImageData = NULL; + //g_pDcmDataset->findAndGetUint8Array(DCM_PixelData, pImageData); + + + int w = g_nFrameWidth; + int h = g_nFrameHeight; + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + GLint format = GL_RGB; + + //printf("textureObj: %d\n", textureObj); + if(textureObj>=0) + { + glBindTexture(GL_TEXTURE_2D, 0); + + glDeleteTextures(1, &textureObj); + } + + glGenTextures(1, &textureObj); + + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_2D, textureObj); + + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + + + PrintError(); + + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, w, h, 0, GL_RGB, GL_UNSIGNED_BYTE, pImageData); + + PrintError(); + + GLint nTextureID = glGetUniformLocation(g_shaderProgramRGB, "texSampler"); + + //printf("texSampler: %d\n", nTextureID); + + glActiveTexture(GL_TEXTURE0); + + glUniform1i(nTextureID, 0); +} + + + +void redraw(EventHandler& eventHandler) +{ + if(g_bChange==true) + { + if(g_nColorType==0) + { + initGeometry(g_shaderProgramGray16); + glUseProgram(g_shaderProgramGray16); + initTextureGray16(g_pImageData); + updateShader(*g_pEventHandler); + } + else if(g_nColorType==1) + { + initGeometry(g_shaderProgramRGB); + glUseProgram(g_shaderProgramRGB); + initTextureRGB(g_pImageData); + updateShader(*g_pEventHandler); + } + g_bChange = false; + } + + if(g_nTotalFrames>0) + { + if(g_nColorType==0) + { + printf("updateTextureRGB: %d\n", g_nCurrentFrame); + updateTextureGray16(g_nFrameWidth, g_nFrameHeight, g_pImageData); + } + else if(g_nColorType==1) + { + //printf("updateTextureRGB: %d, %d, %d, %d, %s\nerror: %s\n", g_nFrameWidth, g_nFrameHeight, g_nCurrentFrame, g_nFrameSizeUncompressed, decompressedColorModel.c_str(), ofTest.text()); + updateTextureRGB(g_nFrameWidth, g_nFrameHeight, g_pImageData); + } + + if(g_nCurrentFrame>=g_nTotalFrames) + { + g_nCurrentFrame = 0; + } + + + } + + + if(g_nColorType==0) + { + updateWindowWidthLevelGray16(g_nPrevWindowWidth, g_nPrevWindowCenter); + } + else if(g_nColorType==1) + { + updateWindowWidthLevelRGB(g_nPrevWindowWidth, g_nPrevWindowCenter); + } + // Clear screen + glClearColor(0.0, 0.0, 0.0, 1.0); + glClear(GL_COLOR_BUFFER_BIT); + + // Draw the vertex buffer + glDrawArrays(GL_TRIANGLES, 0, 6); + + // Swap front/back framebuffers + eventHandler.swapWindow(); +} + +void mainLoop(void* mainLoopArg) +{ + EventHandler& eventHandler = *((EventHandler*)mainLoopArg); + eventHandler.processEvents(); + + if(g_bLoadFile==false && g_strFilename.size()>0) + { + AVDictionary *opts = NULL; + int ret = av_dict_set(&opts, "rtsp_transport", "tcp", 0); + // av_dict_set(&opts, "rtsp_transport", "tcp", 0); + + // av_dict_set(&opts, "timeout", "5000", 0); + + printf("UpdateDcmImage: av_dic_set\n"); + + g_strFilename = "http://localhost:5173/playlist_1080p.m3u8"; + + printf("filename: %s\n", g_strFilename.c_str()); + + //open RTSP + // +// printf("avformat_open_input: start1212121212\n"); + + +// format_ctx = avformat_alloc_context(); + + //if (avformat_open_input(&format_ctx, g_strFilename.c_str(), NULL, &opts) != 0) + if (avformat_open_input(&format_ctx, g_strFilename.c_str(), NULL, NULL) != 0) + { + printf("Error avformat_open_input"); + //return EXIT_FAILURE; + } + + printf("avformat_open_input: finish\n"); + + + av_dict_free(&opts); + + callback_UpdateDcmImageComplete(); + + g_bLoadFile = true; + + } + + int nType = eventHandler.GetEventType(); + if(nType==1 || nType==2) + { + float fDeltaX = eventHandler.GetDeltaX(); + float fDeltaY = eventHandler.GetDeltaY(); + + + g_nPrevWindowCenter = g_nWindowCenter+fDeltaY; + g_nPrevWindowWidth = g_nWindowWidth + fDeltaX; + } + else if(nType==3 || nType==4) + { + g_nWindowCenter = g_nPrevWindowCenter; + g_nWindowWidth = g_nPrevWindowWidth; + + } + + // Update shader if camera changed + if (eventHandler.camera().updated()) + updateShader(eventHandler); + + redraw(eventHandler); +} + +#ifdef __cplusplus +#define EXTERN extern "C" +#else +#define EXTERN +#endif + +EXTERN EMSCRIPTEN_KEEPALIVE int UpdateDcmImage(std::string strURL) +{ + + printf("UpdateDcmImage: %s\n", strURL.c_str()); + + g_strFilename = strURL; + /* + + AVDictionary *opts = NULL; + int ret = av_dict_set(&opts, "rtsp_transport", "tcp", 0); + + printf("UpdateDcmImage: av_dic_set\n"); + + //open RTSP + + if (avformat_open_input(&format_ctx, strURL.c_str(), NULL, &opts) != 0) + { + printf("Error avformat_open_input"); + return EXIT_FAILURE; + } + + + av_dict_free(&opts); + + callback_UpdateDcmImageComplete(); + */ + return 0; +} + +EXTERN EMSCRIPTEN_KEEPALIVE int SetWindowWidthLevel(int nWindowCenter, int nWindowWidth) +{ + printf("New nWindowCenter:%d, nWindowWidth:%d\n", nWindowCenter, nWindowWidth); + + g_nWindowCenter = nWindowCenter; + g_nWindowWidth = nWindowWidth; + + g_nPrevWindowCenter = g_nWindowCenter; + g_nPrevWindowWidth = g_nWindowWidth; + + + return 0; +} + +EXTERN EMSCRIPTEN_KEEPALIVE int GetWindowWidth() +{ + return g_nWindowWidth; +} + +EXTERN EMSCRIPTEN_KEEPALIVE int GetWindowCenter() +{ + return g_nWindowCenter; +} + + +EXTERN EMSCRIPTEN_KEEPALIVE bool SetCallbackUpdateDcmImageComplete(callback_UpdateDcmImage callback_) +{ + printf("SetCallbackUpdateDcmImage: %x\n", callback_); + + callback_UpdateDcmImageComplete = callback_; + return true; +} + + + +int main(int argc, char** argv) +{ + EventHandler eventHandler("dcm image viewer"); + + avdevice_register_all(); + avformat_network_init(); + + if(g_pImageData==NULL) + { + g_pImageData = new uint8_t[1920*1080*3]; + int i=0; + int j=0; + for(i=0 ; i<1080 ; i++) + { + for(j=0 ; j<1920 ; j++) + { + g_pImageData[(i*1920+j)*3+0] = 128; + g_pImageData[(i*1920+j)*3+1] = 128; + g_pImageData[(i*1920+j)*3+2] = 0; + } + } + } + + // Initialize shader and geometry + GLuint shaderProgram = initShader(eventHandler); + + //initTexture(); + + // Start the main loop + void* mainLoopArg = &eventHandler; + +#ifdef __EMSCRIPTEN__ + int fps = 0; // Use browser's requestAnimationFrame + emscripten_set_main_loop_arg(mainLoop, mainLoopArg, fps, true); +#else + while(true) + mainLoop(mainLoopArg); +#endif + + glDeleteTextures(1, &textureObj); + + glBindTexture(GL_TEXTURE_2D, 0); + + if(g_pImageData!=NULL) + { + delete[] g_pImageData; + g_pImageData = NULL; + } + + printf("exit!!!!! c++ dcm_image_mod"); + + return 0; +} diff --git a/webassembly/ffmpeg_mod.sh b/webassembly/ffmpeg_mod.sh new file mode 100755 index 0000000..0885ef8 --- /dev/null +++ b/webassembly/ffmpeg_mod.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +export CFLAGS="-Wall " + +emcc -std=c++17 -s USE_PTHREADS=0 -s PROXY_TO_PTHREAD=0 -s INVOKE_RUN=0 -s MODULARIZE=1 -s EXPORT_ES6=1 -s USE_ES6_IMPORT_META=0 -s ENVIRONMENT='web' -s EXPORTED_RUNTIME_METHODS="['ccall','cwrap','specialHTMLTargets', 'JSEvents', 'GL', 'callMain', 'abort', 'addFunction']" -s EXPORTED_FUNCTIONS="['_malloc', '_main', '_UpdateDcmImage', '_SetWindowWidthLevel', '_GetWindowWidth', '_GetWindowCenter','_SetCallbackUpdateDcmImageComplete']" -s RESERVED_FUNCTION_POINTERS=20 -s MAXIMUM_MEMORY=4096MB -s ALLOW_TABLE_GROWTH=1 -s ALLOW_MEMORY_GROWTH=1 -s USE_SDL=2 -s WASM=1 -s USE_SDL_IMAGE=2 -s SDL2_IMAGE_FORMATS="[""png"", ""jpg""]" -I /work/project/emsdk/upstream/emscripten/cache/sysroot/include /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libavcodec.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libavdevice.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libavfilter.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libavformat.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libavutil.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libswresample.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libswscale.a /work/project/emsdk/upstream/emscripten/cache/sysroot/lib/libz.a camera.cpp events.cpp ffmpeg_mod.cc -O2 -o ffmpeg_mod.js && + cp -av ffmpeg_mod.wasm /work/project/web/svelte/test4/static/. && + sed "1d" ffmpeg_mod.js > tmp.js && awk 'BEGIN{printf "\nexport "} {print}' tmp.js > ffmpeg_mod.js && rm tmp.js && + cp -av ffmpeg_mod.js /work/project/web/svelte/test4/src/ui/. diff --git a/webassembly/nlohmann/json.hpp b/webassembly/nlohmann/json.hpp new file mode 100644 index 0000000..8e7ac20 --- /dev/null +++ b/webassembly/nlohmann/json.hpp @@ -0,0 +1,25629 @@ +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + +/****************************************************************************\ + * Note on documentation: The source files contain links to the online * + * documentation of the public API at https://json.nlohmann.me. This URL * + * contains the most recent documentation and should also be applicable to * + * previous versions; documentation for deprecated functions is not * + * removed, but marked deprecated. See "Generate documentation" section in * + * file docs/README.md. * +\****************************************************************************/ + +#ifndef INCLUDE_NLOHMANN_JSON_HPP_ +#define INCLUDE_NLOHMANN_JSON_HPP_ + +#include // all_of, find, for_each +#include // nullptr_t, ptrdiff_t, size_t +#include // hash, less +#include // initializer_list +#ifndef JSON_NO_IO + #include // istream, ostream +#endif // JSON_NO_IO +#include // random_access_iterator_tag +#include // unique_ptr +#include // string, stoi, to_string +#include // declval, forward, move, pair, swap +#include // vector + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +#include + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +// This file contains all macro definitions affecting or depending on the ABI + +#ifndef JSON_SKIP_LIBRARY_VERSION_CHECK + #if defined(NLOHMANN_JSON_VERSION_MAJOR) && defined(NLOHMANN_JSON_VERSION_MINOR) && defined(NLOHMANN_JSON_VERSION_PATCH) + #if NLOHMANN_JSON_VERSION_MAJOR != 3 || NLOHMANN_JSON_VERSION_MINOR != 12 || NLOHMANN_JSON_VERSION_PATCH != 0 + #warning "Already included a different version of the library!" + #endif + #endif +#endif + +#define NLOHMANN_JSON_VERSION_MAJOR 3 // NOLINT(modernize-macro-to-enum) +#define NLOHMANN_JSON_VERSION_MINOR 12 // NOLINT(modernize-macro-to-enum) +#define NLOHMANN_JSON_VERSION_PATCH 0 // NOLINT(modernize-macro-to-enum) + +#ifndef JSON_DIAGNOSTICS + #define JSON_DIAGNOSTICS 0 +#endif + +#ifndef JSON_DIAGNOSTIC_POSITIONS + #define JSON_DIAGNOSTIC_POSITIONS 0 +#endif + +#ifndef JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON + #define JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON 0 +#endif + +#if JSON_DIAGNOSTICS + #define NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS _diag +#else + #define NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS +#endif + +#if JSON_DIAGNOSTIC_POSITIONS + #define NLOHMANN_JSON_ABI_TAG_DIAGNOSTIC_POSITIONS _dp +#else + #define NLOHMANN_JSON_ABI_TAG_DIAGNOSTIC_POSITIONS +#endif + +#if JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON + #define NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON _ldvcmp +#else + #define NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON +#endif + +#ifndef NLOHMANN_JSON_NAMESPACE_NO_VERSION + #define NLOHMANN_JSON_NAMESPACE_NO_VERSION 0 +#endif + +// Construct the namespace ABI tags component +#define NLOHMANN_JSON_ABI_TAGS_CONCAT_EX(a, b, c) json_abi ## a ## b ## c +#define NLOHMANN_JSON_ABI_TAGS_CONCAT(a, b, c) \ + NLOHMANN_JSON_ABI_TAGS_CONCAT_EX(a, b, c) + +#define NLOHMANN_JSON_ABI_TAGS \ + NLOHMANN_JSON_ABI_TAGS_CONCAT( \ + NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS, \ + NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON, \ + NLOHMANN_JSON_ABI_TAG_DIAGNOSTIC_POSITIONS) + +// Construct the namespace version component +#define NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT_EX(major, minor, patch) \ + _v ## major ## _ ## minor ## _ ## patch +#define NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT(major, minor, patch) \ + NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT_EX(major, minor, patch) + +#if NLOHMANN_JSON_NAMESPACE_NO_VERSION +#define NLOHMANN_JSON_NAMESPACE_VERSION +#else +#define NLOHMANN_JSON_NAMESPACE_VERSION \ + NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT(NLOHMANN_JSON_VERSION_MAJOR, \ + NLOHMANN_JSON_VERSION_MINOR, \ + NLOHMANN_JSON_VERSION_PATCH) +#endif + +// Combine namespace components +#define NLOHMANN_JSON_NAMESPACE_CONCAT_EX(a, b) a ## b +#define NLOHMANN_JSON_NAMESPACE_CONCAT(a, b) \ + NLOHMANN_JSON_NAMESPACE_CONCAT_EX(a, b) + +#ifndef NLOHMANN_JSON_NAMESPACE +#define NLOHMANN_JSON_NAMESPACE \ + nlohmann::NLOHMANN_JSON_NAMESPACE_CONCAT( \ + NLOHMANN_JSON_ABI_TAGS, \ + NLOHMANN_JSON_NAMESPACE_VERSION) +#endif + +#ifndef NLOHMANN_JSON_NAMESPACE_BEGIN +#define NLOHMANN_JSON_NAMESPACE_BEGIN \ + namespace nlohmann \ + { \ + inline namespace NLOHMANN_JSON_NAMESPACE_CONCAT( \ + NLOHMANN_JSON_ABI_TAGS, \ + NLOHMANN_JSON_NAMESPACE_VERSION) \ + { +#endif + +#ifndef NLOHMANN_JSON_NAMESPACE_END +#define NLOHMANN_JSON_NAMESPACE_END \ + } /* namespace (inline namespace) NOLINT(readability/namespace) */ \ + } // namespace nlohmann +#endif + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +#include // transform +#include // array +#include // forward_list +#include // inserter, front_inserter, end +#include // map +#include // string +#include // tuple, make_tuple +#include // is_arithmetic, is_same, is_enum, underlying_type, is_convertible +#include // unordered_map +#include // pair, declval +#include // valarray + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +#include // nullptr_t +#include // exception +#if JSON_DIAGNOSTICS + #include // accumulate +#endif +#include // runtime_error +#include // to_string +#include // vector + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +#include // array +#include // size_t +#include // uint8_t +#include // string + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +#include // declval, pair +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +#include + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +// #include + + +NLOHMANN_JSON_NAMESPACE_BEGIN +namespace detail +{ + +template struct make_void +{ + using type = void; +}; +template using void_t = typename make_void::type; + +} // namespace detail +NLOHMANN_JSON_NAMESPACE_END + + +NLOHMANN_JSON_NAMESPACE_BEGIN +namespace detail +{ + +// https://en.cppreference.com/w/cpp/experimental/is_detected +struct nonesuch +{ + nonesuch() = delete; + ~nonesuch() = delete; + nonesuch(nonesuch const&) = delete; + nonesuch(nonesuch const&&) = delete; + void operator=(nonesuch const&) = delete; + void operator=(nonesuch&&) = delete; +}; + +template class Op, + class... Args> +struct detector +{ + using value_t = std::false_type; + using type = Default; +}; + +template class Op, class... Args> +struct detector>, Op, Args...> +{ + using value_t = std::true_type; + using type = Op; +}; + +template class Op, class... Args> +using is_detected = typename detector::value_t; + +template class Op, class... Args> +struct is_detected_lazy : is_detected { }; + +template class Op, class... Args> +using detected_t = typename detector::type; + +template class Op, class... Args> +using detected_or = detector; + +template class Op, class... Args> +using detected_or_t = typename detected_or::type; + +template class Op, class... Args> +using is_detected_exact = std::is_same>; + +template class Op, class... Args> +using is_detected_convertible = + std::is_convertible, To>; + +} // namespace detail +NLOHMANN_JSON_NAMESPACE_END + +// #include + + +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-FileCopyrightText: 2016 - 2021 Evan Nemerson +// SPDX-License-Identifier: MIT + +/* Hedley - https://nemequ.github.io/hedley + * Created by Evan Nemerson + */ + +#if !defined(JSON_HEDLEY_VERSION) || (JSON_HEDLEY_VERSION < 15) +#if defined(JSON_HEDLEY_VERSION) + #undef JSON_HEDLEY_VERSION +#endif +#define JSON_HEDLEY_VERSION 15 + +#if defined(JSON_HEDLEY_STRINGIFY_EX) + #undef JSON_HEDLEY_STRINGIFY_EX +#endif +#define JSON_HEDLEY_STRINGIFY_EX(x) #x + +#if defined(JSON_HEDLEY_STRINGIFY) + #undef JSON_HEDLEY_STRINGIFY +#endif +#define JSON_HEDLEY_STRINGIFY(x) JSON_HEDLEY_STRINGIFY_EX(x) + +#if defined(JSON_HEDLEY_CONCAT_EX) + #undef JSON_HEDLEY_CONCAT_EX +#endif +#define JSON_HEDLEY_CONCAT_EX(a,b) a##b + +#if defined(JSON_HEDLEY_CONCAT) + #undef JSON_HEDLEY_CONCAT +#endif +#define JSON_HEDLEY_CONCAT(a,b) JSON_HEDLEY_CONCAT_EX(a,b) + +#if defined(JSON_HEDLEY_CONCAT3_EX) + #undef JSON_HEDLEY_CONCAT3_EX +#endif +#define JSON_HEDLEY_CONCAT3_EX(a,b,c) a##b##c + +#if defined(JSON_HEDLEY_CONCAT3) + #undef JSON_HEDLEY_CONCAT3 +#endif +#define JSON_HEDLEY_CONCAT3(a,b,c) JSON_HEDLEY_CONCAT3_EX(a,b,c) + +#if defined(JSON_HEDLEY_VERSION_ENCODE) + #undef JSON_HEDLEY_VERSION_ENCODE +#endif +#define JSON_HEDLEY_VERSION_ENCODE(major,minor,revision) (((major) * 1000000) + ((minor) * 1000) + (revision)) + +#if defined(JSON_HEDLEY_VERSION_DECODE_MAJOR) + #undef JSON_HEDLEY_VERSION_DECODE_MAJOR +#endif +#define JSON_HEDLEY_VERSION_DECODE_MAJOR(version) ((version) / 1000000) + +#if defined(JSON_HEDLEY_VERSION_DECODE_MINOR) + #undef JSON_HEDLEY_VERSION_DECODE_MINOR +#endif +#define JSON_HEDLEY_VERSION_DECODE_MINOR(version) (((version) % 1000000) / 1000) + +#if defined(JSON_HEDLEY_VERSION_DECODE_REVISION) + #undef JSON_HEDLEY_VERSION_DECODE_REVISION +#endif +#define JSON_HEDLEY_VERSION_DECODE_REVISION(version) ((version) % 1000) + +#if defined(JSON_HEDLEY_GNUC_VERSION) + #undef JSON_HEDLEY_GNUC_VERSION +#endif +#if defined(__GNUC__) && defined(__GNUC_PATCHLEVEL__) + #define JSON_HEDLEY_GNUC_VERSION JSON_HEDLEY_VERSION_ENCODE(__GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__) +#elif defined(__GNUC__) + #define JSON_HEDLEY_GNUC_VERSION JSON_HEDLEY_VERSION_ENCODE(__GNUC__, __GNUC_MINOR__, 0) +#endif + +#if defined(JSON_HEDLEY_GNUC_VERSION_CHECK) + #undef JSON_HEDLEY_GNUC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_GNUC_VERSION) + #define JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_GNUC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_MSVC_VERSION) + #undef JSON_HEDLEY_MSVC_VERSION +#endif +#if defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 140000000) && !defined(__ICL) + #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_FULL_VER / 10000000, (_MSC_FULL_VER % 10000000) / 100000, (_MSC_FULL_VER % 100000) / 100) +#elif defined(_MSC_FULL_VER) && !defined(__ICL) + #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_FULL_VER / 1000000, (_MSC_FULL_VER % 1000000) / 10000, (_MSC_FULL_VER % 10000) / 10) +#elif defined(_MSC_VER) && !defined(__ICL) + #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_VER / 100, _MSC_VER % 100, 0) +#endif + +#if defined(JSON_HEDLEY_MSVC_VERSION_CHECK) + #undef JSON_HEDLEY_MSVC_VERSION_CHECK +#endif +#if !defined(JSON_HEDLEY_MSVC_VERSION) + #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (0) +#elif defined(_MSC_VER) && (_MSC_VER >= 1400) + #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_FULL_VER >= ((major * 10000000) + (minor * 100000) + (patch))) +#elif defined(_MSC_VER) && (_MSC_VER >= 1200) + #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_FULL_VER >= ((major * 1000000) + (minor * 10000) + (patch))) +#else + #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_VER >= ((major * 100) + (minor))) +#endif + +#if defined(JSON_HEDLEY_INTEL_VERSION) + #undef JSON_HEDLEY_INTEL_VERSION +#endif +#if defined(__INTEL_COMPILER) && defined(__INTEL_COMPILER_UPDATE) && !defined(__ICL) + #define JSON_HEDLEY_INTEL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER / 100, __INTEL_COMPILER % 100, __INTEL_COMPILER_UPDATE) +#elif defined(__INTEL_COMPILER) && !defined(__ICL) + #define JSON_HEDLEY_INTEL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER / 100, __INTEL_COMPILER % 100, 0) +#endif + +#if defined(JSON_HEDLEY_INTEL_VERSION_CHECK) + #undef JSON_HEDLEY_INTEL_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_INTEL_VERSION) + #define JSON_HEDLEY_INTEL_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_INTEL_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_INTEL_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_INTEL_CL_VERSION) + #undef JSON_HEDLEY_INTEL_CL_VERSION +#endif +#if defined(__INTEL_COMPILER) && defined(__INTEL_COMPILER_UPDATE) && defined(__ICL) + #define JSON_HEDLEY_INTEL_CL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER, __INTEL_COMPILER_UPDATE, 0) +#endif + +#if defined(JSON_HEDLEY_INTEL_CL_VERSION_CHECK) + #undef JSON_HEDLEY_INTEL_CL_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_INTEL_CL_VERSION) + #define JSON_HEDLEY_INTEL_CL_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_INTEL_CL_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_INTEL_CL_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_PGI_VERSION) + #undef JSON_HEDLEY_PGI_VERSION +#endif +#if defined(__PGI) && defined(__PGIC__) && defined(__PGIC_MINOR__) && defined(__PGIC_PATCHLEVEL__) + #define JSON_HEDLEY_PGI_VERSION JSON_HEDLEY_VERSION_ENCODE(__PGIC__, __PGIC_MINOR__, __PGIC_PATCHLEVEL__) +#endif + +#if defined(JSON_HEDLEY_PGI_VERSION_CHECK) + #undef JSON_HEDLEY_PGI_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_PGI_VERSION) + #define JSON_HEDLEY_PGI_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_PGI_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_PGI_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_SUNPRO_VERSION) + #undef JSON_HEDLEY_SUNPRO_VERSION +#endif +#if defined(__SUNPRO_C) && (__SUNPRO_C > 0x1000) + #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((((__SUNPRO_C >> 16) & 0xf) * 10) + ((__SUNPRO_C >> 12) & 0xf), (((__SUNPRO_C >> 8) & 0xf) * 10) + ((__SUNPRO_C >> 4) & 0xf), (__SUNPRO_C & 0xf) * 10) +#elif defined(__SUNPRO_C) + #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((__SUNPRO_C >> 8) & 0xf, (__SUNPRO_C >> 4) & 0xf, (__SUNPRO_C) & 0xf) +#elif defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x1000) + #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((((__SUNPRO_CC >> 16) & 0xf) * 10) + ((__SUNPRO_CC >> 12) & 0xf), (((__SUNPRO_CC >> 8) & 0xf) * 10) + ((__SUNPRO_CC >> 4) & 0xf), (__SUNPRO_CC & 0xf) * 10) +#elif defined(__SUNPRO_CC) + #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((__SUNPRO_CC >> 8) & 0xf, (__SUNPRO_CC >> 4) & 0xf, (__SUNPRO_CC) & 0xf) +#endif + +#if defined(JSON_HEDLEY_SUNPRO_VERSION_CHECK) + #undef JSON_HEDLEY_SUNPRO_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_SUNPRO_VERSION) + #define JSON_HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_SUNPRO_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION) + #undef JSON_HEDLEY_EMSCRIPTEN_VERSION +#endif +#if defined(__EMSCRIPTEN__) + #define JSON_HEDLEY_EMSCRIPTEN_VERSION JSON_HEDLEY_VERSION_ENCODE(__EMSCRIPTEN_major__, __EMSCRIPTEN_minor__, __EMSCRIPTEN_tiny__) +#endif + +#if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK) + #undef JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION) + #define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_EMSCRIPTEN_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_ARM_VERSION) + #undef JSON_HEDLEY_ARM_VERSION +#endif +#if defined(__CC_ARM) && defined(__ARMCOMPILER_VERSION) + #define JSON_HEDLEY_ARM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ARMCOMPILER_VERSION / 1000000, (__ARMCOMPILER_VERSION % 1000000) / 10000, (__ARMCOMPILER_VERSION % 10000) / 100) +#elif defined(__CC_ARM) && defined(__ARMCC_VERSION) + #define JSON_HEDLEY_ARM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ARMCC_VERSION / 1000000, (__ARMCC_VERSION % 1000000) / 10000, (__ARMCC_VERSION % 10000) / 100) +#endif + +#if defined(JSON_HEDLEY_ARM_VERSION_CHECK) + #undef JSON_HEDLEY_ARM_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_ARM_VERSION) + #define JSON_HEDLEY_ARM_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_ARM_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_ARM_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_IBM_VERSION) + #undef JSON_HEDLEY_IBM_VERSION +#endif +#if defined(__ibmxl__) + #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ibmxl_version__, __ibmxl_release__, __ibmxl_modification__) +#elif defined(__xlC__) && defined(__xlC_ver__) + #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__xlC__ >> 8, __xlC__ & 0xff, (__xlC_ver__ >> 8) & 0xff) +#elif defined(__xlC__) + #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__xlC__ >> 8, __xlC__ & 0xff, 0) +#endif + +#if defined(JSON_HEDLEY_IBM_VERSION_CHECK) + #undef JSON_HEDLEY_IBM_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_IBM_VERSION) + #define JSON_HEDLEY_IBM_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_IBM_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_IBM_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_VERSION) + #undef JSON_HEDLEY_TI_VERSION +#endif +#if \ + defined(__TI_COMPILER_VERSION__) && \ + ( \ + defined(__TMS470__) || defined(__TI_ARM__) || \ + defined(__MSP430__) || \ + defined(__TMS320C2000__) \ + ) +#if (__TI_COMPILER_VERSION__ >= 16000000) + #define JSON_HEDLEY_TI_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif +#endif + +#if defined(JSON_HEDLEY_TI_VERSION_CHECK) + #undef JSON_HEDLEY_TI_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_VERSION) + #define JSON_HEDLEY_TI_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CL2000_VERSION) + #undef JSON_HEDLEY_TI_CL2000_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__TMS320C2000__) + #define JSON_HEDLEY_TI_CL2000_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CL2000_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CL2000_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CL2000_VERSION) + #define JSON_HEDLEY_TI_CL2000_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL2000_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CL2000_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CL430_VERSION) + #undef JSON_HEDLEY_TI_CL430_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__MSP430__) + #define JSON_HEDLEY_TI_CL430_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CL430_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CL430_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CL430_VERSION) + #define JSON_HEDLEY_TI_CL430_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL430_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CL430_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_ARMCL_VERSION) + #undef JSON_HEDLEY_TI_ARMCL_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && (defined(__TMS470__) || defined(__TI_ARM__)) + #define JSON_HEDLEY_TI_ARMCL_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_ARMCL_VERSION_CHECK) + #undef JSON_HEDLEY_TI_ARMCL_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_ARMCL_VERSION) + #define JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_ARMCL_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CL6X_VERSION) + #undef JSON_HEDLEY_TI_CL6X_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__TMS320C6X__) + #define JSON_HEDLEY_TI_CL6X_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CL6X_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CL6X_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CL6X_VERSION) + #define JSON_HEDLEY_TI_CL6X_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL6X_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CL6X_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CL7X_VERSION) + #undef JSON_HEDLEY_TI_CL7X_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__C7000__) + #define JSON_HEDLEY_TI_CL7X_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CL7X_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CL7X_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CL7X_VERSION) + #define JSON_HEDLEY_TI_CL7X_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL7X_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CL7X_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TI_CLPRU_VERSION) + #undef JSON_HEDLEY_TI_CLPRU_VERSION +#endif +#if defined(__TI_COMPILER_VERSION__) && defined(__PRU__) + #define JSON_HEDLEY_TI_CLPRU_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000)) +#endif + +#if defined(JSON_HEDLEY_TI_CLPRU_VERSION_CHECK) + #undef JSON_HEDLEY_TI_CLPRU_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TI_CLPRU_VERSION) + #define JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CLPRU_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_CRAY_VERSION) + #undef JSON_HEDLEY_CRAY_VERSION +#endif +#if defined(_CRAYC) + #if defined(_RELEASE_PATCHLEVEL) + #define JSON_HEDLEY_CRAY_VERSION JSON_HEDLEY_VERSION_ENCODE(_RELEASE_MAJOR, _RELEASE_MINOR, _RELEASE_PATCHLEVEL) + #else + #define JSON_HEDLEY_CRAY_VERSION JSON_HEDLEY_VERSION_ENCODE(_RELEASE_MAJOR, _RELEASE_MINOR, 0) + #endif +#endif + +#if defined(JSON_HEDLEY_CRAY_VERSION_CHECK) + #undef JSON_HEDLEY_CRAY_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_CRAY_VERSION) + #define JSON_HEDLEY_CRAY_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_CRAY_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_CRAY_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_IAR_VERSION) + #undef JSON_HEDLEY_IAR_VERSION +#endif +#if defined(__IAR_SYSTEMS_ICC__) + #if __VER__ > 1000 + #define JSON_HEDLEY_IAR_VERSION JSON_HEDLEY_VERSION_ENCODE((__VER__ / 1000000), ((__VER__ / 1000) % 1000), (__VER__ % 1000)) + #else + #define JSON_HEDLEY_IAR_VERSION JSON_HEDLEY_VERSION_ENCODE(__VER__ / 100, __VER__ % 100, 0) + #endif +#endif + +#if defined(JSON_HEDLEY_IAR_VERSION_CHECK) + #undef JSON_HEDLEY_IAR_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_IAR_VERSION) + #define JSON_HEDLEY_IAR_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_IAR_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_IAR_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_TINYC_VERSION) + #undef JSON_HEDLEY_TINYC_VERSION +#endif +#if defined(__TINYC__) + #define JSON_HEDLEY_TINYC_VERSION JSON_HEDLEY_VERSION_ENCODE(__TINYC__ / 1000, (__TINYC__ / 100) % 10, __TINYC__ % 100) +#endif + +#if defined(JSON_HEDLEY_TINYC_VERSION_CHECK) + #undef JSON_HEDLEY_TINYC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_TINYC_VERSION) + #define JSON_HEDLEY_TINYC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TINYC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_TINYC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_DMC_VERSION) + #undef JSON_HEDLEY_DMC_VERSION +#endif +#if defined(__DMC__) + #define JSON_HEDLEY_DMC_VERSION JSON_HEDLEY_VERSION_ENCODE(__DMC__ >> 8, (__DMC__ >> 4) & 0xf, __DMC__ & 0xf) +#endif + +#if defined(JSON_HEDLEY_DMC_VERSION_CHECK) + #undef JSON_HEDLEY_DMC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_DMC_VERSION) + #define JSON_HEDLEY_DMC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_DMC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_DMC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_COMPCERT_VERSION) + #undef JSON_HEDLEY_COMPCERT_VERSION +#endif +#if defined(__COMPCERT_VERSION__) + #define JSON_HEDLEY_COMPCERT_VERSION JSON_HEDLEY_VERSION_ENCODE(__COMPCERT_VERSION__ / 10000, (__COMPCERT_VERSION__ / 100) % 100, __COMPCERT_VERSION__ % 100) +#endif + +#if defined(JSON_HEDLEY_COMPCERT_VERSION_CHECK) + #undef JSON_HEDLEY_COMPCERT_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_COMPCERT_VERSION) + #define JSON_HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_COMPCERT_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_PELLES_VERSION) + #undef JSON_HEDLEY_PELLES_VERSION +#endif +#if defined(__POCC__) + #define JSON_HEDLEY_PELLES_VERSION JSON_HEDLEY_VERSION_ENCODE(__POCC__ / 100, __POCC__ % 100, 0) +#endif + +#if defined(JSON_HEDLEY_PELLES_VERSION_CHECK) + #undef JSON_HEDLEY_PELLES_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_PELLES_VERSION) + #define JSON_HEDLEY_PELLES_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_PELLES_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_PELLES_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_MCST_LCC_VERSION) + #undef JSON_HEDLEY_MCST_LCC_VERSION +#endif +#if defined(__LCC__) && defined(__LCC_MINOR__) + #define JSON_HEDLEY_MCST_LCC_VERSION JSON_HEDLEY_VERSION_ENCODE(__LCC__ / 100, __LCC__ % 100, __LCC_MINOR__) +#endif + +#if defined(JSON_HEDLEY_MCST_LCC_VERSION_CHECK) + #undef JSON_HEDLEY_MCST_LCC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_MCST_LCC_VERSION) + #define JSON_HEDLEY_MCST_LCC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_MCST_LCC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_MCST_LCC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_GCC_VERSION) + #undef JSON_HEDLEY_GCC_VERSION +#endif +#if \ + defined(JSON_HEDLEY_GNUC_VERSION) && \ + !defined(__clang__) && \ + !defined(JSON_HEDLEY_INTEL_VERSION) && \ + !defined(JSON_HEDLEY_PGI_VERSION) && \ + !defined(JSON_HEDLEY_ARM_VERSION) && \ + !defined(JSON_HEDLEY_CRAY_VERSION) && \ + !defined(JSON_HEDLEY_TI_VERSION) && \ + !defined(JSON_HEDLEY_TI_ARMCL_VERSION) && \ + !defined(JSON_HEDLEY_TI_CL430_VERSION) && \ + !defined(JSON_HEDLEY_TI_CL2000_VERSION) && \ + !defined(JSON_HEDLEY_TI_CL6X_VERSION) && \ + !defined(JSON_HEDLEY_TI_CL7X_VERSION) && \ + !defined(JSON_HEDLEY_TI_CLPRU_VERSION) && \ + !defined(__COMPCERT__) && \ + !defined(JSON_HEDLEY_MCST_LCC_VERSION) + #define JSON_HEDLEY_GCC_VERSION JSON_HEDLEY_GNUC_VERSION +#endif + +#if defined(JSON_HEDLEY_GCC_VERSION_CHECK) + #undef JSON_HEDLEY_GCC_VERSION_CHECK +#endif +#if defined(JSON_HEDLEY_GCC_VERSION) + #define JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_GCC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch)) +#else + #define JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) (0) +#endif + +#if defined(JSON_HEDLEY_HAS_ATTRIBUTE) + #undef JSON_HEDLEY_HAS_ATTRIBUTE +#endif +#if \ + defined(__has_attribute) && \ + ( \ + (!defined(JSON_HEDLEY_IAR_VERSION) || JSON_HEDLEY_IAR_VERSION_CHECK(8,5,9)) \ + ) +# define JSON_HEDLEY_HAS_ATTRIBUTE(attribute) __has_attribute(attribute) +#else +# define JSON_HEDLEY_HAS_ATTRIBUTE(attribute) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_ATTRIBUTE) + #undef JSON_HEDLEY_GNUC_HAS_ATTRIBUTE +#endif +#if defined(__has_attribute) + #define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_HAS_ATTRIBUTE(attribute) +#else + #define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_ATTRIBUTE) + #undef JSON_HEDLEY_GCC_HAS_ATTRIBUTE +#endif +#if defined(__has_attribute) + #define JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_HAS_ATTRIBUTE(attribute) +#else + #define JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_CPP_ATTRIBUTE) + #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE +#endif +#if \ + defined(__has_cpp_attribute) && \ + defined(__cplusplus) && \ + (!defined(JSON_HEDLEY_SUNPRO_VERSION) || JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0)) + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) __has_cpp_attribute(attribute) +#else + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) (0) +#endif + +#if defined(JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS) + #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS +#endif +#if !defined(__cplusplus) || !defined(__has_cpp_attribute) + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) (0) +#elif \ + !defined(JSON_HEDLEY_PGI_VERSION) && \ + !defined(JSON_HEDLEY_IAR_VERSION) && \ + (!defined(JSON_HEDLEY_SUNPRO_VERSION) || JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0)) && \ + (!defined(JSON_HEDLEY_MSVC_VERSION) || JSON_HEDLEY_MSVC_VERSION_CHECK(19,20,0)) + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) JSON_HEDLEY_HAS_CPP_ATTRIBUTE(ns::attribute) +#else + #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE) + #undef JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE +#endif +#if defined(__has_cpp_attribute) && defined(__cplusplus) + #define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) __has_cpp_attribute(attribute) +#else + #define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE) + #undef JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE +#endif +#if defined(__has_cpp_attribute) && defined(__cplusplus) + #define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) __has_cpp_attribute(attribute) +#else + #define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_BUILTIN) + #undef JSON_HEDLEY_HAS_BUILTIN +#endif +#if defined(__has_builtin) + #define JSON_HEDLEY_HAS_BUILTIN(builtin) __has_builtin(builtin) +#else + #define JSON_HEDLEY_HAS_BUILTIN(builtin) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_BUILTIN) + #undef JSON_HEDLEY_GNUC_HAS_BUILTIN +#endif +#if defined(__has_builtin) + #define JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch) __has_builtin(builtin) +#else + #define JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_BUILTIN) + #undef JSON_HEDLEY_GCC_HAS_BUILTIN +#endif +#if defined(__has_builtin) + #define JSON_HEDLEY_GCC_HAS_BUILTIN(builtin,major,minor,patch) __has_builtin(builtin) +#else + #define JSON_HEDLEY_GCC_HAS_BUILTIN(builtin,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_FEATURE) + #undef JSON_HEDLEY_HAS_FEATURE +#endif +#if defined(__has_feature) + #define JSON_HEDLEY_HAS_FEATURE(feature) __has_feature(feature) +#else + #define JSON_HEDLEY_HAS_FEATURE(feature) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_FEATURE) + #undef JSON_HEDLEY_GNUC_HAS_FEATURE +#endif +#if defined(__has_feature) + #define JSON_HEDLEY_GNUC_HAS_FEATURE(feature,major,minor,patch) __has_feature(feature) +#else + #define JSON_HEDLEY_GNUC_HAS_FEATURE(feature,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_FEATURE) + #undef JSON_HEDLEY_GCC_HAS_FEATURE +#endif +#if defined(__has_feature) + #define JSON_HEDLEY_GCC_HAS_FEATURE(feature,major,minor,patch) __has_feature(feature) +#else + #define JSON_HEDLEY_GCC_HAS_FEATURE(feature,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_EXTENSION) + #undef JSON_HEDLEY_HAS_EXTENSION +#endif +#if defined(__has_extension) + #define JSON_HEDLEY_HAS_EXTENSION(extension) __has_extension(extension) +#else + #define JSON_HEDLEY_HAS_EXTENSION(extension) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_EXTENSION) + #undef JSON_HEDLEY_GNUC_HAS_EXTENSION +#endif +#if defined(__has_extension) + #define JSON_HEDLEY_GNUC_HAS_EXTENSION(extension,major,minor,patch) __has_extension(extension) +#else + #define JSON_HEDLEY_GNUC_HAS_EXTENSION(extension,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_EXTENSION) + #undef JSON_HEDLEY_GCC_HAS_EXTENSION +#endif +#if defined(__has_extension) + #define JSON_HEDLEY_GCC_HAS_EXTENSION(extension,major,minor,patch) __has_extension(extension) +#else + #define JSON_HEDLEY_GCC_HAS_EXTENSION(extension,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE) + #undef JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE +#endif +#if defined(__has_declspec_attribute) + #define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) __has_declspec_attribute(attribute) +#else + #define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE) + #undef JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE +#endif +#if defined(__has_declspec_attribute) + #define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) __has_declspec_attribute(attribute) +#else + #define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE) + #undef JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE +#endif +#if defined(__has_declspec_attribute) + #define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) __has_declspec_attribute(attribute) +#else + #define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_HAS_WARNING) + #undef JSON_HEDLEY_HAS_WARNING +#endif +#if defined(__has_warning) + #define JSON_HEDLEY_HAS_WARNING(warning) __has_warning(warning) +#else + #define JSON_HEDLEY_HAS_WARNING(warning) (0) +#endif + +#if defined(JSON_HEDLEY_GNUC_HAS_WARNING) + #undef JSON_HEDLEY_GNUC_HAS_WARNING +#endif +#if defined(__has_warning) + #define JSON_HEDLEY_GNUC_HAS_WARNING(warning,major,minor,patch) __has_warning(warning) +#else + #define JSON_HEDLEY_GNUC_HAS_WARNING(warning,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_GCC_HAS_WARNING) + #undef JSON_HEDLEY_GCC_HAS_WARNING +#endif +#if defined(__has_warning) + #define JSON_HEDLEY_GCC_HAS_WARNING(warning,major,minor,patch) __has_warning(warning) +#else + #define JSON_HEDLEY_GCC_HAS_WARNING(warning,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if \ + (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) || \ + defined(__clang__) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(18,4,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,7,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(2,0,1) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,0,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(5,0,0) || \ + JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,17) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(8,0,0) || \ + (JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) && defined(__C99_PRAGMA_OPERATOR)) + #define JSON_HEDLEY_PRAGMA(value) _Pragma(#value) +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) + #define JSON_HEDLEY_PRAGMA(value) __pragma(value) +#else + #define JSON_HEDLEY_PRAGMA(value) +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_PUSH) + #undef JSON_HEDLEY_DIAGNOSTIC_PUSH +#endif +#if defined(JSON_HEDLEY_DIAGNOSTIC_POP) + #undef JSON_HEDLEY_DIAGNOSTIC_POP +#endif +#if defined(__clang__) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("clang diagnostic push") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("clang diagnostic pop") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("warning(push)") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("warning(pop)") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("GCC diagnostic push") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("GCC diagnostic pop") +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH __pragma(warning(push)) + #define JSON_HEDLEY_DIAGNOSTIC_POP __pragma(warning(pop)) +#elif JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("push") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("pop") +#elif \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,4,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("diag_push") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("diag_pop") +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,90,0) + #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("warning(push)") + #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("warning(pop)") +#else + #define JSON_HEDLEY_DIAGNOSTIC_PUSH + #define JSON_HEDLEY_DIAGNOSTIC_POP +#endif + +/* JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ is for + HEDLEY INTERNAL USE ONLY. API subject to change without notice. */ +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ +#endif +#if defined(__cplusplus) +# if JSON_HEDLEY_HAS_WARNING("-Wc++98-compat") +# if JSON_HEDLEY_HAS_WARNING("-Wc++17-extensions") +# if JSON_HEDLEY_HAS_WARNING("-Wc++1z-extensions") +# define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \ + _Pragma("clang diagnostic ignored \"-Wc++17-extensions\"") \ + _Pragma("clang diagnostic ignored \"-Wc++1z-extensions\"") \ + xpr \ + JSON_HEDLEY_DIAGNOSTIC_POP +# else +# define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \ + _Pragma("clang diagnostic ignored \"-Wc++17-extensions\"") \ + xpr \ + JSON_HEDLEY_DIAGNOSTIC_POP +# endif +# else +# define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \ + xpr \ + JSON_HEDLEY_DIAGNOSTIC_POP +# endif +# endif +#endif +#if !defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(x) x +#endif + +#if defined(JSON_HEDLEY_CONST_CAST) + #undef JSON_HEDLEY_CONST_CAST +#endif +#if defined(__cplusplus) +# define JSON_HEDLEY_CONST_CAST(T, expr) (const_cast(expr)) +#elif \ + JSON_HEDLEY_HAS_WARNING("-Wcast-qual") || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) +# define JSON_HEDLEY_CONST_CAST(T, expr) (__extension__ ({ \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL \ + ((T) (expr)); \ + JSON_HEDLEY_DIAGNOSTIC_POP \ + })) +#else +# define JSON_HEDLEY_CONST_CAST(T, expr) ((T) (expr)) +#endif + +#if defined(JSON_HEDLEY_REINTERPRET_CAST) + #undef JSON_HEDLEY_REINTERPRET_CAST +#endif +#if defined(__cplusplus) + #define JSON_HEDLEY_REINTERPRET_CAST(T, expr) (reinterpret_cast(expr)) +#else + #define JSON_HEDLEY_REINTERPRET_CAST(T, expr) ((T) (expr)) +#endif + +#if defined(JSON_HEDLEY_STATIC_CAST) + #undef JSON_HEDLEY_STATIC_CAST +#endif +#if defined(__cplusplus) + #define JSON_HEDLEY_STATIC_CAST(T, expr) (static_cast(expr)) +#else + #define JSON_HEDLEY_STATIC_CAST(T, expr) ((T) (expr)) +#endif + +#if defined(JSON_HEDLEY_CPP_CAST) + #undef JSON_HEDLEY_CPP_CAST +#endif +#if defined(__cplusplus) +# if JSON_HEDLEY_HAS_WARNING("-Wold-style-cast") +# define JSON_HEDLEY_CPP_CAST(T, expr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wold-style-cast\"") \ + ((T) (expr)) \ + JSON_HEDLEY_DIAGNOSTIC_POP +# elif JSON_HEDLEY_IAR_VERSION_CHECK(8,3,0) +# define JSON_HEDLEY_CPP_CAST(T, expr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("diag_suppress=Pe137") \ + JSON_HEDLEY_DIAGNOSTIC_POP +# else +# define JSON_HEDLEY_CPP_CAST(T, expr) ((T) (expr)) +# endif +#else +# define JSON_HEDLEY_CPP_CAST(T, expr) (expr) +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wdeprecated-declarations") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("warning(disable:1478 1786)") +#elif JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED __pragma(warning(disable:1478 1786)) +#elif JSON_HEDLEY_PGI_VERSION_CHECK(20,7,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1215,1216,1444,1445") +#elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1215,1444") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED __pragma(warning(disable:4996)) +#elif JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1215,1444") +#elif \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1291,1718") +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) && !defined(__cplusplus) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("error_messages(off,E_DEPRECATED_ATT,E_DEPRECATED_ATT_MESS)") +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) && defined(__cplusplus) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("error_messages(off,symdeprecated,symdeprecated2)") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress=Pe1444,Pe1215") +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,90,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("warn(disable:2241)") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("clang diagnostic ignored \"-Wunknown-pragmas\"") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("warning(disable:161)") +#elif JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS __pragma(warning(disable:161)) +#elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 1675") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("GCC diagnostic ignored \"-Wunknown-pragmas\"") +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS __pragma(warning(disable:4068)) +#elif \ + JSON_HEDLEY_TI_VERSION_CHECK(16,9,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,3,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 163") +#elif JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 163") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress=Pe161") +#elif JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 161") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunknown-attributes") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("clang diagnostic ignored \"-Wunknown-attributes\"") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(17,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("warning(disable:1292)") +#elif JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES __pragma(warning(disable:1292)) +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(19,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES __pragma(warning(disable:5030)) +#elif JSON_HEDLEY_PGI_VERSION_CHECK(20,7,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1097,1098") +#elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1097") +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,14,0) && defined(__cplusplus) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("error_messages(off,attrskipunsup)") +#elif \ + JSON_HEDLEY_TI_VERSION_CHECK(18,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,3,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1173") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress=Pe1097") +#elif JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1097") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wcast-qual") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("clang diagnostic ignored \"-Wcast-qual\"") +#elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("warning(disable:2203 2331)") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("GCC diagnostic ignored \"-Wcast-qual\"") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL +#endif + +#if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION) + #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunused-function") + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION _Pragma("clang diagnostic ignored \"-Wunused-function\"") +#elif JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION _Pragma("GCC diagnostic ignored \"-Wunused-function\"") +#elif JSON_HEDLEY_MSVC_VERSION_CHECK(1,0,0) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION __pragma(warning(disable:4505)) +#elif JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION _Pragma("diag_suppress 3142") +#else + #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION +#endif + +#if defined(JSON_HEDLEY_DEPRECATED) + #undef JSON_HEDLEY_DEPRECATED +#endif +#if defined(JSON_HEDLEY_DEPRECATED_FOR) + #undef JSON_HEDLEY_DEPRECATED_FOR +#endif +#if \ + JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DEPRECATED(since) __declspec(deprecated("Since " # since)) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __declspec(deprecated("Since " #since "; use " #replacement)) +#elif \ + (JSON_HEDLEY_HAS_EXTENSION(attribute_deprecated_with_message) && !defined(JSON_HEDLEY_IAR_VERSION)) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,5,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(18,1,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(18,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,3,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,3,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_DEPRECATED(since) __attribute__((__deprecated__("Since " #since))) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __attribute__((__deprecated__("Since " #since "; use " #replacement))) +#elif defined(__cplusplus) && (__cplusplus >= 201402L) + #define JSON_HEDLEY_DEPRECATED(since) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[deprecated("Since " #since)]]) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[deprecated("Since " #since "; use " #replacement)]]) +#elif \ + JSON_HEDLEY_HAS_ATTRIBUTE(deprecated) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0) + #define JSON_HEDLEY_DEPRECATED(since) __attribute__((__deprecated__)) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __attribute__((__deprecated__)) +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \ + JSON_HEDLEY_PELLES_VERSION_CHECK(6,50,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_DEPRECATED(since) __declspec(deprecated) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __declspec(deprecated) +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_DEPRECATED(since) _Pragma("deprecated") + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) _Pragma("deprecated") +#else + #define JSON_HEDLEY_DEPRECATED(since) + #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) +#endif + +#if defined(JSON_HEDLEY_UNAVAILABLE) + #undef JSON_HEDLEY_UNAVAILABLE +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(warning) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_UNAVAILABLE(available_since) __attribute__((__warning__("Not available until " #available_since))) +#else + #define JSON_HEDLEY_UNAVAILABLE(available_since) +#endif + +#if defined(JSON_HEDLEY_WARN_UNUSED_RESULT) + #undef JSON_HEDLEY_WARN_UNUSED_RESULT +#endif +#if defined(JSON_HEDLEY_WARN_UNUSED_RESULT_MSG) + #undef JSON_HEDLEY_WARN_UNUSED_RESULT_MSG +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(warn_unused_result) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0) && defined(__cplusplus)) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_WARN_UNUSED_RESULT __attribute__((__warn_unused_result__)) + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) __attribute__((__warn_unused_result__)) +#elif (JSON_HEDLEY_HAS_CPP_ATTRIBUTE(nodiscard) >= 201907L) + #define JSON_HEDLEY_WARN_UNUSED_RESULT JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]]) + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard(msg)]]) +#elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE(nodiscard) + #define JSON_HEDLEY_WARN_UNUSED_RESULT JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]]) + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]]) +#elif defined(_Check_return_) /* SAL */ + #define JSON_HEDLEY_WARN_UNUSED_RESULT _Check_return_ + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) _Check_return_ +#else + #define JSON_HEDLEY_WARN_UNUSED_RESULT + #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) +#endif + +#if defined(JSON_HEDLEY_SENTINEL) + #undef JSON_HEDLEY_SENTINEL +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(sentinel) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,4,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_SENTINEL(position) __attribute__((__sentinel__(position))) +#else + #define JSON_HEDLEY_SENTINEL(position) +#endif + +#if defined(JSON_HEDLEY_NO_RETURN) + #undef JSON_HEDLEY_NO_RETURN +#endif +#if JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_NO_RETURN __noreturn +#elif \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_NO_RETURN __attribute__((__noreturn__)) +#elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L + #define JSON_HEDLEY_NO_RETURN _Noreturn +#elif defined(__cplusplus) && (__cplusplus >= 201103L) + #define JSON_HEDLEY_NO_RETURN JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[noreturn]]) +#elif \ + JSON_HEDLEY_HAS_ATTRIBUTE(noreturn) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,2,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0) + #define JSON_HEDLEY_NO_RETURN __attribute__((__noreturn__)) +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) + #define JSON_HEDLEY_NO_RETURN _Pragma("does_not_return") +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_NO_RETURN __declspec(noreturn) +#elif JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,0,0) && defined(__cplusplus) + #define JSON_HEDLEY_NO_RETURN _Pragma("FUNC_NEVER_RETURNS;") +#elif JSON_HEDLEY_COMPCERT_VERSION_CHECK(3,2,0) + #define JSON_HEDLEY_NO_RETURN __attribute((noreturn)) +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(9,0,0) + #define JSON_HEDLEY_NO_RETURN __declspec(noreturn) +#else + #define JSON_HEDLEY_NO_RETURN +#endif + +#if defined(JSON_HEDLEY_NO_ESCAPE) + #undef JSON_HEDLEY_NO_ESCAPE +#endif +#if JSON_HEDLEY_HAS_ATTRIBUTE(noescape) + #define JSON_HEDLEY_NO_ESCAPE __attribute__((__noescape__)) +#else + #define JSON_HEDLEY_NO_ESCAPE +#endif + +#if defined(JSON_HEDLEY_UNREACHABLE) + #undef JSON_HEDLEY_UNREACHABLE +#endif +#if defined(JSON_HEDLEY_UNREACHABLE_RETURN) + #undef JSON_HEDLEY_UNREACHABLE_RETURN +#endif +#if defined(JSON_HEDLEY_ASSUME) + #undef JSON_HEDLEY_ASSUME +#endif +#if \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_ASSUME(expr) __assume(expr) +#elif JSON_HEDLEY_HAS_BUILTIN(__builtin_assume) + #define JSON_HEDLEY_ASSUME(expr) __builtin_assume(expr) +#elif \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0) + #if defined(__cplusplus) + #define JSON_HEDLEY_ASSUME(expr) std::_nassert(expr) + #else + #define JSON_HEDLEY_ASSUME(expr) _nassert(expr) + #endif +#endif +#if \ + (JSON_HEDLEY_HAS_BUILTIN(__builtin_unreachable) && (!defined(JSON_HEDLEY_ARM_VERSION))) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,5,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(18,10,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(13,1,5) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(10,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_UNREACHABLE() __builtin_unreachable() +#elif defined(JSON_HEDLEY_ASSUME) + #define JSON_HEDLEY_UNREACHABLE() JSON_HEDLEY_ASSUME(0) +#endif +#if !defined(JSON_HEDLEY_ASSUME) + #if defined(JSON_HEDLEY_UNREACHABLE) + #define JSON_HEDLEY_ASSUME(expr) JSON_HEDLEY_STATIC_CAST(void, ((expr) ? 1 : (JSON_HEDLEY_UNREACHABLE(), 1))) + #else + #define JSON_HEDLEY_ASSUME(expr) JSON_HEDLEY_STATIC_CAST(void, expr) + #endif +#endif +#if defined(JSON_HEDLEY_UNREACHABLE) + #if \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0) + #define JSON_HEDLEY_UNREACHABLE_RETURN(value) return (JSON_HEDLEY_STATIC_CAST(void, JSON_HEDLEY_ASSUME(0)), (value)) + #else + #define JSON_HEDLEY_UNREACHABLE_RETURN(value) JSON_HEDLEY_UNREACHABLE() + #endif +#else + #define JSON_HEDLEY_UNREACHABLE_RETURN(value) return (value) +#endif +#if !defined(JSON_HEDLEY_UNREACHABLE) + #define JSON_HEDLEY_UNREACHABLE() JSON_HEDLEY_ASSUME(0) +#endif + +JSON_HEDLEY_DIAGNOSTIC_PUSH +#if JSON_HEDLEY_HAS_WARNING("-Wpedantic") + #pragma clang diagnostic ignored "-Wpedantic" +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wc++98-compat-pedantic") && defined(__cplusplus) + #pragma clang diagnostic ignored "-Wc++98-compat-pedantic" +#endif +#if JSON_HEDLEY_GCC_HAS_WARNING("-Wvariadic-macros",4,0,0) + #if defined(__clang__) + #pragma clang diagnostic ignored "-Wvariadic-macros" + #elif defined(JSON_HEDLEY_GCC_VERSION) + #pragma GCC diagnostic ignored "-Wvariadic-macros" + #endif +#endif +#if defined(JSON_HEDLEY_NON_NULL) + #undef JSON_HEDLEY_NON_NULL +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(nonnull) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) + #define JSON_HEDLEY_NON_NULL(...) __attribute__((__nonnull__(__VA_ARGS__))) +#else + #define JSON_HEDLEY_NON_NULL(...) +#endif +JSON_HEDLEY_DIAGNOSTIC_POP + +#if defined(JSON_HEDLEY_PRINTF_FORMAT) + #undef JSON_HEDLEY_PRINTF_FORMAT +#endif +#if defined(__MINGW32__) && JSON_HEDLEY_GCC_HAS_ATTRIBUTE(format,4,4,0) && !defined(__USE_MINGW_ANSI_STDIO) + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(ms_printf, string_idx, first_to_check))) +#elif defined(__MINGW32__) && JSON_HEDLEY_GCC_HAS_ATTRIBUTE(format,4,4,0) && defined(__USE_MINGW_ANSI_STDIO) + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(gnu_printf, string_idx, first_to_check))) +#elif \ + JSON_HEDLEY_HAS_ATTRIBUTE(format) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(__printf__, string_idx, first_to_check))) +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(6,0,0) + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __declspec(vaformat(printf,string_idx,first_to_check)) +#else + #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) +#endif + +#if defined(JSON_HEDLEY_CONSTEXPR) + #undef JSON_HEDLEY_CONSTEXPR +#endif +#if defined(__cplusplus) + #if __cplusplus >= 201103L + #define JSON_HEDLEY_CONSTEXPR JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(constexpr) + #endif +#endif +#if !defined(JSON_HEDLEY_CONSTEXPR) + #define JSON_HEDLEY_CONSTEXPR +#endif + +#if defined(JSON_HEDLEY_PREDICT) + #undef JSON_HEDLEY_PREDICT +#endif +#if defined(JSON_HEDLEY_LIKELY) + #undef JSON_HEDLEY_LIKELY +#endif +#if defined(JSON_HEDLEY_UNLIKELY) + #undef JSON_HEDLEY_UNLIKELY +#endif +#if defined(JSON_HEDLEY_UNPREDICTABLE) + #undef JSON_HEDLEY_UNPREDICTABLE +#endif +#if JSON_HEDLEY_HAS_BUILTIN(__builtin_unpredictable) + #define JSON_HEDLEY_UNPREDICTABLE(expr) __builtin_unpredictable((expr)) +#endif +#if \ + (JSON_HEDLEY_HAS_BUILTIN(__builtin_expect_with_probability) && !defined(JSON_HEDLEY_PGI_VERSION)) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(9,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +# define JSON_HEDLEY_PREDICT(expr, value, probability) __builtin_expect_with_probability( (expr), (value), (probability)) +# define JSON_HEDLEY_PREDICT_TRUE(expr, probability) __builtin_expect_with_probability(!!(expr), 1 , (probability)) +# define JSON_HEDLEY_PREDICT_FALSE(expr, probability) __builtin_expect_with_probability(!!(expr), 0 , (probability)) +# define JSON_HEDLEY_LIKELY(expr) __builtin_expect (!!(expr), 1 ) +# define JSON_HEDLEY_UNLIKELY(expr) __builtin_expect (!!(expr), 0 ) +#elif \ + (JSON_HEDLEY_HAS_BUILTIN(__builtin_expect) && !defined(JSON_HEDLEY_INTEL_CL_VERSION)) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0) && defined(__cplusplus)) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,7,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,27) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +# define JSON_HEDLEY_PREDICT(expr, expected, probability) \ + (((probability) >= 0.9) ? __builtin_expect((expr), (expected)) : (JSON_HEDLEY_STATIC_CAST(void, expected), (expr))) +# define JSON_HEDLEY_PREDICT_TRUE(expr, probability) \ + (__extension__ ({ \ + double hedley_probability_ = (probability); \ + ((hedley_probability_ >= 0.9) ? __builtin_expect(!!(expr), 1) : ((hedley_probability_ <= 0.1) ? __builtin_expect(!!(expr), 0) : !!(expr))); \ + })) +# define JSON_HEDLEY_PREDICT_FALSE(expr, probability) \ + (__extension__ ({ \ + double hedley_probability_ = (probability); \ + ((hedley_probability_ >= 0.9) ? __builtin_expect(!!(expr), 0) : ((hedley_probability_ <= 0.1) ? __builtin_expect(!!(expr), 1) : !!(expr))); \ + })) +# define JSON_HEDLEY_LIKELY(expr) __builtin_expect(!!(expr), 1) +# define JSON_HEDLEY_UNLIKELY(expr) __builtin_expect(!!(expr), 0) +#else +# define JSON_HEDLEY_PREDICT(expr, expected, probability) (JSON_HEDLEY_STATIC_CAST(void, expected), (expr)) +# define JSON_HEDLEY_PREDICT_TRUE(expr, probability) (!!(expr)) +# define JSON_HEDLEY_PREDICT_FALSE(expr, probability) (!!(expr)) +# define JSON_HEDLEY_LIKELY(expr) (!!(expr)) +# define JSON_HEDLEY_UNLIKELY(expr) (!!(expr)) +#endif +#if !defined(JSON_HEDLEY_UNPREDICTABLE) + #define JSON_HEDLEY_UNPREDICTABLE(expr) JSON_HEDLEY_PREDICT(expr, 1, 0.5) +#endif + +#if defined(JSON_HEDLEY_MALLOC) + #undef JSON_HEDLEY_MALLOC +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(malloc) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(12,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_MALLOC __attribute__((__malloc__)) +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) + #define JSON_HEDLEY_MALLOC _Pragma("returns_new_memory") +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_MALLOC __declspec(restrict) +#else + #define JSON_HEDLEY_MALLOC +#endif + +#if defined(JSON_HEDLEY_PURE) + #undef JSON_HEDLEY_PURE +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(pure) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(2,96,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +# define JSON_HEDLEY_PURE __attribute__((__pure__)) +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) +# define JSON_HEDLEY_PURE _Pragma("does_not_write_global_data") +#elif defined(__cplusplus) && \ + ( \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(2,0,1) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) \ + ) +# define JSON_HEDLEY_PURE _Pragma("FUNC_IS_PURE;") +#else +# define JSON_HEDLEY_PURE +#endif + +#if defined(JSON_HEDLEY_CONST) + #undef JSON_HEDLEY_CONST +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(const) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(2,5,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_CONST __attribute__((__const__)) +#elif \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) + #define JSON_HEDLEY_CONST _Pragma("no_side_effect") +#else + #define JSON_HEDLEY_CONST JSON_HEDLEY_PURE +#endif + +#if defined(JSON_HEDLEY_RESTRICT) + #undef JSON_HEDLEY_RESTRICT +#endif +#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && !defined(__cplusplus) + #define JSON_HEDLEY_RESTRICT restrict +#elif \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,4) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,14,0) && defined(__cplusplus)) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) || \ + defined(__clang__) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_RESTRICT __restrict +#elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,3,0) && !defined(__cplusplus) + #define JSON_HEDLEY_RESTRICT _Restrict +#else + #define JSON_HEDLEY_RESTRICT +#endif + +#if defined(JSON_HEDLEY_INLINE) + #undef JSON_HEDLEY_INLINE +#endif +#if \ + (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) || \ + (defined(__cplusplus) && (__cplusplus >= 199711L)) + #define JSON_HEDLEY_INLINE inline +#elif \ + defined(JSON_HEDLEY_GCC_VERSION) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(6,2,0) + #define JSON_HEDLEY_INLINE __inline__ +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(12,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,1,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(3,1,0) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_INLINE __inline +#else + #define JSON_HEDLEY_INLINE +#endif + +#if defined(JSON_HEDLEY_ALWAYS_INLINE) + #undef JSON_HEDLEY_ALWAYS_INLINE +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(always_inline) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0) +# define JSON_HEDLEY_ALWAYS_INLINE __attribute__((__always_inline__)) JSON_HEDLEY_INLINE +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(12,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) +# define JSON_HEDLEY_ALWAYS_INLINE __forceinline +#elif defined(__cplusplus) && \ + ( \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) \ + ) +# define JSON_HEDLEY_ALWAYS_INLINE _Pragma("FUNC_ALWAYS_INLINE;") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) +# define JSON_HEDLEY_ALWAYS_INLINE _Pragma("inline=forced") +#else +# define JSON_HEDLEY_ALWAYS_INLINE JSON_HEDLEY_INLINE +#endif + +#if defined(JSON_HEDLEY_NEVER_INLINE) + #undef JSON_HEDLEY_NEVER_INLINE +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(noinline) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \ + JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \ + (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \ + (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \ + (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \ + JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \ + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) || \ + JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0) + #define JSON_HEDLEY_NEVER_INLINE __attribute__((__noinline__)) +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_NEVER_INLINE __declspec(noinline) +#elif JSON_HEDLEY_PGI_VERSION_CHECK(10,2,0) + #define JSON_HEDLEY_NEVER_INLINE _Pragma("noinline") +#elif JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,0,0) && defined(__cplusplus) + #define JSON_HEDLEY_NEVER_INLINE _Pragma("FUNC_CANNOT_INLINE;") +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) + #define JSON_HEDLEY_NEVER_INLINE _Pragma("inline=never") +#elif JSON_HEDLEY_COMPCERT_VERSION_CHECK(3,2,0) + #define JSON_HEDLEY_NEVER_INLINE __attribute((noinline)) +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(9,0,0) + #define JSON_HEDLEY_NEVER_INLINE __declspec(noinline) +#else + #define JSON_HEDLEY_NEVER_INLINE +#endif + +#if defined(JSON_HEDLEY_PRIVATE) + #undef JSON_HEDLEY_PRIVATE +#endif +#if defined(JSON_HEDLEY_PUBLIC) + #undef JSON_HEDLEY_PUBLIC +#endif +#if defined(JSON_HEDLEY_IMPORT) + #undef JSON_HEDLEY_IMPORT +#endif +#if defined(_WIN32) || defined(__CYGWIN__) +# define JSON_HEDLEY_PRIVATE +# define JSON_HEDLEY_PUBLIC __declspec(dllexport) +# define JSON_HEDLEY_IMPORT __declspec(dllimport) +#else +# if \ + JSON_HEDLEY_HAS_ATTRIBUTE(visibility) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \ + JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \ + ( \ + defined(__TI_EABI__) && \ + ( \ + (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) \ + ) \ + ) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +# define JSON_HEDLEY_PRIVATE __attribute__((__visibility__("hidden"))) +# define JSON_HEDLEY_PUBLIC __attribute__((__visibility__("default"))) +# else +# define JSON_HEDLEY_PRIVATE +# define JSON_HEDLEY_PUBLIC +# endif +# define JSON_HEDLEY_IMPORT extern +#endif + +#if defined(JSON_HEDLEY_NO_THROW) + #undef JSON_HEDLEY_NO_THROW +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(nothrow) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_NO_THROW __attribute__((__nothrow__)) +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(13,1,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) + #define JSON_HEDLEY_NO_THROW __declspec(nothrow) +#else + #define JSON_HEDLEY_NO_THROW +#endif + +#if defined(JSON_HEDLEY_FALL_THROUGH) + #undef JSON_HEDLEY_FALL_THROUGH +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(fallthrough) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(7,0,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_FALL_THROUGH __attribute__((__fallthrough__)) +#elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(clang,fallthrough) + #define JSON_HEDLEY_FALL_THROUGH JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[clang::fallthrough]]) +#elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE(fallthrough) + #define JSON_HEDLEY_FALL_THROUGH JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[fallthrough]]) +#elif defined(__fallthrough) /* SAL */ + #define JSON_HEDLEY_FALL_THROUGH __fallthrough +#else + #define JSON_HEDLEY_FALL_THROUGH +#endif + +#if defined(JSON_HEDLEY_RETURNS_NON_NULL) + #undef JSON_HEDLEY_RETURNS_NON_NULL +#endif +#if \ + JSON_HEDLEY_HAS_ATTRIBUTE(returns_nonnull) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,9,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_RETURNS_NON_NULL __attribute__((__returns_nonnull__)) +#elif defined(_Ret_notnull_) /* SAL */ + #define JSON_HEDLEY_RETURNS_NON_NULL _Ret_notnull_ +#else + #define JSON_HEDLEY_RETURNS_NON_NULL +#endif + +#if defined(JSON_HEDLEY_ARRAY_PARAM) + #undef JSON_HEDLEY_ARRAY_PARAM +#endif +#if \ + defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && \ + !defined(__STDC_NO_VLA__) && \ + !defined(__cplusplus) && \ + !defined(JSON_HEDLEY_PGI_VERSION) && \ + !defined(JSON_HEDLEY_TINYC_VERSION) + #define JSON_HEDLEY_ARRAY_PARAM(name) (name) +#else + #define JSON_HEDLEY_ARRAY_PARAM(name) +#endif + +#if defined(JSON_HEDLEY_IS_CONSTANT) + #undef JSON_HEDLEY_IS_CONSTANT +#endif +#if defined(JSON_HEDLEY_REQUIRE_CONSTEXPR) + #undef JSON_HEDLEY_REQUIRE_CONSTEXPR +#endif +/* JSON_HEDLEY_IS_CONSTEXPR_ is for + HEDLEY INTERNAL USE ONLY. API subject to change without notice. */ +#if defined(JSON_HEDLEY_IS_CONSTEXPR_) + #undef JSON_HEDLEY_IS_CONSTEXPR_ +#endif +#if \ + JSON_HEDLEY_HAS_BUILTIN(__builtin_constant_p) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,19) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \ + JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \ + (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) && !defined(__cplusplus)) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) + #define JSON_HEDLEY_IS_CONSTANT(expr) __builtin_constant_p(expr) +#endif +#if !defined(__cplusplus) +# if \ + JSON_HEDLEY_HAS_BUILTIN(__builtin_types_compatible_p) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \ + JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,4,0) || \ + JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,24) +#if defined(__INTPTR_TYPE__) + #define JSON_HEDLEY_IS_CONSTEXPR_(expr) __builtin_types_compatible_p(__typeof__((1 ? (void*) ((__INTPTR_TYPE__) ((expr) * 0)) : (int*) 0)), int*) +#else + #include + #define JSON_HEDLEY_IS_CONSTEXPR_(expr) __builtin_types_compatible_p(__typeof__((1 ? (void*) ((intptr_t) ((expr) * 0)) : (int*) 0)), int*) +#endif +# elif \ + ( \ + defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) && \ + !defined(JSON_HEDLEY_SUNPRO_VERSION) && \ + !defined(JSON_HEDLEY_PGI_VERSION) && \ + !defined(JSON_HEDLEY_IAR_VERSION)) || \ + (JSON_HEDLEY_HAS_EXTENSION(c_generic_selections) && !defined(JSON_HEDLEY_IAR_VERSION)) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,9,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(17,0,0) || \ + JSON_HEDLEY_IBM_VERSION_CHECK(12,1,0) || \ + JSON_HEDLEY_ARM_VERSION_CHECK(5,3,0) +#if defined(__INTPTR_TYPE__) + #define JSON_HEDLEY_IS_CONSTEXPR_(expr) _Generic((1 ? (void*) ((__INTPTR_TYPE__) ((expr) * 0)) : (int*) 0), int*: 1, void*: 0) +#else + #include + #define JSON_HEDLEY_IS_CONSTEXPR_(expr) _Generic((1 ? (void*) ((intptr_t) * 0) : (int*) 0), int*: 1, void*: 0) +#endif +# elif \ + defined(JSON_HEDLEY_GCC_VERSION) || \ + defined(JSON_HEDLEY_INTEL_VERSION) || \ + defined(JSON_HEDLEY_TINYC_VERSION) || \ + defined(JSON_HEDLEY_TI_ARMCL_VERSION) || \ + JSON_HEDLEY_TI_CL430_VERSION_CHECK(18,12,0) || \ + defined(JSON_HEDLEY_TI_CL2000_VERSION) || \ + defined(JSON_HEDLEY_TI_CL6X_VERSION) || \ + defined(JSON_HEDLEY_TI_CL7X_VERSION) || \ + defined(JSON_HEDLEY_TI_CLPRU_VERSION) || \ + defined(__clang__) +# define JSON_HEDLEY_IS_CONSTEXPR_(expr) ( \ + sizeof(void) != \ + sizeof(*( \ + 1 ? \ + ((void*) ((expr) * 0L) ) : \ +((struct { char v[sizeof(void) * 2]; } *) 1) \ + ) \ + ) \ + ) +# endif +#endif +#if defined(JSON_HEDLEY_IS_CONSTEXPR_) + #if !defined(JSON_HEDLEY_IS_CONSTANT) + #define JSON_HEDLEY_IS_CONSTANT(expr) JSON_HEDLEY_IS_CONSTEXPR_(expr) + #endif + #define JSON_HEDLEY_REQUIRE_CONSTEXPR(expr) (JSON_HEDLEY_IS_CONSTEXPR_(expr) ? (expr) : (-1)) +#else + #if !defined(JSON_HEDLEY_IS_CONSTANT) + #define JSON_HEDLEY_IS_CONSTANT(expr) (0) + #endif + #define JSON_HEDLEY_REQUIRE_CONSTEXPR(expr) (expr) +#endif + +#if defined(JSON_HEDLEY_BEGIN_C_DECLS) + #undef JSON_HEDLEY_BEGIN_C_DECLS +#endif +#if defined(JSON_HEDLEY_END_C_DECLS) + #undef JSON_HEDLEY_END_C_DECLS +#endif +#if defined(JSON_HEDLEY_C_DECL) + #undef JSON_HEDLEY_C_DECL +#endif +#if defined(__cplusplus) + #define JSON_HEDLEY_BEGIN_C_DECLS extern "C" { + #define JSON_HEDLEY_END_C_DECLS } + #define JSON_HEDLEY_C_DECL extern "C" +#else + #define JSON_HEDLEY_BEGIN_C_DECLS + #define JSON_HEDLEY_END_C_DECLS + #define JSON_HEDLEY_C_DECL +#endif + +#if defined(JSON_HEDLEY_STATIC_ASSERT) + #undef JSON_HEDLEY_STATIC_ASSERT +#endif +#if \ + !defined(__cplusplus) && ( \ + (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)) || \ + (JSON_HEDLEY_HAS_FEATURE(c_static_assert) && !defined(JSON_HEDLEY_INTEL_CL_VERSION)) || \ + JSON_HEDLEY_GCC_VERSION_CHECK(6,0,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \ + defined(_Static_assert) \ + ) +# define JSON_HEDLEY_STATIC_ASSERT(expr, message) _Static_assert(expr, message) +#elif \ + (defined(__cplusplus) && (__cplusplus >= 201103L)) || \ + JSON_HEDLEY_MSVC_VERSION_CHECK(16,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) +# define JSON_HEDLEY_STATIC_ASSERT(expr, message) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(static_assert(expr, message)) +#else +# define JSON_HEDLEY_STATIC_ASSERT(expr, message) +#endif + +#if defined(JSON_HEDLEY_NULL) + #undef JSON_HEDLEY_NULL +#endif +#if defined(__cplusplus) + #if __cplusplus >= 201103L + #define JSON_HEDLEY_NULL JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(nullptr) + #elif defined(NULL) + #define JSON_HEDLEY_NULL NULL + #else + #define JSON_HEDLEY_NULL JSON_HEDLEY_STATIC_CAST(void*, 0) + #endif +#elif defined(NULL) + #define JSON_HEDLEY_NULL NULL +#else + #define JSON_HEDLEY_NULL ((void*) 0) +#endif + +#if defined(JSON_HEDLEY_MESSAGE) + #undef JSON_HEDLEY_MESSAGE +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas") +# define JSON_HEDLEY_MESSAGE(msg) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS \ + JSON_HEDLEY_PRAGMA(message msg) \ + JSON_HEDLEY_DIAGNOSTIC_POP +#elif \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) +# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message msg) +#elif JSON_HEDLEY_CRAY_VERSION_CHECK(5,0,0) +# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(_CRI message msg) +#elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) +# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message(msg)) +#elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,0,0) +# define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message(msg)) +#else +# define JSON_HEDLEY_MESSAGE(msg) +#endif + +#if defined(JSON_HEDLEY_WARNING) + #undef JSON_HEDLEY_WARNING +#endif +#if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas") +# define JSON_HEDLEY_WARNING(msg) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS \ + JSON_HEDLEY_PRAGMA(clang warning msg) \ + JSON_HEDLEY_DIAGNOSTIC_POP +#elif \ + JSON_HEDLEY_GCC_VERSION_CHECK(4,8,0) || \ + JSON_HEDLEY_PGI_VERSION_CHECK(18,4,0) || \ + JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) +# define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_PRAGMA(GCC warning msg) +#elif \ + JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) +# define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_PRAGMA(message(msg)) +#else +# define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_MESSAGE(msg) +#endif + +#if defined(JSON_HEDLEY_REQUIRE) + #undef JSON_HEDLEY_REQUIRE +#endif +#if defined(JSON_HEDLEY_REQUIRE_MSG) + #undef JSON_HEDLEY_REQUIRE_MSG +#endif +#if JSON_HEDLEY_HAS_ATTRIBUTE(diagnose_if) +# if JSON_HEDLEY_HAS_WARNING("-Wgcc-compat") +# define JSON_HEDLEY_REQUIRE(expr) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wgcc-compat\"") \ + __attribute__((diagnose_if(!(expr), #expr, "error"))) \ + JSON_HEDLEY_DIAGNOSTIC_POP +# define JSON_HEDLEY_REQUIRE_MSG(expr,msg) \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("clang diagnostic ignored \"-Wgcc-compat\"") \ + __attribute__((diagnose_if(!(expr), msg, "error"))) \ + JSON_HEDLEY_DIAGNOSTIC_POP +# else +# define JSON_HEDLEY_REQUIRE(expr) __attribute__((diagnose_if(!(expr), #expr, "error"))) +# define JSON_HEDLEY_REQUIRE_MSG(expr,msg) __attribute__((diagnose_if(!(expr), msg, "error"))) +# endif +#else +# define JSON_HEDLEY_REQUIRE(expr) +# define JSON_HEDLEY_REQUIRE_MSG(expr,msg) +#endif + +#if defined(JSON_HEDLEY_FLAGS) + #undef JSON_HEDLEY_FLAGS +#endif +#if JSON_HEDLEY_HAS_ATTRIBUTE(flag_enum) && (!defined(__cplusplus) || JSON_HEDLEY_HAS_WARNING("-Wbitfield-enum-conversion")) + #define JSON_HEDLEY_FLAGS __attribute__((__flag_enum__)) +#else + #define JSON_HEDLEY_FLAGS +#endif + +#if defined(JSON_HEDLEY_FLAGS_CAST) + #undef JSON_HEDLEY_FLAGS_CAST +#endif +#if JSON_HEDLEY_INTEL_VERSION_CHECK(19,0,0) +# define JSON_HEDLEY_FLAGS_CAST(T, expr) (__extension__ ({ \ + JSON_HEDLEY_DIAGNOSTIC_PUSH \ + _Pragma("warning(disable:188)") \ + ((T) (expr)); \ + JSON_HEDLEY_DIAGNOSTIC_POP \ + })) +#else +# define JSON_HEDLEY_FLAGS_CAST(T, expr) JSON_HEDLEY_STATIC_CAST(T, expr) +#endif + +#if defined(JSON_HEDLEY_EMPTY_BASES) + #undef JSON_HEDLEY_EMPTY_BASES +#endif +#if \ + (JSON_HEDLEY_MSVC_VERSION_CHECK(19,0,23918) && !JSON_HEDLEY_MSVC_VERSION_CHECK(20,0,0)) || \ + JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) + #define JSON_HEDLEY_EMPTY_BASES __declspec(empty_bases) +#else + #define JSON_HEDLEY_EMPTY_BASES +#endif + +/* Remaining macros are deprecated. */ + +#if defined(JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK) + #undef JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK +#endif +#if defined(__clang__) + #define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major,minor,patch) (0) +#else + #define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if defined(JSON_HEDLEY_CLANG_HAS_ATTRIBUTE) + #undef JSON_HEDLEY_CLANG_HAS_ATTRIBUTE +#endif +#define JSON_HEDLEY_CLANG_HAS_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_ATTRIBUTE(attribute) + +#if defined(JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE) + #undef JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE +#endif +#define JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) + +#if defined(JSON_HEDLEY_CLANG_HAS_BUILTIN) + #undef JSON_HEDLEY_CLANG_HAS_BUILTIN +#endif +#define JSON_HEDLEY_CLANG_HAS_BUILTIN(builtin) JSON_HEDLEY_HAS_BUILTIN(builtin) + +#if defined(JSON_HEDLEY_CLANG_HAS_FEATURE) + #undef JSON_HEDLEY_CLANG_HAS_FEATURE +#endif +#define JSON_HEDLEY_CLANG_HAS_FEATURE(feature) JSON_HEDLEY_HAS_FEATURE(feature) + +#if defined(JSON_HEDLEY_CLANG_HAS_EXTENSION) + #undef JSON_HEDLEY_CLANG_HAS_EXTENSION +#endif +#define JSON_HEDLEY_CLANG_HAS_EXTENSION(extension) JSON_HEDLEY_HAS_EXTENSION(extension) + +#if defined(JSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE) + #undef JSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE +#endif +#define JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) + +#if defined(JSON_HEDLEY_CLANG_HAS_WARNING) + #undef JSON_HEDLEY_CLANG_HAS_WARNING +#endif +#define JSON_HEDLEY_CLANG_HAS_WARNING(warning) JSON_HEDLEY_HAS_WARNING(warning) + +#endif /* !defined(JSON_HEDLEY_VERSION) || (JSON_HEDLEY_VERSION < X) */ + + +// This file contains all internal macro definitions (except those affecting ABI) +// You MUST include macro_unscope.hpp at the end of json.hpp to undef all of them + +// #include + + +// exclude unsupported compilers +#if !defined(JSON_SKIP_UNSUPPORTED_COMPILER_CHECK) + #if defined(__clang__) + #if (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__) < 30400 + #error "unsupported Clang version - see https://github.com/nlohmann/json#supported-compilers" + #endif + #elif defined(__GNUC__) && !(defined(__ICC) || defined(__INTEL_COMPILER)) + #if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) < 40800 + #error "unsupported GCC version - see https://github.com/nlohmann/json#supported-compilers" + #endif + #endif +#endif + +// C++ language standard detection +// if the user manually specified the used C++ version, this is skipped +#if !defined(JSON_HAS_CPP_26) && !defined(JSON_HAS_CPP_23) && !defined(JSON_HAS_CPP_20) && !defined(JSON_HAS_CPP_17) && !defined(JSON_HAS_CPP_14) && !defined(JSON_HAS_CPP_11) + #if (defined(__cplusplus) && __cplusplus > 202302L) || (defined(_MSVC_LANG) && _MSVC_LANG > 202302L) + #define JSON_HAS_CPP_26 + #define JSON_HAS_CPP_23 + #define JSON_HAS_CPP_20 + #define JSON_HAS_CPP_17 + #define JSON_HAS_CPP_14 + #elif (defined(__cplusplus) && __cplusplus > 202002L) || (defined(_MSVC_LANG) && _MSVC_LANG > 202002L) + #define JSON_HAS_CPP_23 + #define JSON_HAS_CPP_20 + #define JSON_HAS_CPP_17 + #define JSON_HAS_CPP_14 + #elif (defined(__cplusplus) && __cplusplus > 201703L) || (defined(_MSVC_LANG) && _MSVC_LANG > 201703L) + #define JSON_HAS_CPP_20 + #define JSON_HAS_CPP_17 + #define JSON_HAS_CPP_14 + #elif (defined(__cplusplus) && __cplusplus > 201402L) || (defined(_HAS_CXX17) && _HAS_CXX17 == 1) // fix for issue #464 + #define JSON_HAS_CPP_17 + #define JSON_HAS_CPP_14 + #elif (defined(__cplusplus) && __cplusplus > 201103L) || (defined(_HAS_CXX14) && _HAS_CXX14 == 1) + #define JSON_HAS_CPP_14 + #endif + // the cpp 11 flag is always specified because it is the minimal required version + #define JSON_HAS_CPP_11 +#endif + +#ifdef __has_include + #if __has_include() + #include + #endif +#endif + +#if !defined(JSON_HAS_FILESYSTEM) && !defined(JSON_HAS_EXPERIMENTAL_FILESYSTEM) + #ifdef JSON_HAS_CPP_17 + #if defined(__cpp_lib_filesystem) + #define JSON_HAS_FILESYSTEM 1 + #elif defined(__cpp_lib_experimental_filesystem) + #define JSON_HAS_EXPERIMENTAL_FILESYSTEM 1 + #elif !defined(__has_include) + #define JSON_HAS_EXPERIMENTAL_FILESYSTEM 1 + #elif __has_include() + #define JSON_HAS_FILESYSTEM 1 + #elif __has_include() + #define JSON_HAS_EXPERIMENTAL_FILESYSTEM 1 + #endif + + // std::filesystem does not work on MinGW GCC 8: https://sourceforge.net/p/mingw-w64/bugs/737/ + #if defined(__MINGW32__) && defined(__GNUC__) && __GNUC__ == 8 + #undef JSON_HAS_FILESYSTEM + #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #endif + + // no filesystem support before GCC 8: https://en.cppreference.com/w/cpp/compiler_support + #if defined(__GNUC__) && !defined(__clang__) && __GNUC__ < 8 + #undef JSON_HAS_FILESYSTEM + #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #endif + + // no filesystem support before Clang 7: https://en.cppreference.com/w/cpp/compiler_support + #if defined(__clang_major__) && __clang_major__ < 7 + #undef JSON_HAS_FILESYSTEM + #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #endif + + // no filesystem support before MSVC 19.14: https://en.cppreference.com/w/cpp/compiler_support + #if defined(_MSC_VER) && _MSC_VER < 1914 + #undef JSON_HAS_FILESYSTEM + #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #endif + + // no filesystem support before iOS 13 + #if defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED < 130000 + #undef JSON_HAS_FILESYSTEM + #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #endif + + // no filesystem support before macOS Catalina + #if defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101500 + #undef JSON_HAS_FILESYSTEM + #undef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #endif + #endif +#endif + +#ifndef JSON_HAS_EXPERIMENTAL_FILESYSTEM + #define JSON_HAS_EXPERIMENTAL_FILESYSTEM 0 +#endif + +#ifndef JSON_HAS_FILESYSTEM + #define JSON_HAS_FILESYSTEM 0 +#endif + +#ifndef JSON_HAS_THREE_WAY_COMPARISON + #if defined(__cpp_impl_three_way_comparison) && __cpp_impl_three_way_comparison >= 201907L \ + && defined(__cpp_lib_three_way_comparison) && __cpp_lib_three_way_comparison >= 201907L + #define JSON_HAS_THREE_WAY_COMPARISON 1 + #else + #define JSON_HAS_THREE_WAY_COMPARISON 0 + #endif +#endif + +#ifndef JSON_HAS_RANGES + // ranges header shipping in GCC 11.1.0 (released 2021-04-27) has a syntax error + #if defined(__GLIBCXX__) && __GLIBCXX__ == 20210427 + #define JSON_HAS_RANGES 0 + #elif defined(__cpp_lib_ranges) + #define JSON_HAS_RANGES 1 + #else + #define JSON_HAS_RANGES 0 + #endif +#endif + +#ifndef JSON_HAS_STATIC_RTTI + #if !defined(_HAS_STATIC_RTTI) || _HAS_STATIC_RTTI != 0 + #define JSON_HAS_STATIC_RTTI 1 + #else + #define JSON_HAS_STATIC_RTTI 0 + #endif +#endif + +#ifdef JSON_HAS_CPP_17 + #define JSON_INLINE_VARIABLE inline +#else + #define JSON_INLINE_VARIABLE +#endif + +#if JSON_HEDLEY_HAS_ATTRIBUTE(no_unique_address) + #define JSON_NO_UNIQUE_ADDRESS [[no_unique_address]] +#else + #define JSON_NO_UNIQUE_ADDRESS +#endif + +// disable documentation warnings on clang +#if defined(__clang__) + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wdocumentation" + #pragma clang diagnostic ignored "-Wdocumentation-unknown-command" +#endif + +// allow disabling exceptions +#if (defined(__cpp_exceptions) || defined(__EXCEPTIONS) || defined(_CPPUNWIND)) && !defined(JSON_NOEXCEPTION) + #define JSON_THROW(exception) throw exception + #define JSON_TRY try + #define JSON_CATCH(exception) catch(exception) + #define JSON_INTERNAL_CATCH(exception) catch(exception) +#else + #include + #define JSON_THROW(exception) std::abort() + #define JSON_TRY if(true) + #define JSON_CATCH(exception) if(false) + #define JSON_INTERNAL_CATCH(exception) if(false) +#endif + +// override exception macros +#if defined(JSON_THROW_USER) + #undef JSON_THROW + #define JSON_THROW JSON_THROW_USER +#endif +#if defined(JSON_TRY_USER) + #undef JSON_TRY + #define JSON_TRY JSON_TRY_USER +#endif +#if defined(JSON_CATCH_USER) + #undef JSON_CATCH + #define JSON_CATCH JSON_CATCH_USER + #undef JSON_INTERNAL_CATCH + #define JSON_INTERNAL_CATCH JSON_CATCH_USER +#endif +#if defined(JSON_INTERNAL_CATCH_USER) + #undef JSON_INTERNAL_CATCH + #define JSON_INTERNAL_CATCH JSON_INTERNAL_CATCH_USER +#endif + +// allow overriding assert +#if !defined(JSON_ASSERT) + #include // assert + #define JSON_ASSERT(x) assert(x) +#endif + +// allow accessing some private functions (needed by the test suite) +#if defined(JSON_TESTS_PRIVATE) + #define JSON_PRIVATE_UNLESS_TESTED public +#else + #define JSON_PRIVATE_UNLESS_TESTED private +#endif + +/*! +@brief macro to briefly define a mapping between an enum and JSON +@def NLOHMANN_JSON_SERIALIZE_ENUM +@since version 3.4.0 +*/ +#define NLOHMANN_JSON_SERIALIZE_ENUM(ENUM_TYPE, ...) \ + template \ + inline void to_json(BasicJsonType& j, const ENUM_TYPE& e) \ + { \ + /* NOLINTNEXTLINE(modernize-type-traits) we use C++11 */ \ + static_assert(std::is_enum::value, #ENUM_TYPE " must be an enum!"); \ + /* NOLINTNEXTLINE(modernize-avoid-c-arrays) we don't want to depend on */ \ + static const std::pair m[] = __VA_ARGS__; \ + auto it = std::find_if(std::begin(m), std::end(m), \ + [e](const std::pair& ej_pair) -> bool \ + { \ + return ej_pair.first == e; \ + }); \ + j = ((it != std::end(m)) ? it : std::begin(m))->second; \ + } \ + template \ + inline void from_json(const BasicJsonType& j, ENUM_TYPE& e) \ + { \ + /* NOLINTNEXTLINE(modernize-type-traits) we use C++11 */ \ + static_assert(std::is_enum::value, #ENUM_TYPE " must be an enum!"); \ + /* NOLINTNEXTLINE(modernize-avoid-c-arrays) we don't want to depend on */ \ + static const std::pair m[] = __VA_ARGS__; \ + auto it = std::find_if(std::begin(m), std::end(m), \ + [&j](const std::pair& ej_pair) -> bool \ + { \ + return ej_pair.second == j; \ + }); \ + e = ((it != std::end(m)) ? it : std::begin(m))->first; \ + } + +// Ugly macros to avoid uglier copy-paste when specializing basic_json. They +// may be removed in the future once the class is split. + +#define NLOHMANN_BASIC_JSON_TPL_DECLARATION \ + template class ObjectType, \ + template class ArrayType, \ + class StringType, class BooleanType, class NumberIntegerType, \ + class NumberUnsignedType, class NumberFloatType, \ + template class AllocatorType, \ + template class JSONSerializer, \ + class BinaryType, \ + class CustomBaseClass> + +#define NLOHMANN_BASIC_JSON_TPL \ + basic_json + +// Macros to simplify conversion from/to types + +#define NLOHMANN_JSON_EXPAND( x ) x +#define NLOHMANN_JSON_GET_MACRO(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, NAME,...) NAME +#define NLOHMANN_JSON_PASTE(...) NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_GET_MACRO(__VA_ARGS__, \ + NLOHMANN_JSON_PASTE64, \ + NLOHMANN_JSON_PASTE63, \ + NLOHMANN_JSON_PASTE62, \ + NLOHMANN_JSON_PASTE61, \ + NLOHMANN_JSON_PASTE60, \ + NLOHMANN_JSON_PASTE59, \ + NLOHMANN_JSON_PASTE58, \ + NLOHMANN_JSON_PASTE57, \ + NLOHMANN_JSON_PASTE56, \ + NLOHMANN_JSON_PASTE55, \ + NLOHMANN_JSON_PASTE54, \ + NLOHMANN_JSON_PASTE53, \ + NLOHMANN_JSON_PASTE52, \ + NLOHMANN_JSON_PASTE51, \ + NLOHMANN_JSON_PASTE50, \ + NLOHMANN_JSON_PASTE49, \ + NLOHMANN_JSON_PASTE48, \ + NLOHMANN_JSON_PASTE47, \ + NLOHMANN_JSON_PASTE46, \ + NLOHMANN_JSON_PASTE45, \ + NLOHMANN_JSON_PASTE44, \ + NLOHMANN_JSON_PASTE43, \ + NLOHMANN_JSON_PASTE42, \ + NLOHMANN_JSON_PASTE41, \ + NLOHMANN_JSON_PASTE40, \ + NLOHMANN_JSON_PASTE39, \ + NLOHMANN_JSON_PASTE38, \ + NLOHMANN_JSON_PASTE37, \ + NLOHMANN_JSON_PASTE36, \ + NLOHMANN_JSON_PASTE35, \ + NLOHMANN_JSON_PASTE34, \ + NLOHMANN_JSON_PASTE33, \ + NLOHMANN_JSON_PASTE32, \ + NLOHMANN_JSON_PASTE31, \ + NLOHMANN_JSON_PASTE30, \ + NLOHMANN_JSON_PASTE29, \ + NLOHMANN_JSON_PASTE28, \ + NLOHMANN_JSON_PASTE27, \ + NLOHMANN_JSON_PASTE26, \ + NLOHMANN_JSON_PASTE25, \ + NLOHMANN_JSON_PASTE24, \ + NLOHMANN_JSON_PASTE23, \ + NLOHMANN_JSON_PASTE22, \ + NLOHMANN_JSON_PASTE21, \ + NLOHMANN_JSON_PASTE20, \ + NLOHMANN_JSON_PASTE19, \ + NLOHMANN_JSON_PASTE18, \ + NLOHMANN_JSON_PASTE17, \ + NLOHMANN_JSON_PASTE16, \ + NLOHMANN_JSON_PASTE15, \ + NLOHMANN_JSON_PASTE14, \ + NLOHMANN_JSON_PASTE13, \ + NLOHMANN_JSON_PASTE12, \ + NLOHMANN_JSON_PASTE11, \ + NLOHMANN_JSON_PASTE10, \ + NLOHMANN_JSON_PASTE9, \ + NLOHMANN_JSON_PASTE8, \ + NLOHMANN_JSON_PASTE7, \ + NLOHMANN_JSON_PASTE6, \ + NLOHMANN_JSON_PASTE5, \ + NLOHMANN_JSON_PASTE4, \ + NLOHMANN_JSON_PASTE3, \ + NLOHMANN_JSON_PASTE2, \ + NLOHMANN_JSON_PASTE1)(__VA_ARGS__)) +#define NLOHMANN_JSON_PASTE2(func, v1) func(v1) +#define NLOHMANN_JSON_PASTE3(func, v1, v2) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE2(func, v2) +#define NLOHMANN_JSON_PASTE4(func, v1, v2, v3) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE3(func, v2, v3) +#define NLOHMANN_JSON_PASTE5(func, v1, v2, v3, v4) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE4(func, v2, v3, v4) +#define NLOHMANN_JSON_PASTE6(func, v1, v2, v3, v4, v5) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE5(func, v2, v3, v4, v5) +#define NLOHMANN_JSON_PASTE7(func, v1, v2, v3, v4, v5, v6) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE6(func, v2, v3, v4, v5, v6) +#define NLOHMANN_JSON_PASTE8(func, v1, v2, v3, v4, v5, v6, v7) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE7(func, v2, v3, v4, v5, v6, v7) +#define NLOHMANN_JSON_PASTE9(func, v1, v2, v3, v4, v5, v6, v7, v8) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE8(func, v2, v3, v4, v5, v6, v7, v8) +#define NLOHMANN_JSON_PASTE10(func, v1, v2, v3, v4, v5, v6, v7, v8, v9) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE9(func, v2, v3, v4, v5, v6, v7, v8, v9) +#define NLOHMANN_JSON_PASTE11(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE10(func, v2, v3, v4, v5, v6, v7, v8, v9, v10) +#define NLOHMANN_JSON_PASTE12(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE11(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) +#define NLOHMANN_JSON_PASTE13(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE12(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) +#define NLOHMANN_JSON_PASTE14(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE13(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) +#define NLOHMANN_JSON_PASTE15(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE14(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) +#define NLOHMANN_JSON_PASTE16(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE15(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15) +#define NLOHMANN_JSON_PASTE17(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE16(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) +#define NLOHMANN_JSON_PASTE18(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE17(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17) +#define NLOHMANN_JSON_PASTE19(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE18(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18) +#define NLOHMANN_JSON_PASTE20(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE19(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19) +#define NLOHMANN_JSON_PASTE21(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE20(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20) +#define NLOHMANN_JSON_PASTE22(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE21(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21) +#define NLOHMANN_JSON_PASTE23(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE22(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22) +#define NLOHMANN_JSON_PASTE24(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE23(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23) +#define NLOHMANN_JSON_PASTE25(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE24(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24) +#define NLOHMANN_JSON_PASTE26(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE25(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25) +#define NLOHMANN_JSON_PASTE27(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE26(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26) +#define NLOHMANN_JSON_PASTE28(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE27(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27) +#define NLOHMANN_JSON_PASTE29(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE28(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28) +#define NLOHMANN_JSON_PASTE30(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE29(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29) +#define NLOHMANN_JSON_PASTE31(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE30(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30) +#define NLOHMANN_JSON_PASTE32(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE31(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31) +#define NLOHMANN_JSON_PASTE33(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE32(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32) +#define NLOHMANN_JSON_PASTE34(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE33(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33) +#define NLOHMANN_JSON_PASTE35(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE34(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34) +#define NLOHMANN_JSON_PASTE36(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE35(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35) +#define NLOHMANN_JSON_PASTE37(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE36(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36) +#define NLOHMANN_JSON_PASTE38(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE37(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37) +#define NLOHMANN_JSON_PASTE39(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE38(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38) +#define NLOHMANN_JSON_PASTE40(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE39(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39) +#define NLOHMANN_JSON_PASTE41(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE40(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40) +#define NLOHMANN_JSON_PASTE42(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE41(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41) +#define NLOHMANN_JSON_PASTE43(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE42(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42) +#define NLOHMANN_JSON_PASTE44(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE43(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43) +#define NLOHMANN_JSON_PASTE45(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE44(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44) +#define NLOHMANN_JSON_PASTE46(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE45(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45) +#define NLOHMANN_JSON_PASTE47(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE46(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46) +#define NLOHMANN_JSON_PASTE48(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE47(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47) +#define NLOHMANN_JSON_PASTE49(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE48(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48) +#define NLOHMANN_JSON_PASTE50(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE49(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49) +#define NLOHMANN_JSON_PASTE51(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE50(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50) +#define NLOHMANN_JSON_PASTE52(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE51(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51) +#define NLOHMANN_JSON_PASTE53(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE52(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52) +#define NLOHMANN_JSON_PASTE54(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE53(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53) +#define NLOHMANN_JSON_PASTE55(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE54(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54) +#define NLOHMANN_JSON_PASTE56(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE55(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55) +#define NLOHMANN_JSON_PASTE57(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE56(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56) +#define NLOHMANN_JSON_PASTE58(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE57(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57) +#define NLOHMANN_JSON_PASTE59(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE58(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58) +#define NLOHMANN_JSON_PASTE60(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE59(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59) +#define NLOHMANN_JSON_PASTE61(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE60(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60) +#define NLOHMANN_JSON_PASTE62(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE61(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61) +#define NLOHMANN_JSON_PASTE63(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE62(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62) +#define NLOHMANN_JSON_PASTE64(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE63(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63) + +#define NLOHMANN_JSON_TO(v1) nlohmann_json_j[#v1] = nlohmann_json_t.v1; +#define NLOHMANN_JSON_FROM(v1) nlohmann_json_j.at(#v1).get_to(nlohmann_json_t.v1); +#define NLOHMANN_JSON_FROM_WITH_DEFAULT(v1) nlohmann_json_t.v1 = !nlohmann_json_j.is_null() ? nlohmann_json_j.value(#v1, nlohmann_json_default_obj.v1) : nlohmann_json_default_obj.v1; + +/*! +@brief macro +@def NLOHMANN_DEFINE_TYPE_INTRUSIVE +@since version 3.9.0 +@sa https://json.nlohmann.me/api/macros/nlohmann_define_type_intrusive/ +*/ +#define NLOHMANN_DEFINE_TYPE_INTRUSIVE(Type, ...) \ + template::value, int> = 0> \ + friend void to_json(BasicJsonType& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + template::value, int> = 0> \ + friend void from_json(const BasicJsonType& nlohmann_json_j, Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT +@since version 3.11.0 +@sa https://json.nlohmann.me/api/macros/nlohmann_define_type_intrusive/ +*/ +#define NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT(Type, ...) \ + template::value, int> = 0> \ + friend void to_json(BasicJsonType& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + template::value, int> = 0> \ + friend void from_json(const BasicJsonType& nlohmann_json_j, Type& nlohmann_json_t) { const Type nlohmann_json_default_obj{}; NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM_WITH_DEFAULT, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_TYPE_INTRUSIVE_ONLY_SERIALIZE +@since version 3.11.3 +@sa https://json.nlohmann.me/api/macros/nlohmann_define_type_intrusive/ +*/ +#define NLOHMANN_DEFINE_TYPE_INTRUSIVE_ONLY_SERIALIZE(Type, ...) \ + template::value, int> = 0> \ + friend void to_json(BasicJsonType& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE +@since version 3.9.0 +@sa https://json.nlohmann.me/api/macros/nlohmann_define_type_non_intrusive/ +*/ +#define NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(Type, ...) \ + template::value, int> = 0> \ + void to_json(BasicJsonType& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + template::value, int> = 0> \ + void from_json(const BasicJsonType& nlohmann_json_j, Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT +@since version 3.11.0 +@sa https://json.nlohmann.me/api/macros/nlohmann_define_type_non_intrusive/ +*/ +#define NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT(Type, ...) \ + template::value, int> = 0> \ + void to_json(BasicJsonType& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + template::value, int> = 0> \ + void from_json(const BasicJsonType& nlohmann_json_j, Type& nlohmann_json_t) { const Type nlohmann_json_default_obj{}; NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM_WITH_DEFAULT, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE +@since version 3.11.3 +@sa https://json.nlohmann.me/api/macros/nlohmann_define_type_non_intrusive/ +*/ +#define NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE(Type, ...) \ + template::value, int> = 0> \ + void to_json(BasicJsonType& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE +@since version 3.12.0 +@sa https://json.nlohmann.me/api/macros/nlohmann_define_derived_type/ +*/ +#define NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE(Type, BaseType, ...) \ + template::value, int> = 0> \ + friend void to_json(BasicJsonType& nlohmann_json_j, const Type& nlohmann_json_t) { nlohmann::to_json(nlohmann_json_j, static_cast(nlohmann_json_t)); NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + template::value, int> = 0> \ + friend void from_json(const BasicJsonType& nlohmann_json_j, Type& nlohmann_json_t) { nlohmann::from_json(nlohmann_json_j, static_cast(nlohmann_json_t)); NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE_WITH_DEFAULT +@since version 3.12.0 +@sa https://json.nlohmann.me/api/macros/nlohmann_define_derived_type/ +*/ +#define NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE_WITH_DEFAULT(Type, BaseType, ...) \ + template::value, int> = 0> \ + friend void to_json(BasicJsonType& nlohmann_json_j, const Type& nlohmann_json_t) { nlohmann::to_json(nlohmann_json_j, static_cast(nlohmann_json_t)); NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + template::value, int> = 0> \ + friend void from_json(const BasicJsonType& nlohmann_json_j, Type& nlohmann_json_t) { nlohmann::from_json(nlohmann_json_j, static_cast(nlohmann_json_t)); const Type nlohmann_json_default_obj{}; NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM_WITH_DEFAULT, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE_ONLY_SERIALIZE +@since version 3.12.0 +@sa https://json.nlohmann.me/api/macros/nlohmann_define_derived_type/ +*/ +#define NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE_ONLY_SERIALIZE(Type, BaseType, ...) \ + template::value, int> = 0> \ + friend void to_json(BasicJsonType& nlohmann_json_j, const Type& nlohmann_json_t) { nlohmann::to_json(nlohmann_json_j, static_cast(nlohmann_json_t)); NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE +@since version 3.12.0 +@sa https://json.nlohmann.me/api/macros/nlohmann_define_derived_type/ +*/ +#define NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE(Type, BaseType, ...) \ + template::value, int> = 0> \ + void to_json(BasicJsonType& nlohmann_json_j, const Type& nlohmann_json_t) { nlohmann::to_json(nlohmann_json_j, static_cast(nlohmann_json_t)); NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + template::value, int> = 0> \ + void from_json(const BasicJsonType& nlohmann_json_j, Type& nlohmann_json_t) { nlohmann::from_json(nlohmann_json_j, static_cast(nlohmann_json_t)); NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE_WITH_DEFAULT +@since version 3.12.0 +@sa https://json.nlohmann.me/api/macros/nlohmann_define_derived_type/ +*/ +#define NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE_WITH_DEFAULT(Type, BaseType, ...) \ + template::value, int> = 0> \ + void to_json(BasicJsonType& nlohmann_json_j, const Type& nlohmann_json_t) { nlohmann::to_json(nlohmann_json_j, static_cast(nlohmann_json_t)); NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + template::value, int> = 0> \ + void from_json(const BasicJsonType& nlohmann_json_j, Type& nlohmann_json_t) { nlohmann::from_json(nlohmann_json_j, static_cast(nlohmann_json_t)); const Type nlohmann_json_default_obj{}; NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM_WITH_DEFAULT, __VA_ARGS__)) } + +/*! +@brief macro +@def NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE +@since version 3.12.0 +@sa https://json.nlohmann.me/api/macros/nlohmann_define_derived_type/ +*/ +#define NLOHMANN_DEFINE_DERIVED_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE(Type, BaseType, ...) \ + template::value, int> = 0> \ + void to_json(BasicJsonType& nlohmann_json_j, const Type& nlohmann_json_t) { nlohmann::to_json(nlohmann_json_j, static_cast(nlohmann_json_t)); NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } + +// inspired from https://stackoverflow.com/a/26745591 +// allows calling any std function as if (e.g., with begin): +// using std::begin; begin(x); +// +// it allows using the detected idiom to retrieve the return type +// of such an expression +#define NLOHMANN_CAN_CALL_STD_FUNC_IMPL(std_name) \ + namespace detail { \ + using std::std_name; \ + \ + template \ + using result_of_##std_name = decltype(std_name(std::declval()...)); \ + } \ + \ + namespace detail2 { \ + struct std_name##_tag \ + { \ + }; \ + \ + template \ + std_name##_tag std_name(T&&...); \ + \ + template \ + using result_of_##std_name = decltype(std_name(std::declval()...)); \ + \ + template \ + struct would_call_std_##std_name \ + { \ + static constexpr auto const value = ::nlohmann::detail:: \ + is_detected_exact::value; \ + }; \ + } /* namespace detail2 */ \ + \ + template \ + struct would_call_std_##std_name : detail2::would_call_std_##std_name \ + { \ + } + +#ifndef JSON_USE_IMPLICIT_CONVERSIONS + #define JSON_USE_IMPLICIT_CONVERSIONS 1 +#endif + +#if JSON_USE_IMPLICIT_CONVERSIONS + #define JSON_EXPLICIT +#else + #define JSON_EXPLICIT explicit +#endif + +#ifndef JSON_DISABLE_ENUM_SERIALIZATION + #define JSON_DISABLE_ENUM_SERIALIZATION 0 +#endif + +#ifndef JSON_USE_GLOBAL_UDLS + #define JSON_USE_GLOBAL_UDLS 1 +#endif + +#if JSON_HAS_THREE_WAY_COMPARISON + #include // partial_ordering +#endif + +NLOHMANN_JSON_NAMESPACE_BEGIN +namespace detail +{ + +/////////////////////////// +// JSON type enumeration // +/////////////////////////// + +/*! +@brief the JSON type enumeration + +This enumeration collects the different JSON types. It is internally used to +distinguish the stored values, and the functions @ref basic_json::is_null(), +@ref basic_json::is_object(), @ref basic_json::is_array(), +@ref basic_json::is_string(), @ref basic_json::is_boolean(), +@ref basic_json::is_number() (with @ref basic_json::is_number_integer(), +@ref basic_json::is_number_unsigned(), and @ref basic_json::is_number_float()), +@ref basic_json::is_discarded(), @ref basic_json::is_primitive(), and +@ref basic_json::is_structured() rely on it. + +@note There are three enumeration entries (number_integer, number_unsigned, and +number_float), because the library distinguishes these three types for numbers: +@ref basic_json::number_unsigned_t is used for unsigned integers, +@ref basic_json::number_integer_t is used for signed integers, and +@ref basic_json::number_float_t is used for floating-point numbers or to +approximate integers which do not fit in the limits of their respective type. + +@sa see @ref basic_json::basic_json(const value_t value_type) -- create a JSON +value with the default value for a given type + +@since version 1.0.0 +*/ +enum class value_t : std::uint8_t +{ + null, ///< null value + object, ///< object (unordered set of name/value pairs) + array, ///< array (ordered collection of values) + string, ///< string value + boolean, ///< boolean value + number_integer, ///< number value (signed integer) + number_unsigned, ///< number value (unsigned integer) + number_float, ///< number value (floating-point) + binary, ///< binary array (ordered collection of bytes) + discarded ///< discarded by the parser callback function +}; + +/*! +@brief comparison operator for JSON types + +Returns an ordering that is similar to Python: +- order: null < boolean < number < object < array < string < binary +- furthermore, each type is not smaller than itself +- discarded values are not comparable +- binary is represented as a b"" string in python and directly comparable to a + string; however, making a binary array directly comparable with a string would + be surprising behavior in a JSON file. + +@since version 1.0.0 +*/ +#if JSON_HAS_THREE_WAY_COMPARISON + inline std::partial_ordering operator<=>(const value_t lhs, const value_t rhs) noexcept // *NOPAD* +#else + inline bool operator<(const value_t lhs, const value_t rhs) noexcept +#endif +{ + static constexpr std::array order = {{ + 0 /* null */, 3 /* object */, 4 /* array */, 5 /* string */, + 1 /* boolean */, 2 /* integer */, 2 /* unsigned */, 2 /* float */, + 6 /* binary */ + } + }; + + const auto l_index = static_cast(lhs); + const auto r_index = static_cast(rhs); +#if JSON_HAS_THREE_WAY_COMPARISON + if (l_index < order.size() && r_index < order.size()) + { + return order[l_index] <=> order[r_index]; // *NOPAD* + } + return std::partial_ordering::unordered; +#else + return l_index < order.size() && r_index < order.size() && order[l_index] < order[r_index]; +#endif +} + +// GCC selects the built-in operator< over an operator rewritten from +// a user-defined spaceship operator +// Clang, MSVC, and ICC select the rewritten candidate +// (see GCC bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105200) +#if JSON_HAS_THREE_WAY_COMPARISON && defined(__GNUC__) +inline bool operator<(const value_t lhs, const value_t rhs) noexcept +{ + return std::is_lt(lhs <=> rhs); // *NOPAD* +} +#endif + +} // namespace detail +NLOHMANN_JSON_NAMESPACE_END + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +// #include + + +NLOHMANN_JSON_NAMESPACE_BEGIN +namespace detail +{ + +/*! +@brief replace all occurrences of a substring by another string + +@param[in,out] s the string to manipulate; changed so that all + occurrences of @a f are replaced with @a t +@param[in] f the substring to replace with @a t +@param[in] t the string to replace @a f + +@pre The search string @a f must not be empty. **This precondition is +enforced with an assertion.** + +@since version 2.0.0 +*/ +template +inline void replace_substring(StringType& s, const StringType& f, + const StringType& t) +{ + JSON_ASSERT(!f.empty()); + for (auto pos = s.find(f); // find the first occurrence of f + pos != StringType::npos; // make sure f was found + s.replace(pos, f.size(), t), // replace with t, and + pos = s.find(f, pos + t.size())) // find the next occurrence of f + {} +} + +/*! + * @brief string escaping as described in RFC 6901 (Sect. 4) + * @param[in] s string to escape + * @return escaped string + * + * Note the order of escaping "~" to "~0" and "/" to "~1" is important. + */ +template +inline StringType escape(StringType s) +{ + replace_substring(s, StringType{"~"}, StringType{"~0"}); + replace_substring(s, StringType{"/"}, StringType{"~1"}); + return s; +} + +/*! + * @brief string unescaping as described in RFC 6901 (Sect. 4) + * @param[in] s string to unescape + * @return unescaped string + * + * Note the order of escaping "~1" to "/" and "~0" to "~" is important. + */ +template +inline void unescape(StringType& s) +{ + replace_substring(s, StringType{"~1"}, StringType{"/"}); + replace_substring(s, StringType{"~0"}, StringType{"~"}); +} + +} // namespace detail +NLOHMANN_JSON_NAMESPACE_END + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +#include // size_t + +// #include + + +NLOHMANN_JSON_NAMESPACE_BEGIN +namespace detail +{ + +/// struct to capture the start position of the current token +struct position_t +{ + /// the total number of characters read + std::size_t chars_read_total = 0; + /// the number of characters read in the current line + std::size_t chars_read_current_line = 0; + /// the number of lines read + std::size_t lines_read = 0; + + /// conversion to size_t to preserve SAX interface + constexpr operator size_t() const + { + return chars_read_total; + } +}; + +} // namespace detail +NLOHMANN_JSON_NAMESPACE_END + +// #include + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-FileCopyrightText: 2018 The Abseil Authors +// SPDX-License-Identifier: MIT + + + +#include // array +#include // size_t +#include // conditional, enable_if, false_type, integral_constant, is_constructible, is_integral, is_same, remove_cv, remove_reference, true_type +#include // index_sequence, make_index_sequence, index_sequence_for + +// #include + + +NLOHMANN_JSON_NAMESPACE_BEGIN +namespace detail +{ + +template +using uncvref_t = typename std::remove_cv::type>::type; + +#ifdef JSON_HAS_CPP_14 + +// the following utilities are natively available in C++14 +using std::enable_if_t; +using std::index_sequence; +using std::make_index_sequence; +using std::index_sequence_for; + +#else + +// alias templates to reduce boilerplate +template +using enable_if_t = typename std::enable_if::type; + +// The following code is taken from https://github.com/abseil/abseil-cpp/blob/10cb35e459f5ecca5b2ff107635da0bfa41011b4/absl/utility/utility.h +// which is part of Google Abseil (https://github.com/abseil/abseil-cpp), licensed under the Apache License 2.0. + +//// START OF CODE FROM GOOGLE ABSEIL + +// integer_sequence +// +// Class template representing a compile-time integer sequence. An instantiation +// of `integer_sequence` has a sequence of integers encoded in its +// type through its template arguments (which is a common need when +// working with C++11 variadic templates). `absl::integer_sequence` is designed +// to be a drop-in replacement for C++14's `std::integer_sequence`. +// +// Example: +// +// template< class T, T... Ints > +// void user_function(integer_sequence); +// +// int main() +// { +// // user_function's `T` will be deduced to `int` and `Ints...` +// // will be deduced to `0, 1, 2, 3, 4`. +// user_function(make_integer_sequence()); +// } +template +struct integer_sequence +{ + using value_type = T; + static constexpr std::size_t size() noexcept + { + return sizeof...(Ints); + } +}; + +// index_sequence +// +// A helper template for an `integer_sequence` of `size_t`, +// `absl::index_sequence` is designed to be a drop-in replacement for C++14's +// `std::index_sequence`. +template +using index_sequence = integer_sequence; + +namespace utility_internal +{ + +template +struct Extend; + +// Note that SeqSize == sizeof...(Ints). It's passed explicitly for efficiency. +template +struct Extend, SeqSize, 0> +{ + using type = integer_sequence < T, Ints..., (Ints + SeqSize)... >; +}; + +template +struct Extend, SeqSize, 1> +{ + using type = integer_sequence < T, Ints..., (Ints + SeqSize)..., 2 * SeqSize >; +}; + +// Recursion helper for 'make_integer_sequence'. +// 'Gen::type' is an alias for 'integer_sequence'. +template +struct Gen +{ + using type = + typename Extend < typename Gen < T, N / 2 >::type, N / 2, N % 2 >::type; +}; + +template +struct Gen +{ + using type = integer_sequence; +}; + +} // namespace utility_internal + +// Compile-time sequences of integers + +// make_integer_sequence +// +// This template alias is equivalent to +// `integer_sequence`, and is designed to be a drop-in +// replacement for C++14's `std::make_integer_sequence`. +template +using make_integer_sequence = typename utility_internal::Gen::type; + +// make_index_sequence +// +// This template alias is equivalent to `index_sequence<0, 1, ..., N-1>`, +// and is designed to be a drop-in replacement for C++14's +// `std::make_index_sequence`. +template +using make_index_sequence = make_integer_sequence; + +// index_sequence_for +// +// Converts a typename pack into an index sequence of the same length, and +// is designed to be a drop-in replacement for C++14's +// `std::index_sequence_for()` +template +using index_sequence_for = make_index_sequence; + +//// END OF CODE FROM GOOGLE ABSEIL + +#endif + +// dispatch utility (taken from ranges-v3) +template struct priority_tag : priority_tag < N - 1 > {}; +template<> struct priority_tag<0> {}; + +// taken from ranges-v3 +template +struct static_const +{ + static JSON_INLINE_VARIABLE constexpr T value{}; +}; + +#ifndef JSON_HAS_CPP_17 + template + constexpr T static_const::value; +#endif + +template +constexpr std::array make_array(Args&& ... args) +{ + return std::array {{static_cast(std::forward(args))...}}; +} + +} // namespace detail +NLOHMANN_JSON_NAMESPACE_END + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +#include // numeric_limits +#include // char_traits +#include // tuple +#include // false_type, is_constructible, is_integral, is_same, true_type +#include // declval +#if defined(__cpp_lib_byte) && __cpp_lib_byte >= 201603L + #include // byte +#endif +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +#include // random_access_iterator_tag + +// #include + +// #include + +// #include + + +NLOHMANN_JSON_NAMESPACE_BEGIN +namespace detail +{ + +template +struct iterator_types {}; + +template +struct iterator_types < + It, + void_t> +{ + using difference_type = typename It::difference_type; + using value_type = typename It::value_type; + using pointer = typename It::pointer; + using reference = typename It::reference; + using iterator_category = typename It::iterator_category; +}; + +// This is required as some compilers implement std::iterator_traits in a way that +// doesn't work with SFINAE. See https://github.com/nlohmann/json/issues/1341. +template +struct iterator_traits +{ +}; + +template +struct iterator_traits < T, enable_if_t < !std::is_pointer::value >> + : iterator_types +{ +}; + +template +struct iterator_traits::value>> +{ + using iterator_category = std::random_access_iterator_tag; + using value_type = T; + using difference_type = ptrdiff_t; + using pointer = T*; + using reference = T&; +}; + +} // namespace detail +NLOHMANN_JSON_NAMESPACE_END + +// #include + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +// #include + + +NLOHMANN_JSON_NAMESPACE_BEGIN + +NLOHMANN_CAN_CALL_STD_FUNC_IMPL(begin); + +NLOHMANN_JSON_NAMESPACE_END + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + + + +// #include + + +NLOHMANN_JSON_NAMESPACE_BEGIN + +NLOHMANN_CAN_CALL_STD_FUNC_IMPL(end); + +NLOHMANN_JSON_NAMESPACE_END + +// #include + +// #include + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.12.0 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013 - 2025 Niels Lohmann +// SPDX-License-Identifier: MIT + +#ifndef INCLUDE_NLOHMANN_JSON_FWD_HPP_ + #define INCLUDE_NLOHMANN_JSON_FWD_HPP_ + + #include // int64_t, uint64_t + #include // map + #include // allocator + #include // string + #include // vector + + // #include + + + /*! + @brief namespace for Niels Lohmann + @see https://github.com/nlohmann + @since version 1.0.0 + */ + NLOHMANN_JSON_NAMESPACE_BEGIN + + /*! + @brief default JSONSerializer template argument + + This serializer ignores the template arguments and uses ADL + ([argument-dependent lookup](https://en.cppreference.com/w/cpp/language/adl)) + for serialization. + */ + template + struct adl_serializer; + + /// a class to store JSON values + /// @sa https://json.nlohmann.me/api/basic_json/ + template class ObjectType = + std::map, + template class ArrayType = std::vector, + class StringType = std::string, class BooleanType = bool, + class NumberIntegerType = std::int64_t, + class NumberUnsignedType = std::uint64_t, + class NumberFloatType = double, + template class AllocatorType = std::allocator, + template class JSONSerializer = + adl_serializer, + class BinaryType = std::vector, // cppcheck-suppress syntaxError + class CustomBaseClass = void> + class basic_json; + + /// @brief JSON Pointer defines a string syntax for identifying a specific value within a JSON document + /// @sa https://json.nlohmann.me/api/json_pointer/ + template + class json_pointer; + + /*! + @brief default specialization + @sa https://json.nlohmann.me/api/json/ + */ + using json = basic_json<>; + + /// @brief a minimal map-like container that preserves insertion order + /// @sa https://json.nlohmann.me/api/ordered_map/ + template + struct ordered_map; + + /// @brief specialization that maintains the insertion order of object keys + /// @sa https://json.nlohmann.me/api/ordered_json/ + using ordered_json = basic_json; + + NLOHMANN_JSON_NAMESPACE_END + +#endif // INCLUDE_NLOHMANN_JSON_FWD_HPP_ + + +NLOHMANN_JSON_NAMESPACE_BEGIN +/*! +@brief detail namespace with internal helper functions + +This namespace collects functions that should not be exposed, +implementations of some @ref basic_json methods, and meta-programming helpers. + +@since version 2.1.0 +*/ +namespace detail +{ + +///////////// +// helpers // +///////////// + +// Note to maintainers: +// +// Every trait in this file expects a non-CV-qualified type. +// The only exceptions are in the 'aliases for detected' section +// (i.e., those of the form: decltype(T::member_function(std::declval()))) +// +// In this case, T has to be properly CV-qualified to constraint the function arguments +// (e.g., to_json(BasicJsonType&, const T&)) + +template struct is_basic_json : std::false_type {}; + +NLOHMANN_BASIC_JSON_TPL_DECLARATION +struct is_basic_json : std::true_type {}; + +// used by exceptions create() member functions +// true_type for the pointer to possibly cv-qualified basic_json or std::nullptr_t +// false_type otherwise +template +struct is_basic_json_context : + std::integral_constant < bool, + is_basic_json::type>::type>::value + || std::is_same::value > +{}; + +////////////////////// +// json_ref helpers // +////////////////////// + +template +class json_ref; + +template +struct is_json_ref : std::false_type {}; + +template +struct is_json_ref> : std::true_type {}; + +////////////////////////// +// aliases for detected // +////////////////////////// + +template +using mapped_type_t = typename T::mapped_type; + +template +using key_type_t = typename T::key_type; + +template +using value_type_t = typename T::value_type; + +template +using difference_type_t = typename T::difference_type; + +template +using pointer_t = typename T::pointer; + +template +using reference_t = typename T::reference; + +template +using iterator_category_t = typename T::iterator_category; + +template +using to_json_function = decltype(T::to_json(std::declval()...)); + +template +using from_json_function = decltype(T::from_json(std::declval()...)); + +template +using get_template_function = decltype(std::declval().template get()); + +// trait checking if JSONSerializer::from_json(json const&, udt&) exists +template +struct has_from_json : std::false_type {}; + +// trait checking if j.get is valid +// use this trait instead of std::is_constructible or std::is_convertible, +// both rely on, or make use of implicit conversions, and thus fail when T +// has several constructors/operator= (see https://github.com/nlohmann/json/issues/958) +template +struct is_getable +{ + static constexpr bool value = is_detected::value; +}; + +template +struct has_from_json < BasicJsonType, T, enable_if_t < !is_basic_json::value >> +{ + using serializer = typename BasicJsonType::template json_serializer; + + static constexpr bool value = + is_detected_exact::value; +}; + +// This trait checks if JSONSerializer::from_json(json const&) exists +// this overload is used for non-default-constructible user-defined-types +template +struct has_non_default_from_json : std::false_type {}; + +template +struct has_non_default_from_json < BasicJsonType, T, enable_if_t < !is_basic_json::value >> +{ + using serializer = typename BasicJsonType::template json_serializer; + + static constexpr bool value = + is_detected_exact::value; +}; + +// This trait checks if BasicJsonType::json_serializer::to_json exists +// Do not evaluate the trait when T is a basic_json type, to avoid template instantiation infinite recursion. +template +struct has_to_json : std::false_type {}; + +template +struct has_to_json < BasicJsonType, T, enable_if_t < !is_basic_json::value >> +{ + using serializer = typename BasicJsonType::template json_serializer; + + static constexpr bool value = + is_detected_exact::value; +}; + +template +using detect_key_compare = typename T::key_compare; + +template +struct has_key_compare : std::integral_constant::value> {}; + +// obtains the actual object key comparator +template +struct actual_object_comparator +{ + using object_t = typename BasicJsonType::object_t; + using object_comparator_t = typename BasicJsonType::default_object_comparator_t; + using type = typename std::conditional < has_key_compare::value, + typename object_t::key_compare, object_comparator_t>::type; +}; + +template +using actual_object_comparator_t = typename actual_object_comparator::type; + +///////////////// +// char_traits // +///////////////// + +// Primary template of char_traits calls std char_traits +template +struct char_traits : std::char_traits +{}; + +// Explicitly define char traits for unsigned char since it is not standard +template<> +struct char_traits : std::char_traits +{ + using char_type = unsigned char; + using int_type = uint64_t; + + // Redefine to_int_type function + static int_type to_int_type(char_type c) noexcept + { + return static_cast(c); + } + + static char_type to_char_type(int_type i) noexcept + { + return static_cast(i); + } + + static constexpr int_type eof() noexcept + { + return static_cast(std::char_traits::eof()); + } +}; + +// Explicitly define char traits for signed char since it is not standard +template<> +struct char_traits : std::char_traits +{ + using char_type = signed char; + using int_type = uint64_t; + + // Redefine to_int_type function + static int_type to_int_type(char_type c) noexcept + { + return static_cast(c); + } + + static char_type to_char_type(int_type i) noexcept + { + return static_cast(i); + } + + static constexpr int_type eof() noexcept + { + return static_cast(std::char_traits::eof()); + } +}; + +#if defined(__cpp_lib_byte) && __cpp_lib_byte >= 201603L +template<> +struct char_traits : std::char_traits +{ + using char_type = std::byte; + using int_type = uint64_t; + + static int_type to_int_type(char_type c) noexcept + { + return static_cast(std::to_integer(c)); + } + + static char_type to_char_type(int_type i) noexcept + { + return std::byte(static_cast(i)); + } + + static constexpr int_type eof() noexcept + { + return static_cast(std::char_traits::eof()); + } +}; +#endif + +/////////////////// +// is_ functions // +/////////////////// + +// https://en.cppreference.com/w/cpp/types/conjunction +template struct conjunction : std::true_type { }; +template struct conjunction : B { }; +template +struct conjunction +: std::conditional(B::value), conjunction, B>::type {}; + +// https://en.cppreference.com/w/cpp/types/negation +template struct negation : std::integral_constant < bool, !B::value > { }; + +// Reimplementation of is_constructible and is_default_constructible, due to them being broken for +// std::pair and std::tuple until LWG 2367 fix (see https://cplusplus.github.io/LWG/lwg-defects.html#2367). +// This causes compile errors in e.g., Clang 3.5 or GCC 4.9. +template +struct is_default_constructible : std::is_default_constructible {}; + +template +struct is_default_constructible> + : conjunction, is_default_constructible> {}; + +template +struct is_default_constructible> + : conjunction, is_default_constructible> {}; + +template +struct is_default_constructible> + : conjunction...> {}; + +template +struct is_default_constructible> + : conjunction...> {}; + +template +struct is_constructible : std::is_constructible {}; + +template +struct is_constructible> : is_default_constructible> {}; + +template +struct is_constructible> : is_default_constructible> {}; + +template +struct is_constructible> : is_default_constructible> {}; + +template +struct is_constructible> : is_default_constructible> {}; + +template +struct is_iterator_traits : std::false_type {}; + +template +struct is_iterator_traits> +{ + private: + using traits = iterator_traits; + + public: + static constexpr auto value = + is_detected::value && + is_detected::value && + is_detected::value && + is_detected::value && + is_detected::value; +}; + +template +struct is_range +{ + private: + using t_ref = typename std::add_lvalue_reference::type; + + using iterator = detected_t; + using sentinel = detected_t; + + // to be 100% correct, it should use https://en.cppreference.com/w/cpp/iterator/input_or_output_iterator + // and https://en.cppreference.com/w/cpp/iterator/sentinel_for + // but reimplementing these would be too much work, as a lot of other concepts are used underneath + static constexpr auto is_iterator_begin = + is_iterator_traits>::value; + + public: + static constexpr bool value = !std::is_same::value && !std::is_same::value && is_iterator_begin; +}; + +template +using iterator_t = enable_if_t::value, result_of_begin())>>; + +template +using range_value_t = value_type_t>>; + +// The following implementation of is_complete_type is taken from +// https://blogs.msdn.microsoft.com/vcblog/2015/12/02/partial-support-for-expression-sfinae-in-vs-2015-update-1/ +// and is written by Xiang Fan who agreed to use it in this library. + +template +struct is_complete_type : std::false_type {}; + +template +struct is_complete_type : std::true_type {}; + +template +struct is_compatible_object_type_impl : std::false_type {}; + +template +struct is_compatible_object_type_impl < + BasicJsonType, CompatibleObjectType, + enable_if_t < is_detected::value&& + is_detected::value >> +{ + using object_t = typename BasicJsonType::object_t; + + // macOS's is_constructible does not play well with nonesuch... + static constexpr bool value = + is_constructible::value && + is_constructible::value; +}; + +template +struct is_compatible_object_type + : is_compatible_object_type_impl {}; + +template +struct is_constructible_object_type_impl : std::false_type {}; + +template +struct is_constructible_object_type_impl < + BasicJsonType, ConstructibleObjectType, + enable_if_t < is_detected::value&& + is_detected::value >> +{ + using object_t = typename BasicJsonType::object_t; + + static constexpr bool value = + (is_default_constructible::value && + (std::is_move_assignable::value || + std::is_copy_assignable::value) && + (is_constructible::value && + std::is_same < + typename object_t::mapped_type, + typename ConstructibleObjectType::mapped_type >::value)) || + (has_from_json::value || + has_non_default_from_json < + BasicJsonType, + typename ConstructibleObjectType::mapped_type >::value); +}; + +template +struct is_constructible_object_type + : is_constructible_object_type_impl {}; + +template +struct is_compatible_string_type +{ + static constexpr auto value = + is_constructible::value; +}; + +template +struct is_constructible_string_type +{ + // launder type through decltype() to fix compilation failure on ICPC +#ifdef __INTEL_COMPILER + using laundered_type = decltype(std::declval()); +#else + using laundered_type = ConstructibleStringType; +#endif + + static constexpr auto value = + conjunction < + is_constructible, + is_detected_exact>::value; +}; + +template +struct is_compatible_array_type_impl : std::false_type {}; + +template +struct is_compatible_array_type_impl < + BasicJsonType, CompatibleArrayType, + enable_if_t < + is_detected::value&& + is_iterator_traits>>::value&& +// special case for types like std::filesystem::path whose iterator's value_type are themselves +// c.f. https://github.com/nlohmann/json/pull/3073 + !std::is_same>::value >> +{ + static constexpr bool value = + is_constructible>::value; +}; + +template +struct is_compatible_array_type + : is_compatible_array_type_impl {}; + +template +struct is_constructible_array_type_impl : std::false_type {}; + +template +struct is_constructible_array_type_impl < + BasicJsonType, ConstructibleArrayType, + enable_if_t::value >> + : std::true_type {}; + +template +struct is_constructible_array_type_impl < + BasicJsonType, ConstructibleArrayType, + enable_if_t < !std::is_same::value&& + !is_compatible_string_type::value&& + is_default_constructible::value&& +(std::is_move_assignable::value || + std::is_copy_assignable::value)&& +is_detected::value&& +is_iterator_traits>>::value&& +is_detected::value&& +// special case for types like std::filesystem::path whose iterator's value_type are themselves +// c.f. https://github.com/nlohmann/json/pull/3073 +!std::is_same>::value&& +is_complete_type < +detected_t>::value >> +{ + using value_type = range_value_t; + + static constexpr bool value = + std::is_same::value || + has_from_json::value || + has_non_default_from_json < + BasicJsonType, + value_type >::value; +}; + +template +struct is_constructible_array_type + : is_constructible_array_type_impl {}; + +template +struct is_compatible_integer_type_impl : std::false_type {}; + +template +struct is_compatible_integer_type_impl < + RealIntegerType, CompatibleNumberIntegerType, + enable_if_t < std::is_integral::value&& + std::is_integral::value&& + !std::is_same::value >> +{ + // is there an assert somewhere on overflows? + using RealLimits = std::numeric_limits; + using CompatibleLimits = std::numeric_limits; + + static constexpr auto value = + is_constructible::value && + CompatibleLimits::is_integer && + RealLimits::is_signed == CompatibleLimits::is_signed; +}; + +template +struct is_compatible_integer_type + : is_compatible_integer_type_impl {}; + +template +struct is_compatible_type_impl: std::false_type {}; + +template +struct is_compatible_type_impl < + BasicJsonType, CompatibleType, + enable_if_t::value >> +{ + static constexpr bool value = + has_to_json::value; +}; + +template +struct is_compatible_type + : is_compatible_type_impl {}; + +template +struct is_constructible_tuple : std::false_type {}; + +template +struct is_constructible_tuple> : conjunction...> {}; + +template +struct is_json_iterator_of : std::false_type {}; + +template +struct is_json_iterator_of : std::true_type {}; + +template +struct is_json_iterator_of : std::true_type +{}; + +// checks if a given type T is a template specialization of Primary +template