From 15c576459aea5f8c7b8451bc3cd337122948d971 Mon Sep 17 00:00:00 2001 From: Randy Jordan Date: Fri, 15 Nov 2024 20:02:11 -0600 Subject: [PATCH] Initial commit --- LICENSE | 675 +++++ README.md | 27 + app.js | 24 + eslint.config.js | 22 + index.js | 25 + package-lock.json | 1294 ++++++++++ package.json | 20 + plugins/data.js | 22 + plugins/db.js | 38 + routes/publicRoutes.js | 49 + static/app.js | 45 + static/data.json | 5509 ++++++++++++++++++++++++++++++++++++++++ static/index.html | 24 + static/style.css | 142 ++ 14 files changed, 7916 insertions(+) create mode 100644 LICENSE create mode 100644 README.md create mode 100644 app.js create mode 100644 eslint.config.js create mode 100644 index.js create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 plugins/data.js create mode 100644 plugins/db.js create mode 100644 routes/publicRoutes.js create mode 100644 static/app.js create mode 100644 static/data.json create mode 100644 static/index.html create mode 100644 static/style.css diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..53d1f3d --- /dev/null +++ b/LICENSE @@ -0,0 +1,675 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + diff --git a/README.md b/README.md new file mode 100644 index 0000000..cd4c620 --- /dev/null +++ b/README.md @@ -0,0 +1,27 @@ +# Auto-Complete + +## Description +Simple auto complete search bar. + +## Table of Contents + +- [Description](#description) +- [Features](#features) +- [Usage](#usage) +- [Credits / Resources](#credits--resources) +- [License](#license) + +## Features / TODOS + +- [x] Auto complete search bar +- [x] Debouncing +- [ ] Throttling + +## Usage + +## Credits / Resources +[Web Dev Simplified - Debounce and Throttle](https://www.youtube.com/watch?v=cjIswDCKgu0)
+[Steve Griffith - Autocomplete input with debounce](https://www.youtube.com/watch?v=2qRE071fWxw)
+ +## License +This project is licensed under GPLv3 - see the [LICENSE](LICENSE) file for details. diff --git a/app.js b/app.js new file mode 100644 index 0000000..1982536 --- /dev/null +++ b/app.js @@ -0,0 +1,24 @@ +import AutoLoad from '@fastify/autoload' +import path from 'path'; +import { dirname } from 'path' +import { fileURLToPath } from 'url' + +const __filename = fileURLToPath(import.meta.url) +const __dirname = dirname(__filename) + +// Setting up the autoloader for plugins and routes. +export default async function (fastify, opts) { + +// Require all the plugins that we'll need in our application. +await fastify.register(AutoLoad, { + dir: path.join(__dirname,'plugins'), + options: Object.assign({}, opts) + }) + + // Then, we'll load all of our routes. + await fastify.register(AutoLoad, { + dir: path.join(__dirname,'routes'), + dirNameRoutePrefix: false, + options: Object.assign({}, opts) + }) +} diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..2dd5c54 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,22 @@ + +import globals from "globals"; +export default [ + { + ignores: ["node_modules/"] + }, + { + languageOptions: { + ecmaVersion: 2022, + sourceType: "module", + globals: { + ...globals.node, + + } + }, + rules: { + 'no-unused-vars': 'warn', + 'no-console': 'warn', + } + } +]; + diff --git a/index.js b/index.js new file mode 100644 index 0000000..c613b94 --- /dev/null +++ b/index.js @@ -0,0 +1,25 @@ +import Fastify from 'fastify' +import App from './app.js' // Our app instance settings. + +async function start () { + // Register our instance + const fastify = Fastify(); + await fastify.register(App); + + // Set up server settings. + const port = process.env.PORT || 3000 + const address = process.env.ADDRESS || "localhost" + + // Set up listener and on ready list all routes + fastify.listen({ port, address }); + fastify.ready(() => { + const routes = fastify.printRoutes(); + console.log(`Available Routes:\n${routes}`); + console.log(`Listening for connections on ${address}:${port}`); +})} + +// Start the server and crash on error. + start().catch(err => { + console.error(err) + process.exit(1) +}) diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..daa62d2 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1294 @@ +{ + "name": "auto-complete", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "auto-complete", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "@fastify/autoload": "^5.10.0", + "@fastify/static": "^7.0.4", + "fastify": "^4.28.1", + "fastify-healthcheck": "^4.4.0", + "pg": "^8.12.0" + } + }, + "node_modules/@fastify/accept-negotiator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@fastify/accept-negotiator/-/accept-negotiator-1.1.0.tgz", + "integrity": "sha512-OIHZrb2ImZ7XG85HXOONLcJWGosv7sIvM2ifAPQVhg9Lv7qdmMBNVaai4QTdyuaqbKM5eO6sLSQOYI7wEQeCJQ==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/@fastify/ajv-compiler": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@fastify/ajv-compiler/-/ajv-compiler-3.6.0.tgz", + "integrity": "sha512-LwdXQJjmMD+GwLOkP7TVC68qa+pSSogeWWmznRJ/coyTcfe9qA05AHFSe1eZFwK6q+xVRpChnvFUkf1iYaSZsQ==", + "license": "MIT", + "dependencies": { + "ajv": "^8.11.0", + "ajv-formats": "^2.1.1", + "fast-uri": "^2.0.0" + } + }, + "node_modules/@fastify/autoload": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/@fastify/autoload/-/autoload-5.10.0.tgz", + "integrity": "sha512-4A6s86qMbjcpWHmJL7cErtjIxOPuW8c67DLiuO8HoJQxuK97vaptoUnK5BTOwRg1ntYqfc3tjwerTTo5NQ3fEQ==", + "license": "MIT" + }, + "node_modules/@fastify/error": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@fastify/error/-/error-3.4.1.tgz", + "integrity": "sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==", + "license": "MIT" + }, + "node_modules/@fastify/fast-json-stringify-compiler": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@fastify/fast-json-stringify-compiler/-/fast-json-stringify-compiler-4.3.0.tgz", + "integrity": "sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==", + "license": "MIT", + "dependencies": { + "fast-json-stringify": "^5.7.0" + } + }, + "node_modules/@fastify/merge-json-schemas": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@fastify/merge-json-schemas/-/merge-json-schemas-0.1.1.tgz", + "integrity": "sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + } + }, + "node_modules/@fastify/send": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@fastify/send/-/send-2.1.0.tgz", + "integrity": "sha512-yNYiY6sDkexoJR0D8IDy3aRP3+L4wdqCpvx5WP+VtEU58sn7USmKynBzDQex5X42Zzvw2gNzzYgP90UfWShLFA==", + "license": "MIT", + "dependencies": { + "@lukeed/ms": "^2.0.1", + "escape-html": "~1.0.3", + "fast-decode-uri-component": "^1.0.1", + "http-errors": "2.0.0", + "mime": "^3.0.0" + } + }, + "node_modules/@fastify/static": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/@fastify/static/-/static-7.0.4.tgz", + "integrity": "sha512-p2uKtaf8BMOZWLs6wu+Ihg7bWNBdjNgCwDza4MJtTqg+5ovKmcbgbR9Xs5/smZ1YISfzKOCNYmZV8LaCj+eJ1Q==", + "license": "MIT", + "dependencies": { + "@fastify/accept-negotiator": "^1.0.0", + "@fastify/send": "^2.0.0", + "content-disposition": "^0.5.3", + "fastify-plugin": "^4.0.0", + "fastq": "^1.17.0", + "glob": "^10.3.4" + } + }, + "node_modules/@fastify/under-pressure": { + "version": "8.5.2", + "resolved": "https://registry.npmjs.org/@fastify/under-pressure/-/under-pressure-8.5.2.tgz", + "integrity": "sha512-aFLFN2Vt1UPlt4b1m1wEr8eOzwcPUKNhda6g9OFbQ+pHLE6aStm2nGrd7DujqHFJBYEf1j6mPh0ZpsZIqQQz2Q==", + "license": "MIT", + "dependencies": { + "@fastify/error": "^3.0.0", + "fastify-plugin": "^4.0.0" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@lukeed/ms": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@lukeed/ms/-/ms-2.0.2.tgz", + "integrity": "sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/abstract-logging": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/abstract-logging/-/abstract-logging-2.0.1.tgz", + "integrity": "sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==", + "license": "MIT" + }, + "node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv/node_modules/fast-uri": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.3.tgz", + "integrity": "sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==", + "license": "BSD-3-Clause" + }, + "node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/atomic-sleep": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", + "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/avvio": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/avvio/-/avvio-8.4.0.tgz", + "integrity": "sha512-CDSwaxINFy59iNwhYnkvALBwZiTydGkOecZyPkqBpABYR1KqGEsET0VOOYDwtleZSUIdeY36DC2bSZ24CO1igA==", + "license": "MIT", + "dependencies": { + "@fastify/error": "^3.3.0", + "fastq": "^1.17.1" + } + }, + "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==", + "license": "MIT" + }, + "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==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.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==", + "license": "MIT", + "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==", + "license": "MIT" + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.5.tgz", + "integrity": "sha512-ZVJrKKYunU38/76t0RMOulHOnUcbU9GbpWKAOZ0mhjr7CX6FVrH+4FrAapSOekrgFQ3f/8gwMEuIft0aKq6Hug==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/fast-content-type-parse": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-1.1.0.tgz", + "integrity": "sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==", + "license": "MIT" + }, + "node_modules/fast-decode-uri-component": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz", + "integrity": "sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==", + "license": "MIT" + }, + "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==", + "license": "MIT" + }, + "node_modules/fast-json-stringify": { + "version": "5.16.1", + "resolved": "https://registry.npmjs.org/fast-json-stringify/-/fast-json-stringify-5.16.1.tgz", + "integrity": "sha512-KAdnLvy1yu/XrRtP+LJnxbBGrhN+xXu+gt3EUvZhYGKCr3lFHq/7UFJHHFgmJKoqlh6B40bZLEv7w46B0mqn1g==", + "license": "MIT", + "dependencies": { + "@fastify/merge-json-schemas": "^0.1.0", + "ajv": "^8.10.0", + "ajv-formats": "^3.0.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^2.1.0", + "json-schema-ref-resolver": "^1.0.1", + "rfdc": "^1.2.0" + } + }, + "node_modules/fast-json-stringify/node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/fast-querystring": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fast-querystring/-/fast-querystring-1.1.2.tgz", + "integrity": "sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==", + "license": "MIT", + "dependencies": { + "fast-decode-uri-component": "^1.0.1" + } + }, + "node_modules/fast-redact": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.5.0.tgz", + "integrity": "sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/fast-uri": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-2.4.0.tgz", + "integrity": "sha512-ypuAmmMKInk5q7XcepxlnUWDLWv4GFtaJqAzWKqn62IpQ3pejtr5dTVbt3vwqVaMKmkNR55sTT+CqUKIaT21BA==", + "license": "MIT" + }, + "node_modules/fastify": { + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/fastify/-/fastify-4.28.1.tgz", + "integrity": "sha512-kFWUtpNr4i7t5vY2EJPCN2KgMVpuqfU4NjnJNCgiNB900oiDeYqaNDRcAfeBbOF5hGixixxcKnOU4KN9z6QncQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "MIT", + "dependencies": { + "@fastify/ajv-compiler": "^3.5.0", + "@fastify/error": "^3.4.0", + "@fastify/fast-json-stringify-compiler": "^4.3.0", + "abstract-logging": "^2.0.1", + "avvio": "^8.3.0", + "fast-content-type-parse": "^1.1.0", + "fast-json-stringify": "^5.8.0", + "find-my-way": "^8.0.0", + "light-my-request": "^5.11.0", + "pino": "^9.0.0", + "process-warning": "^3.0.0", + "proxy-addr": "^2.0.7", + "rfdc": "^1.3.0", + "secure-json-parse": "^2.7.0", + "semver": "^7.5.4", + "toad-cache": "^3.3.0" + } + }, + "node_modules/fastify-healthcheck": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/fastify-healthcheck/-/fastify-healthcheck-4.4.0.tgz", + "integrity": "sha512-goP2YYBp+inqrEFixZDxsoxFN8h219ZOzCFv1sMpleaxwbo5CmoLrVzrja6vCMa1LNx6aEvOcGaqLX5Oev1q/A==", + "license": "Apache-2.0", + "dependencies": { + "@fastify/under-pressure": "^8.2.0" + }, + "engines": { + "node": ">=14.15.0" + } + }, + "node_modules/fastify-plugin": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/fastify-plugin/-/fastify-plugin-4.5.1.tgz", + "integrity": "sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==", + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/find-my-way": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-8.2.2.tgz", + "integrity": "sha512-Dobi7gcTEq8yszimcfp/R7+owiT4WncAJ7VTTgFH1jYJ5GaG1FbhjwDG820hptN0QDFvzVY3RfCzdInvGPGzjA==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-querystring": "^1.0.0", + "safe-regex2": "^3.1.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/json-schema-ref-resolver": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-schema-ref-resolver/-/json-schema-ref-resolver-1.0.1.tgz", + "integrity": "sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + } + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/light-my-request": { + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/light-my-request/-/light-my-request-5.14.0.tgz", + "integrity": "sha512-aORPWntbpH5esaYpGOOmri0OHDOe3wC5M2MQxZ9dvMLZm6DnaAn0kJlcbU9hwsQgLzmZyReKwFwwPkR+nHu5kA==", + "license": "BSD-3-Clause", + "dependencies": { + "cookie": "^0.7.0", + "process-warning": "^3.0.0", + "set-cookie-parser": "^2.4.1" + } + }, + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, + "node_modules/mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/on-exit-leak-free": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.2.tgz", + "integrity": "sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==", + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "license": "BlueOak-1.0.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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/pg": { + "version": "8.13.1", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.13.1.tgz", + "integrity": "sha512-OUir1A0rPNZlX//c7ksiu7crsGZTKSOXJPgtNiHGIlC9H0lO+NC6ZDYksSgBYY/thSWhnSRBv8w1lieNNGATNQ==", + "license": "MIT", + "dependencies": { + "pg-connection-string": "^2.7.0", + "pg-pool": "^3.7.0", + "pg-protocol": "^1.7.0", + "pg-types": "^2.1.0", + "pgpass": "1.x" + }, + "engines": { + "node": ">= 8.0.0" + }, + "optionalDependencies": { + "pg-cloudflare": "^1.1.1" + }, + "peerDependencies": { + "pg-native": ">=3.0.1" + }, + "peerDependenciesMeta": { + "pg-native": { + "optional": true + } + } + }, + "node_modules/pg-cloudflare": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.1.1.tgz", + "integrity": "sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==", + "license": "MIT", + "optional": true + }, + "node_modules/pg-connection-string": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.7.0.tgz", + "integrity": "sha512-PI2W9mv53rXJQEOb8xNR8lH7Hr+EKa6oJa38zsK0S/ky2er16ios1wLKhZyxzD7jUReiWokc9WK5nxSnC7W1TA==", + "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.7.0", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.7.0.tgz", + "integrity": "sha512-ZOBQForurqh4zZWjrgSwwAtzJ7QiRX0ovFkZr2klsen3Nm0aoh33Ls0fzfv3imeH/nw/O27cjdz5kzYJfeGp/g==", + "license": "MIT", + "peerDependencies": { + "pg": ">=8.0" + } + }, + "node_modules/pg-protocol": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.7.0.tgz", + "integrity": "sha512-hTK/mE36i8fDDhgDFjy6xNOG+LCorxLG3WO17tku+ij6sVHXh1jQUJ8hYAnRhNla4QVD2H8er/FOjc/+EgC6yQ==", + "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/pino": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/pino/-/pino-9.5.0.tgz", + "integrity": "sha512-xSEmD4pLnV54t0NOUN16yCl7RIB1c5UUOse5HSyEXtBp+FgFQyPeDutc+Q2ZO7/22vImV7VfEjH/1zV2QuqvYw==", + "license": "MIT", + "dependencies": { + "atomic-sleep": "^1.0.0", + "fast-redact": "^3.1.1", + "on-exit-leak-free": "^2.1.0", + "pino-abstract-transport": "^2.0.0", + "pino-std-serializers": "^7.0.0", + "process-warning": "^4.0.0", + "quick-format-unescaped": "^4.0.3", + "real-require": "^0.2.0", + "safe-stable-stringify": "^2.3.1", + "sonic-boom": "^4.0.1", + "thread-stream": "^3.0.0" + }, + "bin": { + "pino": "bin.js" + } + }, + "node_modules/pino-abstract-transport": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-2.0.0.tgz", + "integrity": "sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw==", + "license": "MIT", + "dependencies": { + "split2": "^4.0.0" + } + }, + "node_modules/pino-std-serializers": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-7.0.0.tgz", + "integrity": "sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==", + "license": "MIT" + }, + "node_modules/pino/node_modules/process-warning": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-4.0.0.tgz", + "integrity": "sha512-/MyYDxttz7DfGMMHiysAsFE4qF+pQYAA8ziO/3NcRVrQ5fSk+Mns4QZA/oRPFzvcqNoVJXQNWNAsdwBXLUkQKw==", + "license": "MIT" + }, + "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/process-warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-3.0.0.tgz", + "integrity": "sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==", + "license": "MIT" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/quick-format-unescaped": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", + "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==", + "license": "MIT" + }, + "node_modules/real-require": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz", + "integrity": "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==", + "license": "MIT", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ret": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.4.3.tgz", + "integrity": "sha512-0f4Memo5QP7WQyUEAYUO3esD/XjOc3Zjjg5CPsAq1p8sIu0XPeMbHJemKA0BO7tV0X7+A0FoEpbmHXWxPyD3wQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "license": "MIT" + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safe-regex2": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/safe-regex2/-/safe-regex2-3.1.0.tgz", + "integrity": "sha512-RAAZAGbap2kBfbVhvmnTFv73NWLMvDGOITFYTZBAaY8eR+Ir4ef7Up/e7amo+y1+AH+3PtLkrt9mvcTsG9LXug==", + "license": "MIT", + "dependencies": { + "ret": "~0.4.0" + } + }, + "node_modules/safe-stable-stringify": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz", + "integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/secure-json-parse": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz", + "integrity": "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==", + "license": "BSD-3-Clause" + }, + "node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/set-cookie-parser": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", + "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==", + "license": "MIT" + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "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==", + "license": "MIT", + "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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sonic-boom": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-4.2.0.tgz", + "integrity": "sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww==", + "license": "MIT", + "dependencies": { + "atomic-sleep": "^1.0.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/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/string-width-cjs/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==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/thread-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-3.1.0.tgz", + "integrity": "sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==", + "license": "MIT", + "dependencies": { + "real-require": "^0.2.0" + } + }, + "node_modules/toad-cache": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/toad-cache/-/toad-cache-3.7.0.tgz", + "integrity": "sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/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==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/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==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..7f13574 --- /dev/null +++ b/package.json @@ -0,0 +1,20 @@ +{ + "name": "auto-complete", + "version": "1.0.0", + "type": "module", + "description": "Simple auto complete suggestions example. ", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "start": "node --env-file=.env index.js" + }, + "author": "", + "license": "ISC", + "dependencies": { + "@fastify/autoload": "^5.10.0", + "@fastify/static": "^7.0.4", + "fastify": "^4.28.1", + "fastify-healthcheck": "^4.4.0", + "pg": "^8.12.0" + } +} diff --git a/plugins/data.js b/plugins/data.js new file mode 100644 index 0000000..56aad3e --- /dev/null +++ b/plugins/data.js @@ -0,0 +1,22 @@ +import fp from "fastify-plugin"; +import { promises as fs } from 'fs'; +import path from 'path'; + +async function loadJsonData() { + const filePath = path.resolve('static/data.json'); + const data = await fs.readFile(filePath, 'utf8'); + return JSON.parse(data); +} + +async function data(fastify){ +const jsonData = await loadJsonData() +fastify.decorate('data', { jsonData }); +} + +export default fp(data, { + // Protip: if you name your plugins, the stack trace in case of errors + // will be easier to read and other plugins can declare their dependency + // on this one. `fastify-autoload` will take care of loading the plugins + // in the correct order. + name: 'data' + }) diff --git a/plugins/db.js b/plugins/db.js new file mode 100644 index 0000000..fd78f44 --- /dev/null +++ b/plugins/db.js @@ -0,0 +1,38 @@ +import fp from "fastify-plugin"; +import pg from 'pg' + +const { Pool } = pg + +const pool = new Pool({ + user: process.env.DB_USER, + host: process.env.DB_HOST, + database: process.env.DB_NAME, + password: process.env.DB_PASS, + port: process.env.DB_PORT, +}) + +async function database (fastify){ + + try { + + console.log(`Attempting to connect to ${process.env.DB_NAME}@${process.env.DB_HOST}:${process.env.DB_PORT}`); + const client = await pool.connect() + const res = await client.query('SELECT NOW()'); + console.log("Connection success at:",res.rows[0].now) + await client.end() + + +} catch(err) { + console.error(err) +} + fastify.decorate('db', {pool}) +} + + +export default fp(database, { + // Protip: if you name your plugins, the stack trace in case of errors + // will be easier to read and other plugins can declare their dependency + // on this one. `fastify-autoload` will take care of loading the plugins + // in the correct order. + name: 'database' + }) diff --git a/routes/publicRoutes.js b/routes/publicRoutes.js new file mode 100644 index 0000000..c8d6226 --- /dev/null +++ b/routes/publicRoutes.js @@ -0,0 +1,49 @@ +import fp from "fastify-plugin"; +import healthcheck from 'fastify-healthcheck'; +import Static from '@fastify/static' +import path from 'path'; +import { dirname} from 'path' +import { fileURLToPath } from 'url' + +const __filename = fileURLToPath(import.meta.url) +const __dirname = dirname(__filename) + +async function publicRoutes (fastify, opts) { +// Register healthcheck plugin +fastify.register(healthcheck, { + healthcheckUrl: '/health', + // healthcheckUrlDisable: true, + // healthcheckUrlAlwaysFail: true, + // underPressureOptions: { } // no under-pressure specific options set here + exposeUptime: true // enable, as a sample +}) + +await fastify.register(Static, { + root: path.join(__dirname, '..', 'static'), + prefix: '/' , + wildcard: false, +}) + + +fastify.get("/data", async function(request, reply) { + let matches = Object.values(fastify.data.jsonData).filter(company => { + const regex = new RegExp(`^${request.query.input}`,'gi'); + return company.Symbol.match(regex) || company.Security.match(regex) + }); + + return reply.send(matches) +}) + +fastify.get("/*", async function(request, reply) { + return reply.redirect('index.html',303) +}) + +} + +export default fp(publicRoutes, { + // Protip: if you name your plugins, the stack trace in case of errors + // will be easier to read and other plugins can declare their dependency + // on this one. `fastify-autoload` will take care of loading the plugins + // in the correct order. + name: 'publicRoutes' +}) diff --git a/static/app.js b/static/app.js new file mode 100644 index 0000000..f50ae1e --- /dev/null +++ b/static/app.js @@ -0,0 +1,45 @@ +console.log("Hello world!"); +function debounce(cb, delay = 1000) { + let timeout + + return (...args) => { + clearTimeout(timeout) + timeout = setTimeout(() => { + cb(...args) + }, delay) + } +} + async function updateDatalist() { + const inputValue = document.getElementById('inputField').value; + if(inputValue.length == 0) return; + try { + // Send a GET request to the Fastify endpoint + const response = await fetch(`http://localhost:3000/data?input=${encodeURIComponent(inputValue)}`); + + // Check if the response is okay (status in the range 200-299) + if (!response.ok) { + throw new Error('Network response was not ok'); + } + + // Parse the JSON data from the response + const data = await response.json(); + + // Get the datalist element + const datalist = document.getElementById('suggestions'); + + // Clear existing options + datalist.innerHTML = ''; + + // Populate the datalist with new options + data.forEach(item => { + const option = document.createElement('option'); + option.value = `${item.Security} | ${item.Symbol}`; // Set the option value to the data item + datalist.appendChild(option); + }); + } catch (error) { + console.error('Fetch error:', error); + } + } + +const debouncedUpdateDatalist = debounce(updateDatalist, 300); +document.getElementById('inputField').addEventListener('input', debouncedUpdateDatalist); diff --git a/static/data.json b/static/data.json new file mode 100644 index 0000000..73a91f1 --- /dev/null +++ b/static/data.json @@ -0,0 +1,5509 @@ +[ + { + "Symbol": "MMM", + "Security": "3M", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Industrial Conglomerates", + "Headquarters Location": "Saint Paul, Minnesota", + "Date first added": "1976-08-09", + "CIK": "66740", + "Founded": "1902" + }, + { + "Symbol": "AOS", + "Security": "A. O. Smith", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Building Products", + "Headquarters Location": "Milwaukee, Wisconsin", + "Date first added": "2017-07-26", + "CIK": "91142", + "Founded": "1916" + }, + { + "Symbol": "ABT", + "Security": "Abbott", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Health Care Equipment", + "Headquarters Location": "North Chicago, Illinois", + "Date first added": "1964-03-31", + "CIK": "1800", + "Founded": "1888" + }, + { + "Symbol": "ABBV", + "Security": "AbbVie", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Pharmaceuticals", + "Headquarters Location": "North Chicago, Illinois", + "Date first added": "2012-12-31", + "CIK": "1551152", + "Founded": "2013 (1888)" + }, + { + "Symbol": "ABMD", + "Security": "Abiomed", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Health Care Equipment", + "Headquarters Location": "Danvers, Massachusetts", + "Date first added": "2018-05-31", + "CIK": "815094", + "Founded": "1981" + }, + { + "Symbol": "ACN", + "Security": "Accenture", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "IT Consulting & Other Services", + "Headquarters Location": "Dublin, Ireland", + "Date first added": "2011-07-06", + "CIK": "1467373", + "Founded": "1989" + }, + { + "Symbol": "ATVI", + "Security": "Activision Blizzard", + "SEC filings": "reports", + "GICS Sector": "Communication Services", + "GICS Sub-Industry": "Interactive Home Entertainment", + "Headquarters Location": "Santa Monica, California", + "Date first added": "2015-08-31", + "CIK": "718877", + "Founded": "2008" + }, + { + "Symbol": "ADM", + "Security": "ADM", + "SEC filings": "reports", + "GICS Sector": "Consumer Staples", + "GICS Sub-Industry": "Agricultural Products", + "Headquarters Location": "Chicago, Illinois", + "Date first added": "1981-07-29", + "CIK": "7084", + "Founded": "1902" + }, + { + "Symbol": "ADBE", + "Security": "Adobe", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Application Software", + "Headquarters Location": "San Jose, California", + "Date first added": "1997-05-05", + "CIK": "796343", + "Founded": "1982" + }, + { + "Symbol": "ADP", + "Security": "ADP", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Data Processing & Outsourced Services", + "Headquarters Location": "Roseland, New Jersey", + "Date first added": "1981-03-31", + "CIK": "8670", + "Founded": "1949" + }, + { + "Symbol": "AAP", + "Security": "Advance Auto Parts", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Automotive Retail", + "Headquarters Location": "Raleigh, North Carolina", + "Date first added": "2015-07-09", + "CIK": "1158449", + "Founded": "1932" + }, + { + "Symbol": "AES", + "Security": "AES", + "SEC filings": "reports", + "GICS Sector": "Utilities", + "GICS Sub-Industry": "Independent Power Producers & Energy Traders", + "Headquarters Location": "Arlington, Virginia", + "Date first added": "1998-10-02", + "CIK": "874761", + "Founded": "1981" + }, + { + "Symbol": "AFL", + "Security": "Aflac", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Life & Health Insurance", + "Headquarters Location": "Columbus, Georgia", + "Date first added": "1999-05-28", + "CIK": "4977", + "Founded": "1955" + }, + { + "Symbol": "A", + "Security": "Agilent Technologies", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Health Care Equipment", + "Headquarters Location": "Santa Clara, California", + "Date first added": "2000-06-05", + "CIK": "1090872", + "Founded": "1999" + }, + { + "Symbol": "AIG", + "Security": "AIG", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Property & Casualty Insurance", + "Headquarters Location": "New York City, New York", + "Date first added": "1980-03-31", + "CIK": "5272", + "Founded": "1919" + }, + { + "Symbol": "APD", + "Security": "Air Products", + "SEC filings": "reports", + "GICS Sector": "Materials", + "GICS Sub-Industry": "Industrial Gases", + "Headquarters Location": "Allentown, Pennsylvania", + "Date first added": "1985-04-30", + "CIK": "2969", + "Founded": "1940" + }, + { + "Symbol": "AKAM", + "Security": "Akamai", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Internet Services & Infrastructure", + "Headquarters Location": "Cambridge, Massachusetts", + "Date first added": "2007-07-12", + "CIK": "1086222", + "Founded": "1998" + }, + { + "Symbol": "ALK", + "Security": "Alaska Air Group", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Airlines", + "Headquarters Location": "Seattle, Washington", + "Date first added": "2016-05-13", + "CIK": "766421", + "Founded": "1985" + }, + { + "Symbol": "ALB", + "Security": "Albemarle", + "SEC filings": "reports", + "GICS Sector": "Materials", + "GICS Sub-Industry": "Specialty Chemicals", + "Headquarters Location": "Charlotte, North Carolina", + "Date first added": "2016-07-01", + "CIK": "915913", + "Founded": "1994" + }, + { + "Symbol": "ARE", + "Security": "Alexandria Real Estate Equities", + "SEC filings": "reports", + "GICS Sector": "Real Estate", + "GICS Sub-Industry": "Office REITs", + "Headquarters Location": "Pasadena, California", + "Date first added": "2017-03-20", + "CIK": "1035443", + "Founded": "1994" + }, + { + "Symbol": "ALGN", + "Security": "Align", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Health Care Supplies", + "Headquarters Location": "San Jose, California", + "Date first added": "2017-06-19", + "CIK": "1097149", + "Founded": "1997" + }, + { + "Symbol": "ALLE", + "Security": "Allegion", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Building Products", + "Headquarters Location": "New York City, New York", + "Date first added": "2013-12-02", + "CIK": "1579241", + "Founded": "1908" + }, + { + "Symbol": "LNT", + "Security": "Alliant Energy", + "SEC filings": "reports", + "GICS Sector": "Utilities", + "GICS Sub-Industry": "Electric Utilities", + "Headquarters Location": "Madison, Wisconsin", + "Date first added": "2016-07-01", + "CIK": "352541", + "Founded": "1917" + }, + { + "Symbol": "ALL", + "Security": "Allstate", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Property & Casualty Insurance", + "Headquarters Location": "Northfield Township, Illinois", + "Date first added": "1995-07-13", + "CIK": "899051", + "Founded": "1931" + }, + { + "Symbol": "GOOGL", + "Security": "Alphabet (Class A)", + "SEC filings": "reports", + "GICS Sector": "Communication Services", + "GICS Sub-Industry": "Interactive Media & Services", + "Headquarters Location": "Mountain View, California", + "Date first added": "2014-04-03", + "CIK": "1652044", + "Founded": "1998" + }, + { + "Symbol": "GOOG", + "Security": "Alphabet (Class C)", + "SEC filings": "reports", + "GICS Sector": "Communication Services", + "GICS Sub-Industry": "Interactive Media & Services", + "Headquarters Location": "Mountain View, California", + "Date first added": "2006-04-03", + "CIK": "1652044", + "Founded": "1998" + }, + { + "Symbol": "MO", + "Security": "Altria", + "SEC filings": "reports", + "GICS Sector": "Consumer Staples", + "GICS Sub-Industry": "Tobacco", + "Headquarters Location": "Richmond, Virginia", + "Date first added": "1957-03-04", + "CIK": "764180", + "Founded": "1985" + }, + { + "Symbol": "AMZN", + "Security": "Amazon", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Internet & Direct Marketing Retail", + "Headquarters Location": "Seattle, Washington", + "Date first added": "2005-11-18", + "CIK": "1018724", + "Founded": "1994" + }, + { + "Symbol": "AMCR", + "Security": "Amcor", + "SEC filings": "reports", + "GICS Sector": "Materials", + "GICS Sub-Industry": "Paper Packaging", + "Headquarters Location": "Warmley, Bristol, United Kingdom", + "Date first added": "2019-06-07", + "CIK": "1748790", + "Founded": "2019 (1860)" + }, + { + "Symbol": "AMD", + "Security": "AMD", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Semiconductors", + "Headquarters Location": "Santa Clara, California", + "CIK": "2488", + "Founded": "1969" + }, + { + "Symbol": "AEE", + "Security": "Ameren", + "SEC filings": "reports", + "GICS Sector": "Utilities", + "GICS Sub-Industry": "Multi-Utilities", + "Headquarters Location": "St. Louis, Missouri", + "Date first added": "1991-09-19", + "CIK": "1002910", + "Founded": "1902" + }, + { + "Symbol": "AAL", + "Security": "American Airlines Group", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Airlines", + "Headquarters Location": "Fort Worth, Texas", + "Date first added": "2015-03-23", + "CIK": "6201", + "Founded": "1934" + }, + { + "Symbol": "AEP", + "Security": "American Electric Power", + "SEC filings": "reports", + "GICS Sector": "Utilities", + "GICS Sub-Industry": "Electric Utilities", + "Headquarters Location": "Columbus, Ohio", + "Date first added": "1957-03-04", + "CIK": "4904", + "Founded": "1906" + }, + { + "Symbol": "AXP", + "Security": "American Express", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Consumer Finance", + "Headquarters Location": "New York City, New York", + "Date first added": "1976-06-30", + "CIK": "4962", + "Founded": "1850" + }, + { + "Symbol": "AMT", + "Security": "American Tower", + "SEC filings": "reports", + "GICS Sector": "Real Estate", + "GICS Sub-Industry": "Specialized REITs", + "Headquarters Location": "Boston, Massachusetts", + "Date first added": "2007-11-19", + "CIK": "1053507", + "Founded": "1995" + }, + { + "Symbol": "AWK", + "Security": "American Water", + "SEC filings": "reports", + "GICS Sector": "Utilities", + "GICS Sub-Industry": "Water Utilities", + "Headquarters Location": "Camden, New Jersey", + "Date first added": "2016-03-04", + "CIK": "1410636", + "Founded": "1886" + }, + { + "Symbol": "AMP", + "Security": "Ameriprise Financial", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Asset Management & Custody Banks", + "Headquarters Location": "Minneapolis, Minnesota", + "Date first added": "2005-10-03", + "CIK": "820027", + "Founded": "1894" + }, + { + "Symbol": "ABC", + "Security": "AmerisourceBergen", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Health Care Distributors", + "Headquarters Location": "Chesterbrook, Pennsylvania", + "Date first added": "2001-08-30", + "CIK": "1140859", + "Founded": "1985" + }, + { + "Symbol": "AME", + "Security": "Ametek", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Electrical Components & Equipment", + "Headquarters Location": "Berwyn, Pennsylvania", + "Date first added": "2013-09-23", + "CIK": "1037868", + "Founded": "1930" + }, + { + "Symbol": "AMGN", + "Security": "Amgen", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Biotechnology", + "Headquarters Location": "Thousand Oaks, California", + "Date first added": "1992-01-02", + "CIK": "318154", + "Founded": "1980" + }, + { + "Symbol": "APH", + "Security": "Amphenol", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Electronic Components", + "Headquarters Location": "Wallingford, Connecticut", + "Date first added": "2008-09-30", + "CIK": "820313", + "Founded": "1932" + }, + { + "Symbol": "ADI", + "Security": "Analog Devices", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Semiconductors", + "Headquarters Location": "Wilmington, Massachusetts", + "Date first added": "1999-10-12", + "CIK": "6281", + "Founded": "1965" + }, + { + "Symbol": "ANSS", + "Security": "Ansys", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Application Software", + "Headquarters Location": "Canonsburg, Pennsylvania", + "Date first added": "2017-06-19", + "CIK": "1013462", + "Founded": "1969" + }, + { + "Symbol": "ANTM", + "Security": "Anthem", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Managed Health Care", + "Headquarters Location": "Indianapolis, Indiana", + "Date first added": "2002-07-25", + "CIK": "1156039", + "Founded": "2014 (1946)" + }, + { + "Symbol": "AON", + "Security": "Aon", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Insurance Brokers", + "Headquarters Location": "London, UK", + "Date first added": "1996-04-23", + "CIK": "315293", + "Founded": "1982 (1919)" + }, + { + "Symbol": "APA", + "Security": "APA Corporation", + "SEC filings": "reports", + "GICS Sector": "Energy", + "GICS Sub-Industry": "Oil & Gas Exploration & Production", + "Headquarters Location": "Houston, Texas", + "Date first added": "1997-07-28", + "CIK": "6769", + "Founded": "1954" + }, + { + "Symbol": "AAPL", + "Security": "Apple", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Technology Hardware, Storage & Peripherals", + "Headquarters Location": "Cupertino, California", + "Date first added": "1982-11-30", + "CIK": "320193", + "Founded": "1977" + }, + { + "Symbol": "AMAT", + "Security": "Applied Materials", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Semiconductor Equipment", + "Headquarters Location": "Santa Clara, California", + "Date first added": "1995-03-16", + "CIK": "6951", + "Founded": "1967" + }, + { + "Symbol": "APTV", + "Security": "Aptiv", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Auto Parts & Equipment", + "Headquarters Location": "Dublin, Ireland", + "Date first added": "2012-12-24", + "CIK": "1521332", + "Founded": "1994" + }, + { + "Symbol": "ANET", + "Security": "Arista", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Communications Equipment", + "Headquarters Location": "Santa Clara, California", + "Date first added": "2018-08-28", + "CIK": "1596532", + "Founded": "2004" + }, + { + "Symbol": "AJG", + "Security": "Arthur J. Gallagher & Co.", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Insurance Brokers", + "Headquarters Location": "Rolling Meadows, Illinois", + "Date first added": "2016-05-31", + "CIK": "354190", + "Founded": "1927" + }, + { + "Symbol": "AIZ", + "Security": "Assurant", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Multi-line Insurance", + "Headquarters Location": "New York City, New York", + "Date first added": "2007-04-10", + "CIK": "1267238", + "Founded": "1892" + }, + { + "Symbol": "T", + "Security": "AT&T", + "SEC filings": "reports", + "GICS Sector": "Communication Services", + "GICS Sub-Industry": "Integrated Telecommunication Services", + "Headquarters Location": "Dallas, Texas", + "Date first added": "1983-11-30 (1957-03-04)", + "CIK": "732717", + "Founded": "1983 (1885)" + }, + { + "Symbol": "ATO", + "Security": "Atmos Energy", + "SEC filings": "reports", + "GICS Sector": "Utilities", + "GICS Sub-Industry": "Gas Utilities", + "Headquarters Location": "Dallas, Texas", + "Date first added": "2019-02-15", + "CIK": "731802", + "Founded": "1906" + }, + { + "Symbol": "ADSK", + "Security": "Autodesk", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Application Software", + "Headquarters Location": "San Rafael, California", + "Date first added": "1989-12-01", + "CIK": "769397", + "Founded": "1982" + }, + { + "Symbol": "AZO", + "Security": "AutoZone", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Specialty Stores", + "Headquarters Location": "Memphis, Tennessee", + "Date first added": "1997-01-02", + "CIK": "866787", + "Founded": "1979" + }, + { + "Symbol": "AVB", + "Security": "AvalonBay Communities", + "SEC filings": "reports", + "GICS Sector": "Real Estate", + "GICS Sub-Industry": "Residential REITs", + "Headquarters Location": "Arlington, Virginia[3]", + "Date first added": "2007-01-10", + "CIK": "915912", + "Founded": "1978" + }, + { + "Symbol": "AVY", + "Security": "Avery Dennison", + "SEC filings": "reports", + "GICS Sector": "Materials", + "GICS Sub-Industry": "Paper Packaging", + "Headquarters Location": "Glendale, California", + "Date first added": "1987-12-31", + "CIK": "8818", + "Founded": "1990" + }, + { + "Symbol": "BKR", + "Security": "Baker Hughes", + "SEC filings": "reports", + "GICS Sector": "Energy", + "GICS Sub-Industry": "Oil & Gas Equipment & Services", + "Headquarters Location": "Houston, Texas", + "Date first added": "2017-07-07", + "CIK": "1701605", + "Founded": "2017" + }, + { + "Symbol": "BLL", + "Security": "Ball", + "SEC filings": "reports", + "GICS Sector": "Materials", + "GICS Sub-Industry": "Metal & Glass Containers", + "Headquarters Location": "Broomfield, Colorado", + "Date first added": "1984-10-31", + "CIK": "9389", + "Founded": "1880" + }, + { + "Symbol": "BAC", + "Security": "Bank of America", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Diversified Banks", + "Headquarters Location": "Charlotte, North Carolina", + "Date first added": "1976-06-30", + "CIK": "70858", + "Founded": "1998 (1923 / 1874)" + }, + { + "Symbol": "BBWI", + "Security": "Bath & Body Works", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Specialty Stores", + "Headquarters Location": "Columbus, Ohio", + "Date first added": "1983-09-30", + "CIK": "701985", + "Founded": "1963" + }, + { + "Symbol": "BAX", + "Security": "Baxter", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Health Care Equipment", + "Headquarters Location": "Deerfield, Illinois", + "Date first added": "1972-09-30", + "CIK": "10456", + "Founded": "1931" + }, + { + "Symbol": "BDX", + "Security": "Becton Dickinson", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Health Care Equipment", + "Headquarters Location": "Franklin Lakes, New Jersey", + "Date first added": "1972-09-30", + "CIK": "10795", + "Founded": "1897" + }, + { + "Symbol": "BRK.B", + "Security": "Berkshire Hathaway", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Multi-Sector Holdings", + "Headquarters Location": "Omaha, Nebraska", + "Date first added": "2010-02-16", + "CIK": "1067983", + "Founded": "1839" + }, + { + "Symbol": "BBY", + "Security": "Best Buy", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Computer & Electronics Retail", + "Headquarters Location": "Richfield, Minnesota", + "Date first added": "1999-06-29", + "CIK": "764478", + "Founded": "1966" + }, + { + "Symbol": "BIO", + "Security": "Bio-Rad", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Life Sciences Tools & Services", + "Headquarters Location": "Hercules, California", + "Date first added": "2020-06-22", + "CIK": "12208", + "Founded": "1952" + }, + { + "Symbol": "TECH", + "Security": "Bio-Techne", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Life Sciences Tools & Services", + "Headquarters Location": "Minneapolis, Minnesota", + "Date first added": "2021-08-30", + "CIK": "842023", + "Founded": "1976" + }, + { + "Symbol": "BIIB", + "Security": "Biogen", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Biotechnology", + "Headquarters Location": "Cambridge, Massachusetts", + "Date first added": "2003-11-13", + "CIK": "875045", + "Founded": "1978" + }, + { + "Symbol": "BLK", + "Security": "BlackRock", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Asset Management & Custody Banks", + "Headquarters Location": "New York City, New York", + "Date first added": "2011-04-04", + "CIK": "1364742", + "Founded": "1988" + }, + { + "Symbol": "BK", + "Security": "BNY Mellon", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Asset Management & Custody Banks", + "Headquarters Location": "New York City, New York", + "Date first added": "1995-03-31", + "CIK": "1390777", + "Founded": "1784" + }, + { + "Symbol": "BA", + "Security": "Boeing", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Aerospace & Defense", + "Headquarters Location": "Chicago, Illinois", + "Date first added": "1957-03-04", + "CIK": "12927", + "Founded": "1916" + }, + { + "Symbol": "BKNG", + "Security": "Booking Holdings", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Internet & Direct Marketing Retail", + "Headquarters Location": "Norwalk, Connecticut", + "Date first added": "2009-11-06", + "CIK": "1075531", + "Founded": "1996" + }, + { + "Symbol": "BWA", + "Security": "BorgWarner", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Auto Parts & Equipment", + "Headquarters Location": "Auburn Hills, Michigan", + "Date first added": "2011-12-19", + "CIK": "908255", + "Founded": "1880" + }, + { + "Symbol": "BXP", + "Security": "Boston Properties", + "SEC filings": "reports", + "GICS Sector": "Real Estate", + "GICS Sub-Industry": "Office REITs", + "Headquarters Location": "Boston, Massachusetts", + "Date first added": "2006-04-03", + "CIK": "1037540", + "Founded": "1970" + }, + { + "Symbol": "BSX", + "Security": "Boston Scientific", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Health Care Equipment", + "Headquarters Location": "Marlborough, Massachusetts[4]", + "Date first added": "1995-02-24", + "CIK": "885725", + "Founded": "1979" + }, + { + "Symbol": "BMY", + "Security": "Bristol Myers Squibb", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Health Care Distributors", + "Headquarters Location": "New York City, New York", + "Date first added": "1957-03-04", + "CIK": "14272", + "Founded": "1989" + }, + { + "Symbol": "AVGO", + "Security": "Broadcom", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Semiconductors", + "Headquarters Location": "San Jose, California", + "Date first added": "2014-05-08", + "CIK": "1730168", + "Founded": "1961" + }, + { + "Symbol": "BR", + "Security": "Broadridge", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Data Processing & Outsourced Services", + "Headquarters Location": "Lake Success, New York", + "Date first added": "2018-06-18", + "CIK": "1383312", + "Founded": "1962" + }, + { + "Symbol": "BRO", + "Security": "Brown & Brown", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Insurance Brokers", + "Headquarters Location": "Daytona Beach, Florida", + "Date first added": "2021-09-20", + "CIK": "79282", + "Founded": "1939" + }, + { + "Symbol": "BF.B", + "Security": "Brownā€“Forman", + "SEC filings": "reports", + "GICS Sector": "Consumer Staples", + "GICS Sub-Industry": "Distillers & Vintners", + "Headquarters Location": "Louisville, Kentucky", + "Date first added": "1982-10-31", + "CIK": "14693", + "Founded": "1870" + }, + { + "Symbol": "CHRW", + "Security": "C. H. Robinson", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Air Freight & Logistics", + "Headquarters Location": "Eden Prairie, Minnesota", + "Date first added": "2007-03-02", + "CIK": "1043277", + "Founded": "1905" + }, + { + "Symbol": "CDNS", + "Security": "Cadence", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Application Software", + "Headquarters Location": "San Jose, California", + "Date first added": "2017-09-18", + "CIK": "813672", + "Founded": "1988" + }, + { + "Symbol": "CZR", + "Security": "Caesars Entertainment", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Casinos & Gaming", + "Headquarters Location": "Reno, Nevada", + "Date first added": "2021-03-22", + "CIK": "1590895", + "Founded": "1973" + }, + { + "Symbol": "CPB", + "Security": "Campbell's", + "SEC filings": "reports", + "GICS Sector": "Consumer Staples", + "GICS Sub-Industry": "Packaged Foods & Meats", + "Headquarters Location": "Camden, New Jersey", + "Date first added": "1957-03-04", + "CIK": "16732", + "Founded": "1869" + }, + { + "Symbol": "COF", + "Security": "Capital One", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Consumer Finance", + "Headquarters Location": "Tysons Corner, Virginia", + "Date first added": "1998-07-01", + "CIK": "927628", + "Founded": "1994" + }, + { + "Symbol": "CAH", + "Security": "Cardinal Health", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Health Care Distributors", + "Headquarters Location": "Dublin, Ohio", + "Date first added": "1997-05-27", + "CIK": "721371", + "Founded": "1971" + }, + { + "Symbol": "KMX", + "Security": "CarMax", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Specialty Stores", + "Headquarters Location": "Richmond, Virginia", + "Date first added": "2010-06-28", + "CIK": "1170010", + "Founded": "1993" + }, + { + "Symbol": "CCL", + "Security": "Carnival Corporation", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Hotels, Resorts & Cruise Lines", + "Headquarters Location": "Miami, Florida", + "Date first added": "1998-12-22", + "CIK": "815097", + "Founded": "1972" + }, + { + "Symbol": "CARR", + "Security": "Carrier Global", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Building Products", + "Headquarters Location": "Palm Beach Gardens, Florida", + "Date first added": "2020-04-03", + "CIK": "1783180", + "Founded": "2020 (1915)" + }, + { + "Symbol": "CTLT", + "Security": "Catalent", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Pharmaceuticals", + "Headquarters Location": "Somerset, New Jersey", + "Date first added": "2020-09-21", + "CIK": "1596783", + "Founded": "2007" + }, + { + "Symbol": "CAT", + "Security": "Caterpillar", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Construction Machinery & Heavy Trucks", + "Headquarters Location": "Deerfield, Illinois", + "Date first added": "1957-03-04", + "CIK": "18230", + "Founded": "1925" + }, + { + "Symbol": "CBOE", + "Security": "Cboe", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Financial Exchanges & Data", + "Headquarters Location": "Chicago, Illinois", + "Date first added": "2017-03-01", + "CIK": "1374310", + "Founded": "1973" + }, + { + "Symbol": "CBRE", + "Security": "CBRE", + "SEC filings": "reports", + "GICS Sector": "Real Estate", + "GICS Sub-Industry": "Real Estate Services", + "Headquarters Location": "Dallas, Texas", + "Date first added": "2006-11-10", + "CIK": "1138118", + "Founded": "1906" + }, + { + "Symbol": "CDW", + "Security": "CDW", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Technology Distributors", + "Headquarters Location": "Lincolnshire, Illinois", + "Date first added": "2019-09-23", + "CIK": "1402057", + "Founded": "1984" + }, + { + "Symbol": "CE", + "Security": "Celanese", + "SEC filings": "reports", + "GICS Sector": "Materials", + "GICS Sub-Industry": "Specialty Chemicals", + "Headquarters Location": "Irving, Texas", + "Date first added": "2018-12-24", + "CIK": "1306830", + "Founded": "1918" + }, + { + "Symbol": "CNC", + "Security": "Centene", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Managed Health Care", + "Headquarters Location": "St. Louis, Missouri", + "Date first added": "2016-03-30", + "CIK": "1071739", + "Founded": "1984" + }, + { + "Symbol": "CNP", + "Security": "CenterPoint Energy", + "SEC filings": "reports", + "GICS Sector": "Utilities", + "GICS Sub-Industry": "Multi-Utilities", + "Headquarters Location": "Houston, Texas", + "Date first added": "1985-07-31", + "CIK": "1130310", + "Founded": "1882" + }, + { + "Symbol": "CDAY", + "Security": "Ceridian", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Application Software", + "Headquarters Location": "Minneapolis, Minnesota", + "Date first added": "2021-09-20", + "CIK": "1725057", + "Founded": "1992" + }, + { + "Symbol": "CERN", + "Security": "Cerner", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Health Care Technology", + "Headquarters Location": "North Kansas City, Missouri", + "Date first added": "2010-04-30", + "CIK": "804753", + "Founded": "1979" + }, + { + "Symbol": "CF", + "Security": "CF Industries", + "SEC filings": "reports", + "GICS Sector": "Materials", + "GICS Sub-Industry": "Fertilizers & Agricultural Chemicals", + "Headquarters Location": "Deerfield, Illinois", + "Date first added": "2008-08-27", + "CIK": "1324404", + "Founded": "1946" + }, + { + "Symbol": "CRL", + "Security": "Charles River", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Life Sciences Tools & Services", + "Headquarters Location": "Wilmington, Massachusetts", + "Date first added": "2021-05-14", + "CIK": "1100682", + "Founded": "1947" + }, + { + "Symbol": "SCHW", + "Security": "Charles Schwab", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Investment Banking & Brokerage", + "Headquarters Location": "Westlake, Texas", + "Date first added": "1997-06-02", + "CIK": "316709", + "Founded": "1971" + }, + { + "Symbol": "CHTR", + "Security": "Charter Communications", + "SEC filings": "reports", + "GICS Sector": "Communication Services", + "GICS Sub-Industry": "Cable & Satellite", + "Headquarters Location": "Stamford, Connecticut", + "Date first added": "2016-09-08", + "CIK": "1091667", + "Founded": "1993" + }, + { + "Symbol": "CVX", + "Security": "Chevron", + "SEC filings": "reports", + "GICS Sector": "Energy", + "GICS Sub-Industry": "Integrated Oil & Gas", + "Headquarters Location": "San Ramon, California", + "Date first added": "1957-03-04", + "CIK": "93410", + "Founded": "1879" + }, + { + "Symbol": "CMG", + "Security": "Chipotle Mexican Grill", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Restaurants", + "Headquarters Location": "Newport Beach, California", + "Date first added": "2011-04-28", + "CIK": "1058090", + "Founded": "1993" + }, + { + "Symbol": "CB", + "Security": "Chubb", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Property & Casualty Insurance", + "Headquarters Location": "Zurich, Switzerland", + "Date first added": "2010-07-15", + "CIK": "896159", + "Founded": "1985" + }, + { + "Symbol": "CHD", + "Security": "Church & Dwight", + "SEC filings": "reports", + "GICS Sector": "Consumer Staples", + "GICS Sub-Industry": "Household Products", + "Headquarters Location": "Ewing, New Jersey", + "Date first added": "2015-12-29", + "CIK": "313927", + "Founded": "1847" + }, + { + "Symbol": "CI", + "Security": "Cigna", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Managed Health Care", + "Headquarters Location": "Bloomfield, Connecticut", + "Date first added": "1976-06-30", + "CIK": "1739940", + "Founded": "1982" + }, + { + "Symbol": "CINF", + "Security": "Cincinnati Financial", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Property & Casualty Insurance", + "Headquarters Location": "Fairfield, Ohio", + "Date first added": "1997-12-18", + "CIK": "20286", + "Founded": "1950" + }, + { + "Symbol": "CTAS", + "Security": "Cintas", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Diversified Support Services", + "Headquarters Location": "Mason, Ohio", + "Date first added": "2001-03-01", + "CIK": "723254", + "Founded": "1929" + }, + { + "Symbol": "CSCO", + "Security": "Cisco", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Communications Equipment", + "Headquarters Location": "San Jose, California", + "Date first added": "1993-12-01", + "CIK": "858877", + "Founded": "1984" + }, + { + "Symbol": "C", + "Security": "Citigroup", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Diversified Banks", + "Headquarters Location": "New York City, New York", + "Date first added": "1988-05-31", + "CIK": "831001", + "Founded": "1998" + }, + { + "Symbol": "CFG", + "Security": "Citizens Financial Group", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Regional Banks", + "Headquarters Location": "Providence, Rhode Island", + "Date first added": "2016-01-29", + "CIK": "759944", + "Founded": "1828" + }, + { + "Symbol": "CTXS", + "Security": "Citrix", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Application Software", + "Headquarters Location": "Fort Lauderdale, Florida", + "Date first added": "1999-12-01", + "CIK": "877890", + "Founded": "1989" + }, + { + "Symbol": "CLX", + "Security": "Clorox", + "SEC filings": "reports", + "GICS Sector": "Consumer Staples", + "GICS Sub-Industry": "Household Products", + "Headquarters Location": "Oakland, California", + "Date first added": "1969-03-31", + "CIK": "21076", + "Founded": "1913" + }, + { + "Symbol": "CME", + "Security": "CME Group", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Financial Exchanges & Data", + "Headquarters Location": "Chicago, Illinois", + "Date first added": "2006-08-11", + "CIK": "1156375", + "Founded": "1848" + }, + { + "Symbol": "CMS", + "Security": "CMS Energy", + "SEC filings": "reports", + "GICS Sector": "Utilities", + "GICS Sub-Industry": "Multi-Utilities", + "Headquarters Location": "Jackson, Michigan", + "Date first added": "1999-05-03", + "CIK": "811156", + "Founded": "1886" + }, + { + "Symbol": "KO", + "Security": "Coca-Cola", + "SEC filings": "reports", + "GICS Sector": "Consumer Staples", + "GICS Sub-Industry": "Soft Drinks", + "Headquarters Location": "Atlanta, Georgia", + "Date first added": "1957-03-04", + "CIK": "21344", + "Founded": "1886" + }, + { + "Symbol": "CTSH", + "Security": "Cognizant", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "IT Consulting & Other Services", + "Headquarters Location": "Teaneck, New Jersey", + "Date first added": "2006-11-17", + "CIK": "1058290", + "Founded": "1994" + }, + { + "Symbol": "CL", + "Security": "Colgate-Palmolive", + "SEC filings": "reports", + "GICS Sector": "Consumer Staples", + "GICS Sub-Industry": "Household Products", + "Headquarters Location": "New York City, New York", + "Date first added": "1957-03-04", + "CIK": "21665", + "Founded": "1806" + }, + { + "Symbol": "CMCSA", + "Security": "Comcast", + "SEC filings": "reports", + "GICS Sector": "Communication Services", + "GICS Sub-Industry": "Cable & Satellite", + "Headquarters Location": "Philadelphia, Pennsylvania", + "Date first added": "2002-11-19", + "CIK": "1166691", + "Founded": "1963" + }, + { + "Symbol": "CMA", + "Security": "Comerica", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Diversified Banks", + "Headquarters Location": "Dallas, Texas", + "Date first added": "1995-12-01", + "CIK": "28412", + "Founded": "1849" + }, + { + "Symbol": "CAG", + "Security": "Conagra Brands", + "SEC filings": "reports", + "GICS Sector": "Consumer Staples", + "GICS Sub-Industry": "Packaged Foods & Meats", + "Headquarters Location": "Chicago, Illinois", + "Date first added": "1983-08-31", + "CIK": "23217", + "Founded": "1919" + }, + { + "Symbol": "COP", + "Security": "ConocoPhillips", + "SEC filings": "reports", + "GICS Sector": "Energy", + "GICS Sub-Industry": "Oil & Gas Exploration & Production", + "Headquarters Location": "Houston, Texas", + "Date first added": "1957-03-04", + "CIK": "1163165", + "Founded": "2002" + }, + { + "Symbol": "ED", + "Security": "Con Edison", + "SEC filings": "reports", + "GICS Sector": "Utilities", + "GICS Sub-Industry": "Electric Utilities", + "Headquarters Location": "New York City, New York", + "CIK": "1047862", + "Founded": "1823" + }, + { + "Symbol": "STZ", + "Security": "Constellation Brands", + "SEC filings": "reports", + "GICS Sector": "Consumer Staples", + "GICS Sub-Industry": "Distillers & Vintners", + "Headquarters Location": "Victor, New York", + "Date first added": "2005-07-01", + "CIK": "16918", + "Founded": "1945" + }, + { + "Symbol": "CEG", + "Security": "Constellation Energy", + "SEC filings": "reports", + "GICS Sector": "Utilities", + "GICS Sub-Industry": "Multi-Utilities", + "Headquarters Location": "Baltimore, Maryland", + "Date first added": "2022-02-02", + "CIK": "1868275", + "Founded": "1999" + }, + { + "Symbol": "COO", + "Security": "CooperCompanies", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Health Care Supplies", + "Headquarters Location": "San Ramon, California", + "Date first added": "2016-09-23", + "CIK": "711404", + "Founded": "1958" + }, + { + "Symbol": "CPRT", + "Security": "Copart", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Diversified Support Services", + "Headquarters Location": "Dallas, Texas", + "Date first added": "2018-07-02", + "CIK": "900075", + "Founded": "1982" + }, + { + "Symbol": "GLW", + "Security": "Corning", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Electronic Components", + "Headquarters Location": "Corning, New York", + "CIK": "24741", + "Founded": "1851" + }, + { + "Symbol": "CTVA", + "Security": "Corteva", + "SEC filings": "reports", + "GICS Sector": "Materials", + "GICS Sub-Industry": "Fertilizers & Agricultural Chemicals", + "Headquarters Location": "Wilmington, Delaware", + "Date first added": "2019-06-03", + "CIK": "1755672", + "Founded": "2019" + }, + { + "Symbol": "COST", + "Security": "Costco", + "SEC filings": "reports", + "GICS Sector": "Consumer Staples", + "GICS Sub-Industry": "Hypermarkets & Super Centers", + "Headquarters Location": "Issaquah, Washington", + "Date first added": "1993-10-01", + "CIK": "909832", + "Founded": "1976" + }, + { + "Symbol": "CTRA", + "Security": "Coterra", + "SEC filings": "reports", + "GICS Sector": "Energy", + "GICS Sub-Industry": "Oil & Gas Exploration & Production", + "Headquarters Location": "Houston, Texas", + "Date first added": "2008-06-23", + "CIK": "858470", + "Founded": "2021 (1989)" + }, + { + "Symbol": "CCI", + "Security": "Crown Castle", + "SEC filings": "reports", + "GICS Sector": "Real Estate", + "GICS Sub-Industry": "Specialized REITs", + "Headquarters Location": "Houston, Texas", + "Date first added": "2012-03-14", + "CIK": "1051470", + "Founded": "1994" + }, + { + "Symbol": "CSX", + "Security": "CSX", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Railroads", + "Headquarters Location": "Jacksonville, Florida", + "Date first added": "1967-09-30", + "CIK": "277948", + "Founded": "1980" + }, + { + "Symbol": "CMI", + "Security": "Cummins", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Industrial Machinery", + "Headquarters Location": "Columbus, Indiana", + "Date first added": "1965-03-31", + "CIK": "26172", + "Founded": "1919" + }, + { + "Symbol": "CVS", + "Security": "CVS Health", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Health Care Services", + "Headquarters Location": "Woonsocket, Rhode Island", + "Date first added": "1957-03-04", + "CIK": "64803", + "Founded": "1996" + }, + { + "Symbol": "DHI", + "Security": "D. R. Horton", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Homebuilding", + "Headquarters Location": "Arlington, Texas", + "Date first added": "2005-06-22", + "CIK": "882184", + "Founded": "1978" + }, + { + "Symbol": "DHR", + "Security": "Danaher", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Health Care Equipment", + "Headquarters Location": "Washington, D.C.", + "CIK": "313616", + "Founded": "1969" + }, + { + "Symbol": "DRI", + "Security": "Darden", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Restaurants", + "Headquarters Location": "Orlando, Florida", + "CIK": "940944", + "Founded": "1938" + }, + { + "Symbol": "DVA", + "Security": "DaVita", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Health Care Facilities", + "Headquarters Location": "Denver, Colorado", + "Date first added": "2008-07-31", + "CIK": "927066", + "Founded": "1979" + }, + { + "Symbol": "DE", + "Security": "Deere & Co.", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Agricultural & Farm Machinery", + "Headquarters Location": "Moline, Illinois", + "Date first added": "1957-03-04", + "CIK": "315189", + "Founded": "1837" + }, + { + "Symbol": "DAL", + "Security": "Delta Air Lines", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Airlines", + "Headquarters Location": "Atlanta, Georgia", + "Date first added": "2013-09-11", + "CIK": "27904", + "Founded": "1929" + }, + { + "Symbol": "XRAY", + "Security": "Dentsply Sirona", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Health Care Supplies", + "Headquarters Location": "Charlotte, North Carolina", + "Date first added": "2008-11-14", + "CIK": "818479", + "Founded": "2016 (1969)" + }, + { + "Symbol": "DVN", + "Security": "Devon Energy", + "SEC filings": "reports", + "GICS Sector": "Energy", + "GICS Sub-Industry": "Oil & Gas Exploration & Production", + "Headquarters Location": "Oklahoma City, Oklahoma", + "Date first added": "2000-08-30", + "CIK": "1090012", + "Founded": "1971" + }, + { + "Symbol": "DXCM", + "Security": "DexCom", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Health Care Equipment", + "Headquarters Location": "San Diego, California", + "Date first added": "2020-05-12", + "CIK": "1093557", + "Founded": "1999" + }, + { + "Symbol": "FANG", + "Security": "Diamondback", + "SEC filings": "reports", + "GICS Sector": "Energy", + "GICS Sub-Industry": "Oil & Gas Exploration & Production", + "Headquarters Location": "Midland, Texas", + "Date first added": "2018-12-03", + "CIK": "1539838", + "Founded": "2007" + }, + { + "Symbol": "DLR", + "Security": "Digital Realty", + "SEC filings": "reports", + "GICS Sector": "Real Estate", + "GICS Sub-Industry": "Specialized REITs", + "Headquarters Location": "Austin, Texas", + "Date first added": "2016-05-18", + "CIK": "1297996", + "Founded": "2004" + }, + { + "Symbol": "DFS", + "Security": "Discover", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Consumer Finance", + "Headquarters Location": "Riverwoods, Illinois", + "Date first added": "2007-07-02", + "CIK": "1393612", + "Founded": "1985" + }, + { + "Symbol": "DISCA", + "Security": "Discovery (Series A)", + "SEC filings": "reports", + "GICS Sector": "Communication Services", + "GICS Sub-Industry": "Broadcasting", + "Headquarters Location": "New York City, New York", + "Date first added": "2010-03-01", + "CIK": "1437107", + "Founded": "1985" + }, + { + "Symbol": "DISCK", + "Security": "Discovery (Series C)", + "SEC filings": "reports", + "GICS Sector": "Communication Services", + "GICS Sub-Industry": "Broadcasting", + "Headquarters Location": "New York City, New York", + "Date first added": "2014-08-07", + "CIK": "1437107", + "Founded": "1985" + }, + { + "Symbol": "DISH", + "Security": "Dish", + "SEC filings": "reports", + "GICS Sector": "Communication Services", + "GICS Sub-Industry": "Cable & Satellite", + "Headquarters Location": "Meridian, Colorado", + "Date first added": "2017-03-13", + "CIK": "1001082", + "Founded": "1980" + }, + { + "Symbol": "DG", + "Security": "Dollar General", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "General Merchandise Stores", + "Headquarters Location": "Goodlettsville, Tennessee", + "Date first added": "2012-12-03", + "CIK": "29534", + "Founded": "1939" + }, + { + "Symbol": "DLTR", + "Security": "Dollar Tree", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "General Merchandise Stores", + "Headquarters Location": "Chesapeake, Virginia", + "Date first added": "2011-12-19", + "CIK": "935703", + "Founded": "1986" + }, + { + "Symbol": "D", + "Security": "Dominion Energy", + "SEC filings": "reports", + "GICS Sector": "Utilities", + "GICS Sub-Industry": "Electric Utilities", + "Headquarters Location": "Richmond, Virginia", + "CIK": "715957", + "Founded": "1983" + }, + { + "Symbol": "DPZ", + "Security": "Domino's", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Restaurants", + "Headquarters Location": "Ann Arbor, Michigan", + "Date first added": "2020-05-12", + "CIK": "1286681", + "Founded": "1960" + }, + { + "Symbol": "DOV", + "Security": "Dover", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Industrial Machinery", + "Headquarters Location": "Downers Grove, Illinois", + "Date first added": "1985-10-31", + "CIK": "29905", + "Founded": "1955" + }, + { + "Symbol": "DOW", + "Security": "Dow", + "SEC filings": "reports", + "GICS Sector": "Materials", + "GICS Sub-Industry": "Commodity Chemicals", + "Headquarters Location": "Midland, Michigan", + "Date first added": "2019-04-01", + "CIK": "1751788", + "Founded": "2019" + }, + { + "Symbol": "DTE", + "Security": "DTE", + "SEC filings": "reports", + "GICS Sector": "Utilities", + "GICS Sub-Industry": "Multi-Utilities", + "Headquarters Location": "Detroit, Michigan", + "Date first added": "1957-03-04", + "CIK": "936340", + "Founded": "1995" + }, + { + "Symbol": "DUK", + "Security": "Duke Energy", + "SEC filings": "reports", + "GICS Sector": "Utilities", + "GICS Sub-Industry": "Electric Utilities", + "Headquarters Location": "Charlotte, North Carolina", + "Date first added": "1976-06-30", + "CIK": "1326160", + "Founded": "1904" + }, + { + "Symbol": "DRE", + "Security": "Duke Realty", + "SEC filings": "reports", + "GICS Sector": "Real Estate", + "GICS Sub-Industry": "Industrial REITs", + "Headquarters Location": "Indianapolis, Indiana", + "Date first added": "2017-07-26", + "CIK": "783280", + "Founded": "1972" + }, + { + "Symbol": "DD", + "Security": "DuPont", + "SEC filings": "reports", + "GICS Sector": "Materials", + "GICS Sub-Industry": "Specialty Chemicals", + "Headquarters Location": "Wilmington, Delaware", + "Date first added": "2019-04-02", + "CIK": "1666700", + "Founded": "2017" + }, + { + "Symbol": "DXC", + "Security": "DXC Technology", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "IT Consulting & Other Services", + "Headquarters Location": "Tysons Corner, Virginia", + "Date first added": "2017-04-04", + "CIK": "1688568", + "Founded": "2017" + }, + { + "Symbol": "EMN", + "Security": "Eastman", + "SEC filings": "reports", + "GICS Sector": "Materials", + "GICS Sub-Industry": "Diversified Chemicals", + "Headquarters Location": "Kingsport, Tennessee", + "Date first added": "1994-01-01", + "CIK": "915389", + "Founded": "1920" + }, + { + "Symbol": "ETN", + "Security": "Eaton", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Electrical Components & Equipment", + "Headquarters Location": "Dublin, Ireland", + "CIK": "1551182", + "Founded": "1911" + }, + { + "Symbol": "EBAY", + "Security": "eBay", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Internet & Direct Marketing Retail", + "Headquarters Location": "San Jose, California", + "Date first added": "2002-07-22", + "CIK": "1065088", + "Founded": "1995" + }, + { + "Symbol": "ECL", + "Security": "Ecolab", + "SEC filings": "reports", + "GICS Sector": "Materials", + "GICS Sub-Industry": "Specialty Chemicals", + "Headquarters Location": "Saint Paul, Minnesota", + "Date first added": "1989-01-31", + "CIK": "31462", + "Founded": "1923" + }, + { + "Symbol": "EIX", + "Security": "Edison International", + "SEC filings": "reports", + "GICS Sector": "Utilities", + "GICS Sub-Industry": "Electric Utilities", + "Headquarters Location": "Rosemead, California", + "Date first added": "1957-03-04", + "CIK": "827052", + "Founded": "1886" + }, + { + "Symbol": "EW", + "Security": "Edwards Lifesciences", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Health Care Equipment", + "Headquarters Location": "Irvine, California", + "Date first added": "2011-04-01", + "CIK": "1099800", + "Founded": "1958" + }, + { + "Symbol": "EA", + "Security": "Electronic Arts", + "SEC filings": "reports", + "GICS Sector": "Communication Services", + "GICS Sub-Industry": "Interactive Home Entertainment", + "Headquarters Location": "Redwood City, California", + "Date first added": "2002-07-22", + "CIK": "712515", + "Founded": "1982" + }, + { + "Symbol": "EMR", + "Security": "Emerson", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Electrical Components & Equipment", + "Headquarters Location": "Ferguson, Missouri", + "Date first added": "1965-03-31", + "CIK": "32604", + "Founded": "1890" + }, + { + "Symbol": "ENPH", + "Security": "Enphase", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Electronic Components", + "Headquarters Location": "Fremont, California", + "Date first added": "2021-01-07", + "CIK": "1463101", + "Founded": "2006" + }, + { + "Symbol": "ETR", + "Security": "Entergy", + "SEC filings": "reports", + "GICS Sector": "Utilities", + "GICS Sub-Industry": "Electric Utilities", + "Headquarters Location": "New Orleans, Louisiana", + "Date first added": "1957-03-04", + "CIK": "65984", + "Founded": "1913" + }, + { + "Symbol": "EOG", + "Security": "EOG Resources", + "SEC filings": "reports", + "GICS Sector": "Energy", + "GICS Sub-Industry": "Oil & Gas Exploration & Production", + "Headquarters Location": "Houston, Texas", + "Date first added": "2000-11-02", + "CIK": "821189", + "Founded": "1999" + }, + { + "Symbol": "EPAM", + "Security": "EPAM", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "IT Consulting & Other Services", + "Headquarters Location": "Newtown, Pennsylvania", + "Date first added": "2021-12-14", + "CIK": "1352010", + "Founded": "1993" + }, + { + "Symbol": "EFX", + "Security": "Equifax", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Research & Consulting Services", + "Headquarters Location": "Atlanta, Georgia", + "Date first added": "1997-06-19", + "CIK": "33185", + "Founded": "1899" + }, + { + "Symbol": "EQIX", + "Security": "Equinix", + "SEC filings": "reports", + "GICS Sector": "Real Estate", + "GICS Sub-Industry": "Specialized REITs", + "Headquarters Location": "Redwood City, California", + "Date first added": "2015-03-20", + "CIK": "1101239", + "Founded": "1998" + }, + { + "Symbol": "EQR", + "Security": "Equity Residential", + "SEC filings": "reports", + "GICS Sector": "Real Estate", + "GICS Sub-Industry": "Residential REITs", + "Headquarters Location": "Chicago, Illinois", + "Date first added": "2001-12-03", + "CIK": "906107", + "Founded": "1969" + }, + { + "Symbol": "ESS", + "Security": "Essex", + "SEC filings": "reports", + "GICS Sector": "Real Estate", + "GICS Sub-Industry": "Residential REITs", + "Headquarters Location": "San Mateo, California", + "Date first added": "2014-04-02", + "CIK": "920522", + "Founded": "1971" + }, + { + "Symbol": "EL", + "Security": "EstĆ©e Lauder Companies", + "SEC filings": "reports", + "GICS Sector": "Consumer Staples", + "GICS Sub-Industry": "Personal Products", + "Headquarters Location": "New York City, New York", + "Date first added": "2006-01-05", + "CIK": "1001250", + "Founded": "1946" + }, + { + "Symbol": "ETSY", + "Security": "Etsy", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Internet & Direct Marketing Retail", + "Headquarters Location": "New York City, New York", + "Date first added": "2020-09-21", + "CIK": "1370637", + "Founded": "2005" + }, + { + "Symbol": "RE", + "Security": "Everest", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Reinsurance", + "Headquarters Location": "Hamilton, Bermuda", + "Date first added": "2017-06-19", + "CIK": "1095073", + "Founded": "1973" + }, + { + "Symbol": "EVRG", + "Security": "Evergy", + "SEC filings": "reports", + "GICS Sector": "Utilities", + "GICS Sub-Industry": "Electric Utilities", + "Headquarters Location": "Kansas City, Missouri", + "Date first added": "2018-06-05", + "CIK": "1711269", + "Founded": "1909" + }, + { + "Symbol": "ES", + "Security": "Eversource", + "SEC filings": "reports", + "GICS Sector": "Utilities", + "GICS Sub-Industry": "Multi-Utilities", + "Headquarters Location": "Hartford, Connecticut", + "CIK": "72741", + "Founded": "1966" + }, + { + "Symbol": "EXC", + "Security": "Exelon", + "SEC filings": "reports", + "GICS Sector": "Utilities", + "GICS Sub-Industry": "Multi-Utilities", + "Headquarters Location": "Chicago, Illinois", + "Date first added": "1957-03-04", + "CIK": "1109357", + "Founded": "2000" + }, + { + "Symbol": "EXPE", + "Security": "Expedia Group", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Internet & Direct Marketing Retail", + "Headquarters Location": "Seattle, Washington", + "Date first added": "2007-10-02", + "CIK": "1324424", + "Founded": "1996" + }, + { + "Symbol": "EXPD", + "Security": "Expeditors", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Air Freight & Logistics", + "Headquarters Location": "Seattle, Washington", + "Date first added": "2007-10-10", + "CIK": "746515", + "Founded": "1979" + }, + { + "Symbol": "EXR", + "Security": "Extra Space Storage", + "SEC filings": "reports", + "GICS Sector": "Real Estate", + "GICS Sub-Industry": "Specialized REITs", + "Headquarters Location": "Salt Lake City, Utah", + "Date first added": "2016-01-19", + "CIK": "1289490", + "Founded": "1977" + }, + { + "Symbol": "XOM", + "Security": "ExxonMobil", + "SEC filings": "reports", + "GICS Sector": "Energy", + "GICS Sub-Industry": "Integrated Oil & Gas", + "Headquarters Location": "Irving, Texas", + "Date first added": "1957-03-04", + "CIK": "34088", + "Founded": "1999" + }, + { + "Symbol": "FFIV", + "Security": "F5", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Communications Equipment", + "Headquarters Location": "Seattle, Washington", + "Date first added": "2010-12-20", + "CIK": "1048695", + "Founded": "1996" + }, + { + "Symbol": "FDS", + "Security": "FactSet", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Financial Exchanges & Data", + "Headquarters Location": "Norwalk, Connecticut", + "Date first added": "2021-12-20", + "CIK": "1013237", + "Founded": "1978" + }, + { + "Symbol": "FAST", + "Security": "Fastenal", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Building Products", + "Headquarters Location": "Winona, Minnesota", + "Date first added": "2008-09-15", + "CIK": "815556", + "Founded": "1967" + }, + { + "Symbol": "FRT", + "Security": "Federal Realty", + "SEC filings": "reports", + "GICS Sector": "Real Estate", + "GICS Sub-Industry": "Retail REITs", + "Headquarters Location": "Rockville, Maryland", + "Date first added": "2016-02-01", + "CIK": "34903", + "Founded": "1962" + }, + { + "Symbol": "FDX", + "Security": "FedEx", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Air Freight & Logistics", + "Headquarters Location": "Memphis, Tennessee", + "Date first added": "1980-12-31", + "CIK": "1048911", + "Founded": "1971" + }, + { + "Symbol": "FITB", + "Security": "Fifth Third Bancorp", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Regional Banks", + "Headquarters Location": "Cincinnati, Ohio", + "CIK": "35527", + "Founded": "1858" + }, + { + "Symbol": "FRC", + "Security": "First Republic", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Regional Banks", + "Headquarters Location": "San Francisco, California", + "Date first added": "2019-01-02", + "CIK": "1132979", + "Founded": "1985" + }, + { + "Symbol": "FE", + "Security": "FirstEnergy", + "SEC filings": "reports", + "GICS Sector": "Utilities", + "GICS Sub-Industry": "Electric Utilities", + "Headquarters Location": "Akron, Ohio", + "CIK": "1031296", + "Founded": "1997" + }, + { + "Symbol": "FIS", + "Security": "FIS", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Data Processing & Outsourced Services", + "Headquarters Location": "Jacksonville, Florida", + "Date first added": "2006-11-10", + "CIK": "1136893", + "Founded": "1968" + }, + { + "Symbol": "FISV", + "Security": "Fiserv", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Data Processing & Outsourced Services", + "Headquarters Location": "Brookfield, Wisconsin", + "Date first added": "2001-04-02", + "CIK": "798354", + "Founded": "1984" + }, + { + "Symbol": "FLT", + "Security": "Fleetcor", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Data Processing & Outsourced Services", + "Headquarters Location": "Norcross, Georgia", + "Date first added": "2018-06-20", + "CIK": "1175454", + "Founded": "2000" + }, + { + "Symbol": "FMC", + "Security": "FMC", + "SEC filings": "reports", + "GICS Sector": "Materials", + "GICS Sub-Industry": "Fertilizers & Agricultural Chemicals", + "Headquarters Location": "Philadelphia, Pennsylvania", + "Date first added": "2009-08-19", + "CIK": "37785", + "Founded": "1883" + }, + { + "Symbol": "F", + "Security": "Ford", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Automobile Manufacturers", + "Headquarters Location": "Dearborn, Michigan", + "Date first added": "1957-03-04", + "CIK": "37996", + "Founded": "1903" + }, + { + "Symbol": "FTNT", + "Security": "Fortinet", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Systems Software", + "Headquarters Location": "Sunnyvale, California", + "Date first added": "2018-10-11", + "CIK": "1262039", + "Founded": "2000" + }, + { + "Symbol": "FTV", + "Security": "Fortive", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Industrial Machinery", + "Headquarters Location": "Everett, Washington", + "Date first added": "2016-07-01", + "CIK": "1659166", + "Founded": "2016" + }, + { + "Symbol": "FBHS", + "Security": "Fortune Brands", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Building Products", + "Headquarters Location": "Deerfield, Illinois", + "Date first added": "2016-06-22", + "CIK": "1519751", + "Founded": "2011 (1969)" + }, + { + "Symbol": "FOXA", + "Security": "Fox Corporation (Class A)", + "SEC filings": "reports", + "GICS Sector": "Communication Services", + "GICS Sub-Industry": "Movies & Entertainment", + "Headquarters Location": "New York City, New York", + "Date first added": "2013-07-01", + "CIK": "1754301", + "Founded": "2019" + }, + { + "Symbol": "FOX", + "Security": "Fox Corporation (Class B)", + "SEC filings": "reports", + "GICS Sector": "Communication Services", + "GICS Sub-Industry": "Movies & Entertainment", + "Headquarters Location": "New York City, New York", + "Date first added": "2015-09-18", + "CIK": "1754301", + "Founded": "2019" + }, + { + "Symbol": "BEN", + "Security": "Franklin Resources", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Asset Management & Custody Banks", + "Headquarters Location": "San Mateo, California", + "CIK": "38777", + "Founded": "1947" + }, + { + "Symbol": "FCX", + "Security": "Freeport-McMoRan", + "SEC filings": "reports", + "GICS Sector": "Materials", + "GICS Sub-Industry": "Copper", + "Headquarters Location": "Phoenix, Arizona", + "CIK": "831259", + "Founded": "1912" + }, + { + "Symbol": "GRMN", + "Security": "Garmin", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Consumer Electronics", + "Headquarters Location": "Schaffhausen, Switzerland", + "Date first added": "2012-12-12", + "CIK": "1121788", + "Founded": "1989" + }, + { + "Symbol": "IT", + "Security": "Gartner", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "IT Consulting & Other Services", + "Headquarters Location": "Stamford, Connecticut", + "Date first added": "2017-04-05", + "CIK": "749251", + "Founded": "1979" + }, + { + "Symbol": "GE", + "Security": "GE", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Industrial Conglomerates", + "Headquarters Location": "Boston, Massachusetts", + "CIK": "40545", + "Founded": "1892" + }, + { + "Symbol": "GNRC", + "Security": "Generac", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Electrical Components & Equipment", + "Headquarters Location": "Waukesha, Wisconsin", + "Date first added": "2021-03-22", + "CIK": "1474735", + "Founded": "1959" + }, + { + "Symbol": "GD", + "Security": "General Dynamics", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Aerospace & Defense", + "Headquarters Location": "Falls Church, Virginia", + "Date first added": "1957-03-04", + "CIK": "40533", + "Founded": "1899" + }, + { + "Symbol": "GIS", + "Security": "General Mills", + "SEC filings": "reports", + "GICS Sector": "Consumer Staples", + "GICS Sub-Industry": "Packaged Foods & Meats", + "Headquarters Location": "Golden Valley, Minnesota", + "Date first added": "1969-03-31", + "CIK": "40704", + "Founded": "1856" + }, + { + "Symbol": "GPC", + "Security": "Genuine Parts", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Specialty Stores", + "Headquarters Location": "Atlanta, Georgia", + "Date first added": "1973-12-31", + "CIK": "40987", + "Founded": "1925" + }, + { + "Symbol": "GILD", + "Security": "Gilead Sciences", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Biotechnology", + "Headquarters Location": "Foster City, California", + "Date first added": "2004-07-01", + "CIK": "882095", + "Founded": "1987" + }, + { + "Symbol": "GL", + "Security": "Globe Life", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Life & Health Insurance", + "Headquarters Location": "McKinney, Texas", + "Date first added": "1989-04-30", + "CIK": "320335", + "Founded": "1900" + }, + { + "Symbol": "GPN", + "Security": "Global Payments", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Data Processing & Outsourced Services", + "Headquarters Location": "Atlanta, Georgia", + "Date first added": "2016-04-25", + "CIK": "1123360", + "Founded": "2000" + }, + { + "Symbol": "GM", + "Security": "GM", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Automobile Manufacturers", + "Headquarters Location": "Detroit, Michigan", + "Date first added": "2013-06-06", + "CIK": "1467858", + "Founded": "1908" + }, + { + "Symbol": "GS", + "Security": "Goldman Sachs", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Investment Banking & Brokerage", + "Headquarters Location": "New York City, New York", + "Date first added": "2002-07-22", + "CIK": "886982", + "Founded": "1869" + }, + { + "Symbol": "GWW", + "Security": "Grainger", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Industrial Machinery", + "Headquarters Location": "Lake Forest, Illinois", + "Date first added": "1981-06-30", + "CIK": "277135", + "Founded": "1927" + }, + { + "Symbol": "HAL", + "Security": "Halliburton", + "SEC filings": "reports", + "GICS Sector": "Energy", + "GICS Sub-Industry": "Oil & Gas Equipment & Services", + "Headquarters Location": "Houston, Texas", + "Date first added": "1957-03-04", + "CIK": "45012", + "Founded": "1919" + }, + { + "Symbol": "HIG", + "Security": "The Hartford", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Property & Casualty Insurance", + "Headquarters Location": "Hartford, Connecticut", + "Date first added": "1957-03-04", + "CIK": "874766", + "Founded": "1810" + }, + { + "Symbol": "HAS", + "Security": "Hasbro", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Leisure Products", + "Headquarters Location": "Pawtucket, Rhode Island", + "Date first added": "1984-09-30", + "CIK": "46080", + "Founded": "1923" + }, + { + "Symbol": "HCA", + "Security": "HCA Healthcare", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Health Care Facilities", + "Headquarters Location": "Nashville, Tennessee", + "Date first added": "2015-01-27", + "CIK": "860730", + "Founded": "1968" + }, + { + "Symbol": "PEAK", + "Security": "Healthpeak Properties", + "SEC filings": "reports", + "GICS Sector": "Real Estate", + "GICS Sub-Industry": "Health Care REITs", + "Headquarters Location": "Long Beach, California", + "Date first added": "2008-03-31", + "CIK": "765880", + "Founded": "1985" + }, + { + "Symbol": "HSIC", + "Security": "Henry Schein", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Health Care Distributors", + "Headquarters Location": "Melville, New York", + "Date first added": "2015-03-17", + "CIK": "1000228", + "Founded": "1932" + }, + { + "Symbol": "HSY", + "Security": "The Hershey Company", + "SEC filings": "reports", + "GICS Sector": "Consumer Staples", + "GICS Sub-Industry": "Packaged Foods & Meats", + "Headquarters Location": "Hershey, Pennsylvania", + "Date first added": "1957-03-04", + "CIK": "47111", + "Founded": "1894" + }, + { + "Symbol": "HES", + "Security": "Hess Corporation", + "SEC filings": "reports", + "GICS Sector": "Energy", + "GICS Sub-Industry": "Integrated Oil & Gas", + "Headquarters Location": "New York City, New York", + "Date first added": "1984-05-31", + "CIK": "4447", + "Founded": "1919" + }, + { + "Symbol": "HPE", + "Security": "Hewlett Packard Enterprise", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Technology Hardware, Storage & Peripherals", + "Headquarters Location": "Houston, Texas", + "Date first added": "2015-11-02", + "CIK": "1645590", + "Founded": "2015" + }, + { + "Symbol": "HLT", + "Security": "Hilton Worldwide", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Hotels, Resorts & Cruise Lines", + "Headquarters Location": "Tysons Corner, Virginia", + "Date first added": "2017-06-19", + "CIK": "1585689", + "Founded": "1919" + }, + { + "Symbol": "HOLX", + "Security": "Hologic", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Health Care Equipment", + "Headquarters Location": "Marlborough, Massachusetts", + "Date first added": "2016-03-30", + "CIK": "859737", + "Founded": "1985" + }, + { + "Symbol": "HD", + "Security": "Home Depot", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Home Improvement Retail", + "Headquarters Location": "Atlanta, Georgia", + "Date first added": "1988-03-31", + "CIK": "354950", + "Founded": "1978" + }, + { + "Symbol": "HON", + "Security": "Honeywell", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Industrial Conglomerates", + "Headquarters Location": "Charlotte, North Carolina", + "Date first added": "1964-03-31", + "CIK": "773840", + "Founded": "1906" + }, + { + "Symbol": "HRL", + "Security": "Hormel", + "SEC filings": "reports", + "GICS Sector": "Consumer Staples", + "GICS Sub-Industry": "Packaged Foods & Meats", + "Headquarters Location": "Austin, Minnesota", + "Date first added": "2009-03-04", + "CIK": "48465", + "Founded": "1891" + }, + { + "Symbol": "HST", + "Security": "Host Hotels & Resorts", + "SEC filings": "reports", + "GICS Sector": "Real Estate", + "GICS Sub-Industry": "Hotel & Resort REITs", + "Headquarters Location": "Bethesda, Maryland", + "Date first added": "2007-03-20", + "CIK": "1070750", + "Founded": "1993" + }, + { + "Symbol": "HWM", + "Security": "Howmet Aerospace", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Aerospace & Defense", + "Headquarters Location": "Pittsburgh, Pennsylvania", + "Date first added": "1964-03-31", + "CIK": "4281", + "Founded": "2016" + }, + { + "Symbol": "HPQ", + "Security": "HP", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Technology Hardware, Storage & Peripherals", + "Headquarters Location": "Palo Alto, California", + "Date first added": "1974-12-31", + "CIK": "47217", + "Founded": "1939 (2015)" + }, + { + "Symbol": "HUM", + "Security": "Humana", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Managed Health Care", + "Headquarters Location": "Louisville, Kentucky", + "CIK": "49071", + "Founded": "1961" + }, + { + "Symbol": "HBAN", + "Security": "Huntington Bancshares", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Regional Banks", + "Headquarters Location": "Columbus, Ohio; Detroit, Michigan", + "CIK": "49196", + "Founded": "1866" + }, + { + "Symbol": "HII", + "Security": "Huntington Ingalls Industries", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Aerospace & Defense", + "Headquarters Location": "Newport News, Virginia", + "Date first added": "2018-01-03", + "CIK": "1501585", + "Founded": "2011" + }, + { + "Symbol": "IEX", + "Security": "IDEX Corporation", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Industrial Machinery", + "Headquarters Location": "Lake Forest, Illinois", + "Date first added": "2019-08-09", + "CIK": "832101", + "Founded": "1988" + }, + { + "Symbol": "IDXX", + "Security": "Idexx Laboratories", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Health Care Equipment", + "Headquarters Location": "Westbrook, Maine", + "Date first added": "2017-01-05", + "CIK": "874716", + "Founded": "1983" + }, + { + "Symbol": "INFO", + "Security": "IHS Markit", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Research & Consulting Services", + "Headquarters Location": "London, England", + "Date first added": "2017-06-02", + "CIK": "1598014", + "Founded": "1959" + }, + { + "Symbol": "ITW", + "Security": "Illinois Tool Works", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Industrial Machinery", + "Headquarters Location": "Glenview, Illinois", + "Date first added": "1986-02-28", + "CIK": "49826", + "Founded": "1912" + }, + { + "Symbol": "ILMN", + "Security": "Illumina", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Life Sciences Tools & Services", + "Headquarters Location": "San Diego, California", + "Date first added": "2015-11-19", + "CIK": "1110803", + "Founded": "1998" + }, + { + "Symbol": "INCY", + "Security": "Incyte", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Biotechnology", + "Headquarters Location": "Wilmington, Delaware", + "Date first added": "2017-02-28", + "CIK": "879169", + "Founded": "1991" + }, + { + "Symbol": "IR", + "Security": "Ingersoll Rand", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Industrial Machinery", + "Headquarters Location": "Davidson, North Carolina", + "Date first added": "2020-03-03", + "CIK": "1699150", + "Founded": "1859" + }, + { + "Symbol": "INTC", + "Security": "Intel", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Semiconductors", + "Headquarters Location": "Santa Clara, California", + "Date first added": "1976-12-31", + "CIK": "50863", + "Founded": "1968" + }, + { + "Symbol": "ICE", + "Security": "Intercontinental Exchange", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Financial Exchanges & Data", + "Headquarters Location": "Atlanta, Georgia", + "Date first added": "2007-09-26", + "CIK": "1571949", + "Founded": "2000" + }, + { + "Symbol": "IBM", + "Security": "IBM", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "IT Consulting & Other Services", + "Headquarters Location": "Armonk, New York", + "Date first added": "1957-03-04", + "CIK": "51143", + "Founded": "1911" + }, + { + "Symbol": "IP", + "Security": "International Paper", + "SEC filings": "reports", + "GICS Sector": "Materials", + "GICS Sub-Industry": "Paper Packaging", + "Headquarters Location": "Memphis, Tennessee", + "Date first added": "1957-03-04", + "CIK": "51434", + "Founded": "1898" + }, + { + "Symbol": "IPG", + "Security": "Interpublic Group", + "SEC filings": "reports", + "GICS Sector": "Communication Services", + "GICS Sub-Industry": "Advertising", + "Headquarters Location": "New York City, New York", + "Date first added": "1992-10-01", + "CIK": "51644", + "Founded": "1961 (1930)" + }, + { + "Symbol": "IFF", + "Security": "International Flavors & Fragrances", + "SEC filings": "reports", + "GICS Sector": "Materials", + "GICS Sub-Industry": "Specialty Chemicals", + "Headquarters Location": "New York City, New York", + "Date first added": "1976-03-31", + "CIK": "51253", + "Founded": "1958 (1889)" + }, + { + "Symbol": "INTU", + "Security": "Intuit", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Application Software", + "Headquarters Location": "Mountain View, California", + "Date first added": "2000-12-05", + "CIK": "896878", + "Founded": "1983" + }, + { + "Symbol": "ISRG", + "Security": "Intuitive Surgical", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Health Care Equipment", + "Headquarters Location": "Sunnyvale, California", + "Date first added": "2008-06-02", + "CIK": "1035267", + "Founded": "1995" + }, + { + "Symbol": "IVZ", + "Security": "Invesco", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Asset Management & Custody Banks", + "Headquarters Location": "Atlanta, Georgia", + "Date first added": "2008-08-21", + "CIK": "914208", + "Founded": "1935" + }, + { + "Symbol": "IPGP", + "Security": "IPG Photonics", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Electronic Manufacturing Services", + "Headquarters Location": "Oxford, Massachusetts", + "Date first added": "2018-03-07", + "CIK": "1111928", + "Founded": "1990" + }, + { + "Symbol": "IQV", + "Security": "IQVIA", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Life Sciences Tools & Services", + "Headquarters Location": "Durham, North Carolina", + "Date first added": "2017-08-29", + "CIK": "1478242", + "Founded": "1982" + }, + { + "Symbol": "IRM", + "Security": "Iron Mountain", + "SEC filings": "reports", + "GICS Sector": "Real Estate", + "GICS Sub-Industry": "Specialized REITs", + "Headquarters Location": "Boston, Massachusetts", + "Date first added": "2009-01-06", + "CIK": "1020569", + "Founded": "1951" + }, + { + "Symbol": "JKHY", + "Security": "Jack Henry & Associates", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Data Processing & Outsourced Services", + "Headquarters Location": "Monett, Missouri", + "Date first added": "2018-11-13", + "CIK": "779152", + "Founded": "1976" + }, + { + "Symbol": "J", + "Security": "Jacobs Engineering Group", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Construction & Engineering", + "Headquarters Location": "Dallas, Texas", + "Date first added": "2007-10-26", + "CIK": "52988", + "Founded": "1947" + }, + { + "Symbol": "JBHT", + "Security": "J. B. Hunt", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Trucking", + "Headquarters Location": "Lowell, Arkansas", + "Date first added": "2015-07-01", + "CIK": "728535", + "Founded": "1961" + }, + { + "Symbol": "SJM", + "Security": "JM Smucker", + "SEC filings": "reports", + "GICS Sector": "Consumer Staples", + "GICS Sub-Industry": "Packaged Foods & Meats", + "Headquarters Location": "Orrville, Ohio", + "Date first added": "2008-11-06", + "CIK": "91419", + "Founded": "1897" + }, + { + "Symbol": "JNJ", + "Security": "Johnson & Johnson", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Pharmaceuticals", + "Headquarters Location": "New Brunswick, New Jersey", + "Date first added": "1973-06-30", + "CIK": "200406", + "Founded": "1886" + }, + { + "Symbol": "JCI", + "Security": "Johnson Controls", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Building Products", + "Headquarters Location": "Cork, Ireland", + "Date first added": "2010-08-27", + "CIK": "833444", + "Founded": "1885" + }, + { + "Symbol": "JPM", + "Security": "JPMorgan Chase", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Diversified Banks", + "Headquarters Location": "New York City, New York", + "Date first added": "1975-06-30", + "CIK": "19617", + "Founded": "2000 (1799 / 1871)" + }, + { + "Symbol": "JNPR", + "Security": "Juniper Networks", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Communications Equipment", + "Headquarters Location": "Sunnyvale, California", + "Date first added": "2006-06-02", + "CIK": "1043604", + "Founded": "1996" + }, + { + "Symbol": "K", + "Security": "Kellogg's", + "SEC filings": "reports", + "GICS Sector": "Consumer Staples", + "GICS Sub-Industry": "Packaged Foods & Meats", + "Headquarters Location": "Battle Creek, Michigan", + "Date first added": "1989-09-11", + "CIK": "55067", + "Founded": "1906" + }, + { + "Symbol": "KEY", + "Security": "KeyCorp", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Regional Banks", + "Headquarters Location": "Cleveland, Ohio", + "Date first added": "1994-03-01", + "CIK": "91576", + "Founded": "1825" + }, + { + "Symbol": "KEYS", + "Security": "Keysight Technologies", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Electronic Equipment & Instruments", + "Headquarters Location": "Santa Rosa, California", + "Date first added": "2018-11-06", + "CIK": "1601046", + "Founded": "2014" + }, + { + "Symbol": "KMB", + "Security": "Kimberly-Clark", + "SEC filings": "reports", + "GICS Sector": "Consumer Staples", + "GICS Sub-Industry": "Household Products", + "Headquarters Location": "Irving, Texas", + "Date first added": "1957-03-04", + "CIK": "55785", + "Founded": "1872" + }, + { + "Symbol": "KIM", + "Security": "Kimco Realty", + "SEC filings": "reports", + "GICS Sector": "Real Estate", + "GICS Sub-Industry": "Retail REITs", + "Headquarters Location": "New Hyde Park, New York", + "Date first added": "2006-04-04", + "CIK": "879101", + "Founded": "1958" + }, + { + "Symbol": "KMI", + "Security": "Kinder Morgan", + "SEC filings": "reports", + "GICS Sector": "Energy", + "GICS Sub-Industry": "Oil & Gas Storage & Transportation", + "Headquarters Location": "Houston, Texas", + "Date first added": "2012-05-25", + "CIK": "1506307", + "Founded": "1997" + }, + { + "Symbol": "KLAC", + "Security": "KLA Corporation", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Semiconductor Equipment", + "Headquarters Location": "Milpitas, California", + "CIK": "319201", + "Founded": "1975/1977 (1997)" + }, + { + "Symbol": "KHC", + "Security": "Kraft Heinz", + "SEC filings": "reports", + "GICS Sector": "Consumer Staples", + "GICS Sub-Industry": "Packaged Foods & Meats", + "Headquarters Location": "Chicago, Illinois; Pittsburgh, Pennsylvania", + "Date first added": "2015-07-06", + "CIK": "1637459", + "Founded": "2015 (1869)" + }, + { + "Symbol": "KR", + "Security": "Kroger", + "SEC filings": "reports", + "GICS Sector": "Consumer Staples", + "GICS Sub-Industry": "Food Retail", + "Headquarters Location": "Cincinnati, Ohio", + "Date first added": "1957-03-04", + "CIK": "56873", + "Founded": "1883" + }, + { + "Symbol": "LHX", + "Security": "L3Harris Technologies", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Aerospace & Defense", + "Headquarters Location": "Melbourne, Florida", + "Date first added": "2008-09-22", + "CIK": "202058", + "Founded": "2019 (1895)" + }, + { + "Symbol": "LH", + "Security": "LabCorp", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Health Care Services", + "Headquarters Location": "Burlington, North Carolina", + "Date first added": "2004-11-01", + "CIK": "920148", + "Founded": "1978" + }, + { + "Symbol": "LRCX", + "Security": "Lam Research", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Semiconductor Equipment", + "Headquarters Location": "Fremont, California", + "Date first added": "2012-06-29", + "CIK": "707549", + "Founded": "1980" + }, + { + "Symbol": "LW", + "Security": "Lamb Weston", + "SEC filings": "reports", + "GICS Sector": "Consumer Staples", + "GICS Sub-Industry": "Packaged Foods & Meats", + "Headquarters Location": "Eagle, Idaho", + "Date first added": "2018-12-03", + "CIK": "1679273", + "Founded": "2016 (1950)" + }, + { + "Symbol": "LVS", + "Security": "Las Vegas Sands", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Casinos & Gaming", + "Headquarters Location": "Las Vegas, Nevada", + "Date first added": "2019-10-03", + "CIK": "1300514", + "Founded": "1988" + }, + { + "Symbol": "LDOS", + "Security": "Leidos", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Diversified Support Services", + "Headquarters Location": "Reston, Virginia", + "Date first added": "2019-08-09", + "CIK": "1336920", + "Founded": "1969" + }, + { + "Symbol": "LEN", + "Security": "Lennar", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Homebuilding", + "Headquarters Location": "Miami, Florida", + "Date first added": "2005-10-04", + "CIK": "920760", + "Founded": "1954" + }, + { + "Symbol": "LLY", + "Security": "Eli Lilly", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Pharmaceuticals", + "Headquarters Location": "Indianapolis, Indiana", + "Date first added": "1970-12-31", + "CIK": "59478", + "Founded": "1876" + }, + { + "Symbol": "LNC", + "Security": "Lincoln National", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Multi-line Insurance", + "Headquarters Location": "Radnor, Pennsylvania", + "Date first added": "1976-06-30", + "CIK": "59558", + "Founded": "1905" + }, + { + "Symbol": "LIN", + "Security": "Linde", + "SEC filings": "reports", + "GICS Sector": "Materials", + "GICS Sub-Industry": "Industrial Gases", + "Headquarters Location": "Guildford, England", + "Date first added": "1992-07-01", + "CIK": "1707925", + "Founded": "1879" + }, + { + "Symbol": "LYV", + "Security": "Live Nation Entertainment", + "SEC filings": "reports", + "GICS Sector": "Communication Services", + "GICS Sub-Industry": "Movies & Entertainment", + "Headquarters Location": "Beverly Hills, California", + "Date first added": "2019-12-23", + "CIK": "1335258", + "Founded": "2010" + }, + { + "Symbol": "LKQ", + "Security": "LKQ Corporation", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Distributors", + "Headquarters Location": "Chicago, Illinois", + "Date first added": "2016-05-23", + "CIK": "1065696", + "Founded": "1998" + }, + { + "Symbol": "LMT", + "Security": "Lockheed Martin", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Aerospace & Defense", + "Headquarters Location": "Bethesda, Maryland", + "Date first added": "1984-07-31", + "CIK": "936468", + "Founded": "1995" + }, + { + "Symbol": "L", + "Security": "Loews Corporation", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Multi-line Insurance", + "Headquarters Location": "New York City, New York", + "CIK": "60086", + "Founded": "1959" + }, + { + "Symbol": "LOW", + "Security": "Lowe's", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Home Improvement Retail", + "Headquarters Location": "Mooresville, North Carolina", + "Date first added": "1984-02-29", + "CIK": "60667", + "Founded": "1904/1946/1959" + }, + { + "Symbol": "LUMN", + "Security": "Lumen Technologies", + "SEC filings": "reports", + "GICS Sector": "Communication Services", + "GICS Sub-Industry": "Alternative Carriers", + "Headquarters Location": "Monroe, Louisiana", + "Date first added": "1999-03-25", + "CIK": "18926", + "Founded": "1983 (1877)" + }, + { + "Symbol": "LYB", + "Security": "LyondellBasell", + "SEC filings": "reports", + "GICS Sector": "Materials", + "GICS Sub-Industry": "Specialty Chemicals", + "Headquarters Location": "Rotterdam, Netherlands", + "Date first added": "2012-09-05", + "CIK": "1489393", + "Founded": "2007" + }, + { + "Symbol": "MTB", + "Security": "M&T Bank", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Regional Banks", + "Headquarters Location": "Buffalo, New York", + "Date first added": "2004-02-23", + "CIK": "36270", + "Founded": "1856" + }, + { + "Symbol": "MRO", + "Security": "Marathon Oil", + "SEC filings": "reports", + "GICS Sector": "Energy", + "GICS Sub-Industry": "Oil & Gas Exploration & Production", + "Headquarters Location": "Houston, Texas", + "Date first added": "1991-05-01", + "CIK": "101778", + "Founded": "1887" + }, + { + "Symbol": "MPC", + "Security": "Marathon Petroleum", + "SEC filings": "reports", + "GICS Sector": "Energy", + "GICS Sub-Industry": "Oil & Gas Refining & Marketing", + "Headquarters Location": "Findlay, Ohio", + "Date first added": "2011-07-01", + "CIK": "1510295", + "Founded": "2009 (1887)" + }, + { + "Symbol": "MKTX", + "Security": "MarketAxess", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Financial Exchanges & Data", + "Headquarters Location": "New York City, New York", + "Date first added": "2019-07-01", + "CIK": "1278021", + "Founded": "2000" + }, + { + "Symbol": "MAR", + "Security": "Marriott International", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Hotels, Resorts & Cruise Lines", + "Headquarters Location": "Bethesda, Maryland", + "CIK": "1048286", + "Founded": "1927" + }, + { + "Symbol": "MMC", + "Security": "Marsh & McLennan", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Insurance Brokers", + "Headquarters Location": "New York City, New York", + "Date first added": "1987-08-31", + "CIK": "62709", + "Founded": "1905" + }, + { + "Symbol": "MLM", + "Security": "Martin Marietta Materials", + "SEC filings": "reports", + "GICS Sector": "Materials", + "GICS Sub-Industry": "Construction Materials", + "Headquarters Location": "Raleigh, North Carolina", + "Date first added": "2014-07-02", + "CIK": "916076", + "Founded": "1993" + }, + { + "Symbol": "MAS", + "Security": "Masco", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Building Products", + "Headquarters Location": "Livonia, Michigan", + "Date first added": "1981-06-30", + "CIK": "62996", + "Founded": "1929" + }, + { + "Symbol": "MA", + "Security": "Mastercard", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Data Processing & Outsourced Services", + "Headquarters Location": "Harrison, New York", + "Date first added": "2008-07-18", + "CIK": "1141391", + "Founded": "1966" + }, + { + "Symbol": "MTCH", + "Security": "Match Group", + "SEC filings": "reports", + "GICS Sector": "Communication Services", + "GICS Sub-Industry": "Interactive Media & Services", + "Headquarters Location": "Dallas, Texas", + "Date first added": "2021-09-20", + "CIK": "891103", + "Founded": "1986" + }, + { + "Symbol": "MKC", + "Security": "McCormick & Company", + "SEC filings": "reports", + "GICS Sector": "Consumer Staples", + "GICS Sub-Industry": "Packaged Foods & Meats", + "Headquarters Location": "Hunt Valley, Maryland", + "Date first added": "2003-03-20", + "CIK": "63754", + "Founded": "1889" + }, + { + "Symbol": "MCD", + "Security": "McDonald's", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Restaurants", + "Headquarters Location": "Chicago, Illinois", + "Date first added": "1970-06-30", + "CIK": "63908", + "Founded": "1940" + }, + { + "Symbol": "MCK", + "Security": "McKesson Corporation", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Health Care Distributors", + "Headquarters Location": "Irving, Texas", + "CIK": "927653", + "Founded": "1833" + }, + { + "Symbol": "MDT", + "Security": "Medtronic", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Health Care Equipment", + "Headquarters Location": "Dublin, Ireland", + "Date first added": "1986-10-31", + "CIK": "1613103", + "Founded": "1949" + }, + { + "Symbol": "MRK", + "Security": "Merck", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Pharmaceuticals", + "Headquarters Location": "Kenilworth, New Jersey", + "Date first added": "1957-03-04", + "CIK": "310158", + "Founded": "1891" + }, + { + "Symbol": "FB", + "Security": "Meta Platforms", + "SEC filings": "reports", + "GICS Sector": "Communication Services", + "GICS Sub-Industry": "Interactive Media & Services", + "Headquarters Location": "Menlo Park, California", + "Date first added": "2013-12-23", + "CIK": "1326801", + "Founded": "2004" + }, + { + "Symbol": "MET", + "Security": "MetLife", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Life & Health Insurance", + "Headquarters Location": "New York City, New York", + "CIK": "1099219", + "Founded": "1868" + }, + { + "Symbol": "MTD", + "Security": "Mettler Toledo", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Life Sciences Tools & Services", + "Headquarters Location": "Columbus, Ohio", + "Date first added": "2016-09-06", + "CIK": "1037646", + "Founded": "1945" + }, + { + "Symbol": "MGM", + "Security": "MGM Resorts International", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Casinos & Gaming", + "Headquarters Location": "Paradise, Nevada", + "Date first added": "2017-07-26", + "CIK": "789570", + "Founded": "1986" + }, + { + "Symbol": "MCHP", + "Security": "Microchip Technology", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Semiconductors", + "Headquarters Location": "Chandler, Arizona", + "Date first added": "2007-09-07", + "CIK": "827054", + "Founded": "1989" + }, + { + "Symbol": "MU", + "Security": "Micron Technology", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Semiconductors", + "Headquarters Location": "Boise, Idaho", + "Date first added": "1994-09-27", + "CIK": "723125", + "Founded": "1978" + }, + { + "Symbol": "MSFT", + "Security": "Microsoft", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Systems Software", + "Headquarters Location": "Redmond, Washington", + "Date first added": "1994-06-01", + "CIK": "789019", + "Founded": "1975" + }, + { + "Symbol": "MAA", + "Security": "Mid-America Apartments", + "SEC filings": "reports", + "GICS Sector": "Real Estate", + "GICS Sub-Industry": "Residential REITs", + "Headquarters Location": "Memphis, Tennessee", + "Date first added": "2016-12-02", + "CIK": "912595", + "Founded": "1977" + }, + { + "Symbol": "MRNA", + "Security": "Moderna", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Biotechnology", + "Headquarters Location": "Cambridge, Massachusetts", + "Date first added": "2021-07-21", + "CIK": "1682852", + "Founded": "2010" + }, + { + "Symbol": "MHK", + "Security": "Mohawk Industries", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Home Furnishings", + "Headquarters Location": "Calhoun, Georgia", + "Date first added": "2013-12-23", + "CIK": "851968", + "Founded": "1878" + }, + { + "Symbol": "TAP", + "Security": "Molson Coors", + "SEC filings": "reports", + "GICS Sector": "Consumer Staples", + "GICS Sub-Industry": "Brewers", + "Headquarters Location": "Chicago, Illinois", + "Date first added": "1976-06-30", + "CIK": "24545", + "Founded": "2005 (Molson 1786, Coors 1873)" + }, + { + "Symbol": "MDLZ", + "Security": "Mondelez International", + "SEC filings": "reports", + "GICS Sector": "Consumer Staples", + "GICS Sub-Industry": "Packaged Foods & Meats", + "Headquarters Location": "Chicago, Illinois", + "Date first added": "2012-10-02", + "CIK": "1103982", + "Founded": "2012" + }, + { + "Symbol": "MPWR", + "Security": "Monolithic Power Systems", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Semiconductors", + "Headquarters Location": "Kirkland, Washington", + "Date first added": "2021-02-12", + "CIK": "1280452", + "Founded": "1997" + }, + { + "Symbol": "MNST", + "Security": "Monster Beverage", + "SEC filings": "reports", + "GICS Sector": "Consumer Staples", + "GICS Sub-Industry": "Soft Drinks", + "Headquarters Location": "Corona, California", + "Date first added": "2012-06-28", + "CIK": "865752", + "Founded": "2012 (1935)" + }, + { + "Symbol": "MCO", + "Security": "Moody's", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Financial Exchanges & Data", + "Headquarters Location": "New York City, New York", + "CIK": "1059556", + "Founded": "1909" + }, + { + "Symbol": "MS", + "Security": "Morgan Stanley", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Investment Banking & Brokerage", + "Headquarters Location": "New York City, New York", + "CIK": "895421", + "Founded": "1935" + }, + { + "Symbol": "MOS", + "Security": "The Mosaic Company", + "SEC filings": "reports", + "GICS Sector": "Materials", + "GICS Sub-Industry": "Fertilizers & Agricultural Chemicals", + "Headquarters Location": "Tampa, Florida", + "Date first added": "2011-09-26", + "CIK": "1285785", + "Founded": "2004 (1865 / 1909)" + }, + { + "Symbol": "MSI", + "Security": "Motorola Solutions", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Communications Equipment", + "Headquarters Location": "Chicago, Illinois", + "CIK": "68505", + "Founded": "1928 (2011)" + }, + { + "Symbol": "MSCI", + "Security": "MSCI", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Financial Exchanges & Data", + "Headquarters Location": "New York City, New York", + "Date first added": "2018-04-04", + "CIK": "1408198", + "Founded": "1969" + }, + { + "Symbol": "NDAQ", + "Security": "Nasdaq", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Financial Exchanges & Data", + "Headquarters Location": "New York City, New York", + "Date first added": "2008-10-22", + "CIK": "1120193", + "Founded": "1971" + }, + { + "Symbol": "NTAP", + "Security": "NetApp", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Technology Hardware, Storage & Peripherals", + "Headquarters Location": "Sunnyvale, California", + "Date first added": "1999-06-25", + "CIK": "1002047", + "Founded": "1992" + }, + { + "Symbol": "NFLX", + "Security": "Netflix", + "SEC filings": "reports", + "GICS Sector": "Communication Services", + "GICS Sub-Industry": "Movies & Entertainment", + "Headquarters Location": "Los Gatos, California", + "Date first added": "2010-12-20", + "CIK": "1065280", + "Founded": "1997" + }, + { + "Symbol": "NWL", + "Security": "Newell Brands", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Housewares & Specialties", + "Headquarters Location": "Atlanta, Georgia", + "Date first added": "1989-04-30", + "CIK": "814453", + "Founded": "1903" + }, + { + "Symbol": "NEM", + "Security": "Newmont", + "SEC filings": "reports", + "GICS Sector": "Materials", + "GICS Sub-Industry": "Gold", + "Headquarters Location": "Denver, Colorado", + "Date first added": "1969-06-30", + "CIK": "1164727", + "Founded": "1921" + }, + { + "Symbol": "NWSA", + "Security": "News Corp (Class A)", + "SEC filings": "reports", + "GICS Sector": "Communication Services", + "GICS Sub-Industry": "Publishing", + "Headquarters Location": "New York City, New York", + "Date first added": "2013-08-01", + "CIK": "1564708", + "Founded": "2013 (1980)" + }, + { + "Symbol": "NWS", + "Security": "News Corp (Class B)", + "SEC filings": "reports", + "GICS Sector": "Communication Services", + "GICS Sub-Industry": "Publishing", + "Headquarters Location": "New York City, New York", + "Date first added": "2015-09-18", + "CIK": "1564708", + "Founded": "2013 (1980)" + }, + { + "Symbol": "NEE", + "Security": "NextEra Energy", + "SEC filings": "reports", + "GICS Sector": "Utilities", + "GICS Sub-Industry": "Multi-Utilities", + "Headquarters Location": "Juno Beach, Florida", + "Date first added": "1976-06-30", + "CIK": "753308", + "Founded": "1984 (1925)" + }, + { + "Symbol": "NLSN", + "Security": "Nielsen Holdings", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Research & Consulting Services", + "Headquarters Location": "New York City, New York", + "Date first added": "2013-07-09", + "CIK": "1492633", + "Founded": "1923" + }, + { + "Symbol": "NKE", + "Security": "Nike", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Apparel, Accessories & Luxury Goods", + "Headquarters Location": "Washington County, Oregon", + "Date first added": "1988-11-30", + "CIK": "320187", + "Founded": "1964" + }, + { + "Symbol": "NI", + "Security": "NiSource", + "SEC filings": "reports", + "GICS Sector": "Utilities", + "GICS Sub-Industry": "Multi-Utilities", + "Headquarters Location": "Merrillville, Indiana", + "CIK": "1111711", + "Founded": "1912" + }, + { + "Symbol": "NSC", + "Security": "Norfolk Southern", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Railroads", + "Headquarters Location": "Norfolk, Virginia", + "Date first added": "1957-03-04", + "CIK": "702165", + "Founded": "1881/1894 (1980)" + }, + { + "Symbol": "NTRS", + "Security": "Northern Trust", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Asset Management & Custody Banks", + "Headquarters Location": "Chicago, Illinois", + "CIK": "73124", + "Founded": "1889" + }, + { + "Symbol": "NOC", + "Security": "Northrop Grumman", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Aerospace & Defense", + "Headquarters Location": "West Falls Church, Virginia", + "Date first added": "1985-06-30", + "CIK": "1133421", + "Founded": "1994 (Northrop 1939, Grumman 1930)" + }, + { + "Symbol": "NLOK", + "Security": "NortonLifeLock", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Application Software", + "Headquarters Location": "Tempe, Arizona", + "Date first added": "2003-03-25", + "CIK": "849399", + "Founded": "1982" + }, + { + "Symbol": "NCLH", + "Security": "Norwegian Cruise Line Holdings", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Hotels, Resorts & Cruise Lines", + "Headquarters Location": "Miami, Florida", + "Date first added": "2017-10-13", + "CIK": "1513761", + "Founded": "2011 (1966)" + }, + { + "Symbol": "NRG", + "Security": "NRG Energy", + "SEC filings": "reports", + "GICS Sector": "Utilities", + "GICS Sub-Industry": "Independent Power Producers & Energy Traders", + "Headquarters Location": "Houston, Texas", + "Date first added": "2010-01-29", + "CIK": "1013871", + "Founded": "1992" + }, + { + "Symbol": "NUE", + "Security": "Nucor", + "SEC filings": "reports", + "GICS Sector": "Materials", + "GICS Sub-Industry": "Steel", + "Headquarters Location": "Charlotte, North Carolina", + "Date first added": "1985-04-30", + "CIK": "73309", + "Founded": "1940" + }, + { + "Symbol": "NVDA", + "Security": "Nvidia", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Semiconductors", + "Headquarters Location": "Santa Clara, California", + "Date first added": "2001-11-30", + "CIK": "1045810", + "Founded": "1993" + }, + { + "Symbol": "NVR", + "Security": "NVR", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Homebuilding", + "Headquarters Location": "Reston, Virginia", + "Date first added": "2019-09-26", + "CIK": "906163", + "Founded": "1980" + }, + { + "Symbol": "NXPI", + "Security": "NXP", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Semiconductors", + "Headquarters Location": "Eindhoven, Netherlands", + "Date first added": "2021-03-22", + "CIK": "1413447", + "Founded": "1953" + }, + { + "Symbol": "ORLY", + "Security": "O'Reilly Automotive", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Specialty Stores", + "Headquarters Location": "Springfield, Missouri", + "Date first added": "2009-03-27", + "CIK": "898173", + "Founded": "1957" + }, + { + "Symbol": "OXY", + "Security": "Occidental Petroleum", + "SEC filings": "reports", + "GICS Sector": "Energy", + "GICS Sub-Industry": "Oil & Gas Exploration & Production", + "Headquarters Location": "Houston, Texas", + "Date first added": "1982-12-31", + "CIK": "797468", + "Founded": "1920" + }, + { + "Symbol": "ODFL", + "Security": "Old Dominion Freight Line", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Trucking", + "Headquarters Location": "Thomasville, North Carolina", + "Date first added": "2019-12-09", + "CIK": "878927", + "Founded": "1934" + }, + { + "Symbol": "OMC", + "Security": "Omnicom Group", + "SEC filings": "reports", + "GICS Sector": "Communication Services", + "GICS Sub-Industry": "Advertising", + "Headquarters Location": "New York City, New York", + "CIK": "29989", + "Founded": "1986" + }, + { + "Symbol": "OKE", + "Security": "Oneok", + "SEC filings": "reports", + "GICS Sector": "Energy", + "GICS Sub-Industry": "Oil & Gas Storage & Transportation", + "Headquarters Location": "Tulsa, Oklahoma", + "Date first added": "2010-03-15", + "CIK": "1039684", + "Founded": "1906" + }, + { + "Symbol": "ORCL", + "Security": "Oracle", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Application Software", + "Headquarters Location": "Austin, Texas", + "Date first added": "1989-08-31", + "CIK": "1341439", + "Founded": "1977" + }, + { + "Symbol": "OGN", + "Security": "Organon & Co.", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Pharmaceuticals", + "Headquarters Location": "Jersey City, New Jersey", + "Date first added": "2021-06-03", + "CIK": "1821825", + "Founded": "2021" + }, + { + "Symbol": "OTIS", + "Security": "Otis Worldwide", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Industrial Machinery", + "Headquarters Location": "Farmington, Connecticut", + "Date first added": "2020-04-03", + "CIK": "1781335", + "Founded": "2020 (1853)" + }, + { + "Symbol": "PCAR", + "Security": "Paccar", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Construction Machinery & Heavy Trucks", + "Headquarters Location": "Bellevue, Washington", + "Date first added": "1980-12-31", + "CIK": "75362", + "Founded": "1905" + }, + { + "Symbol": "PKG", + "Security": "Packaging Corporation of America", + "SEC filings": "reports", + "GICS Sector": "Materials", + "GICS Sub-Industry": "Paper Packaging", + "Headquarters Location": "Lake Forest, Illinois", + "Date first added": "2017-07-26", + "CIK": "75677", + "Founded": "1959" + }, + { + "Symbol": "PH", + "Security": "Parker-Hannifin", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Industrial Machinery", + "Headquarters Location": "Cleveland, Ohio", + "Date first added": "1985-11-30", + "CIK": "76334", + "Founded": "1917" + }, + { + "Symbol": "PAYX", + "Security": "Paychex", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Data Processing & Outsourced Services", + "Headquarters Location": "Penfield, New York", + "CIK": "723531", + "Founded": "1971" + }, + { + "Symbol": "PAYC", + "Security": "Paycom", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Application Software", + "Headquarters Location": "Oklahoma City, Oklahoma", + "Date first added": "2020-01-28", + "CIK": "1590955", + "Founded": "1998" + }, + { + "Symbol": "PYPL", + "Security": "PayPal", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Data Processing & Outsourced Services", + "Headquarters Location": "San Jose, California", + "Date first added": "2015-07-20", + "CIK": "1633917", + "Founded": "1998" + }, + { + "Symbol": "PENN", + "Security": "Penn National Gaming", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Casinos & Gaming", + "Headquarters Location": "Wyomissing, Pennsylvania", + "Date first added": "2021-03-22", + "CIK": "921738", + "Founded": "1972" + }, + { + "Symbol": "PNR", + "Security": "Pentair", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Industrial Machinery", + "Headquarters Location": "Worsley, England", + "Date first added": "2012-10-01", + "CIK": "77360", + "Founded": "1966" + }, + { + "Symbol": "PBCT", + "Security": "People's United Financial", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Thrifts & Mortgage Finance", + "Headquarters Location": "Bridgeport, Connecticut", + "Date first added": "2008-11-13", + "CIK": "1378946", + "Founded": "1842" + }, + { + "Symbol": "PEP", + "Security": "PepsiCo", + "SEC filings": "reports", + "GICS Sector": "Consumer Staples", + "GICS Sub-Industry": "Soft Drinks", + "Headquarters Location": "Purchase, New York", + "Date first added": "1957-03-04", + "CIK": "77476", + "Founded": "1898" + }, + { + "Symbol": "PKI", + "Security": "PerkinElmer", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Health Care Equipment", + "Headquarters Location": "Waltham, Massachusetts", + "Date first added": "1985-05-31", + "CIK": "31791", + "Founded": "1937" + }, + { + "Symbol": "PFE", + "Security": "Pfizer", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Pharmaceuticals", + "Headquarters Location": "New York City, New York", + "Date first added": "1957-03-04", + "CIK": "78003", + "Founded": "1849" + }, + { + "Symbol": "PM", + "Security": "Philip Morris International", + "SEC filings": "reports", + "GICS Sector": "Consumer Staples", + "GICS Sub-Industry": "Tobacco", + "Headquarters Location": "New York City, New York", + "Date first added": "2008-03-31", + "CIK": "1413329", + "Founded": "2008 (1847)" + }, + { + "Symbol": "PSX", + "Security": "Phillips 66", + "SEC filings": "reports", + "GICS Sector": "Energy", + "GICS Sub-Industry": "Oil & Gas Refining & Marketing", + "Headquarters Location": "Houston, Texas", + "Date first added": "2012-05-01", + "CIK": "1534701", + "Founded": "2012 (1917)" + }, + { + "Symbol": "PNW", + "Security": "Pinnacle West Capital", + "SEC filings": "reports", + "GICS Sector": "Utilities", + "GICS Sub-Industry": "Multi-Utilities", + "Headquarters Location": "Phoenix, Arizona", + "CIK": "764622", + "Founded": "1985" + }, + { + "Symbol": "PXD", + "Security": "Pioneer Natural Resources", + "SEC filings": "reports", + "GICS Sector": "Energy", + "GICS Sub-Industry": "Oil & Gas Exploration & Production", + "Headquarters Location": "Irving, Texas", + "Date first added": "2008-09-24", + "CIK": "1038357", + "Founded": "1997" + }, + { + "Symbol": "PNC", + "Security": "PNC Financial Services", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Regional Banks", + "Headquarters Location": "Pittsburgh, Pennsylvania", + "Date first added": "1988-04-30", + "CIK": "713676", + "Founded": "1845" + }, + { + "Symbol": "POOL", + "Security": "Pool Corporation", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Distributors", + "Headquarters Location": "Covington, Louisiana", + "Date first added": "2020-10-07", + "CIK": "945841", + "Founded": "1993" + }, + { + "Symbol": "PPG", + "Security": "PPG Industries", + "SEC filings": "reports", + "GICS Sector": "Materials", + "GICS Sub-Industry": "Specialty Chemicals", + "Headquarters Location": "Pittsburgh, Pennsylvania", + "Date first added": "1957-03-04", + "CIK": "79879", + "Founded": "1883" + }, + { + "Symbol": "PPL", + "Security": "PPL", + "SEC filings": "reports", + "GICS Sector": "Utilities", + "GICS Sub-Industry": "Electric Utilities", + "Headquarters Location": "Allentown, Pennsylvania", + "CIK": "922224", + "Founded": "1920" + }, + { + "Symbol": "PFG", + "Security": "Principal Financial Group", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Life & Health Insurance", + "Headquarters Location": "Des Moines, Iowa", + "Date first added": "2002-07-22", + "CIK": "1126328", + "Founded": "1879" + }, + { + "Symbol": "PG", + "Security": "Procter & Gamble", + "SEC filings": "reports", + "GICS Sector": "Consumer Staples", + "GICS Sub-Industry": "Personal Products", + "Headquarters Location": "Cincinnati, Ohio", + "Date first added": "1957-03-04", + "CIK": "80424", + "Founded": "1837" + }, + { + "Symbol": "PGR", + "Security": "Progressive Corporation", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Property & Casualty Insurance", + "Headquarters Location": "Mayfield Village, Ohio", + "Date first added": "1997-08-04", + "CIK": "80661", + "Founded": "1937" + }, + { + "Symbol": "PLD", + "Security": "Prologis", + "SEC filings": "reports", + "GICS Sector": "Real Estate", + "GICS Sub-Industry": "Industrial REITs", + "Headquarters Location": "San Francisco, California", + "Date first added": "2003-07-17", + "CIK": "1045609", + "Founded": "1983" + }, + { + "Symbol": "PRU", + "Security": "Prudential Financial", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Life & Health Insurance", + "Headquarters Location": "Newark, New Jersey", + "Date first added": "2002-07-22", + "CIK": "1137774", + "Founded": "1875" + }, + { + "Symbol": "PEG", + "Security": "PSEG", + "SEC filings": "reports", + "GICS Sector": "Utilities", + "GICS Sub-Industry": "Electric Utilities", + "Headquarters Location": "Newark, New Jersey", + "Date first added": "1957-03-04", + "CIK": "788784", + "Founded": "1903" + }, + { + "Symbol": "PTC", + "Security": "PTC", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Application Software", + "Headquarters Location": "Boston, Massachusetts", + "Date first added": "2021-04-20", + "CIK": "857005", + "Founded": "1985" + }, + { + "Symbol": "PSA", + "Security": "Public Storage", + "SEC filings": "reports", + "GICS Sector": "Real Estate", + "GICS Sub-Industry": "Specialized REITs", + "Headquarters Location": "Glendale, California", + "Date first added": "2005-08-19", + "CIK": "1393311", + "Founded": "1972" + }, + { + "Symbol": "PHM", + "Security": "PulteGroup", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Homebuilding", + "Headquarters Location": "Atlanta, Georgia", + "Date first added": "1984-04-30", + "CIK": "822416", + "Founded": "1956" + }, + { + "Symbol": "PVH", + "Security": "PVH", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Apparel, Accessories & Luxury Goods", + "Headquarters Location": "New York City, New York", + "Date first added": "2013-02-15", + "CIK": "78239", + "Founded": "1881" + }, + { + "Symbol": "QRVO", + "Security": "Qorvo", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Semiconductors", + "Headquarters Location": "Greensboro, North Carolina", + "Date first added": "2015-06-11", + "CIK": "1604778", + "Founded": "2015" + }, + { + "Symbol": "PWR", + "Security": "Quanta Services", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Construction & Engineering", + "Headquarters Location": "Houston, Texas", + "Date first added": "2009-07-01", + "CIK": "1050915", + "Founded": "1997" + }, + { + "Symbol": "QCOM", + "Security": "Qualcomm", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Semiconductors", + "Headquarters Location": "San Diego, California", + "CIK": "804328", + "Founded": "1985" + }, + { + "Symbol": "DGX", + "Security": "Quest Diagnostics", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Health Care Services", + "Headquarters Location": "Secaucus, New Jersey", + "Date first added": "2002-12-12", + "CIK": "1022079", + "Founded": "1967" + }, + { + "Symbol": "RL", + "Security": "Ralph Lauren Corporation", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Apparel, Accessories & Luxury Goods", + "Headquarters Location": "New York City, New York", + "Date first added": "2007-02-02", + "CIK": "1037038", + "Founded": "1967" + }, + { + "Symbol": "RJF", + "Security": "Raymond James Financial", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Investment Banking & Brokerage", + "Headquarters Location": "St. Petersburg, Florida", + "Date first added": "2017-03-20", + "CIK": "720005", + "Founded": "1962" + }, + { + "Symbol": "RTX", + "Security": "Raytheon Technologies", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Aerospace & Defense", + "Headquarters Location": "Waltham, Massachusetts", + "CIK": "101829", + "Founded": "1922" + }, + { + "Symbol": "O", + "Security": "Realty Income Corporation", + "SEC filings": "reports", + "GICS Sector": "Real Estate", + "GICS Sub-Industry": "Retail REITs", + "Headquarters Location": "San Diego, California", + "Date first added": "2015-04-07", + "CIK": "726728", + "Founded": "1969" + }, + { + "Symbol": "REG", + "Security": "Regency Centers", + "SEC filings": "reports", + "GICS Sector": "Real Estate", + "GICS Sub-Industry": "Retail REITs", + "Headquarters Location": "Jacksonville, Florida", + "Date first added": "2017-03-02", + "CIK": "910606", + "Founded": "1963" + }, + { + "Symbol": "REGN", + "Security": "Regeneron Pharmaceuticals", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Biotechnology", + "Headquarters Location": "Tarrytown, New York", + "Date first added": "2013-05-01", + "CIK": "872589", + "Founded": "1988" + }, + { + "Symbol": "RF", + "Security": "Regions Financial Corporation", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Regional Banks", + "Headquarters Location": "Birmingham, Alabama", + "Date first added": "1998-08-28", + "CIK": "1281761", + "Founded": "1971" + }, + { + "Symbol": "RSG", + "Security": "Republic Services", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Environmental & Facilities Services", + "Headquarters Location": "Phoenix, Arizona", + "Date first added": "2008-12-05", + "CIK": "1060391", + "Founded": "1998 (1981)" + }, + { + "Symbol": "RMD", + "Security": "ResMed", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Health Care Equipment", + "Headquarters Location": "San Diego, California", + "Date first added": "2017-07-26", + "CIK": "943819", + "Founded": "1989" + }, + { + "Symbol": "RHI", + "Security": "Robert Half International", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Human Resource & Employment Services", + "Headquarters Location": "Menlo Park, California", + "Date first added": "2000-12-05", + "CIK": "315213", + "Founded": "1948" + }, + { + "Symbol": "ROK", + "Security": "Rockwell Automation", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Electrical Components & Equipment", + "Headquarters Location": "Milwaukee, Wisconsin", + "CIK": "1024478", + "Founded": "1903" + }, + { + "Symbol": "ROL", + "Security": "Rollins", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Environmental & Facilities Services", + "Headquarters Location": "Atlanta, Georgia", + "Date first added": "2018-10-01", + "CIK": "84839", + "Founded": "1948" + }, + { + "Symbol": "ROP", + "Security": "Roper Technologies", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Industrial Conglomerates", + "Headquarters Location": "Sarasota, Florida", + "Date first added": "2009-12-23", + "CIK": "882835", + "Founded": "1981" + }, + { + "Symbol": "ROST", + "Security": "Ross Stores", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Apparel Retail", + "Headquarters Location": "Dublin, California", + "Date first added": "2009-12-21", + "CIK": "745732", + "Founded": "1982" + }, + { + "Symbol": "RCL", + "Security": "Royal Caribbean Group", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Hotels, Resorts & Cruise Lines", + "Headquarters Location": "Miami, Florida", + "Date first added": "2014-12-05", + "CIK": "884887", + "Founded": "1997" + }, + { + "Symbol": "SPGI", + "Security": "S&P Global", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Financial Exchanges & Data", + "Headquarters Location": "New York City, New York", + "CIK": "64040", + "Founded": "1917" + }, + { + "Symbol": "CRM", + "Security": "Salesforce", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Application Software", + "Headquarters Location": "San Francisco, California", + "Date first added": "2008-09-15", + "CIK": "1108524", + "Founded": "1999" + }, + { + "Symbol": "SBAC", + "Security": "SBA Communications", + "SEC filings": "reports", + "GICS Sector": "Real Estate", + "GICS Sub-Industry": "Specialized REITs", + "Headquarters Location": "Boca Raton, Florida", + "Date first added": "2017-09-01", + "CIK": "1034054", + "Founded": "1989" + }, + { + "Symbol": "SLB", + "Security": "Schlumberger", + "SEC filings": "reports", + "GICS Sector": "Energy", + "GICS Sub-Industry": "Oil & Gas Equipment & Services", + "Headquarters Location": "CuraƧao, Kingdom of the Netherlands", + "Date first added": "1965-03-31", + "CIK": "87347", + "Founded": "1926" + }, + { + "Symbol": "STX", + "Security": "Seagate Technology", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Technology Hardware, Storage & Peripherals", + "Headquarters Location": "Dublin, Ireland", + "Date first added": "2012-07-02", + "CIK": "1137789", + "Founded": "1979" + }, + { + "Symbol": "SEE", + "Security": "Sealed Air", + "SEC filings": "reports", + "GICS Sector": "Materials", + "GICS Sub-Industry": "Paper Packaging", + "Headquarters Location": "Charlotte, North Carolina", + "Date first added": "1957-03-04", + "CIK": "1012100", + "Founded": "1960" + }, + { + "Symbol": "SRE", + "Security": "Sempra Energy", + "SEC filings": "reports", + "GICS Sector": "Utilities", + "GICS Sub-Industry": "Multi-Utilities", + "Headquarters Location": "San Diego, California", + "CIK": "1032208", + "Founded": "1998" + }, + { + "Symbol": "NOW", + "Security": "ServiceNow", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Systems Software", + "Headquarters Location": "Santa Clara, California", + "Date first added": "2019-11-21", + "CIK": "1373715", + "Founded": "2003" + }, + { + "Symbol": "SHW", + "Security": "Sherwin-Williams", + "SEC filings": "reports", + "GICS Sector": "Materials", + "GICS Sub-Industry": "Specialty Chemicals", + "Headquarters Location": "Cleveland, Ohio", + "Date first added": "1964-06-30", + "CIK": "89800", + "Founded": "1866" + }, + { + "Symbol": "SBNY", + "Security": "Signature Bank", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Regional Banks", + "Headquarters Location": "New York City, New York", + "Date first added": "2021-12-20", + "CIK": "1288784", + "Founded": "2001" + }, + { + "Symbol": "SPG", + "Security": "Simon Property Group", + "SEC filings": "reports", + "GICS Sector": "Real Estate", + "GICS Sub-Industry": "Retail REITs", + "Headquarters Location": "Indianapolis, Indiana", + "Date first added": "2002-06-26", + "CIK": "1063761", + "Founded": "2003" + }, + { + "Symbol": "SWKS", + "Security": "Skyworks Solutions", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Semiconductors", + "Headquarters Location": "Woburn, Massachusetts", + "Date first added": "2015-03-12", + "CIK": "4127", + "Founded": "2002" + }, + { + "Symbol": "SNA", + "Security": "Snap-on", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Industrial Machinery", + "Headquarters Location": "Kenosha, Wisconsin", + "Date first added": "1982-09-30", + "CIK": "91440", + "Founded": "1920" + }, + { + "Symbol": "SEDG", + "Security": "SolarEdge", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Semiconductor Equipment", + "Headquarters Location": "Herzliya, Israel", + "Date first added": "2021-12-20", + "CIK": "1419612", + "Founded": "2006" + }, + { + "Symbol": "SO", + "Security": "Southern Company", + "SEC filings": "reports", + "GICS Sector": "Utilities", + "GICS Sub-Industry": "Electric Utilities", + "Headquarters Location": "Atlanta, Georgia", + "Date first added": "1957-03-04", + "CIK": "92122", + "Founded": "1945" + }, + { + "Symbol": "LUV", + "Security": "Southwest Airlines", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Airlines", + "Headquarters Location": "Dallas, Texas", + "Date first added": "1994-07-01", + "CIK": "92380", + "Founded": "1967" + }, + { + "Symbol": "SWK", + "Security": "Stanley Black & Decker", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Industrial Machinery", + "Headquarters Location": "New Britain, Connecticut", + "Date first added": "1982-09-30", + "CIK": "93556", + "Founded": "1843" + }, + { + "Symbol": "SBUX", + "Security": "Starbucks", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Restaurants", + "Headquarters Location": "Seattle, Washington", + "CIK": "829224", + "Founded": "1971" + }, + { + "Symbol": "STT", + "Security": "State Street Corporation", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Asset Management & Custody Banks", + "Headquarters Location": "Boston, Massachusetts", + "CIK": "93751", + "Founded": "1792" + }, + { + "Symbol": "STE", + "Security": "Steris", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Health Care Equipment", + "Headquarters Location": "Dublin, Ireland", + "Date first added": "2019-12-23", + "CIK": "1757898", + "Founded": "1985" + }, + { + "Symbol": "SYK", + "Security": "Stryker Corporation", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Health Care Equipment", + "Headquarters Location": "Kalamazoo, Michigan", + "Date first added": "2000-12-12", + "CIK": "310764", + "Founded": "1941" + }, + { + "Symbol": "SIVB", + "Security": "SVB Financial", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Regional Banks", + "Headquarters Location": "Santa Clara, California", + "Date first added": "2018-03-19", + "CIK": "719739", + "Founded": "1983" + }, + { + "Symbol": "SYF", + "Security": "Synchrony Financial", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Consumer Finance", + "Headquarters Location": "Stamford, Connecticut", + "Date first added": "2015-11-18", + "CIK": "1601712", + "Founded": "2003" + }, + { + "Symbol": "SNPS", + "Security": "Synopsys", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Application Software", + "Headquarters Location": "Mountain View, California", + "Date first added": "2017-03-16", + "CIK": "883241", + "Founded": "1986" + }, + { + "Symbol": "SYY", + "Security": "Sysco", + "SEC filings": "reports", + "GICS Sector": "Consumer Staples", + "GICS Sub-Industry": "Food Distributors", + "Headquarters Location": "Houston, Texas", + "Date first added": "1986-12-31", + "CIK": "96021", + "Founded": "1969" + }, + { + "Symbol": "TMUS", + "Security": "T-Mobile US", + "SEC filings": "reports", + "GICS Sector": "Communication Services", + "GICS Sub-Industry": "Wireless Telecommunication Services", + "Headquarters Location": "Bellevue, Washington", + "Date first added": "2019-07-15", + "CIK": "1283699", + "Founded": "1994" + }, + { + "Symbol": "TROW", + "Security": "T. Rowe Price", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Asset Management & Custody Banks", + "Headquarters Location": "Baltimore, Maryland", + "CIK": "1113169", + "Founded": "1937" + }, + { + "Symbol": "TTWO", + "Security": "Take-Two Interactive", + "SEC filings": "reports", + "GICS Sector": "Communication Services", + "GICS Sub-Industry": "Interactive Home Entertainment", + "Headquarters Location": "New York City, New York", + "Date first added": "2018-03-19", + "CIK": "946581", + "Founded": "1993" + }, + { + "Symbol": "TPR", + "Security": "Tapestry", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Apparel, Accessories & Luxury Goods", + "Headquarters Location": "New York City, New York", + "CIK": "1116132", + "Founded": "2017" + }, + { + "Symbol": "TGT", + "Security": "Target", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "General Merchandise Stores", + "Headquarters Location": "Minneapolis, Minnesota", + "Date first added": "1976-12-31", + "CIK": "27419", + "Founded": "1902" + }, + { + "Symbol": "TEL", + "Security": "TE Connectivity", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Electronic Manufacturing Services", + "Headquarters Location": "Schaffhausen, Switzerland", + "Date first added": "2011-10-17", + "CIK": "1385157", + "Founded": "2007" + }, + { + "Symbol": "TDY", + "Security": "Teledyne Technologies", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Aerospace & Defense", + "Headquarters Location": "Thousand Oaks, California", + "Date first added": "2020-06-22", + "CIK": "1094285", + "Founded": "1960" + }, + { + "Symbol": "TFX", + "Security": "Teleflex", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Health Care Equipment", + "Headquarters Location": "Wayne, Pennsylvania", + "Date first added": "2019-01-18", + "CIK": "96943", + "Founded": "1943" + }, + { + "Symbol": "TER", + "Security": "Teradyne", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Semiconductor Equipment", + "Headquarters Location": "North Reading, Massachusetts", + "Date first added": "2020-09-21", + "CIK": "97210", + "Founded": "1960" + }, + { + "Symbol": "TSLA", + "Security": "Tesla", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Automobile Manufacturers", + "Headquarters Location": "Palo Alto, California", + "Date first added": "2020-12-21", + "CIK": "1318605", + "Founded": "2003" + }, + { + "Symbol": "TXN", + "Security": "Texas Instruments", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Semiconductors", + "Headquarters Location": "Dallas, Texas", + "CIK": "97476", + "Founded": "1930" + }, + { + "Symbol": "TXT", + "Security": "Textron", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Aerospace & Defense", + "Headquarters Location": "Providence, Rhode Island", + "Date first added": "1978-12-31", + "CIK": "217346", + "Founded": "1923" + }, + { + "Symbol": "TMO", + "Security": "Thermo Fisher Scientific", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Life Sciences Tools & Services", + "Headquarters Location": "Waltham, Massachusetts", + "Date first added": "2004-08-03", + "CIK": "97745", + "Founded": "2006 (1902)" + }, + { + "Symbol": "TJX", + "Security": "TJX Companies", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Apparel Retail", + "Headquarters Location": "Framingham, Massachusetts", + "Date first added": "1985-09-30", + "CIK": "109198", + "Founded": "1987" + }, + { + "Symbol": "TSCO", + "Security": "Tractor Supply Company", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Specialty Stores", + "Headquarters Location": "Brentwood, Tennessee", + "Date first added": "2014-01-24", + "CIK": "916365", + "Founded": "1938" + }, + { + "Symbol": "TT", + "Security": "Trane Technologies", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Building Products", + "Headquarters Location": "Dublin, Ireland", + "Date first added": "2010-11-17", + "CIK": "1466258", + "Founded": "1871" + }, + { + "Symbol": "TDG", + "Security": "TransDigm Group", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Aerospace & Defense", + "Headquarters Location": "Cleveland, Ohio", + "Date first added": "2016-06-03", + "CIK": "1260221", + "Founded": "1993" + }, + { + "Symbol": "TRV", + "Security": "The Travelers Companies", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Property & Casualty Insurance", + "Headquarters Location": "New York City, New York", + "Date first added": "2002-08-21", + "CIK": "86312", + "Founded": "1853" + }, + { + "Symbol": "TRMB", + "Security": "Trimble", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Electronic Equipment & Instruments", + "Headquarters Location": "Sunnyvale, California", + "Date first added": "2021-01-21", + "CIK": "864749", + "Founded": "1978" + }, + { + "Symbol": "TFC", + "Security": "Truist Financial", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Regional Banks", + "Headquarters Location": "Charlotte, North Carolina", + "Date first added": "1997-12-04", + "CIK": "92230", + "Founded": "1872" + }, + { + "Symbol": "TWTR", + "Security": "Twitter", + "SEC filings": "reports", + "GICS Sector": "Communication Services", + "GICS Sub-Industry": "Interactive Media & Services", + "Headquarters Location": "San Francisco, California", + "Date first added": "2018-06-07", + "CIK": "1418091", + "Founded": "2006" + }, + { + "Symbol": "TYL", + "Security": "Tyler Technologies", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Application Software", + "Headquarters Location": "Plano, Texas", + "Date first added": "2020-06-22", + "CIK": "860731", + "Founded": "1966" + }, + { + "Symbol": "TSN", + "Security": "Tyson Foods", + "SEC filings": "reports", + "GICS Sector": "Consumer Staples", + "GICS Sub-Industry": "Packaged Foods & Meats", + "Headquarters Location": "Springdale, Arkansas", + "Date first added": "2005-08-10", + "CIK": "100493", + "Founded": "1935" + }, + { + "Symbol": "UDR", + "Security": "UDR", + "SEC filings": "reports", + "GICS Sector": "Real Estate", + "GICS Sub-Industry": "Residential REITs", + "Headquarters Location": "Highlands Ranch, Colorado", + "Date first added": "2016-03-07", + "CIK": "74208", + "Founded": "1972" + }, + { + "Symbol": "ULTA", + "Security": "Ulta Beauty", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Specialty Stores", + "Headquarters Location": "Bolingbrook, Illinois", + "Date first added": "2016-04-18", + "CIK": "1403568", + "Founded": "1990" + }, + { + "Symbol": "USB", + "Security": "U.S. Bancorp", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Diversified Banks", + "Headquarters Location": "Minneapolis, Minnesota", + "CIK": "36104", + "Founded": "1968" + }, + { + "Symbol": "UAA", + "Security": "Under Armour (Class A)", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Apparel, Accessories & Luxury Goods", + "Headquarters Location": "Baltimore, Maryland", + "Date first added": "2014-05-01", + "CIK": "1336917", + "Founded": "1996" + }, + { + "Symbol": "UA", + "Security": "Under Armour (Class C)", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Apparel, Accessories & Luxury Goods", + "Headquarters Location": "Baltimore, Maryland", + "Date first added": "2016-04-08", + "CIK": "1336917", + "Founded": "1996" + }, + { + "Symbol": "UNP", + "Security": "Union Pacific", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Railroads", + "Headquarters Location": "Omaha, Nebraska", + "Date first added": "1957-03-04", + "CIK": "100885", + "Founded": "1862" + }, + { + "Symbol": "UAL", + "Security": "United Airlines", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Airlines", + "Headquarters Location": "Chicago, Illinois", + "Date first added": "2015-09-03", + "CIK": "100517", + "Founded": "1967" + }, + { + "Symbol": "UNH", + "Security": "UnitedHealth Group", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Managed Health Care", + "Headquarters Location": "Minnetonka, Minnesota", + "Date first added": "1994-07-01", + "CIK": "731766", + "Founded": "1977" + }, + { + "Symbol": "UPS", + "Security": "United Parcel Service", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Air Freight & Logistics", + "Headquarters Location": "Sandy Springs, Georgia", + "Date first added": "2002-07-22", + "CIK": "1090727", + "Founded": "1907" + }, + { + "Symbol": "URI", + "Security": "United Rentals", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Trading Companies & Distributors", + "Headquarters Location": "Stamford, Connecticut", + "Date first added": "2014-09-20", + "CIK": "1067701", + "Founded": "1997" + }, + { + "Symbol": "UHS", + "Security": "Universal Health Services", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Health Care Facilities", + "Headquarters Location": "King of Prussia, Pennsylvania", + "Date first added": "2014-09-20", + "CIK": "352915", + "Founded": "1979" + }, + { + "Symbol": "VLO", + "Security": "Valero Energy", + "SEC filings": "reports", + "GICS Sector": "Energy", + "GICS Sub-Industry": "Oil & Gas Refining & Marketing", + "Headquarters Location": "San Antonio, Texas", + "CIK": "1035002", + "Founded": "1980" + }, + { + "Symbol": "VTR", + "Security": "Ventas", + "SEC filings": "reports", + "GICS Sector": "Real Estate", + "GICS Sub-Industry": "Health Care REITs", + "Headquarters Location": "Chicago, Illinois", + "Date first added": "2009-03-04", + "CIK": "740260", + "Founded": "1998" + }, + { + "Symbol": "VRSN", + "Security": "Verisign", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Internet Services & Infrastructure", + "Headquarters Location": "Dulles, Virginia", + "Date first added": "2006-02-01", + "CIK": "1014473", + "Founded": "1995" + }, + { + "Symbol": "VRSK", + "Security": "Verisk Analytics", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Research & Consulting Services", + "Headquarters Location": "Jersey City, New Jersey", + "Date first added": "2015-10-08", + "CIK": "1442145", + "Founded": "1971" + }, + { + "Symbol": "VZ", + "Security": "Verizon Communications", + "SEC filings": "reports", + "GICS Sector": "Communication Services", + "GICS Sub-Industry": "Integrated Telecommunication Services", + "Headquarters Location": "New York City, New York", + "Date first added": "1983-11-30", + "CIK": "732712", + "Founded": "1983 (1877)" + }, + { + "Symbol": "VRTX", + "Security": "Vertex Pharmaceuticals", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Biotechnology", + "Headquarters Location": "Cambridge, Massachusetts", + "Date first added": "2013-09-23", + "CIK": "875320", + "Founded": "1989" + }, + { + "Symbol": "VFC", + "Security": "VF Corporation", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Apparel, Accessories & Luxury Goods", + "Headquarters Location": "Denver, Colorado", + "Date first added": "1979-06-30", + "CIK": "103379", + "Founded": "1899" + }, + { + "Symbol": "VIAC", + "Security": "ViacomCBS", + "SEC filings": "reports", + "GICS Sector": "Communication Services", + "GICS Sub-Industry": "Movies & Entertainment", + "Headquarters Location": "New York City, New York", + "CIK": "813828", + "Founded": "2019 (1952)" + }, + { + "Symbol": "VTRS", + "Security": "Viatris", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Pharmaceuticals", + "Headquarters Location": "Pittsburgh, Pennsylvania", + "Date first added": "2004-04-23", + "CIK": "1792044", + "Founded": "1961" + }, + { + "Symbol": "V", + "Security": "Visa", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Data Processing & Outsourced Services", + "Headquarters Location": "San Francisco, California", + "Date first added": "2009-12-21", + "CIK": "1403161", + "Founded": "1958" + }, + { + "Symbol": "VNO", + "Security": "Vornado Realty Trust", + "SEC filings": "reports", + "GICS Sector": "Real Estate", + "GICS Sub-Industry": "Office REITs", + "Headquarters Location": "New York City, New York", + "CIK": "899689", + "Founded": "1982" + }, + { + "Symbol": "VMC", + "Security": "Vulcan Materials", + "SEC filings": "reports", + "GICS Sector": "Materials", + "GICS Sub-Industry": "Construction Materials", + "Headquarters Location": "Birmingham, Alabama", + "Date first added": "1999-06-30", + "CIK": "1396009", + "Founded": "1909" + }, + { + "Symbol": "WRB", + "Security": "W. R. Berkley Corporation", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Property & Casualty Insurance", + "Headquarters Location": "Greenwich, Connecticut", + "Date first added": "2019-12-05", + "CIK": "11544", + "Founded": "1967" + }, + { + "Symbol": "WAB", + "Security": "Wabtec", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Construction Machinery & Heavy Trucks", + "Headquarters Location": "Pittsburgh, Pennsylvania", + "Date first added": "2019-02-27", + "CIK": "943452", + "Founded": "1999 (1869)" + }, + { + "Symbol": "WMT", + "Security": "Walmart", + "SEC filings": "reports", + "GICS Sector": "Consumer Staples", + "GICS Sub-Industry": "Hypermarkets & Super Centers", + "Headquarters Location": "Bentonville, Arkansas", + "Date first added": "1982-08-31", + "CIK": "104169", + "Founded": "1962" + }, + { + "Symbol": "WBA", + "Security": "Walgreens Boots Alliance", + "SEC filings": "reports", + "GICS Sector": "Consumer Staples", + "GICS Sub-Industry": "Drug Retail", + "Headquarters Location": "Deerfield, Illinois", + "Date first added": "1979-12-31", + "CIK": "1618921", + "Founded": "2014" + }, + { + "Symbol": "DIS", + "Security": "The Walt Disney Company", + "SEC filings": "reports", + "GICS Sector": "Communication Services", + "GICS Sub-Industry": "Movies & Entertainment", + "Headquarters Location": "Burbank, California", + "Date first added": "1976-06-30", + "CIK": "1744489", + "Founded": "1923" + }, + { + "Symbol": "WM", + "Security": "Waste Management", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Environmental & Facilities Services", + "Headquarters Location": "Houston, Texas", + "CIK": "823768", + "Founded": "1968" + }, + { + "Symbol": "WAT", + "Security": "Waters Corporation", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Health Care Distributors", + "Headquarters Location": "Milford, Massachusetts", + "CIK": "1000697", + "Founded": "1958" + }, + { + "Symbol": "WEC", + "Security": "WEC Energy Group", + "SEC filings": "reports", + "GICS Sector": "Utilities", + "GICS Sub-Industry": "Electric Utilities", + "Headquarters Location": "Milwaukee, Wisconsin", + "Date first added": "2008-10-31", + "CIK": "783325", + "Founded": "1896" + }, + { + "Symbol": "WFC", + "Security": "Wells Fargo", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Diversified Banks", + "Headquarters Location": "San Francisco, California", + "Date first added": "1976-06-30", + "CIK": "72971", + "Founded": "1852" + }, + { + "Symbol": "WELL", + "Security": "Welltower", + "SEC filings": "reports", + "GICS Sector": "Real Estate", + "GICS Sub-Industry": "Health Care REITs", + "Headquarters Location": "Toledo, Ohio", + "Date first added": "2009-01-30", + "CIK": "766704", + "Founded": "1970" + }, + { + "Symbol": "WST", + "Security": "West Pharmaceutical Services", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Health Care Supplies", + "Headquarters Location": "Exton, Pennsylvania", + "Date first added": "2020-05-22", + "CIK": "105770", + "Founded": "1923" + }, + { + "Symbol": "WDC", + "Security": "Western Digital", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Technology Hardware, Storage & Peripherals", + "Headquarters Location": "San Jose, California", + "Date first added": "2009-07-01", + "CIK": "106040", + "Founded": "1970" + }, + { + "Symbol": "WRK", + "Security": "WestRock", + "SEC filings": "reports", + "GICS Sector": "Materials", + "GICS Sub-Industry": "Paper Packaging", + "Headquarters Location": "Atlanta, Georgia", + "CIK": "1732845", + "Founded": "2015" + }, + { + "Symbol": "WY", + "Security": "Weyerhaeuser", + "SEC filings": "reports", + "GICS Sector": "Real Estate", + "GICS Sub-Industry": "Specialized REITs", + "Headquarters Location": "Seattle, Washington", + "CIK": "106535", + "Founded": "1900" + }, + { + "Symbol": "WHR", + "Security": "Whirlpool Corporation", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Household Appliances", + "Headquarters Location": "Benton Harbor, Michigan", + "CIK": "106640", + "Founded": "1911" + }, + { + "Symbol": "WMB", + "Security": "Williams Companies", + "SEC filings": "reports", + "GICS Sector": "Energy", + "GICS Sub-Industry": "Oil & Gas Storage & Transportation", + "Headquarters Location": "Tulsa, Oklahoma", + "Date first added": "1975-03-31", + "CIK": "107263", + "Founded": "1908" + }, + { + "Symbol": "WTW", + "Security": "Willis Towers Watson", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Insurance Brokers", + "Headquarters Location": "London, England", + "Date first added": "2016-01-05", + "CIK": "1140536", + "Founded": "2016" + }, + { + "Symbol": "WYNN", + "Security": "Wynn Resorts", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Casinos & Gaming", + "Headquarters Location": "Paradise, Nevada", + "Date first added": "2008-11-14", + "CIK": "1174922", + "Founded": "2002" + }, + { + "Symbol": "XEL", + "Security": "Xcel Energy", + "SEC filings": "reports", + "GICS Sector": "Utilities", + "GICS Sub-Industry": "Multi-Utilities", + "Headquarters Location": "Minneapolis, Minnesota", + "Date first added": "1957-03-04", + "CIK": "72903", + "Founded": "1909" + }, + { + "Symbol": "XLNX", + "Security": "Xilinx", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Semiconductors", + "Headquarters Location": "San Jose, California", + "Date first added": "1999-11-08", + "CIK": "743988", + "Founded": "1984" + }, + { + "Symbol": "XYL", + "Security": "Xylem", + "SEC filings": "reports", + "GICS Sector": "Industrials", + "GICS Sub-Industry": "Industrial Machinery", + "Headquarters Location": "White Plains, New York", + "Date first added": "2011-11-01", + "CIK": "1524472", + "Founded": "2011" + }, + { + "Symbol": "YUM", + "Security": "Yum! Brands", + "SEC filings": "reports", + "GICS Sector": "Consumer Discretionary", + "GICS Sub-Industry": "Restaurants", + "Headquarters Location": "Louisville, Kentucky", + "Date first added": "1997-10-06", + "CIK": "1041061", + "Founded": "1997" + }, + { + "Symbol": "ZBRA", + "Security": "Zebra Technologies", + "SEC filings": "reports", + "GICS Sector": "Information Technology", + "GICS Sub-Industry": "Electronic Equipment & Instruments", + "Headquarters Location": "Lincolnshire, Illinois", + "Date first added": "2019-12-23", + "CIK": "877212", + "Founded": "1969" + }, + { + "Symbol": "ZBH", + "Security": "Zimmer Biomet", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Health Care Equipment", + "Headquarters Location": "Warsaw, Indiana", + "Date first added": "2001-08-07", + "CIK": "1136869", + "Founded": "1927" + }, + { + "Symbol": "ZION", + "Security": "Zions Bancorp", + "SEC filings": "reports", + "GICS Sector": "Financials", + "GICS Sub-Industry": "Regional Banks", + "Headquarters Location": "Salt Lake City, Utah", + "Date first added": "2001-06-22", + "CIK": "109380", + "Founded": "1873" + }, + { + "Symbol": "ZTS", + "Security": "Zoetis", + "SEC filings": "reports", + "GICS Sector": "Health Care", + "GICS Sub-Industry": "Pharmaceuticals", + "Headquarters Location": "Parsippany, New Jersey", + "Date first added": "2013-06-21", + "CIK": "1555280", + "Founded": "1952" + } + ] diff --git a/static/index.html b/static/index.html new file mode 100644 index 0000000..f027a57 --- /dev/null +++ b/static/index.html @@ -0,0 +1,24 @@ + + + + + + + + + Document + + + + +
+ + + + +
+ + + + + diff --git a/static/style.css b/static/style.css new file mode 100644 index 0000000..13f0b82 --- /dev/null +++ b/static/style.css @@ -0,0 +1,142 @@ +:root { + /* Font Sizes */ + --fs-100: 0.625rem; + --fs-200: 0.75rem; + --fs-300: 0.875rem; + --fs-400: 1rem; + --fs-500: 1.125rem; + --fs-600: 1.25rem; + --fs-700: 1.5rem; + --fs-800: 2.5rem; + --fs-900: 3.5rem; + + --fw-regular: 400; + --fw-semi-bold: 500; + --fw-bold: 700; + + /* Color variables */ + --clr-bg-ltheme: #edebe9; + --clr-text-ltheme: #1b1b1b; + --clr-accent-ltheme: #ff8000; + --clr-primary-ltheme: #d4d4d2; + --clr-secondary-ltheme: #babcbb; + --clr-link-ltheme: blue; + --clr-border-ltheme: blue; + + --clr-bg-dtheme: #121212; + --clr-text-dtheme: #edebe9; + --clr-accent-dtheme: #3a3b9c; + --clr-primary-dtheme: #1b1b1b; + --clr-secondary-dtheme: #2d2d2d; + --clr-link-dtheme: blue; + --clr-border-dtheme: blue; + + /* General Colors */ + --black: #000; /* Black */ + --white: #fff; /* White */ + --clr-000: #636363; + --clr-100: #5A5A5A; + --clr-200: #515151; + --clr-300: #484848; + --clr-400: #3F3F3F; + --clr-500: #363636; + --clr-600: #2D2D2D; + --clr-700: #242424; + --clr-800: #1B1B1B; + --clr-900: #121212; + + /* Semantic Colors */ + --clr-success: #118c11; + --clr-info: #17a2b8; + --clr-warning: #ff8000; + --clr-danger: #d00000; +} + +/* CSS Resets */ +*, *::before, *::after { + box-sizing: border-box; +} + +/* Remove default margins. */ +* { + margin: 0; + padding: 0; +} + +/* Set core root defaults */ +html:focus-within { + scroll-behavior: smooth; +} + +/* Make images easiser to work with. */ +img,picture,svg, video { + display: block; + max-width: 100%; +} + +/* Remove list styles (bullets/numbers) */ +ol, ul, menu { + list-style: none; +} + +/* Form elements inherit font styles. */ +input, textarea, button, select { + font: inherit; +} + +/* Motion Reducted Media Query */ +@media screen and +(prefers-reduced-motion: reduce), +(update: slow) { + * { + animation-duration: 0.001ms !important; + animation-iteration-count: 1 !important; + transition-duration: 0.001ms !important; + } +} + +/* Screen reader friendly hidden. */ +.visually-hidden:not(:focus):not(:active) { + border: 0; + clip: rect(0 0 0 0); + height: auto; + margin: 0; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; + white-space: nowrap; +} + +/* Body and core Themes */ + +body{ + display: grid; + min-width: 100vw; + min-height: 100vh; + align-items: start; + line-height: 1.5rem; + background-color: var(--clr-bg-ltheme); + color: var(--clr-text-ltheme); +} +#form{ + border-radius: 5px var(--clr-accent-dtheme); + background-color: var(--clr-secondary-dtheme); + padding: 20px; + max-width: 600px; + justify-self: center; + display: grid; +} +#inputField{ + border: 1px solid #ccc; + border-radius: 4px; + +} + +@media (prefers-color-scheme: dark) { + body{ + background-color: var(--clr-bg-dtheme); + color: var(--clr-text-dtheme); + } +} +