From f1b3814c7fc46f90446402a043fe698045fe352f Mon Sep 17 00:00:00 2001
From: Ethan Nguyen
Date: Mon, 19 Apr 2021 18:46:27 -0400
Subject: [PATCH] Initial commit
---
.gitignore | 121 +
LICENSE.md | 660 ++++
Pipfile | 29 +
Pipfile.lock | 734 ++++
README.md | 23 +
ceeb.csv | 3279 +++++++++++++++++
manage.py | 22 +
tjdests/__init__.py | 0
tjdests/apps/__init__.py | 0
tjdests/apps/authentication/__init__.py | 0
tjdests/apps/authentication/admin.py | 5 +
tjdests/apps/authentication/decorators.py | 15 +
tjdests/apps/authentication/forms.py | 47 +
.../authentication/migrations/0001_initial.py | 46 +
.../authentication/migrations/0002_initial.py | 33 +
.../0003_alter_user_publish_data.py | 18 +
.../migrations/0004_auto_20210419_1713.py | 25 +
.../authentication/migrations/__init__.py | 0
tjdests/apps/authentication/models.py | 22 +
tjdests/apps/authentication/oauth.py | 38 +
tjdests/apps/authentication/urls.py | 12 +
tjdests/apps/authentication/views.py | 50 +
tjdests/apps/context_processors.py | 4 +
tjdests/apps/destinations/__init__.py | 0
tjdests/apps/destinations/admin.py | 7 +
.../apps/destinations/management/__init__.py | 0
.../management/commands/__init__.py | 0
.../management/commands/import_ceeb.py | 28 +
.../destinations/migrations/0001_initial.py | 44 +
.../migrations/0002_decision_admitted.py | 18 +
.../0003_alter_decision_admitted.py | 18 +
...name_admitted_decision_admission_status.py | 18 +
.../0005_alter_decision_admission_status.py | 18 +
.../0006_alter_college_ceeb_code.py | 18 +
.../apps/destinations/migrations/__init__.py | 0
tjdests/apps/destinations/models.py | 217 ++
tjdests/apps/destinations/urls.py | 9 +
tjdests/apps/destinations/views.py | 71 +
tjdests/apps/profile/__init__.py | 0
tjdests/apps/profile/forms.py | 28 +
tjdests/apps/profile/urls.py | 14 +
tjdests/apps/profile/views.py | 141 +
tjdests/asgi.py | 16 +
tjdests/settings/__init__.py | 160 +
tjdests/settings/secret.sample.py | 17 +
tjdests/static/bootstrap.bundle.min.js | 7 +
tjdests/static/bootstrap.min.css | 7 +
.../templates/authentication/accept_tos.html | 698 ++++
tjdests/templates/authentication/index.html | 44 +
tjdests/templates/authentication/login.html | 37 +
tjdests/templates/base.html | 79 +
.../templates/destinations/college_list.html | 61 +
.../templates/destinations/student_list.html | 121 +
.../templates/profile/decision_delete.html | 20 +
tjdests/templates/profile/decision_form.html | 16 +
tjdests/templates/profile/profile.html | 120 +
.../templates/profile/testscore_delete.html | 20 +
tjdests/templates/profile/testscore_form.html | 16 +
tjdests/urls.py | 25 +
tjdests/wsgi.py | 16 +
60 files changed, 7312 insertions(+)
create mode 100644 .gitignore
create mode 100644 LICENSE.md
create mode 100644 Pipfile
create mode 100644 Pipfile.lock
create mode 100644 README.md
create mode 100644 ceeb.csv
create mode 100755 manage.py
create mode 100644 tjdests/__init__.py
create mode 100644 tjdests/apps/__init__.py
create mode 100644 tjdests/apps/authentication/__init__.py
create mode 100644 tjdests/apps/authentication/admin.py
create mode 100644 tjdests/apps/authentication/decorators.py
create mode 100644 tjdests/apps/authentication/forms.py
create mode 100644 tjdests/apps/authentication/migrations/0001_initial.py
create mode 100644 tjdests/apps/authentication/migrations/0002_initial.py
create mode 100644 tjdests/apps/authentication/migrations/0003_alter_user_publish_data.py
create mode 100644 tjdests/apps/authentication/migrations/0004_auto_20210419_1713.py
create mode 100644 tjdests/apps/authentication/migrations/__init__.py
create mode 100644 tjdests/apps/authentication/models.py
create mode 100644 tjdests/apps/authentication/oauth.py
create mode 100644 tjdests/apps/authentication/urls.py
create mode 100644 tjdests/apps/authentication/views.py
create mode 100644 tjdests/apps/context_processors.py
create mode 100644 tjdests/apps/destinations/__init__.py
create mode 100644 tjdests/apps/destinations/admin.py
create mode 100644 tjdests/apps/destinations/management/__init__.py
create mode 100644 tjdests/apps/destinations/management/commands/__init__.py
create mode 100644 tjdests/apps/destinations/management/commands/import_ceeb.py
create mode 100644 tjdests/apps/destinations/migrations/0001_initial.py
create mode 100644 tjdests/apps/destinations/migrations/0002_decision_admitted.py
create mode 100644 tjdests/apps/destinations/migrations/0003_alter_decision_admitted.py
create mode 100644 tjdests/apps/destinations/migrations/0004_rename_admitted_decision_admission_status.py
create mode 100644 tjdests/apps/destinations/migrations/0005_alter_decision_admission_status.py
create mode 100644 tjdests/apps/destinations/migrations/0006_alter_college_ceeb_code.py
create mode 100644 tjdests/apps/destinations/migrations/__init__.py
create mode 100644 tjdests/apps/destinations/models.py
create mode 100644 tjdests/apps/destinations/urls.py
create mode 100644 tjdests/apps/destinations/views.py
create mode 100644 tjdests/apps/profile/__init__.py
create mode 100644 tjdests/apps/profile/forms.py
create mode 100644 tjdests/apps/profile/urls.py
create mode 100644 tjdests/apps/profile/views.py
create mode 100644 tjdests/asgi.py
create mode 100644 tjdests/settings/__init__.py
create mode 100644 tjdests/settings/secret.sample.py
create mode 100644 tjdests/static/bootstrap.bundle.min.js
create mode 100644 tjdests/static/bootstrap.min.css
create mode 100644 tjdests/templates/authentication/accept_tos.html
create mode 100644 tjdests/templates/authentication/index.html
create mode 100644 tjdests/templates/authentication/login.html
create mode 100644 tjdests/templates/base.html
create mode 100644 tjdests/templates/destinations/college_list.html
create mode 100644 tjdests/templates/destinations/student_list.html
create mode 100644 tjdests/templates/profile/decision_delete.html
create mode 100644 tjdests/templates/profile/decision_form.html
create mode 100644 tjdests/templates/profile/profile.html
create mode 100644 tjdests/templates/profile/testscore_delete.html
create mode 100644 tjdests/templates/profile/testscore_form.html
create mode 100644 tjdests/urls.py
create mode 100644 tjdests/wsgi.py
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..ed110d8
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,121 @@
+# Django #
+*.log
+*.pot
+*.pyc
+__pycache__
+db.sqlite3
+media
+
+# Backup files #
+*.bak
+
+# If you are using PyCharm #
+.idea/**/workspace.xml
+.idea/**/tasks.xml
+.idea/dictionaries
+.idea/**/dataSources/
+.idea/**/dataSources.ids
+.idea/**/dataSources.xml
+.idea/**/dataSources.local.xml
+.idea/**/sqlDataSources.xml
+.idea/**/dynamic.xml
+.idea/**/uiDesigner.xml
+.idea/**/gradle.xml
+.idea/**/libraries
+*.iws /out/
+
+# Python #
+*.py[cod]
+*$py.class
+
+# Distribution / packaging
+.Python build/
+develop-eggs/
+dist/
+downloads/
+eggs/
+.eggs/
+lib/
+lib64/
+parts/
+sdist/
+var/
+wheels/
+*.egg-info/
+.installed.cfg
+*.egg
+*.manifest
+*.spec
+
+# Installer logs
+pip-log.txt
+pip-delete-this-directory.txt
+
+# Unit test / coverage reports
+htmlcov/
+.tox/
+.coverage
+.coverage.*
+.cache
+.pytest_cache/
+nosetests.xml
+coverage.xml
+*.cover
+.hypothesis/
+
+# Jupyter Notebook
+.ipynb_checkpoints
+
+# pyenv
+.python-version
+
+# celery
+celerybeat-schedule.*
+
+# SageMath parsed files
+*.sage.py
+
+# Environments
+.env
+.venv
+env/
+venv/
+ENV/
+env.bak/
+venv.bak/
+
+# mkdocs documentation
+/site
+
+# mypy
+.mypy_cache/
+
+# Sublime Text #
+*.tmlanguage.cache
+*.tmPreferences.cache
+*.stTheme.cache
+*.sublime-workspace
+*.sublime-project
+
+# sftp configuration file
+sftp-config.json
+
+# Package control specific files Package
+Control.last-run
+Control.ca-list
+Control.ca-bundle
+Control.system-ca-bundle
+GitHub.sublime-settings
+
+# Visual Studio Code #
+.vscode/*
+!.vscode/settings.json
+!.vscode/tasks.json
+!.vscode/launch.json
+!.vscode/extensions.json
+.history
+
+tjdests/settings/secret.py
+/.idea/
+/tjdests/serve/
+secret.py
diff --git a/LICENSE.md b/LICENSE.md
new file mode 100644
index 0000000..cba6f6a
--- /dev/null
+++ b/LICENSE.md
@@ -0,0 +1,660 @@
+### GNU AFFERO GENERAL PUBLIC LICENSE
+
+Version 3, 19 November 2007
+
+Copyright (C) 2007 Free Software Foundation, Inc.
+
+
+Everyone is permitted to copy and distribute verbatim copies of this
+license document, but changing it is not allowed.
+
+### Preamble
+
+The GNU Affero General Public License is a free, copyleft license for
+software and other kinds of works, specifically designed to ensure
+cooperation with the community in the case of network server software.
+
+The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+our General Public Licenses are intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains
+free software for all its users.
+
+When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+Developers that use our General Public Licenses protect your rights
+with two steps: (1) assert copyright on the software, and (2) offer
+you this License which gives you legal permission to copy, distribute
+and/or modify the software.
+
+A secondary benefit of defending all users' freedom is that
+improvements made in alternate versions of the program, if they
+receive widespread use, become available for other developers to
+incorporate. Many developers of free software are heartened and
+encouraged by the resulting cooperation. However, in the case of
+software used on network servers, this result may fail to come about.
+The GNU General Public License permits making a modified version and
+letting the public access it on a server without ever releasing its
+source code to the public.
+
+The GNU Affero General Public License is designed specifically to
+ensure that, in such cases, the modified source code becomes available
+to the community. It requires the operator of a network server to
+provide the source code of the modified version running there to the
+users of that server. Therefore, public use of a modified version, on
+a publicly accessible server, gives the public access to the source
+code of the modified version.
+
+An older license, called the Affero General Public License and
+published by Affero, was designed to accomplish similar goals. This is
+a different license, not a version of the Affero GPL, but Affero has
+released a new version of the Affero GPL which permits relicensing
+under this license.
+
+The precise terms and conditions for copying, distribution and
+modification follow.
+
+### TERMS AND CONDITIONS
+
+#### 0. Definitions.
+
+"This License" refers to version 3 of the GNU Affero General Public
+License.
+
+"Copyright" also means copyright-like laws that apply to other kinds
+of works, such as semiconductor masks.
+
+"The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of
+an exact copy. The resulting work is called a "modified version" of
+the earlier work or a work "based on" the earlier work.
+
+A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user
+through a computer network, with no transfer of a copy, is not
+conveying.
+
+An interactive user interface displays "Appropriate Legal Notices" to
+the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+#### 1. Source Code.
+
+The "source code" for a work means the preferred form of the work for
+making modifications to it. "Object code" means any non-source form of
+a work.
+
+A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+The Corresponding Source need not include anything that users can
+regenerate automatically from other parts of the Corresponding Source.
+
+The Corresponding Source for a work in source code form is that same
+work.
+
+#### 2. Basic Permissions.
+
+All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+You may make, run and propagate covered works that you do not convey,
+without conditions so long as your license otherwise remains in force.
+You may convey covered works to others for the sole purpose of having
+them make modifications exclusively for you, or provide you with
+facilities for running those works, provided that you comply with the
+terms of this License in conveying all material for which you do not
+control copyright. Those thus making or running the covered works for
+you must do so exclusively on your behalf, under your direction and
+control, on terms that prohibit them from making any copies of your
+copyrighted material outside their relationship with you.
+
+Conveying under any other circumstances is permitted solely under the
+conditions stated below. Sublicensing is not allowed; section 10 makes
+it unnecessary.
+
+#### 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such
+circumvention is effected by exercising rights under this License with
+respect to the covered work, and you disclaim any intention to limit
+operation or modification of the work as a means of enforcing, against
+the work's users, your or third parties' legal rights to forbid
+circumvention of technological measures.
+
+#### 4. Conveying Verbatim Copies.
+
+You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+#### 5. Conveying Modified Source Versions.
+
+You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these
+conditions:
+
+- a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+- b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under
+ section 7. This requirement modifies the requirement in section 4
+ to "keep intact all notices".
+- c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+- d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+#### 6. Conveying Non-Source Forms.
+
+You may convey a covered work in object code form under the terms of
+sections 4 and 5, provided that you also convey the machine-readable
+Corresponding Source under the terms of this License, in one of these
+ways:
+
+- a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+- b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the Corresponding
+ Source from a network server at no charge.
+- c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+- d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+- e) Convey the object code using peer-to-peer transmission,
+ provided you inform other peers where the object code and
+ Corresponding Source of the work are being offered to the general
+ public at no charge under subsection 6d.
+
+A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal,
+family, or household purposes, or (2) anything designed or sold for
+incorporation into a dwelling. In determining whether a product is a
+consumer product, doubtful cases shall be resolved in favor of
+coverage. For a particular product received by a particular user,
+"normally used" refers to a typical or common use of that class of
+product, regardless of the status of the particular user or of the way
+in which the particular user actually uses, or expects or is expected
+to use, the product. A product is a consumer product regardless of
+whether the product has substantial commercial, industrial or
+non-consumer uses, unless such uses represent the only significant
+mode of use of the product.
+
+"Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to
+install and execute modified versions of a covered work in that User
+Product from a modified version of its Corresponding Source. The
+information must suffice to ensure that the continued functioning of
+the modified object code is in no case prevented or interfered with
+solely because modification has been made.
+
+If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or
+updates for a work that has been modified or installed by the
+recipient, or for the User Product in which it has been modified or
+installed. Access to a network may be denied when the modification
+itself materially and adversely affects the operation of the network
+or violates the rules and protocols for communication across the
+network.
+
+Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+#### 7. Additional Terms.
+
+"Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders
+of that material) supplement the terms of this License with terms:
+
+- a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+- b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+- c) Prohibiting misrepresentation of the origin of that material,
+ or requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+- d) Limiting the use for publicity purposes of names of licensors
+ or authors of the material; or
+- e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+- f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions
+ of it) with contractual assumptions of liability to the recipient,
+ for any liability that these contractual assumptions directly
+ impose on those licensors and authors.
+
+All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions; the
+above requirements apply either way.
+
+#### 8. Termination.
+
+You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+However, if you cease all violation of this License, then your license
+from a particular copyright holder is reinstated (a) provisionally,
+unless and until the copyright holder explicitly and finally
+terminates your license, and (b) permanently, if the copyright holder
+fails to notify you of the violation by some reasonable means prior to
+60 days after the cessation.
+
+Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+#### 9. Acceptance Not Required for Having Copies.
+
+You are not required to accept this License in order to receive or run
+a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+#### 10. Automatic Licensing of Downstream Recipients.
+
+Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+#### 11. Patents.
+
+A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+A contributor's "essential patent claims" are all patent claims owned
+or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+A patent license is "discriminatory" if it does not include within the
+scope of its coverage, prohibits the exercise of, or is conditioned on
+the non-exercise of one or more of the rights that are specifically
+granted under this License. You may not convey a covered work if you
+are a party to an arrangement with a third party that is in the
+business of distributing software, under which you make payment to the
+third party based on the extent of your activity of conveying the
+work, and under which the third party grants, to any of the parties
+who would receive the covered work from you, a discriminatory patent
+license (a) in connection with copies of the covered work conveyed by
+you (or copies made from those copies), or (b) primarily for and in
+connection with specific products or compilations that contain the
+covered work, unless you entered into that arrangement, or that patent
+license was granted, prior to 28 March 2007.
+
+Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+#### 12. No Surrender of Others' Freedom.
+
+If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under
+this License and any other pertinent obligations, then as a
+consequence you may not convey it at all. For example, if you agree to
+terms that obligate you to collect a royalty for further conveying
+from those to whom you convey the Program, the only way you could
+satisfy both those terms and this License would be to refrain entirely
+from conveying the Program.
+
+#### 13. Remote Network Interaction; Use with the GNU General Public License.
+
+Notwithstanding any other provision of this License, if you modify the
+Program, your modified version must prominently offer all users
+interacting with it remotely through a computer network (if your
+version supports such interaction) an opportunity to receive the
+Corresponding Source of your version by providing access to the
+Corresponding Source from a network server at no charge, through some
+standard or customary means of facilitating copying of software. This
+Corresponding Source shall include the Corresponding Source for any
+work covered by version 3 of the GNU General Public License that is
+incorporated pursuant to the following paragraph.
+
+Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the work with which it is combined will remain governed by version
+3 of the GNU General Public License.
+
+#### 14. Revised Versions of this License.
+
+The Free Software Foundation may publish revised and/or new versions
+of the GNU Affero General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies that a certain numbered version of the GNU Affero General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU Affero General Public License, you may choose any version ever
+published by the Free Software Foundation.
+
+If the Program specifies that a proxy can decide which future versions
+of the GNU Affero General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+#### 15. Disclaimer of Warranty.
+
+THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT
+WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
+PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE
+DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
+CORRECTION.
+
+#### 16. Limitation of Liability.
+
+IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR
+CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
+ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT
+NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR
+LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM
+TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER
+PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+#### 17. Interpretation of Sections 15 and 16.
+
+If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+END OF TERMS AND CONDITIONS
+
+### How to Apply These Terms to Your New Programs
+
+If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these
+terms.
+
+To do so, attach the following notices to the program. It is safest to
+attach them to the start of each source file to most effectively state
+the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+
+Also add information on how to contact you by electronic and paper
+mail.
+
+If your software can interact with users remotely through a computer
+network, you should also make sure that it provides a way for users to
+get its source. For example, if your program is a web application, its
+interface could display a "Source" link that leads users to an archive
+of the code. There are many ways you could offer source, and different
+solutions will be better for different programs; see section 13 for
+the specific requirements.
+
+You should also get your employer (if you work as a programmer) or
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. For more information on this, and how to apply and follow
+the GNU AGPL, see .
diff --git a/Pipfile b/Pipfile
new file mode 100644
index 0000000..81c3cde
--- /dev/null
+++ b/Pipfile
@@ -0,0 +1,29 @@
+[[source]]
+url = "https://pypi.org/simple"
+verify_ssl = true
+name = "pypi"
+
+[packages]
+django = "~=3.2"
+social-auth-app-django = "~=4.0.0"
+whitenoise = "~=5.2"
+django-crispy-forms = "~=1.11.2"
+crispy-bootstrap5 = "~=0.3.1"
+django-extensions = "~=3.1.2"
+ipython = "~=7.22.0"
+django-bootstrap-pagination = "~=1.7.1"
+
+[dev-packages]
+autopep8 = "~=1.5.6"
+black = "==20.8b1"
+coverage = "~=5.5"
+django-stubs = "~=1.7.0"
+flake8 = "~=3.9.0"
+isort = "~=5.8.0"
+mypy = "~=0.812"
+pylint = "~=2.7.4"
+pylint-django = "~=2.4.2"
+typed-ast = "~=1.4.2" # Required by black, but Pipenv doesn't pull it in correctly on 3.8
+
+[requires]
+python_version = "3.9"
diff --git a/Pipfile.lock b/Pipfile.lock
new file mode 100644
index 0000000..f4972cf
--- /dev/null
+++ b/Pipfile.lock
@@ -0,0 +1,734 @@
+{
+ "_meta": {
+ "hash": {
+ "sha256": "18a19c14dc35df0516a99446a4e14571ea626b0eae6ff13b342cce4550ce15c3"
+ },
+ "pipfile-spec": 6,
+ "requires": {
+ "python_version": "3.9"
+ },
+ "sources": [
+ {
+ "name": "pypi",
+ "url": "https://pypi.org/simple",
+ "verify_ssl": true
+ }
+ ]
+ },
+ "default": {
+ "asgiref": {
+ "hashes": [
+ "sha256:92906c611ce6c967347bbfea733f13d6313901d54dcca88195eaeb52b2a8e8ee",
+ "sha256:d1216dfbdfb63826470995d31caed36225dcaf34f182e0fa257a4dd9e86f1b78"
+ ],
+ "markers": "python_version >= '3.6'",
+ "version": "==3.3.4"
+ },
+ "backcall": {
+ "hashes": [
+ "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e",
+ "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255"
+ ],
+ "version": "==0.2.0"
+ },
+ "certifi": {
+ "hashes": [
+ "sha256:1a4995114262bffbc2413b159f2a1a480c969de6e6eb13ee966d470af86af59c",
+ "sha256:719a74fb9e33b9bd44cc7f3a8d94bc35e4049deebe19ba7d8e108280cfd59830"
+ ],
+ "version": "==2020.12.5"
+ },
+ "cffi": {
+ "hashes": [
+ "sha256:005a36f41773e148deac64b08f233873a4d0c18b053d37da83f6af4d9087b813",
+ "sha256:0857f0ae312d855239a55c81ef453ee8fd24136eaba8e87a2eceba644c0d4c06",
+ "sha256:1071534bbbf8cbb31b498d5d9db0f274f2f7a865adca4ae429e147ba40f73dea",
+ "sha256:158d0d15119b4b7ff6b926536763dc0714313aa59e320ddf787502c70c4d4bee",
+ "sha256:1f436816fc868b098b0d63b8920de7d208c90a67212546d02f84fe78a9c26396",
+ "sha256:2894f2df484ff56d717bead0a5c2abb6b9d2bf26d6960c4604d5c48bbc30ee73",
+ "sha256:29314480e958fd8aab22e4a58b355b629c59bf5f2ac2492b61e3dc06d8c7a315",
+ "sha256:34eff4b97f3d982fb93e2831e6750127d1355a923ebaeeb565407b3d2f8d41a1",
+ "sha256:35f27e6eb43380fa080dccf676dece30bef72e4a67617ffda586641cd4508d49",
+ "sha256:3d3dd4c9e559eb172ecf00a2a7517e97d1e96de2a5e610bd9b68cea3925b4892",
+ "sha256:43e0b9d9e2c9e5d152946b9c5fe062c151614b262fda2e7b201204de0b99e482",
+ "sha256:48e1c69bbacfc3d932221851b39d49e81567a4d4aac3b21258d9c24578280058",
+ "sha256:51182f8927c5af975fece87b1b369f722c570fe169f9880764b1ee3bca8347b5",
+ "sha256:58e3f59d583d413809d60779492342801d6e82fefb89c86a38e040c16883be53",
+ "sha256:5de7970188bb46b7bf9858eb6890aad302577a5f6f75091fd7cdd3ef13ef3045",
+ "sha256:65fa59693c62cf06e45ddbb822165394a288edce9e276647f0046e1ec26920f3",
+ "sha256:69e395c24fc60aad6bb4fa7e583698ea6cc684648e1ffb7fe85e3c1ca131a7d5",
+ "sha256:6c97d7350133666fbb5cf4abdc1178c812cb205dc6f41d174a7b0f18fb93337e",
+ "sha256:6e4714cc64f474e4d6e37cfff31a814b509a35cb17de4fb1999907575684479c",
+ "sha256:72d8d3ef52c208ee1c7b2e341f7d71c6fd3157138abf1a95166e6165dd5d4369",
+ "sha256:8ae6299f6c68de06f136f1f9e69458eae58f1dacf10af5c17353eae03aa0d827",
+ "sha256:8b198cec6c72df5289c05b05b8b0969819783f9418e0409865dac47288d2a053",
+ "sha256:99cd03ae7988a93dd00bcd9d0b75e1f6c426063d6f03d2f90b89e29b25b82dfa",
+ "sha256:9cf8022fb8d07a97c178b02327b284521c7708d7c71a9c9c355c178ac4bbd3d4",
+ "sha256:9de2e279153a443c656f2defd67769e6d1e4163952b3c622dcea5b08a6405322",
+ "sha256:9e93e79c2551ff263400e1e4be085a1210e12073a31c2011dbbda14bda0c6132",
+ "sha256:9ff227395193126d82e60319a673a037d5de84633f11279e336f9c0f189ecc62",
+ "sha256:a465da611f6fa124963b91bf432d960a555563efe4ed1cc403ba5077b15370aa",
+ "sha256:ad17025d226ee5beec591b52800c11680fca3df50b8b29fe51d882576e039ee0",
+ "sha256:afb29c1ba2e5a3736f1c301d9d0abe3ec8b86957d04ddfa9d7a6a42b9367e396",
+ "sha256:b85eb46a81787c50650f2392b9b4ef23e1f126313b9e0e9013b35c15e4288e2e",
+ "sha256:bb89f306e5da99f4d922728ddcd6f7fcebb3241fc40edebcb7284d7514741991",
+ "sha256:cbde590d4faaa07c72bf979734738f328d239913ba3e043b1e98fe9a39f8b2b6",
+ "sha256:cd2868886d547469123fadc46eac7ea5253ea7fcb139f12e1dfc2bbd406427d1",
+ "sha256:d42b11d692e11b6634f7613ad8df5d6d5f8875f5d48939520d351007b3c13406",
+ "sha256:f2d45f97ab6bb54753eab54fffe75aaf3de4ff2341c9daee1987ee1837636f1d",
+ "sha256:fd78e5fee591709f32ef6edb9a015b4aa1a5022598e36227500c8f4e02328d9c"
+ ],
+ "version": "==1.14.5"
+ },
+ "chardet": {
+ "hashes": [
+ "sha256:0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa",
+ "sha256:f864054d66fd9118f2e67044ac8981a54775ec5b67aed0441892edb553d21da5"
+ ],
+ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'",
+ "version": "==4.0.0"
+ },
+ "crispy-bootstrap5": {
+ "hashes": [
+ "sha256:79e518fdf4d94e64ec2f1abfd85eed348724e9cb432cec3dfaf531177603d17d",
+ "sha256:ec62daf8d50271031c53a484b43e10bccc0cebde34f253a3c784964658df5826"
+ ],
+ "index": "pypi",
+ "version": "==0.3.1"
+ },
+ "cryptography": {
+ "hashes": [
+ "sha256:0f1212a66329c80d68aeeb39b8a16d54ef57071bf22ff4e521657b27372e327d",
+ "sha256:1e056c28420c072c5e3cb36e2b23ee55e260cb04eee08f702e0edfec3fb51959",
+ "sha256:240f5c21aef0b73f40bb9f78d2caff73186700bf1bc6b94285699aff98cc16c6",
+ "sha256:26965837447f9c82f1855e0bc8bc4fb910240b6e0d16a664bb722df3b5b06873",
+ "sha256:37340614f8a5d2fb9aeea67fd159bfe4f5f4ed535b1090ce8ec428b2f15a11f2",
+ "sha256:3d10de8116d25649631977cb37da6cbdd2d6fa0e0281d014a5b7d337255ca713",
+ "sha256:3d8427734c781ea5f1b41d6589c293089704d4759e34597dce91014ac125aad1",
+ "sha256:7ec5d3b029f5fa2b179325908b9cd93db28ab7b85bb6c1db56b10e0b54235177",
+ "sha256:8e56e16617872b0957d1c9742a3f94b43533447fd78321514abbe7db216aa250",
+ "sha256:de4e5f7f68220d92b7637fc99847475b59154b7a1b3868fb7385337af54ac9ca",
+ "sha256:eb8cc2afe8b05acbd84a43905832ec78e7b3873fb124ca190f574dca7389a87d",
+ "sha256:ee77aa129f481be46f8d92a1a7db57269a2f23052d5f2433b4621bb457081cc9"
+ ],
+ "markers": "python_version >= '3.6'",
+ "version": "==3.4.7"
+ },
+ "decorator": {
+ "hashes": [
+ "sha256:6f201a6c4dac3d187352661f508b9364ec8091217442c9478f1f83c003a0f060",
+ "sha256:945d84890bb20cc4a2f4a31fc4311c0c473af65ea318617f13a7257c9a58bc98"
+ ],
+ "markers": "python_version >= '3.5'",
+ "version": "==5.0.7"
+ },
+ "defusedxml": {
+ "hashes": [
+ "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69",
+ "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61"
+ ],
+ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'",
+ "version": "==0.7.1"
+ },
+ "django": {
+ "hashes": [
+ "sha256:0604e84c4fb698a5e53e5857b5aea945b2f19a18f25f10b8748dbdf935788927",
+ "sha256:21f0f9643722675976004eb683c55d33c05486f94506672df3d6a141546f389d"
+ ],
+ "index": "pypi",
+ "version": "==3.2"
+ },
+ "django-bootstrap-pagination": {
+ "hashes": [
+ "sha256:47e742679cf109e12f10ae09d5263433f94440818cf7b023e90a3f5252849639",
+ "sha256:69d826d92217325611cb86e49944d8261e3c92eaa4deafea5a605d79fd363883"
+ ],
+ "index": "pypi",
+ "version": "==1.7.1"
+ },
+ "django-crispy-forms": {
+ "hashes": [
+ "sha256:3db71ab06d17ec9d0195c086d3ad454da300ac268752ac3a4f63d72f7a490254",
+ "sha256:88efa857ce6111bd696cc4f74057539a3456102fe9c3a3ece8868e1e4579e70a"
+ ],
+ "index": "pypi",
+ "version": "==1.11.2"
+ },
+ "django-extensions": {
+ "hashes": [
+ "sha256:081828e985485662f62a22340c1506e37989d14b927652079a5b7cd84a82368b",
+ "sha256:17f85f4dcdd5eea09b8c4f0bad8f0370bf2db6d03e61b431fa7103fee29888de"
+ ],
+ "index": "pypi",
+ "version": "==3.1.2"
+ },
+ "idna": {
+ "hashes": [
+ "sha256:b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6",
+ "sha256:b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0"
+ ],
+ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
+ "version": "==2.10"
+ },
+ "ipython": {
+ "hashes": [
+ "sha256:9c900332d4c5a6de534b4befeeb7de44ad0cc42e8327fa41b7685abde58cec74",
+ "sha256:c0ce02dfaa5f854809ab7413c601c4543846d9da81010258ecdab299b542d199"
+ ],
+ "index": "pypi",
+ "version": "==7.22.0"
+ },
+ "ipython-genutils": {
+ "hashes": [
+ "sha256:72dd37233799e619666c9f639a9da83c34013a73e8bbc79a7a6348d93c61fab8",
+ "sha256:eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8"
+ ],
+ "version": "==0.2.0"
+ },
+ "jedi": {
+ "hashes": [
+ "sha256:18456d83f65f400ab0c2d3319e48520420ef43b23a086fdc05dff34132f0fb93",
+ "sha256:92550a404bad8afed881a137ec9a461fed49eca661414be45059329614ed0707"
+ ],
+ "markers": "python_version >= '3.6'",
+ "version": "==0.18.0"
+ },
+ "oauthlib": {
+ "hashes": [
+ "sha256:bee41cc35fcca6e988463cacc3bcb8a96224f470ca547e697b604cc697b2f889",
+ "sha256:df884cd6cbe20e32633f1db1072e9356f53638e4361bef4e8b03c9127c9328ea"
+ ],
+ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
+ "version": "==3.1.0"
+ },
+ "parso": {
+ "hashes": [
+ "sha256:12b83492c6239ce32ff5eed6d3639d6a536170723c6f3f1506869f1ace413398",
+ "sha256:a8c4922db71e4fdb90e0d0bc6e50f9b273d3397925e5e60a717e719201778d22"
+ ],
+ "markers": "python_version >= '3.6'",
+ "version": "==0.8.2"
+ },
+ "pexpect": {
+ "hashes": [
+ "sha256:0b48a55dcb3c05f3329815901ea4fc1537514d6ba867a152b581d69ae3710937",
+ "sha256:fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c"
+ ],
+ "markers": "sys_platform != 'win32'",
+ "version": "==4.8.0"
+ },
+ "pickleshare": {
+ "hashes": [
+ "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca",
+ "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56"
+ ],
+ "version": "==0.7.5"
+ },
+ "prompt-toolkit": {
+ "hashes": [
+ "sha256:bf00f22079f5fadc949f42ae8ff7f05702826a97059ffcc6281036ad40ac6f04",
+ "sha256:e1b4f11b9336a28fa11810bc623c357420f69dfdb6d2dac41ca2c21a55c033bc"
+ ],
+ "markers": "python_full_version >= '3.6.1'",
+ "version": "==3.0.18"
+ },
+ "ptyprocess": {
+ "hashes": [
+ "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35",
+ "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"
+ ],
+ "version": "==0.7.0"
+ },
+ "pycparser": {
+ "hashes": [
+ "sha256:2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0",
+ "sha256:7582ad22678f0fcd81102833f60ef8d0e57288b6b5fb00323d101be910e35705"
+ ],
+ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
+ "version": "==2.20"
+ },
+ "pygments": {
+ "hashes": [
+ "sha256:2656e1a6edcdabf4275f9a3640db59fd5de107d88e8663c5d4e9a0fa62f77f94",
+ "sha256:534ef71d539ae97d4c3a4cf7d6f110f214b0e687e92f9cb9d2a3b0d3101289c8"
+ ],
+ "markers": "python_version >= '3.5'",
+ "version": "==2.8.1"
+ },
+ "pyjwt": {
+ "hashes": [
+ "sha256:a5c70a06e1f33d81ef25eecd50d50bd30e34de1ca8b2b9fa3fe0daaabcf69bf7",
+ "sha256:b70b15f89dc69b993d8a8d32c299032d5355c82f9b5b7e851d1a6d706dffe847"
+ ],
+ "markers": "python_version >= '3.6'",
+ "version": "==2.0.1"
+ },
+ "python3-openid": {
+ "hashes": [
+ "sha256:33fbf6928f401e0b790151ed2b5290b02545e8775f982485205a066f874aaeaf",
+ "sha256:6626f771e0417486701e0b4daff762e7212e820ca5b29fcc0d05f6f8736dfa6b"
+ ],
+ "version": "==3.2.0"
+ },
+ "pytz": {
+ "hashes": [
+ "sha256:83a4a90894bf38e243cf052c8b58f381bfe9a7a483f6a9cab140bc7f702ac4da",
+ "sha256:eb10ce3e7736052ed3623d49975ce333bcd712c7bb19a58b9e2089d4057d0798"
+ ],
+ "version": "==2021.1"
+ },
+ "requests": {
+ "hashes": [
+ "sha256:27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804",
+ "sha256:c210084e36a42ae6b9219e00e48287def368a26d03a048ddad7bfee44f75871e"
+ ],
+ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'",
+ "version": "==2.25.1"
+ },
+ "requests-oauthlib": {
+ "hashes": [
+ "sha256:7f71572defaecd16372f9006f33c2ec8c077c3cfa6f5911a9a90202beb513f3d",
+ "sha256:b4261601a71fd721a8bd6d7aa1cc1d6a8a93b4a9f5e96626f8e4d91e8beeaa6a",
+ "sha256:fa6c47b933f01060936d87ae9327fead68768b69c6c9ea2109c48be30f2d4dbc"
+ ],
+ "version": "==1.3.0"
+ },
+ "six": {
+ "hashes": [
+ "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259",
+ "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced"
+ ],
+ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
+ "version": "==1.15.0"
+ },
+ "social-auth-app-django": {
+ "hashes": [
+ "sha256:2c69e57df0b30c9c1823519c5f1992cbe4f3f98fdc7d95c840e091a752708840",
+ "sha256:567ad0e028311541d7dfed51d3bf2c60440a6fd236d5d4d06c5a618b3d6c57c5",
+ "sha256:df5212370bd250108987c4748419a1a1d0cec750878856c2644c36aaa0fd3e58"
+ ],
+ "index": "pypi",
+ "version": "==4.0.0"
+ },
+ "social-auth-core": {
+ "hashes": [
+ "sha256:5ab43b3b15dce5f059db69cc3082c216574739f0edbc98629c8c6e8769c67eb4",
+ "sha256:983b53167ac56e7ba4909db555602a6e7a98c97ca47183bb222eb85ba627bf2b"
+ ],
+ "markers": "python_version >= '3.6'",
+ "version": "==4.1.0"
+ },
+ "sqlparse": {
+ "hashes": [
+ "sha256:017cde379adbd6a1f15a61873f43e8274179378e95ef3fede90b5aa64d304ed0",
+ "sha256:0f91fd2e829c44362cbcfab3e9ae12e22badaa8a29ad5ff599f9ec109f0454e8"
+ ],
+ "markers": "python_version >= '3.5'",
+ "version": "==0.4.1"
+ },
+ "traitlets": {
+ "hashes": [
+ "sha256:178f4ce988f69189f7e523337a3e11d91c786ded9360174a3d9ca83e79bc5396",
+ "sha256:69ff3f9d5351f31a7ad80443c2674b7099df13cc41fc5fa6e2f6d3b0330b0426"
+ ],
+ "markers": "python_version >= '3.7'",
+ "version": "==5.0.5"
+ },
+ "urllib3": {
+ "hashes": [
+ "sha256:2f4da4594db7e1e110a944bb1b551fdf4e6c136ad42e4234131391e21eb5b0df",
+ "sha256:e7b021f7241115872f92f43c6508082facffbd1c048e3c6e2bb9c2a157e28937"
+ ],
+ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4'",
+ "version": "==1.26.4"
+ },
+ "wcwidth": {
+ "hashes": [
+ "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784",
+ "sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83"
+ ],
+ "version": "==0.2.5"
+ },
+ "whitenoise": {
+ "hashes": [
+ "sha256:05ce0be39ad85740a78750c86a93485c40f08ad8c62a6006de0233765996e5c7",
+ "sha256:05d00198c777028d72d8b0bbd234db605ef6d60e9410125124002518a48e515d"
+ ],
+ "index": "pypi",
+ "version": "==5.2.0"
+ }
+ },
+ "develop": {
+ "appdirs": {
+ "hashes": [
+ "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41",
+ "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128"
+ ],
+ "version": "==1.4.4"
+ },
+ "asgiref": {
+ "hashes": [
+ "sha256:92906c611ce6c967347bbfea733f13d6313901d54dcca88195eaeb52b2a8e8ee",
+ "sha256:d1216dfbdfb63826470995d31caed36225dcaf34f182e0fa257a4dd9e86f1b78"
+ ],
+ "markers": "python_version >= '3.6'",
+ "version": "==3.3.4"
+ },
+ "astroid": {
+ "hashes": [
+ "sha256:ad63b8552c70939568966811a088ef0bc880f99a24a00834abd0e3681b514f91",
+ "sha256:bea3f32799fbb8581f58431c12591bc20ce11cbc90ad82e2ea5717d94f2080d5"
+ ],
+ "markers": "python_version >= '3.6'",
+ "version": "==2.5.3"
+ },
+ "autopep8": {
+ "hashes": [
+ "sha256:5454e6e9a3d02aae38f866eec0d9a7de4ab9f93c10a273fb0340f3d6d09f7514",
+ "sha256:f01b06a6808bc31698db907761e5890eb2295e287af53f6693b39ce55454034a"
+ ],
+ "index": "pypi",
+ "version": "==1.5.6"
+ },
+ "black": {
+ "hashes": [
+ "sha256:1c02557aa099101b9d21496f8a914e9ed2222ef70336404eeeac8edba836fbea"
+ ],
+ "index": "pypi",
+ "version": "==20.8b1"
+ },
+ "click": {
+ "hashes": [
+ "sha256:d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a",
+ "sha256:dacca89f4bfadd5de3d7489b7c8a566eee0d3676333fbb50030263894c38c0dc"
+ ],
+ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'",
+ "version": "==7.1.2"
+ },
+ "coverage": {
+ "hashes": [
+ "sha256:004d1880bed2d97151facef49f08e255a20ceb6f9432df75f4eef018fdd5a78c",
+ "sha256:01d84219b5cdbfc8122223b39a954820929497a1cb1422824bb86b07b74594b6",
+ "sha256:040af6c32813fa3eae5305d53f18875bedd079960822ef8ec067a66dd8afcd45",
+ "sha256:06191eb60f8d8a5bc046f3799f8a07a2d7aefb9504b0209aff0b47298333302a",
+ "sha256:13034c4409db851670bc9acd836243aeee299949bd5673e11844befcb0149f03",
+ "sha256:13c4ee887eca0f4c5a247b75398d4114c37882658300e153113dafb1d76de529",
+ "sha256:184a47bbe0aa6400ed2d41d8e9ed868b8205046518c52464fde713ea06e3a74a",
+ "sha256:18ba8bbede96a2c3dde7b868de9dcbd55670690af0988713f0603f037848418a",
+ "sha256:1aa846f56c3d49205c952d8318e76ccc2ae23303351d9270ab220004c580cfe2",
+ "sha256:217658ec7187497e3f3ebd901afdca1af062b42cfe3e0dafea4cced3983739f6",
+ "sha256:24d4a7de75446be83244eabbff746d66b9240ae020ced65d060815fac3423759",
+ "sha256:2910f4d36a6a9b4214bb7038d537f015346f413a975d57ca6b43bf23d6563b53",
+ "sha256:2949cad1c5208b8298d5686d5a85b66aae46d73eec2c3e08c817dd3513e5848a",
+ "sha256:2a3859cb82dcbda1cfd3e6f71c27081d18aa251d20a17d87d26d4cd216fb0af4",
+ "sha256:2cafbbb3af0733db200c9b5f798d18953b1a304d3f86a938367de1567f4b5bff",
+ "sha256:2e0d881ad471768bf6e6c2bf905d183543f10098e3b3640fc029509530091502",
+ "sha256:30c77c1dc9f253283e34c27935fded5015f7d1abe83bc7821680ac444eaf7793",
+ "sha256:3487286bc29a5aa4b93a072e9592f22254291ce96a9fbc5251f566b6b7343cdb",
+ "sha256:372da284cfd642d8e08ef606917846fa2ee350f64994bebfbd3afb0040436905",
+ "sha256:41179b8a845742d1eb60449bdb2992196e211341818565abded11cfa90efb821",
+ "sha256:44d654437b8ddd9eee7d1eaee28b7219bec228520ff809af170488fd2fed3e2b",
+ "sha256:4a7697d8cb0f27399b0e393c0b90f0f1e40c82023ea4d45d22bce7032a5d7b81",
+ "sha256:51cb9476a3987c8967ebab3f0fe144819781fca264f57f89760037a2ea191cb0",
+ "sha256:52596d3d0e8bdf3af43db3e9ba8dcdaac724ba7b5ca3f6358529d56f7a166f8b",
+ "sha256:53194af30d5bad77fcba80e23a1441c71abfb3e01192034f8246e0d8f99528f3",
+ "sha256:5fec2d43a2cc6965edc0bb9e83e1e4b557f76f843a77a2496cbe719583ce8184",
+ "sha256:6c90e11318f0d3c436a42409f2749ee1a115cd8b067d7f14c148f1ce5574d701",
+ "sha256:74d881fc777ebb11c63736622b60cb9e4aee5cace591ce274fb69e582a12a61a",
+ "sha256:7501140f755b725495941b43347ba8a2777407fc7f250d4f5a7d2a1050ba8e82",
+ "sha256:796c9c3c79747146ebd278dbe1e5c5c05dd6b10cc3bcb8389dfdf844f3ead638",
+ "sha256:869a64f53488f40fa5b5b9dcb9e9b2962a66a87dab37790f3fcfb5144b996ef5",
+ "sha256:8963a499849a1fc54b35b1c9f162f4108017b2e6db2c46c1bed93a72262ed083",
+ "sha256:8d0a0725ad7c1a0bcd8d1b437e191107d457e2ec1084b9f190630a4fb1af78e6",
+ "sha256:900fbf7759501bc7807fd6638c947d7a831fc9fdf742dc10f02956ff7220fa90",
+ "sha256:92b017ce34b68a7d67bd6d117e6d443a9bf63a2ecf8567bb3d8c6c7bc5014465",
+ "sha256:970284a88b99673ccb2e4e334cfb38a10aab7cd44f7457564d11898a74b62d0a",
+ "sha256:972c85d205b51e30e59525694670de6a8a89691186012535f9d7dbaa230e42c3",
+ "sha256:9a1ef3b66e38ef8618ce5fdc7bea3d9f45f3624e2a66295eea5e57966c85909e",
+ "sha256:af0e781009aaf59e25c5a678122391cb0f345ac0ec272c7961dc5455e1c40066",
+ "sha256:b6d534e4b2ab35c9f93f46229363e17f63c53ad01330df9f2d6bd1187e5eaacf",
+ "sha256:b7895207b4c843c76a25ab8c1e866261bcfe27bfaa20c192de5190121770672b",
+ "sha256:c0891a6a97b09c1f3e073a890514d5012eb256845c451bd48f7968ef939bf4ae",
+ "sha256:c2723d347ab06e7ddad1a58b2a821218239249a9e4365eaff6649d31180c1669",
+ "sha256:d1f8bf7b90ba55699b3a5e44930e93ff0189aa27186e96071fac7dd0d06a1873",
+ "sha256:d1f9ce122f83b2305592c11d64f181b87153fc2c2bbd3bb4a3dde8303cfb1a6b",
+ "sha256:d314ed732c25d29775e84a960c3c60808b682c08d86602ec2c3008e1202e3bb6",
+ "sha256:d636598c8305e1f90b439dbf4f66437de4a5e3c31fdf47ad29542478c8508bbb",
+ "sha256:deee1077aae10d8fa88cb02c845cfba9b62c55e1183f52f6ae6a2df6a2187160",
+ "sha256:ebe78fe9a0e874362175b02371bdfbee64d8edc42a044253ddf4ee7d3c15212c",
+ "sha256:f030f8873312a16414c0d8e1a1ddff2d3235655a2174e3648b4fa66b3f2f1079",
+ "sha256:f0b278ce10936db1a37e6954e15a3730bea96a0997c26d7fee88e6c396c2086d",
+ "sha256:f11642dddbb0253cc8853254301b51390ba0081750a8ac03f20ea8103f0c56b6"
+ ],
+ "index": "pypi",
+ "version": "==5.5"
+ },
+ "django": {
+ "hashes": [
+ "sha256:0604e84c4fb698a5e53e5857b5aea945b2f19a18f25f10b8748dbdf935788927",
+ "sha256:21f0f9643722675976004eb683c55d33c05486f94506672df3d6a141546f389d"
+ ],
+ "index": "pypi",
+ "version": "==3.2"
+ },
+ "django-stubs": {
+ "hashes": [
+ "sha256:30a7d99c694acf79c5d93d69a5a8e4b54d2a8c11dd672aa869006789e2189fa6",
+ "sha256:ddd190aca5b9adb4d30760d5c64f67cb3658703f5f42c3bb0c2c71ff4d752c39"
+ ],
+ "index": "pypi",
+ "version": "==1.7.0"
+ },
+ "flake8": {
+ "hashes": [
+ "sha256:1aa8990be1e689d96c745c5682b687ea49f2e05a443aff1f8251092b0014e378",
+ "sha256:3b9f848952dddccf635be78098ca75010f073bfe14d2c6bda867154bea728d2a"
+ ],
+ "index": "pypi",
+ "version": "==3.9.1"
+ },
+ "isort": {
+ "hashes": [
+ "sha256:0a943902919f65c5684ac4e0154b1ad4fac6dcaa5d9f3426b732f1c8b5419be6",
+ "sha256:2bb1680aad211e3c9944dbce1d4ba09a989f04e238296c87fe2139faa26d655d"
+ ],
+ "index": "pypi",
+ "version": "==5.8.0"
+ },
+ "lazy-object-proxy": {
+ "hashes": [
+ "sha256:17e0967ba374fc24141738c69736da90e94419338fd4c7c7bef01ee26b339653",
+ "sha256:1fee665d2638491f4d6e55bd483e15ef21f6c8c2095f235fef72601021e64f61",
+ "sha256:22ddd618cefe54305df49e4c069fa65715be4ad0e78e8d252a33debf00f6ede2",
+ "sha256:24a5045889cc2729033b3e604d496c2b6f588c754f7a62027ad4437a7ecc4837",
+ "sha256:410283732af311b51b837894fa2f24f2c0039aa7f220135192b38fcc42bd43d3",
+ "sha256:4732c765372bd78a2d6b2150a6e99d00a78ec963375f236979c0626b97ed8e43",
+ "sha256:489000d368377571c6f982fba6497f2aa13c6d1facc40660963da62f5c379726",
+ "sha256:4f60460e9f1eb632584c9685bccea152f4ac2130e299784dbaf9fae9f49891b3",
+ "sha256:5743a5ab42ae40caa8421b320ebf3a998f89c85cdc8376d6b2e00bd12bd1b587",
+ "sha256:85fb7608121fd5621cc4377a8961d0b32ccf84a7285b4f1d21988b2eae2868e8",
+ "sha256:9698110e36e2df951c7c36b6729e96429c9c32b3331989ef19976592c5f3c77a",
+ "sha256:9d397bf41caad3f489e10774667310d73cb9c4258e9aed94b9ec734b34b495fd",
+ "sha256:b579f8acbf2bdd9ea200b1d5dea36abd93cabf56cf626ab9c744a432e15c815f",
+ "sha256:b865b01a2e7f96db0c5d12cfea590f98d8c5ba64ad222300d93ce6ff9138bcad",
+ "sha256:bf34e368e8dd976423396555078def5cfc3039ebc6fc06d1ae2c5a65eebbcde4",
+ "sha256:c6938967f8528b3668622a9ed3b31d145fab161a32f5891ea7b84f6b790be05b",
+ "sha256:d1c2676e3d840852a2de7c7d5d76407c772927addff8d742b9808fe0afccebdf",
+ "sha256:d7124f52f3bd259f510651450e18e0fd081ed82f3c08541dffc7b94b883aa981",
+ "sha256:d900d949b707778696fdf01036f58c9876a0d8bfe116e8d220cfd4b15f14e741",
+ "sha256:ebfd274dcd5133e0afae738e6d9da4323c3eb021b3e13052d8cbd0e457b1256e",
+ "sha256:ed361bb83436f117f9917d282a456f9e5009ea12fd6de8742d1a4752c3017e93",
+ "sha256:f5144c75445ae3ca2057faac03fda5a902eff196702b0a24daf1d6ce0650514b"
+ ],
+ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'",
+ "version": "==1.6.0"
+ },
+ "mccabe": {
+ "hashes": [
+ "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42",
+ "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"
+ ],
+ "version": "==0.6.1"
+ },
+ "mypy": {
+ "hashes": [
+ "sha256:0d0a87c0e7e3a9becdfbe936c981d32e5ee0ccda3e0f07e1ef2c3d1a817cf73e",
+ "sha256:25adde9b862f8f9aac9d2d11971f226bd4c8fbaa89fb76bdadb267ef22d10064",
+ "sha256:28fb5479c494b1bab244620685e2eb3c3f988d71fd5d64cc753195e8ed53df7c",
+ "sha256:2f9b3407c58347a452fc0736861593e105139b905cca7d097e413453a1d650b4",
+ "sha256:33f159443db0829d16f0a8d83d94df3109bb6dd801975fe86bacb9bf71628e97",
+ "sha256:3f2aca7f68580dc2508289c729bd49ee929a436208d2b2b6aab15745a70a57df",
+ "sha256:499c798053cdebcaa916eef8cd733e5584b5909f789de856b482cd7d069bdad8",
+ "sha256:4eec37370483331d13514c3f55f446fc5248d6373e7029a29ecb7b7494851e7a",
+ "sha256:552a815579aa1e995f39fd05dde6cd378e191b063f031f2acfe73ce9fb7f9e56",
+ "sha256:5873888fff1c7cf5b71efbe80e0e73153fe9212fafdf8e44adfe4c20ec9f82d7",
+ "sha256:61a3d5b97955422964be6b3baf05ff2ce7f26f52c85dd88db11d5e03e146a3a6",
+ "sha256:674e822aa665b9fd75130c6c5f5ed9564a38c6cea6a6432ce47eafb68ee578c5",
+ "sha256:7ce3175801d0ae5fdfa79b4f0cfed08807af4d075b402b7e294e6aa72af9aa2a",
+ "sha256:9743c91088d396c1a5a3c9978354b61b0382b4e3c440ce83cf77994a43e8c521",
+ "sha256:9f94aac67a2045ec719ffe6111df543bac7874cee01f41928f6969756e030564",
+ "sha256:a26f8ec704e5a7423c8824d425086705e381b4f1dfdef6e3a1edab7ba174ec49",
+ "sha256:abf7e0c3cf117c44d9285cc6128856106183938c68fd4944763003decdcfeb66",
+ "sha256:b09669bcda124e83708f34a94606e01b614fa71931d356c1f1a5297ba11f110a",
+ "sha256:cd07039aa5df222037005b08fbbfd69b3ab0b0bd7a07d7906de75ae52c4e3119",
+ "sha256:d23e0ea196702d918b60c8288561e722bf437d82cb7ef2edcd98cfa38905d506",
+ "sha256:d65cc1df038ef55a99e617431f0553cd77763869eebdf9042403e16089fe746c",
+ "sha256:d7da2e1d5f558c37d6e8c1246f1aec1e7349e4913d8fb3cb289a35de573fe2eb"
+ ],
+ "index": "pypi",
+ "version": "==0.812"
+ },
+ "mypy-extensions": {
+ "hashes": [
+ "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d",
+ "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"
+ ],
+ "version": "==0.4.3"
+ },
+ "pathspec": {
+ "hashes": [
+ "sha256:86379d6b86d75816baba717e64b1a3a3469deb93bb76d613c9ce79edc5cb68fd",
+ "sha256:aa0cb481c4041bf52ffa7b0d8fa6cd3e88a2ca4879c533c9153882ee2556790d"
+ ],
+ "version": "==0.8.1"
+ },
+ "pycodestyle": {
+ "hashes": [
+ "sha256:514f76d918fcc0b55c6680472f0a37970994e07bbb80725808c17089be302068",
+ "sha256:c389c1d06bf7904078ca03399a4816f974a1d590090fecea0c63ec26ebaf1cef"
+ ],
+ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
+ "version": "==2.7.0"
+ },
+ "pyflakes": {
+ "hashes": [
+ "sha256:7893783d01b8a89811dd72d7dfd4d84ff098e5eed95cfa8905b22bbffe52efc3",
+ "sha256:f5bc8ecabc05bb9d291eb5203d6810b49040f6ff446a756326104746cc00c1db"
+ ],
+ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
+ "version": "==2.3.1"
+ },
+ "pylint": {
+ "hashes": [
+ "sha256:209d712ec870a0182df034ae19f347e725c1e615b2269519ab58a35b3fcbbe7a",
+ "sha256:bd38914c7731cdc518634a8d3c5585951302b6e2b6de60fbb3f7a0220e21eeee"
+ ],
+ "index": "pypi",
+ "version": "==2.7.4"
+ },
+ "pylint-django": {
+ "hashes": [
+ "sha256:a5a4515209a6237d1d390a4a307d53f53baaf4f058ecf4bb556c775d208f6b0d",
+ "sha256:dc5ed27bb7662d73444ccd15a0b3964ed6ced6cc2712b85db616102062d2ec35"
+ ],
+ "index": "pypi",
+ "version": "==2.4.3"
+ },
+ "pylint-plugin-utils": {
+ "hashes": [
+ "sha256:2f30510e1c46edf268d3a195b2849bd98a1b9433229bb2ba63b8d776e1fc4d0a",
+ "sha256:57625dcca20140f43731311cd8fd879318bf45a8b0fd17020717a8781714a25a"
+ ],
+ "version": "==0.6"
+ },
+ "pytz": {
+ "hashes": [
+ "sha256:83a4a90894bf38e243cf052c8b58f381bfe9a7a483f6a9cab140bc7f702ac4da",
+ "sha256:eb10ce3e7736052ed3623d49975ce333bcd712c7bb19a58b9e2089d4057d0798"
+ ],
+ "version": "==2021.1"
+ },
+ "regex": {
+ "hashes": [
+ "sha256:01afaf2ec48e196ba91b37451aa353cb7eda77efe518e481707e0515025f0cd5",
+ "sha256:11d773d75fa650cd36f68d7ca936e3c7afaae41b863b8c387a22aaa78d3c5c79",
+ "sha256:18c071c3eb09c30a264879f0d310d37fe5d3a3111662438889ae2eb6fc570c31",
+ "sha256:1e1c20e29358165242928c2de1482fb2cf4ea54a6a6dea2bd7a0e0d8ee321500",
+ "sha256:281d2fd05555079448537fe108d79eb031b403dac622621c78944c235f3fcf11",
+ "sha256:314d66636c494ed9c148a42731b3834496cc9a2c4251b1661e40936814542b14",
+ "sha256:32e65442138b7b76dd8173ffa2cf67356b7bc1768851dded39a7a13bf9223da3",
+ "sha256:339456e7d8c06dd36a22e451d58ef72cef293112b559010db3d054d5560ef439",
+ "sha256:3916d08be28a1149fb97f7728fca1f7c15d309a9f9682d89d79db75d5e52091c",
+ "sha256:3a9cd17e6e5c7eb328517969e0cb0c3d31fd329298dd0c04af99ebf42e904f82",
+ "sha256:47bf5bf60cf04d72bf6055ae5927a0bd9016096bf3d742fa50d9bf9f45aa0711",
+ "sha256:4c46e22a0933dd783467cf32b3516299fb98cfebd895817d685130cc50cd1093",
+ "sha256:4c557a7b470908b1712fe27fb1ef20772b78079808c87d20a90d051660b1d69a",
+ "sha256:52ba3d3f9b942c49d7e4bc105bb28551c44065f139a65062ab7912bef10c9afb",
+ "sha256:563085e55b0d4fb8f746f6a335893bda5c2cef43b2f0258fe1020ab1dd874df8",
+ "sha256:598585c9f0af8374c28edd609eb291b5726d7cbce16be6a8b95aa074d252ee17",
+ "sha256:619d71c59a78b84d7f18891fe914446d07edd48dc8328c8e149cbe0929b4e000",
+ "sha256:67bdb9702427ceddc6ef3dc382455e90f785af4c13d495f9626861763ee13f9d",
+ "sha256:6d1b01031dedf2503631d0903cb563743f397ccaf6607a5e3b19a3d76fc10480",
+ "sha256:741a9647fcf2e45f3a1cf0e24f5e17febf3efe8d4ba1281dcc3aa0459ef424dc",
+ "sha256:7c2a1af393fcc09e898beba5dd59196edaa3116191cc7257f9224beaed3e1aa0",
+ "sha256:7d9884d86dd4dd489e981d94a65cd30d6f07203d90e98f6f657f05170f6324c9",
+ "sha256:90f11ff637fe8798933fb29f5ae1148c978cccb0452005bf4c69e13db951e765",
+ "sha256:919859aa909429fb5aa9cf8807f6045592c85ef56fdd30a9a3747e513db2536e",
+ "sha256:96fcd1888ab4d03adfc9303a7b3c0bd78c5412b2bfbe76db5b56d9eae004907a",
+ "sha256:97f29f57d5b84e73fbaf99ab3e26134e6687348e95ef6b48cfd2c06807005a07",
+ "sha256:980d7be47c84979d9136328d882f67ec5e50008681d94ecc8afa8a65ed1f4a6f",
+ "sha256:a91aa8619b23b79bcbeb37abe286f2f408d2f2d6f29a17237afda55bb54e7aac",
+ "sha256:ade17eb5d643b7fead300a1641e9f45401c98eee23763e9ed66a43f92f20b4a7",
+ "sha256:b9c3db21af35e3b3c05764461b262d6f05bbca08a71a7849fd79d47ba7bc33ed",
+ "sha256:bd28bc2e3a772acbb07787c6308e00d9626ff89e3bfcdebe87fa5afbfdedf968",
+ "sha256:bf5824bfac591ddb2c1f0a5f4ab72da28994548c708d2191e3b87dd207eb3ad7",
+ "sha256:c0502c0fadef0d23b128605d69b58edb2c681c25d44574fc673b0e52dce71ee2",
+ "sha256:c38c71df845e2aabb7fb0b920d11a1b5ac8526005e533a8920aea97efb8ec6a4",
+ "sha256:ce15b6d103daff8e9fee13cf7f0add05245a05d866e73926c358e871221eae87",
+ "sha256:d3029c340cfbb3ac0a71798100ccc13b97dddf373a4ae56b6a72cf70dfd53bc8",
+ "sha256:e512d8ef5ad7b898cdb2d8ee1cb09a8339e4f8be706d27eaa180c2f177248a10",
+ "sha256:e8e5b509d5c2ff12f8418006d5a90e9436766133b564db0abaec92fd27fcee29",
+ "sha256:ee54ff27bf0afaf4c3b3a62bcd016c12c3fdb4ec4f413391a90bd38bc3624605",
+ "sha256:fa4537fb4a98fe8fde99626e4681cc644bdcf2a795038533f9f711513a862ae6",
+ "sha256:fd45ff9293d9274c5008a2054ecef86a9bfe819a67c7be1afb65e69b405b3042"
+ ],
+ "version": "==2021.4.4"
+ },
+ "sqlparse": {
+ "hashes": [
+ "sha256:017cde379adbd6a1f15a61873f43e8274179378e95ef3fede90b5aa64d304ed0",
+ "sha256:0f91fd2e829c44362cbcfab3e9ae12e22badaa8a29ad5ff599f9ec109f0454e8"
+ ],
+ "markers": "python_version >= '3.5'",
+ "version": "==0.4.1"
+ },
+ "toml": {
+ "hashes": [
+ "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b",
+ "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"
+ ],
+ "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'",
+ "version": "==0.10.2"
+ },
+ "typed-ast": {
+ "hashes": [
+ "sha256:01ae5f73431d21eead5015997ab41afa53aa1fbe252f9da060be5dad2c730ace",
+ "sha256:067a74454df670dcaa4e59349a2e5c81e567d8d65458d480a5b3dfecec08c5ff",
+ "sha256:0fb71b8c643187d7492c1f8352f2c15b4c4af3f6338f21681d3681b3dc31a266",
+ "sha256:1b3ead4a96c9101bef08f9f7d1217c096f31667617b58de957f690c92378b528",
+ "sha256:2068531575a125b87a41802130fa7e29f26c09a2833fea68d9a40cf33902eba6",
+ "sha256:209596a4ec71d990d71d5e0d312ac935d86930e6eecff6ccc7007fe54d703808",
+ "sha256:2c726c276d09fc5c414693a2de063f521052d9ea7c240ce553316f70656c84d4",
+ "sha256:398e44cd480f4d2b7ee8d98385ca104e35c81525dd98c519acff1b79bdaac363",
+ "sha256:52b1eb8c83f178ab787f3a4283f68258525f8d70f778a2f6dd54d3b5e5fb4341",
+ "sha256:5feca99c17af94057417d744607b82dd0a664fd5e4ca98061480fd8b14b18d04",
+ "sha256:7538e495704e2ccda9b234b82423a4038f324f3a10c43bc088a1636180f11a41",
+ "sha256:760ad187b1041a154f0e4d0f6aae3e40fdb51d6de16e5c99aedadd9246450e9e",
+ "sha256:777a26c84bea6cd934422ac2e3b78863a37017618b6e5c08f92ef69853e765d3",
+ "sha256:95431a26309a21874005845c21118c83991c63ea800dd44843e42a916aec5899",
+ "sha256:9ad2c92ec681e02baf81fdfa056fe0d818645efa9af1f1cd5fd6f1bd2bdfd805",
+ "sha256:9c6d1a54552b5330bc657b7ef0eae25d00ba7ffe85d9ea8ae6540d2197a3788c",
+ "sha256:aee0c1256be6c07bd3e1263ff920c325b59849dc95392a05f258bb9b259cf39c",
+ "sha256:af3d4a73793725138d6b334d9d247ce7e5f084d96284ed23f22ee626a7b88e39",
+ "sha256:b36b4f3920103a25e1d5d024d155c504080959582b928e91cb608a65c3a49e1a",
+ "sha256:b9574c6f03f685070d859e75c7f9eeca02d6933273b5e69572e5ff9d5e3931c3",
+ "sha256:bff6ad71c81b3bba8fa35f0f1921fb24ff4476235a6e94a26ada2e54370e6da7",
+ "sha256:c190f0899e9f9f8b6b7863debfb739abcb21a5c054f911ca3596d12b8a4c4c7f",
+ "sha256:c907f561b1e83e93fad565bac5ba9c22d96a54e7ea0267c708bffe863cbe4075",
+ "sha256:cae53c389825d3b46fb37538441f75d6aecc4174f615d048321b716df2757fb0",
+ "sha256:dd4a21253f42b8d2b48410cb31fe501d32f8b9fbeb1f55063ad102fe9c425e40",
+ "sha256:dde816ca9dac1d9c01dd504ea5967821606f02e510438120091b84e852367428",
+ "sha256:f2362f3cb0f3172c42938946dbc5b7843c2a28aec307c49100c8b38764eb6927",
+ "sha256:f328adcfebed9f11301eaedfa48e15bdece9b519fb27e6a8c01aa52a17ec31b3",
+ "sha256:f8afcf15cc511ada719a88e013cec87c11aff7b91f019295eb4530f96fe5ef2f",
+ "sha256:fb1bbeac803adea29cedd70781399c99138358c26d05fcbd23c13016b7f5ec65"
+ ],
+ "index": "pypi",
+ "version": "==1.4.3"
+ },
+ "typing-extensions": {
+ "hashes": [
+ "sha256:7cb407020f00f7bfc3cb3e7881628838e69d8f3fcab2f64742a5e76b2f841918",
+ "sha256:99d4073b617d30288f569d3f13d2bd7548c3a7e4c8de87db09a9d29bb3a4a60c",
+ "sha256:dafc7639cde7f1b6e1acc0f457842a83e722ccca8eef5270af2d74792619a89f"
+ ],
+ "version": "==3.7.4.3"
+ },
+ "wrapt": {
+ "hashes": [
+ "sha256:b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7"
+ ],
+ "version": "==1.12.1"
+ }
+ }
+}
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..6060c69
--- /dev/null
+++ b/README.md
@@ -0,0 +1,23 @@
+tjdests
+===
+
+TJ Destinations, ala Ethan.
+
+THIS WEBSITE IS NOT, IN ANY WAY, AFFILIATED WITH NOR ENDORSED BY THE
+THOMAS JEFFERSON HIGH SCHOOL FOR SCIENCE AND TECHNOLOGY (TJHSST),
+THE TJHSST COMPUTER SYSTEMS LAB, FAIRFAX COUNTY PUBLIC SCHOOLS,
+OR ANY SUBSIDIARY, AFFILIATE, DEPARTMENT, OR PARTNER THEREOF.
+
+---
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of version 3 of the GNU Affero General Public
+License as published by the Free Software Foundation.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
diff --git a/ceeb.csv b/ceeb.csv
new file mode 100644
index 0000000..ee49bab
--- /dev/null
+++ b/ceeb.csv
@@ -0,0 +1,3279 @@
+CEEB,College Name,City,State
+0065,ALASKA BIBLE COLLEGE,GLENNALLEN,AK
+0062,ALASKA PACIFIC UNIVERSITY,ANCHORAGE,AK
+0066,ANCHORAGE COMMUNITY COLLEGE,ANCHORAGE,AK
+0063,ISLANDS COMMUNITY COLLEGE,SITKA,AK
+0069,KENAI PENINSULA COMMUNITY COLLEGE,SOLDOTNA,AK
+0070,KETCHIKAN COMMUNITY COLLEGE,KETCHIKAN,AK
+0649,KODIAK COMMUNITY COLLEGE,KODIAK,AK
+0650,KUSKOKWIM COMMUNITY COLLEGE,BETHEL,AK
+0072,MATANUSKA-SUSITNA COMMUNITY COLLEGE,PALMER,AK
+0652,NORTHWEST COMMUNITY COLLEGE,NOME,AK
+0651,PRINCE WILLIAM SOUND COMMUNITY COLLEGE,VALDEZ,AK
+0074,SHELDON JACKSON COLLEGE,SITKA,AK
+0653,TANANA VALLEY COMMUNITY COLLEGE,FAIRBANKS,AK
+0153,UNIVERSITY OF ALASKA SOUTHEAST,JUNEAU,AK
+0137,UNIVERSITY OF ALASKA-ANCHORAGE,ANCHORAGE,AK
+0064,UNIVERSITY OF ALASKA-FAIRBANKS,FAIRBANKS,AK
+5518,20TH CENTURY COLLEGE,MOBILE,AL
+0548,AFROTC/RRUF,MAXWELL AFB,AL
+0002,ALABAMA A & M UNIVERSITY,NORMAL,AL
+0019,ALABAMA BIBLE INSTITUTE,GUIN,AL
+0049,ALABAMA CHRISTIAN COLLEGE,HUNTSVILLE,AL
+0008,ALABAMA STATE UNIVERSITY,MONTGOMERY,AL
+0080,ALBERT P BREWER STATE JUNIOR COLLEGE,FAYETTE,AL
+0010,ATHENS STATE COLLEGE,ATHENS,AL
+0011,AUBURN UNIVERSITY,AUBURN UNIVERSITY,AL
+0057,AUBURN UNIVERSITY AT MONTGOMERY,MONTGOMERY,AL
+0013,BIRMINGHAM BAPTIST HOSPITAL,BIRMINGHAM,AL
+0001,CENTRAL ALABAMA COMMUNITY COLLEGE,ALEXANDER CITY,AL
+0073,CHATTAHOOCHEE VALLEY STATE COMM COLL,PHENIX CITY,AL
+0051,COMMUNITY COLLEGE OF THE AIR FORCE,MAXWELL AFB,AL
+0079,CONCORDIA COLLEGE,SELMA,AL
+0045,ENTERPRISE STATE JUNIOR COLLEGE,ENTERPRISE,AL
+0003,FAULKNER UNIVERSITY,MONTGOMERY,AL
+0077,GADSDEN STATE JUNIOR COLLEGE,GADSDEN,AL
+0076,GEORGE C WALLACE STATE COMM COLLEGE,DOTHAN,AL
+0082,GEORGE CORLEY WALLACE STATE COMM COLL,SELMA,AL
+5126,HERZING INSTITUTE OF ALABAMA,BIRMINGHAM,AL
+0005,HOLY NAME OF JESUS HOSP SCH OF NURSING,GADSDEN,AL
+0018,HUNTINGDON COLLEGE,MONTGOMERY,AL
+0006,INTERNATIONAL BIBLE COLLEGE,FLORENCE,AL
+0020,JACKSONVILLE STATE UNIVERSITY,JACKSONVILLE,AL
+0035,JAMES H FAULKNER STATE JUNIOR COLLEGE,BAY MINETTE,AL
+0039,JEFFERSON DAVIS STATE JUNIOR COLLEGE,BREWTON,AL
+0047,JEFFERSON STATE COMMUNITY COLLEGE,BIRMINGHAM,AL
+0075,JOHN C CALHOUN STATE COMMUNITY COLLEGE,DECATUR,AL
+0022,JUDSON COLLEGE,MARION,AL
+0025,LOMAX-HANNON JUNIOR COLLEGE,GREENVILLE,AL
+0081,LURLEEN B WALLACE STATE JUNIOR COLLEGE,ANDALUSIA,AL
+0026,MARION MILITARY INSTITUTE,MARION,AL
+0028,MILES COLLEGE,BIRMINGHAM,AL
+0150,NAT'L EDUC CENTER-NIT CAMPUS-ALABAMA,HOMEWOOD,AL
+0061,NORTHEAST ALABAMA STATE JUNIOR COLLEGE,RAINSVILLE,AL
+0027,NORTHWEST-SHOALS COMMUNITY COLLEGE,PHIL CAMPBELL,AL
+0030,OAKWOOD COLLEGE,HUNTSVILLE,AL
+0055,PATRICK HENRY STATE JUNIOR COLLEGE,MONROEVILLE,AL
+0016,SAMFORD UNIVERSITY,BIRMINGHAM,AL
+0033,SELMA UNIVERSITY,SELMA,AL
+0007,SHELTON STATE COMMUNITY COLLEGE,TUSCALOOSA,AL
+0036,SNEAD STATE JUNIOR COLLEGE,BOAZ,AL
+0037,"SONAT FOUNDATION INC, THE",BIRMINGHAM,AL
+0038,SOUTHEASTERN BIBLE COLLEGE,BIRMINGHAM,AL
+0040,SOUTHERN UNION STATE JUNIOR COLLEGE,WADLEY,AL
+0071,SOUTHERN VOCATIONAL COLLEGE,TUSKEGEE,AL
+0042,SPRING HILL COLLEGE,MOBILE,AL
+0043,ST VINCENT'S SCHOOL OF NURSING,BIRMINGHAM,AL
+0044,STILLMAN COLLEGE,TUSCALOOSA,AL
+0031,SYLACAUGA HOSPITAL SCHOOL OF NURSING,SYLACAUGA,AL
+0046,TALLADEGA COLLEGE,TALLADEGA,AL
+0021,TENNESSEE VALLEY COLLEGE,DECATUR,AL
+0078,THEODORE ALFRED LAWSON STATE COMM COLL,BIRMINGHAM,AL
+0015,TROY STATE UNIVERSITY-DOTHAN/FT RUCKER,DOTHAN,AL
+0133,TROY STATE UNIVERSITY-MONTGOMERY,MONTGOMERY,AL
+0048,TROY STATE UNIVERSITY-TROY,TROY,AL
+0050,TUSKEGEE UNIVERSITY,TUSKEGEE,AL
+0060,UNIV OF ALABAMA CTR GADSDEN-UPPER DIV,GADSDEN,AL
+0052,UNIVERSITY OF ALABAMA,TUSCALOOSA,AL
+0056,UNIVERSITY OF ALABAMA IN BIRMINGHAM,BIRMINGHAM,AL
+0053,UNIVERSITY OF ALABAMA-HUNTSVILLE,HUNTSVILLE,AL
+0029,UNIVERSITY OF MOBILE,MOBILE,AL
+0004,UNIVERSITY OF MONTEVALLO,MONTEVALLO,AL
+0014,UNIVERSITY OF NORTH ALABAMA,FLORENCE,AL
+0059,UNIVERSITY OF SOUTH ALABAMA,MOBILE,AL
+0024,UNIVERSITY OF WEST ALABAMA,LIVINGSTON,AL
+0034,US SPORTS ACADEMY,DAPHNE,AL
+0054,WALKER COLLEGE,JASPER,AL
+0083,WALLACE STATE COMMUNITY COLLEGE,HANCEVILLE,AL
+0111,ARKANSAS BAPTIST COLLEGE,LITTLE ROCK,AR
+0152,ARKANSAS BIBLE COLLEGE,HOT SPRINGS,AR
+0157,ARKANSAS CHRISTIAN COLLEGE,FT SMITH,AR
+0141,ARKANSAS COLLEGE OF TECHNOLOGY,LITTLE ROCK,AR
+0116,ARKANSAS STATE UNIVERSITY,STATE UNIVERSITY,AR
+0117,ARKANSAS STATE UNIVERSITY-BEEBE BRANCH,BEEBE,AR
+0114,ARKANSAS TECH UNIVERSITY,RUSSELLVILLE,AR
+0131,BAPTIST SYSTEM SCHOOL OF NURSING,LITTLE ROCK,AR
+4717,CAPITAL CITY JUNIOR COLLEGE,LITTLE ROCK,AR
+0119,CENTRAL BAPTIST COLLEGE,CONWAY,AR
+0123,CITADEL BIBLE COLLEGE,OZARK,AR
+0121,CROWLEY'S RIDGE COLLEGE,PARAGOULD,AR
+0109,EAST ARKANSAS COMMUNITY COLLEGE,FORREST CITY,AR
+0115,GARLAND COUNTY COMMUNITY COLLEGE,HOT SPRINGS,AR
+0124,HARDING UNIVERSITY,SEARCY,AR
+0126,HENDERSON STATE UNIVERSITY,ARKADELPHIA,AR
+0128,HENDRIX COLLEGE,CONWAY,AR
+0161,JEFFERSON SCHOOL OF NURSING,PINE BLUFF,AR
+0130,JOHN BROWN UNIVERSITY,SILOAM SPRINGS,AR
+0112,LYON COLLEGE,BATESVILLE,AR
+0129,MISSISSIPPI COUNTY COMMUNITY COLLEGE,BLYTHEVILLE,AR
+0113,NORTH ARKANSAS COMMUNITY COLLEGE,HARRISON,AR
+0017,NORTHWEST ARKANSAS COMMUNITY COLL,ROGERS,AR
+0134,OUACHITA BAPTIST UNIVERSITY,ARKADELPHIA,AR
+0187,PETIT JEAN TECHNICAL COLLEGE,MORRILTON,AR
+0136,PHILANDER SMITH COLLEGE,LITTLE ROCK,AR
+0125,PHILLIPS COUNTY COMMUNITY COLLEGE,HELENA,AR
+0127,RICH MOUNTAIN COMMUNITY COLLEGE,MENA,AR
+0138,SHORTER COLLEGE,NORTH LITTLE ROCK,AR
+0139,SOUTH ARKANSAS COMMUNITY COLLEGE,EL DORADO,AR
+0145,SOUTH CENTRAL CAREER COLLEGE,LITTLE ROCK,AR
+0190,SOUTHEAST ARKANSAS TECHNICAL COLLEGE,PINE BLUFF,AR
+0142,SOUTHERN ARKANSAS UNIVERSITY,MAGNOLIA,AR
+0149,SOUTHERN ARKANSAS UNIVERSITY-EL DORADO,EL DORADO,AR
+0143,SOUTHERN ARKANSAS UNIVERSITY-TECH BRNCH,EAST CAMDEN,AR
+0140,SOUTHERN BAPTIST COLLEGE,WALNUT RIDGE,AR
+4718,ST VINCENT INFIRMARY SCH/RADIOLOGIC TECH,LITTLE ROCK,AR
+0144,UNIVERSITY OF ARKANSAS,FAYETTEVILLE,AR
+0110,UNIVERSITY OF ARKANSAS AT MONTICELLO,MONTICELLO,AR
+0108,UNIVERSITY OF ARKANSAS AT PINE BLUFF,PINE BLUFF,AR
+0132,UNIVERSITY OF ARKANSAS-LITTLE ROCK,LITTLE ROCK,AR
+0118,UNIVERSITY OF CENTRAL ARKANSAS,CONWAY,AR
+0120,UNIVERSITY OF THE OZARKS,CLARKSVILLE,AR
+0122,WESTARK COMMUNITY COLLEGE,FORT SMITH,AR
+0084,AMERICAN GRAD SCH OF INTERNATIONAL MGMT,GLENDALE,AZ
+0180,ARIZONA CAREER COLLEGE,PHOENIX,AZ
+0102,ARIZONA COLLEGE OF THE BIBLE,PHOENIX,AZ
+0088,ARIZONA STATE UNIVERSITY,TEMPE,AZ
+0099,ARIZONA WESTERN COLLEGE,YUMA,AZ
+0085,CENTRAL ARIZONA COLLEGE,COOLIDGE,AZ
+0068,CHANDLER-GILBERT COMMUNITY COLLEGE,CHANDLER,AZ
+0089,COCHISE COLLEGE,DOUGLAS,AZ
+0058,COCONINO COUNTY COMMUNITY COLLEGE,FLAGSTAFF,AZ
+0146,"COLLEGE OF GANADO, THE",GANADO,AZ
+0812,DEVRY INSTITUTE OF TECHNOLOGY2,PHOENIX,AZ
+0090,EASTERN ARIZONA COLLEGE,THATCHER,AZ
+0095,EMBRY-RIDDLE AERONAUTICAL UNIVERSITY,PRESCOTT,AZ
+0151,ESTRELLA MOUNTAIN COMM COLLEGE,ESTRELLA MOUNTAIN,AZ
+0100,GATEWAY COMMUNITY COLLEGE,PHOENIX,AZ
+0091,GLENDALE COMMUNITY COLLEGE,GLENDALE,AZ
+0092,GRAND CANYON COLLEGE,PHOENIX,AZ
+0178,INTERNATIONAL BAPTIST COLLEGE,TEMPE,AZ
+0093,MESA COMMUNITY COLLEGE,MESA,AZ
+0148,MOHAVE COMMUNITY COLLEGE,KINGMAN,AZ
+0104,NAVAJO COMMUNITY COLLEGE,TSAILE,AZ
+0086,NORTHERN ARIZONA UNIVERSITY,FLAGSTAFF,AZ
+0107,NORTHLAND PIONEER COLLEGE,HOLBROOK,AZ
+0087,PARADISE VALLEY COMMUNITY COLLEGE,PHOENIX,AZ
+0094,PHOENIX COLLEGE,PHOENIX,AZ
+0101,PIMA COMMUNITY COLLEGE,TUCSON,AZ
+0135,PRESCOTT COLLEGE,PRESCOTT,AZ
+0103,RIO SALADO COMMUNITY COLLEGE,PHOENIX,AZ
+0105,SCOTTSDALE COMMUNITY COLLEGE,SCOTTSDALE,AZ
+0552,SOUTH MOUNTAIN COMMUNITY COLLEGE,PHOENIX,AZ
+0106,SOUTHWESTERN COLLEGE,PHOENIX,AZ
+0096,UNIVERSITY OF ARIZONA,TUCSON,AZ
+0067,UNIVERSITY OF PHOENIX,PHOENIX,AZ
+0097,WESTERN INTERNATIONAL UNIVERSITY,PHOENIX,AZ
+0098,YAVAPAI COLLEGE,PRESCOTT,AZ
+0155,ACADEMY OF ART COLLEGE,SAN FRANCISCO,CA
+0156,ALLAN HANCOCK COLLEGE,SANTA MARIA,CA
+0159,AMBASSADOR COLLEGE,PASADENA,CA
+0167,AMERICAN ACADEMY OF DRAMATIC ARTS,PASADENA,CA
+0163,AMERICAN COLLEGE FOR THE APP ARTS,LOS ANGELES,CA
+0158,AMERICAN RIVER COLLEGE,SACRAMENTO,CA
+0351,ANAHEIM CHRISTIAN COLLEGE,ANAHEIM,CA
+0160,ANTELOPE VALLEY COLLEGE,LANCASTER,CA
+0162,ARMSTRONG UNIVERSITY,BERKELEY,CA
+0164,ART CENTER COLLEGE OF DESIGN,PASADENA,CA
+0166,AZUSA PACIFIC UNIVERSITY,AZUSA,CA
+0168,BAKERSFIELD COLLEGE,BAKERSFIELD,CA
+0169,BARSTOW COLLEGE,BARSTOW,CA
+0171,BETHANY BIBLE COLLEGE,SANTA CRUZ,CA
+0172,BIOLA UNIVERSITY,LA MIRADA,CA
+0170,BROOKS COLLEGE,LONG BEACH,CA
+0179,BROOKS INSTITUTE OF PHOTOGRAPHY,SANTA BARBARA,CA
+0165,BUTTE COLLEGE,OROVILLE,CA
+0173,CABRILLO COLLEGE,APTOS,CA
+0175,CALIFORNIA BAPTIST COLLEGE,RIVERSIDE,CA
+0215,CALIFORNIA BIBLE COLLEGE,BURLINGAME,CA
+0189,CALIFORNIA CHRISTIAN COLLEGE,FRESNO,CA
+0176,CALIFORNIA COLLEGE OF ARTS AND CRAFTS,OAKLAND,CA
+0177,CALIFORNIA COLLEGE OF PODIATRIC MEDICINE,SAN FRANCISCO,CA
+0185,CALIFORNIA CULINARY ACADEMY,SAN FRANCISCO,CA
+0182,CALIFORNIA INSTITUTE OF TECHNOLOGY,PASADENA,CA
+0181,CALIFORNIA INSTITUTE OF THE ARTS,VALENCIA,CA
+0183,CALIFORNIA LUTHERAN COLLEGE,THOUSAND OAKS,CA
+0184,CALIFORNIA MARITIME ACADEMY,VALLEJO,CA
+0188,CALIFORNIA POLYTECHNIC STATE UNIVERSITY,SAN LUIS OBISPO,CA
+0202,CALIFORNIA STATE POLYTECH UNIVERSITY,POMONA,CA
+0201,CALIFORNIA STATE UNIV-BAKERSFIELD,BAKERSFIELD,CA
+0212,CALIFORNIA STATE UNIV-CHICO,CHICO,CA
+0203,CALIFORNIA STATE UNIV-DOMINGUEZ HILLS,CARSON,CA
+0266,CALIFORNIA STATE UNIV-FRESNO,FRESNO,CA
+0355,CALIFORNIA STATE UNIV-FULLERTON,FULLERTON,CA
+0154,CALIFORNIA STATE UNIV-HAYWARD,HAYWARD,CA
+0302,CALIFORNIA STATE UNIV-LONG BEACH,LONG BEACH,CA
+0320,CALIFORNIA STATE UNIV-LOS ANGELES,LOS ANGELES,CA
+0400,CALIFORNIA STATE UNIV-NORTHRIDGE,NORTHRIDGE,CA
+0382,CALIFORNIA STATE UNIV-SACRAMENTO,SACRAMENTO,CA
+0205,CALIFORNIA STATE UNIV-SAN BERNARDINO,SAN BERNARDINO,CA
+0385,CALIFORNIA STATE UNIV-SAN MARCOS,SAN MARCOS,CA
+0435,CALIFORNIA STATE UNIV-STANISLAUS,TURLOCK,CA
+0439,CALIFORNIA WESTERN SCHOOL OF LAW,SAN DIEGO,CA
+0213,CANADA COLLEGE,REDWOOD CITY,CA
+0206,CERRITOS COLLEGE,NORWALK,CA
+0192,CERRO COSO COMMUNITY COLLEGE,RIDGECREST,CA
+0207,CHABOT COLLEGE,HAYWARD,CA
+0208,CHAFFEY COLLEGE,ALTA LOMA,CA
+0210,CHAPMAN UNIVERSITY,ORANGE,CA
+0222,CHARLES R DREW POSTGRAD MEDICAL SCHOOL,LOS ANGELES,CA
+0211,CHRISTIAN HERITAGE COLLEGE,EL CAJON,CA
+0218,CITRUS COLLEGE,AZUSA,CA
+0220,CITY COLLEGE OF SAN FRANCISCO,SAN FRANCISCO,CA
+0224,CLAREMONT MCKENNA COLLEGE,CLAREMONT,CA
+0193,COASTLINE COMMUNITY COLLEGE,FOUNTAIN VALLEY,CA
+0228,COGSWELL COLLEGE,CUPERTINO,CA
+0231,COLEMAN COLLEGE,LA MESA,CA
+0238,COLLEGE OF ALAMEDA,ALAMEDA,CA
+0232,COLLEGE OF MARIN,KENTFIELD,CA
+0236,COLLEGE OF NOTRE DAME,BELMONT,CA
+0244,COLLEGE OF SAN MATEO,SAN MATEO,CA
+0419,COLLEGE OF THE CANYONS,VALENCIA,CA
+0229,COLLEGE OF THE DESERT,PALM DESERT,CA
+0245,COLLEGE OF THE REDWOODS,EUREKA,CA
+0246,COLLEGE OF THE SEQUOIAS,VISALIA,CA
+0247,COLLEGE OF THE SISKIYOUS,WEED,CA
+0249,COLUMBIA COLLEGE,COLUMBIA,CA
+0248,COMPTON COMMUNITY COLLEGE,COMPTON,CA
+0227,CONCORDIA UNIVERSITY,IRVINE,CA
+0250,CONTRA COSTA COLLEGE,SAN PABLO,CA
+0242,COSUMNES RIVER COLLEGE,SACRAMENTO,CA
+0275,CRAFTON HILLS COLLEGE,YUCAIPA,CA
+0415,CUESTA COLLEGE,SAN LUIS OBISPO,CA
+0217,CUYAMACA COLLEGE,EL CAJON,CA
+0251,CYPRESS COLLEGE,CYPRESS,CA
+0253,DE ANZA COLLEGE,CUPERTINO,CA
+0259,DEFENSE LANGUAGE INSTITUTE,MONTEREY,CA
+0261,DEVRY INSTITUTE OF TECHNOLOGY,POMONA,CA
+0254,DIABLO VALLEY COLLEGE,PLEASANT HILL,CA
+0256,DOMINICAN COLLEGE OF SAN RAFAEL,SAN RAFAEL,CA
+0381,DOMINICAN SCH PHILOSOPHY & THEOLOGY,BERKELEY,CA
+0257,DON BOSCO TECHNICAL INSTITUTE,ROSEMEAD,CA
+0255,D-Q UNIVERSITY,DAVIS,CA
+0258,EAST LOS ANGELES COLLEGE,MONTEREY PARK,CA
+0260,EL CAMINO COLLEGE,TORRANCE,CA
+0234,EVERGREEN VALLEY COLLEGE,SAN JOSE,CA
+0235,FASHION INST OF DESIGN & MERCHANDISING,LOS ANGELES,CA
+0267,FEATHER RIVER COLLEGE,QUINCY,CA
+0263,FOOTHILL COLLEGE,LOS ALTOS HILLS,CA
+0264,FRESNO CITY COLLEGE,FRESNO,CA
+0357,FRESNO PACIFIC COLLEGE,FRESNO,CA
+0271,FULLER THEOLOGICAL SEMINARY,PASADENA,CA
+0270,FULLERTON COLLEGE,FULLERTON,CA
+0390,GAVILAN COLLEGE,GILROY,CA
+0274,GLENDALE COMMUNITY COLLEGE,GLENDALE,CA
+0278,GOLDEN GATE UNIVERSITY,SAN FRANCISCO,CA
+0277,GOLDEN WEST COLLEGE,HUNTINGTON BEACH,CA
+0279,GROSSMONT COLLEGE,EL CAJON,CA
+0280,HARTNELL COLLEGE,SALINAS,CA
+0282,HARVEY MUDD COLLEGE,CLAREMONT,CA
+0285,HEALD BUSINESS COLLEGE,SAN FRANCISCO,CA
+0283,HEALD INSTITUTE OF TECHNOLOGY,SAN FRANCISCO,CA
+0284,HEBREW UNION COLLEGE,LOS ANGELES,CA
+0230,HOLY NAMES COLLEGE,OAKLAND,CA
+0286,HUMBOLDT STATE UNIVERSITY,ARCATA,CA
+0288,HUMPHREYS COLLEGE,STOCKTON,CA
+0292,IMPERIAL VALLEY COLLEGE,IMPERIAL,CA
+0289,INDIAN VALLEY COLLEGES,NOVATO,CA
+0290,IRVINE VALLEY COLLEGE,IRVINE,CA
+0291,JOHN F KENNEDY UNIVERSITY,ORINDA,CA
+0376,KINGS RIVER COMMUNITY COLLEGE,REEDLEY,CA
+0294,LA SIERRA UNIVERSITY,RIVERSIDE,CA
+0308,LAKE TAHOE COMMUNITY COLLEGE,SOUTH LAKE TAHOE,CA
+0301,LOMA LINDA UNIVERSITY,LOMA LINDA,CA
+0300,LONG BEACH CITY COLLEGE,LONG BEACH,CA
+0303,LOS ANGELES BAPTIST COLLEGE,NEWHALL,CA
+0304,LOS ANGELES CITY COLLEGE,LOS ANGELES,CA
+0312,LOS ANGELES HARBOR COLLEGE,WILMINGTON,CA
+0313,LOS ANGELES METROPOLITAN COLLEGE,LOS ANGELES,CA
+0314,LOS ANGELES MISSION COLLEGE,SAN FERNANDO,CA
+0318,LOS ANGELES PIERCE COLLEGE,WOODLAND HILLS,CA
+0319,LOS ANGELES SOUTHWEST COLLEGE,LOS ANGELES,CA
+0322,LOS ANGELES TRADE-TECH COLLEGE,LOS ANGELES,CA
+0324,LOS ANGELES VALLEY COLLEGE,VAN NUYS,CA
+0325,LOS MEDANOS COLLEGE,PITTSBURG,CA
+0326,LOYOLA MARYMOUNT UNIVERSITY,LOS ANGELES,CA
+0316,MARYMOUNT PALOS VERDES COLLEGE,RANCHO PALOS VERDES,CA
+0273,MENDOCINO COLLEGE,UKIAH,CA
+0330,MENLO COLLEGE,ATHERTON,CA
+0333,MERCED COLLEGE,MERCED,CA
+0348,MERRITT COLLEGE,OAKLAND,CA
+0332,MILLS COLLEGE,OAKLAND,CA
+0352,MIRACOSTA COLLEGE,OCEANSIDE,CA
+0323,MISSION COLLEGE,SANTA CLARA,CA
+0334,MODESTO JUNIOR COLLEGE,MODESTO,CA
+0339,MONTEREY INST OF INTERNATIONAL STUDIES,MONTEREY,CA
+0336,MONTEREY PENINSULA COLLEGE,MONTEREY,CA
+0335,MOORPARK COLLEGE,MOORPARK,CA
+0340,MOUNT SAN ANTONIO COLLEGE,WALNUT,CA
+0341,MOUNT SAN JACINTO COLLEGE,SAN JACINTO,CA
+0338,MOUNT ST MARY'S COLLEGE,LOS ANGELES,CA
+0342,NAPA VALLEY COLLEGE,NAPA,CA
+0344,NATIONAL UNIVERSITY,SAN DIEGO,CA
+0345,NAVAL POSTGRADUATE SCHOOL,MONTEREY,CA
+0353,NEW COLLEGE OF CALIFORNIA,SAN FRANCISCO,CA
+0346,NORTHROP UNIVERSITY,INGLEWOOD,CA
+0350,OCCIDENTAL COLLEGE,LOS ANGELES,CA
+0265,OHLONE COLLEGE,FREMONT,CA
+0354,ORANGE COAST COLLEGE,COSTA MESA,CA
+0359,OTIS ART INSTITUTE OF PARSONS SCH DESGN,LOS ANGELES,CA
+0358,OXNARD COLLEGE,OXNARD,CA
+0356,PACIFIC CHRISTIAN COLLEGE,FULLERTON,CA
+0360,PACIFIC OAKS COLLEGE & CHILDREN'S SCHOOL,PASADENA,CA
+0361,PACIFIC STATES UNIVERSITY,LOS ANGELES,CA
+0362,PACIFIC UNION COLLEGE,ANGWIN,CA
+0364,PALO VERDE COLLEGE,BLYTHE,CA
+0366,PALOMAR COLLEGE,SAN MARCOS,CA
+0368,PASADENA CITY COLLEGE,PASADENA,CA
+0373,PEPPERDINE UNIVERSITY AT MALIBU,MALIBU,CA
+0375,PERALTA COLLEGE,OAKLAND,CA
+0363,PITZER COLLEGE,CLAREMONT,CA
+0370,POINT LOMA NAZARENE COLLEGE,SAN DIEGO,CA
+0372,POMONA COLLEGE,CLAREMONT,CA
+0374,PORTERVILLE COLLEGE,PORTERVILLE,CA
+0416,RANCHO SANTIAGO COLLEGE,SANTA ANA,CA
+0379,RIO HONDO COLLEGE,WHITTIER,CA
+0378,RIVERSIDE COMMUNITY COLLEGE,RIVERSIDE,CA
+0380,SACRAMENTO CITY COLLEGE,SACRAMENTO,CA
+0383,SADDLEBACK COLLEGE,MISSION VIEJO,CA
+0412,SAMUEL MERRITT COLLEGE OF NURSING,OAKLAND,CA
+0392,SAN BERNARDINO VALLEY COLLEGE,SAN BERNARDINO,CA
+0396,SAN DIEGO CITY COLLEGE,SAN DIEGO,CA
+0337,SAN DIEGO MESA COLLEGE,SAN DIEGO,CA
+0331,SAN DIEGO MIRAMAR COLLEGE,SAN DIEGO,CA
+0398,SAN DIEGO STATE UNIVERSITY,SAN DIEGO,CA
+0186,SAN FRANCISCO ART INSTITUTE,SAN FRANCISCO,CA
+0405,SAN FRANCISCO COLLEGE-MORTUARY SCIENCE,SAN FRANCISCO,CA
+0403,SAN FRANCISCO CONSERVATORY OF MUSIC,SAN FRANCISCO,CA
+0404,SAN FRANCISCO STATE UNIVERSITY,SAN FRANCISCO,CA
+0433,SAN JOAQUIN COLLEGE OF LAW,FRESNO,CA
+0436,SAN JOAQUIN DELTA COLLEGE,STOCKTON,CA
+0417,SAN JOSE BIBLE COLLEGE,SAN JOSE,CA
+0408,SAN JOSE CITY COLLEGE,SAN JOSE,CA
+0410,SAN JOSE STATE UNIVERSITY,SAN JOSE,CA
+0418,SANTA BARBARA CITY COLLEGE,SANTA BARBARA,CA
+0421,SANTA CLARA UNIVERSITY,SANTA CLARA,CA
+0420,SANTA MONICA COLLEGE,SANTA MONICA,CA
+0422,SANTA ROSA JUNIOR COLLEGE,SANTA ROSA,CA
+0426,SCRIPPS COLLEGE,CLAREMONT,CA
+0428,SHASTA COLLEGE,REDDING,CA
+0429,SIERRA COLLEGE,ROCKLIN,CA
+0430,SIMPSON COLLEGE,SAN FRANCISCO,CA
+0440,SKYLINE COLLEGE,SAN BRUNO,CA
+0474,SOLANO COMMUNITY COLLEGE,SUISUN CITY,CA
+0431,SONOMA STATE UNIVERSITY,ROHNERT PARK,CA
+0432,SOUTHERN CALIFORNIA COLLEGE,COSTA MESA,CA
+0437,SOUTHWESTERN COLLEGE,CHULA VISTA,CA
+0384,ST JOHN'S COLLEGE,CAMARILLO,CA
+0388,ST JOSEPH'S COLLEGE,MOUNTAIN VIEW,CA
+0386,ST MARY'S COLLEGE OF CALIFORNIA,MORAGA,CA
+0434,STANFORD UNIVERSITY,STANFORD,CA
+0438,TAFT COLLEGE,TAFT,CA
+0424,THE MASTERS COLLEGE,NEWHALL,CA
+0425,THOMAS AQUINAS COLLEGE,SANTA PAULA,CA
+0443,U S INTERNATIONAL UNIVERSITY,SAN DIEGO,CA
+0452,UNIV OF CALIFORNIA-SANTA BARBARA,SANTA BARBARA,CA
+0444,UNIVERSITY OF CALIFORNIA-BERKELEY,BERKELEY,CA
+0454,UNIVERSITY OF CALIFORNIA-DAVIS,DAVIS,CA
+0446,UNIVERSITY OF CALIFORNIA-IRVINE,IRVINE,CA
+0448,UNIVERSITY OF CALIFORNIA-LOS ANGELES,LOS ANGELES,CA
+0456,UNIVERSITY OF CALIFORNIA-RIVERSIDE,RIVERSIDE,CA
+0459,UNIVERSITY OF CALIFORNIA-SAN DIEGO,LA JOLLA,CA
+0460,UNIVERSITY OF CALIFORNIA-SANTA CRUZ,SANTA CRUZ,CA
+0442,UNIVERSITY OF CENTRAL CALIFORNIA,SACRAMENTO,CA
+0462,UNIVERSITY OF JUDAISM/LEE COLLEGE,LOS ANGELES,CA
+0295,UNIVERSITY OF LA VERNE,LA VERNE,CA
+0464,UNIVERSITY OF REDLANDS,REDLANDS,CA
+0394,UNIVERSITY OF SAN DIEGO,SAN DIEGO,CA
+0466,UNIVERSITY OF SAN FRANCISCO,SAN FRANCISCO,CA
+0468,UNIVERSITY OF SANTA CLARA,SANTA CLARA,CA
+0470,UNIVERSITY OF SOUTHERN CALIFORNIA,LOS ANGELES,CA
+0240,UNIVERSITY OF THE PACIFIC,STOCKTON,CA
+0449,UNIVERSITY OF WEST L A SCHOOL OF LAW,CULVER CITY,CA
+0476,VENTURA COLLEGE,VENTURA,CA
+0475,VICTOR VALLEY COLLEGE,VICTORVILLE,CA
+0174,VISTA COLLEGE,BERKELEY,CA
+0472,WEST COAST CHRISTIAN COLLEGE,FRESNO,CA
+0484,WEST COAST UNIVERSITY,LOS ANGELES,CA
+0226,WEST HILLS COLLEGE,COALINGA,CA
+0483,WEST LOS ANGELES COLLEGE,CULVER CITY,CA
+0479,WEST VALLEY COLLEGE,SARATOGA,CA
+0262,WESTERN STATES COLLEGE OF ENGINEERING,INGLEWOOD,CA
+0478,WESTMONT COLLEGE,SANTA BARBARA,CA
+0480,WHITTIER COLLEGE,WHITTIER,CA
+0481,WOODBURY UNIVERSITY,BURBANK,CA
+0487,WORLD COLLEGE WEST,PETALUMA,CA
+0482,YUBA COLLEGE,MARYSVILLE,CA
+0496,ADAMS STATE COLLEGE,ALAMOSA,CO
+0505,AIMS COMMUNITY COLLEGE,GREELEY,CO
+0497,ARAPAHOE COMMUNITY COLLEGE,LITTLETON,CO
+0513,BETH-EL SCHOOL OF NURSING MEMORIAL HOSP,COLORADO SPRINGS,CO
+0553,CHERRY CREEK BAPTIST COLLEGE,ENGLEWOOD,CO
+0541,CIBAR SYSTEMS INSTITUTE,COLORADO SPRINGS,CO
+0543,COLORADO CHRISTIAN UNIVERSITY,LAKEWOOD,CO
+0498,COLORADO COLLEGE,COLORADO SPRINGS,CO
+0499,COLORADO MOUNTAIN COLL-ALPINE CAMPUS,STEAMBOAT SPRINGS,CO
+0501,COLORADO MOUNTAIN COLL-SPRG VALLEY CAMP,GLENWOOD SPRINGS,CO
+0503,COLORADO MOUNTAIN COLL-TIMBERLINE CAMP,LEADVILLE,CO
+0525,COLORADO NORTHWESTERN COMMUNITY COLLEGE,RANGELY,CO
+0500,COLORADO SCHOOL OF MINES,GOLDEN,CO
+0504,COLORADO STATE UNIVERSITY,FORT COLLINS,CO
+0515,COLORADO TECHNICAL UNIVERSITY,COLORADO SPRINGS,CO
+0512,COMMUNITY COLLEGE OF AURORA,AURORA,CO
+0511,COMMUNITY COLLEGE OF DENVER,DENVER,CO
+0537,DENVER BAPTIST BIBLE COLLEGE,BROOMFIELD,CO
+0510,FORT LEWIS COLLEGE,DURANGO,CO
+0507,FRONT RANGE COMMUNITY COLLEGE,WESTMINSTER,CO
+0521,INTERIOR DESIGN INSTITUTE OF DENVER,DENVER,CO
+0517,INTERMOUNTAIN BIBLE COLLEGE,GRAND JUNCTION,CO
+0514,LAMAR COMMUNITY COLLEGE,LAMAR,CO
+0516,LORETTO HEIGHTS COLLEGE,DENVER,CO
+0518,MESA STATE COLLEGE,GRAND JUNCTION,CO
+0519,METROPOLITAN STATE COLLEGE OF DENVER,DENVER,CO
+0544,MORGAN COMMUNITY COLLEGE,FORT MORGAN,CO
+0545,NATIONAL AMERICAN UNIVERSITY,DENVER,CO
+0546,NATIONAL TECHNOLOGICAL UNIVERSITY,FORT COLLINS,CO
+0547,NAZARENE BIBLE COLLEGE,COLORADO SPRINGS,CO
+0520,NORTHEASTERN JUNIOR COLLEGE,STERLING,CO
+0522,OTERO JUNIOR COLLEGE,LA JUNTA,CO
+0531,PARKS COLLEGE,DENVER,CO
+0509,PIKES PEAK COMMUNITY COLLEGE,COLORADO SPRINGS,CO
+0540,PRESBYTERIAN-ST LUKES SCHOOL OF NURSING,DENVER,CO
+0492,PUEBLO COMMUNITY COLLEGE,PUEBLO,CO
+0508,RED ROCKS COMMUNITY COLLEGE,GOLDEN,CO
+0526,REGIS COLLEGE,DENVER,CO
+0523,ROCKMONT COLLEGE,DENVER,CO
+0527,ROCKY MOUNTAIN BIOLOGICAL LABORATORY,CRESTED BUTTE,CO
+0528,TRINIDAD STATE JUNIOR COLLEGE,TRINIDAD,CO
+0529,U COLORADO HEALTH SCI CTR SCH/DENTISTRY,DENVER,CO
+0530,U S AIR FORCE ACADEMY,US AIR FORCE ACADEMY,CO
+0535,UNIV OF COLORADO-COLORADO SPRINGS,COLORADO SPRINGS,CO
+0532,UNIVERSITY OF COLORADO-BOULDER,BOULDER,CO
+0533,UNIVERSITY OF COLORADO-DENVER,DENVER,CO
+0534,UNIVERSITY OF DENVER,DENVER,CO
+0502,UNIVERSITY OF NORTHERN COLORADO,GREELEY,CO
+0524,UNIVERSITY OF SOUTHERN COLORADO,PUEBLO,CO
+0542,WESTERN BIBLE COLLEGE,MORRISON,CO
+0536,WESTERN STATE COLLEGE OF COLORADO,GUNNISON,CO
+0549,ALBERTUS MAGNUS COLLEGE,NEW HAVEN,CT
+0581,ANNHURST COLLEGE,SOUTH WOODSTOCK,CT
+0583,ASNUNTUCK COMMUNITY-TECHNICAL COLLEGE,ENFIELD,CT
+0551,BRIARWOOD COLLEGE,SOUTHINGTON,CT
+0567,CAPITAL COMMUNITY COLLEGE,HARTFORD,CT
+0596,CENTRAL CONNECTICUT STATE UNIVERSITY,NEW BRITAIN,CT
+0550,CHARTER OAK STATE COLLEGE,NEWINGTON,CT
+0556,CONNECTICUT COLLEGE,NEW LONDON,CT
+0616,EASTERN CONNECTICUT STATE UNIVERSITY,WILLIMANTIC,CT
+0560,FAIRFIELD UNIVERSITY,FAIRFIELD,CT
+0590,GATEWAY COMMUNITY TECHNICAL COLLEGE,NEW HAVEN,CT
+0561,GREATER HARTFORD COMMUNITY COLLEGE,HARTFORD,CT
+0568,HARTFORD COLLEGE FOR WOMEN,HARTFORD,CT
+0563,HOUSATONIC COMMUNITY COLLEGE,BRIDGEPORT,CT
+0555,KATHARINE GIBBS SCHOOL,NORWALK,CT
+0569,MANCHESTER COMMUNITY-TECHNICAL COLLEGE,MANCHESTER,CT
+0584,MIDDLESEX COMMUNITY COLLEGE,MIDDLETOWN,CT
+0572,MITCHELL COLLEGE,NEW LONDON,CT
+0574,MT SACRED HEART COLLEGE,HAMDEN,CT
+0570,NAGATUCK VALLEY COMM-TECHNICAL COLLEGE,WATERBURY,CT
+0578,NORTHWESTERN CONNECTICUT COMM COLLEGE,WINSTED,CT
+0577,NORWALK COMMUNITY-TECHNICAL COLLEGE,NORWALK,CT
+0580,POST COLLEGE,WATERBURY,CT
+0554,QUINEBAUG VALLEY COMMUNITY COLLEGE,DANIELSON,CT
+0582,QUINNIPIAC COLLEGE,HAMDEN,CT
+0589,SACRED HEART UNIVERSITY,BRIDGEPORT,CT
+0593,SOUTHERN CONNECTICUT STATE UNIVERSITY,NEW HAVEN,CT
+0595,THREE RIVER COMMUNITY-TECHNICAL COLLEGE,NORWICH,CT
+0598,TRINITY COLLEGE,HARTFORD,CT
+0608,TUNXIS COMMUNITY COLLEGE,FARMINGTON,CT
+0600,U S COAST GUARD ACADEMY,NEW LONDON,CT
+0602,UNIVERSITY OF BRIDGEPORT,BRIDGEPORT,CT
+0604,UNIVERSITY OF CONNECTICUT,STORRS,CT
+0606,UNIVERSITY OF HARTFORD,WEST HARTFORD,CT
+0576,UNIVERSITY OF NEW HAVEN,WEST HAVEN,CT
+0579,WATERBURY STATE TECHNICAL COLLEGE,WATERBURY,CT
+0614,WESLEYAN UNIVERSITY,MIDDLETOWN,CT
+0558,WESTERN CONNECTICUT STATE UNIVERSITY,DANBURY,CT
+0623,YALE PHYSICIAN ASSOCIATE PROGRAM,NEW HAVEN,CT
+0618,YALE UNIVERSITY,NEW HAVEN,CT
+0648,AMERICAN UNIVERSITY,WASHINGTON,DC
+0654,CATHOLIC UNIVERSITY OF AMERICA,WASHINGTON,DC
+0657,DEFENSE INTELLIGENCE SCHOOL,WASHINGTON,DC
+0662,GALLAUDET COLLEGE,WASHINGTON,DC
+0664,"GEORGE WASHINGTON UNIVERSITY, THE",WASHINGTON,DC
+0668,GEORGETOWN UNIVERSITY,WASHINGTON,DC
+0674,HOWARD UNIVERSITY,WASHINGTON,DC
+4107,MILITARY PHYSICIAN ASSISTANT PROGRAM,WASHINGTON,DC
+0660,MIU COLLEGE OF NATURAL LAW,WASHINGTON,DC
+0680,MODERN SCHOOL OF MUSIC,WASHINGTON,DC
+0682,MOUNT VERNON COLLEGE,WASHINGTON,DC
+0689,NATIONAL JOB CORP,WASHINGTON,DC
+0692,SOUTHEASTERN UNIVERSITY,WASHINGTON,DC
+0694,STRAYER COLLEGE,WASHINGTON,DC
+0696,TRINITY COLLEGE,WASHINGTON,DC
+0695,UNIV OF THE DISTRICT OF COLUMBIA,WASHINGTON,DC
+0629,BRANDYWINE COLLEGE OF WIDENER UNIV,WILMINGTON,DE
+0630,DELAWARE STATE UNIVERSITY,DOVER,DE
+0631,DELAWARE TECH & COMM COLL-SOUTHERN CAMP,GEORGETOWN,DE
+0633,DELAWARE TECH & COMM COLL-STANTON CAMPUS,NEWARK,DE
+0637,DELAWARE TECH & COMM COLL-TERRY CAMPUS,DOVER,DE
+0632,GOLDEY BEACOM COLLEGE,WILMINGTON,DE
+0634,UNIVERSITY OF DELAWARE,NEWARK,DE
+0636,WESLEY COLLEGE,DOVER,DE
+0635,WILMINGTON COLLEGE,NEW CASTLE,DE
+0718,BARRY UNIVERSITY,MIAMI,FL
+0720,BETHUNE-COOKMAN COLLEGE,DAYTONA BEACH,FL
+0769,BREVARD COMMUNITY COLLEGE,COCOA,FL
+0768,BROWARD COMMUNITY COLLEGE,FORT LAUDERDALE,FL
+0708,BROWARD COMMUNITY COLLEGE-HOLLYWOOD,FORT LAUDERDALE,FL
+0699,BROWARD COMMUNITY COLLEGE-POMPANO BEACH,FORT LAUDERDALE,FL
+0742,CENTRAL FLORIDA BIBLE COLLEGE,ORLANDO,FL
+0721,CENTRAL FLORIDA COMMUNITY COLLEGE,OCALA,FL
+0722,CHIPOLA JUNIOR COLLEGE,MARIANNA,FL
+0715,CLEARWATER CHRISTIAN COLLEGE,CLEARWATER,FL
+0706,COLLEGE OF BOCA RATON,BOCA RATON,FL
+0763,COLLEGE OF THE PALM BEACHES,WEST PALM BEACH,FL
+0723,DAYTONA BEACH COMMUNITY COLLEGE,DAYTONA BEACH,FL
+0731,ECKERD COLLEGE,ST PETERSBURG,FL
+0727,EDISON COMMUNITY COLLEGE,FORT MYERS,FL
+0724,EDWARD WATERS COLLEGE,JACKSONVILLE,FL
+0725,EMBRY-RIDDLE AERONAUTICAL UNIV,DAYTONA BEACH,FL
+0772,FLAGLER COLLEGE,ST AUGUSTINE,FL
+0726,FLORIDA A&M UNIVERSITY,TALLAHASSEE,FL
+0729,FLORIDA ATLANTIC UNIVERSITY,BOCA RATON,FL
+0712,FLORIDA BAPTIST COLLEGE,LAKELAND,FL
+0702,FLORIDA BIBLE COLLEGE,KISSIMMEE,FL
+0728,FLORIDA COLLEGE,TEMPLE TERRACE,FL
+0717,FLORIDA COMMUNITY COLLEGE,JACKSONVILLE,FL
+0795,FLORIDA GULF COAST UNIVERSITY,FT MYERS,FL
+0700,FLORIDA INSTITUTE OF TECH-JENSEN BEACH,JENSEN BEACH,FL
+0716,FLORIDA INSTITUTE OF TECH-MELBOURNE,MELBOURNE,FL
+0776,FLORIDA INTERNATIONAL UNIVERSITY,MIAMI,FL
+0747,FLORIDA KEYS COMMUNITY COLLEGE,KEY WEST,FL
+0730,FLORIDA MEMORIAL COLLEGE,MIAMI,FL
+0732,FLORIDA SOUTHERN COLLEGE,LAKELAND,FL
+0734,FLORIDA STATE UNIVERSITY,TALLAHASSEE,FL
+0775,FORT LAUDERDALE COLLEGE,FT LAUDERDALE,FL
+0738,GULF COAST COMMUNITY COLLEGE,PANAMA CITY,FL
+0703,HERITAGE COLLEGE,ORLANDO,FL
+0704,HILLSBOROUGH COMMUNITY COLLEGE,TAMPA,FL
+0774,INDIAN RIVER COMMUNITY COLLEGE,FORT PIERCE,FL
+0701,INTERNATIONAL FINE ARTS COLLEGE,MIAMI,FL
+0740,JACKSONVILLE UNIVERSITY,JACKSONVILLE,FL
+0765,JONES COLLEGE,JACKSONVILLE,FL
+0766,LAKE CITY COMMUNITY COLLEGE,LAKE CITY,FL
+0737,LAKE-SUMTER COMMUNITY COLLEGE,LEESBURG,FL
+0751,LANDMARK BAPTIST COLLEGE,HAINES CITY,FL
+0761,LYNN UNIVERSITY,BOCA RATON,FL
+0741,MANATEE COMMUNITY COLLEGE,BRADENTON,FL
+0749,MIAMI CHRISTIAN COLLEGE,MIAMI,FL
+0770,MIAMI-DADE COMMUNITY COLLEGE,MIAMI,FL
+0750,NEW COLL OF THE UNIV OF SOUTH FLORIDA,SARASOTA,FL
+0743,NORTH FLORIDA JUNIOR COLLEGE,MADISON,FL
+0764,NOVA SOUTHEASTERN UNIVERSITY,FT LAUDERDALE,FL
+0745,OKALOOSA-WALTON JUNIOR COLLEGE,NICEVILLE,FL
+0767,ORLANDO COLLEGE,ORLANDO,FL
+0739,PALM BEACH ATLANTIC COLLEGE,WEST PALM BEACH,FL
+0744,PALM BEACH COMMUNITY COLLEGE,LAKE WORTH,FL
+3021,PASCO-HERNANDO COMMUNITY COLLEGE,DADE CITY,FL
+0707,PENSACOLA CHRISTIAN COLLEGE,PENSACOLA,FL
+0746,PENSACOLA JUNIOR COLLEGE,PENSACOLA,FL
+0757,POLK COMMUNITY COLLEGE,WINTER HAVEN,FL
+4981,PROSPECT HALL COLLEGE,HOLLYWOOD,FL
+0748,ROLLINS COLLEGE,WINTER PARK,FL
+0778,SANTA FE COMMUNITY COLLEGE,GAINESVILLE,FL
+0787,SANTA ROSA CHRISTIAN COLLEGE,MILTON,FL
+0779,SEMINOLE COMMUNITY COLLEGE,SANFORD,FL
+0759,SOUTH FLORIDA COMMUNITY COLLEGE,AVON PARK,FL
+0754,SOUTHEASTERN COLL OF ASSEMBLIES OF GOD,LAKELAND,FL
+0679,SPURGEON BAPTIST BIBLE COLLEGE,MULBERRY,FL
+0753,ST JOHN'S RIVER COMMUNITY COLLEGE,PALATKA,FL
+0755,ST LEO COLLEGE,SAINT LEO,FL
+0791,ST PETERSBURG JR COLLEGE-CLEARWATER,ST PETERSBURG,FL
+0752,ST PETERSBURG JR COLLEGE-ST PETERSBURG,ST PETERSBURG,FL
+0793,ST PETERSBURG JR COLLEGE-TARPON SPRINGS,ST PETERSBURG,FL
+0719,ST THOMAS UNIVERSITY,MIAMI,FL
+0756,STETSON UNIVERSITY,DE LAND,FL
+0714,SUWANNEE-HAMILTON AREA VOC-TECH CENTER,LIVE OAK,FL
+0713,TALLAHASSEE COMMUNITY COLLEGE,TALLAHASSEE,FL
+5147,TAMPA COLLEGE,TAMPA,FL
+4876,TRINITY COLLEGE,DUNEDIN,FL
+0735,UNIVERSITY OF CENTRAL FLORIDA,ORLANDO,FL
+0758,UNIVERSITY OF FLORIDA,GAINESVILLE,FL
+0760,UNIVERSITY OF MIAMI,CORAL GABLES,FL
+0711,UNIVERSITY OF NORTH FLORIDA,JACKSONVILLE,FL
+0733,UNIVERSITY OF SOUTH FLORIDA,TAMPA,FL
+0762,UNIVERSITY OF TAMPA,TAMPA,FL
+0771,UNIVERSITY OF WEST FLORIDA,PENSACOLA,FL
+0736,VALENCIA COMMUNITY COLLEGE,ORLANDO,FL
+0777,WARNER SOUTHERN COLLEGE,LAKE WALES,FL
+0773,WEBBER COLLEGE,BABSON PARK,FL
+0781,ABRAHAM BALDWIN AGRICULTURAL COLLEGE,TIFTON,GA
+0780,AGNES SCOTT COLLEGE,DECATUR,GA
+0782,ALBANY STATE COLLEGE,ALBANY,GA
+0788,AMERICAN COLL FOR APPLIED ARTS,ALTANTA,GA
+0784,ANDREW COLLEGE,CUTHBERT,GA
+0786,ARMSTRONG ATLANTIC STATE UNIVERSITY,SAVANNAH,GA
+0789,ART INSTITUTE OF ATLANTA,ATLANTA,GA
+0785,ATLANTA CHRISTIAN COLLEGE,EAST POINT,GA
+0829,ATLANTA COLLEGE OF ART,ATLANTA,GA
+0831,ATLANTA METROPOLITAN COLLEGE,ATLANTA,GA
+0790,ATLANTA UNIVERSITY,ATLANTA,GA
+0796,AUGUSTA STATE UNIVERSITY,AUGUSTA,GA
+0797,BAINBRIDGE JUNIOR COLLEGE,BAINBRIDGE,GA
+0709,BAPTIST UNIVERSITY OF AMERICA,DECATUR,GA
+0710,BAUDER FASHION COLLEGE,ATLANTA,GA
+0798,BERRY COLLEGE,MOUNT BERRY,GA
+0800,BRENAU UNIVERSITY,GAINESVILLE,GA
+0801,BREWTON-PARKER COLLEGE,MT VERNON,GA
+0802,BRUNSWICK JUNIOR COLLEGE,BRUNSWICK,GA
+0804,CLARK ATLANTA UNIVERSITY,ATLANTA,GA
+0803,CLAYTON STATE COLLEGE,MORROW,GA
+0807,COLUMBUS COLLEGE,COLUMBUS,GA
+3951,COVENANT COLLEGE,LOOKOUT MOUNTAIN,GA
+0809,DALTON JUNIOR COLLEGE,DALTON,GA
+0783,DARTON COLLEGE,ALBANY,GA
+0813,EAST GEORGIA COLLEGE,SWAINSBORO,GA
+0808,EMMANUEL COLLEGE,FRANKLIN SPRINGS,GA
+0810,EMORY UNIVERSITY,ATLANTA,GA
+0811,FLOYD COLLEGE,ROME,GA
+0814,FORT VALLEY STATE COLLEGE,FORT VALLEY,GA
+0815,GAINESVILLE COLLEGE,GAINESVILLE,GA
+0821,GEORGIA BAPTIST COLLEGE,FAIRBURN,GA
+0828,GEORGIA COLLEGE AT MILLEDGEVILLE,MILLEDGEVILLE,GA
+0818,GEORGIA INSTITUTE OF TECHNOLOGY,ATLANTA,GA
+0822,GEORGIA MILITARY COLLEGE,MILLEDGEVILLE,GA
+0806,GEORGIA PERIMETER COLLEGE,CLARKSTON,GA
+0830,GEORGIA SOUTHERN UNIVERSITY,STATESBORO,GA
+0824,GEORGIA SOUTHWESTERN COLLEGE,AMERICUS,GA
+0826,GEORGIA STATE UNIVERSITY,ATLANTA,GA
+0832,GORDON JUNIOR COLLEGE,BARNESVILLE,GA
+0835,INSTITUTE OF PAPER SCIENCE & TECHNOLOGY,ATLANTA,GA
+0833,KENNESAW STATE UNIVERSITY,MARIETTA,GA
+0834,LAGRANGE COLLEGE,LAGRANGE,GA
+0837,MACON JUNIOR COLLEGE,MACON,GA
+0817,MASSEY BUSINESS COLLEGE,ATLANTA,GA
+0836,MEDICAL COLLEGE OF GEORGIA,AUGUSTA,GA
+0864,MERCER UNIVERSITY SCHOOL OF PHARMACY,ATLANTA,GA
+0846,MERCER UNIVERSITY-ATLANTA,ATLANTA,GA
+0838,MERCER UNIVERSITY-MACON,MACON,GA
+0840,MIDDLE GEORGIA COLLEGE,COCHRAN,GA
+0792,MOREHOUSE COLLEGE,ATLANTA,GA
+0844,MORRIS BROWN COLLEGE,ATLANTA,GA
+0848,NORTH GEORGIA COLLEGE,DAHLONEGA,GA
+0850,OGLETHORPE UNIVERSITY,ATLANTA,GA
+0851,OXFORD COLLEGE OF EMORY UNIVERSITY,OXFORD,GA
+0852,PAINE COLLEGE,AUGUSTA,GA
+0853,PIEDMONT COLLEGE,DEMOREST,GA
+0856,REINHARDT COLLEGE,WALESKA,GA
+0855,"SAVANNAH COLLEGE OF ART & DESIGN, THE",SAVANNAH,GA
+0858,SAVANNAH STATE UNIVERSITY,SAVANNAH,GA
+0854,SAVANNAH TECHNICAL INSTITUTE,SAVANNAH,GA
+0860,SHORTER COLLEGE,ROME,GA
+0862,SOUTH GEORGIA COLLEGE,DOUGLAS,GA
+0865,SOUTHERN COLLEGE OF TECHNOLOGY,MARIETTA,GA
+0794,SPELMAN COLLEGE,ATLANTA,GA
+0878,STATE UNIVERSITY OF WEST GEORGIA,CARROLLTON,GA
+0866,TIFT COLLEGE,FORSYTH,GA
+0868,TOCCOA FALLS COLLEGE,TOCCOA FALLS,GA
+0870,TRUETT-MCCONNELL COLLEGE,CLEVELAND,GA
+0872,UNIVERSITY OF GEORGIA,ATHENS,GA
+0874,VALDOSTA STATE COLLEGE,VALDOSTA,GA
+0875,WAYCROSS COLLEGE,WAYCROSS,GA
+0876,WESLEYAN COLLEGE,MACON,GA
+0880,YOUNG HARRIS COLLEGE,YOUNG HARRIS,GA
+0899,BRIGHAM YOUNG UNIVERSITY-HAWAII CAMPUS,LAIE,HI
+0898,CHAMINADE UNIVERSITY OF HONOLULU,HONOLULU,HI
+0904,HAWAII COMMUNITY COLLEGE,HILO,HI
+0903,HAWAII LOA COLLEGE,KANEOHE,HI
+0900,HAWAII PACIFIC COLLEGE,HONOLULU,HI
+0905,HONOLULU COMMUNITY COLLEGE,HONOLULU,HI
+0911,KANSAI GAIDAI HAWAII COLLEGE,HONOLULU,HI
+0906,KAPIOLANI COMMUNITY COLLEGE,HONOLULU,HI
+0907,KAUAI COMMUNITY COLLEGE,LIHUE,HI
+0908,LEEWARD COMMUNITY COLLEGE,PEARL CITY,HI
+0909,MAUI COMMUNITY COLLEGE,KAHULUI,HI
+0902,UNIVERSITY OF HAWAII AT MANOA,HONOLULU,HI
+0901,UNIVERSITY OF HAWAII-HILO,HILO,HI
+0910,WINDWARD COMMUNITY COLLEGE,KANEOHE,HI
+1273,ALLEN MEMORIAL HOSP LUTHERAN SCH/NURSING,WATERLOO,IA
+1267,AMERICAN INSTITUTE OF BUSINESS,DES MOINES,IA
+5184,AMERICAN INSTITUTE OF COMMERCE,BETTENDORF,IA
+1376,BIOMED PROJECT AT UNI/PRICE LAB SCHOOL,CEDAR FALLS,IA
+1276,BRIAR CLIFF COLLEGE,SIOUX CITY,IA
+1278,BUENA VISTA UNIVERSITY,STORM LAKE,IA
+1284,CENTRAL COLLEGE,PELLA,IA
+1290,CLARKE COLLEGE,DUBUQUE,IA
+1292,CLINTON COMMUNITY COLLEGE,CLINTON,IA
+1294,COE COLLEGE,CEDAR RAPIDS,IA
+1296,CORNELL COLLEGE,MOUNT VERNON,IA
+4071,DALLAS THEOLOGICAL SEMINARY,DALLAS,IA
+1335,DENISON JOB CORPS,DENISON,IA
+1272,DES MOINES AREA COMM COLL-ANKENY,ANKENY,IA
+1274,DES MOINES AREA COMM COLL-BOONE,BOONE,IA
+1277,DES MOINES AREA COMM COLL-CARROLL,CARROLL,IA
+1281,DES MOINES AREA COMM COLL-NEWTON,NEWTON,IA
+1279,DES MOINES AREA COMM COLL-URBAN,DES MOINES,IA
+1286,DIVINE WORD COLLEGE,EPWORTH,IA
+1301,DORDT COLLEGE,SIOUX CENTER,IA
+1302,DRAKE UNIVERSITY,DES MOINES,IA
+1306,ELLSWORTH COMMUNITY COLLEGE,IOWA FALLS,IA
+1311,EMMAUS BIBLE COLLEGE,DUBUQUE,IA
+1315,FAITH BAPTIST BIBLE COLLEGE,ANKENY,IA
+1313,FINLEY HOSPITAL SCHOOL OF NURSING,DUBUQUE,IA
+1314,GRACELAND COLLEGE,LAMONI,IA
+1316,GRAND VIEW COLLEGE,DES MOINES,IA
+1318,GRINNELL COLLEGE,GRINNELL,IA
+1303,HAMILTON COLLEGE-CEDAR RAPIDS,CEDAR RAPIDS,IA
+1305,HAMILTON COLLEGE-DES MOINES,DES MOINES,IA
+1321,HAMILTON COLLEGE-MASON CITY,MASON CITY,IA
+1309,HAWKEYE COMMUNITY COLLEGE,WATERLOO,IA
+1282,INDIAN HILLS COMM COLL-CENTERVILLE,CENTERVILLE,IA
+1269,INDIAN HILLS COMM COLL-OTTUMWA,OTTUMWA,IA
+1304,IOWA CENTRAL COMM COLL-EAGLE GROVE,EAGLE GROVE,IA
+1312,IOWA CENTRAL COMM COLL-FORT DODGE,FORT DODGE,IA
+1368,IOWA CENTRAL COMM COLL-WEBSTER CTY,WEBSTER CITY,IA
+1308,IOWA LAKES COMM COLL-EMMETSBURG,EMMETSBURG,IA
+1310,IOWA LAKES COMM COLL-ESTHERVILLE,ESTHERVILLE,IA
+1319,IOWA LUTHERAN SCHOOL OF NURSING,DES MOINES,IA
+1323,IOWA METHODIST SCHOOL OF NURSING,DES MOINES,IA
+1289,IOWA METHODIST SCHOOL/RADIOLOGIC TECH,DES MOINES,IA
+1320,IOWA STATE UNIVERSITY,AMES,IA
+1324,IOWA WESLEYAN COLLEGE,MOUNT PLEASANT,IA
+1288,IOWA WESTERN COMM COLL-CLARINDA,CLARINDA,IA
+1327,IOWA WESTERN COMM COLL-CO BLUFFS,COUNCIL BLUFFS,IA
+1325,J E M H SCHOOL OF NURSING,COUNCIL BLUFFS,IA
+1261,J E M H SCHOOL OF RADIOLOGIC TECHNOLOGY,COUNCIL BLUFFS,IA
+1275,KIRKWOOD COMMUNITY COLLEGE,CEDAR RAPIDS,IA
+1328,LORAS COLLEGE,DUBUQUE,IA
+1330,LUTHER COLLEGE,DECORAH,IA
+1317,MAHARISHI UNIVERSITY OF MANAGEMENT,FAIRFIELD,IA
+1367,MARIAN HEALTH CTR SCH/RADIOLOGIC TECH,SIOUX CITY,IA
+1332,MARSHALLTOWN COMMUNITY COLLEGE,MARSHALLTOWN,IA
+1334,MARYCREST INTERNATIONAL UNIVERSITY,DAVENPORT,IA
+1347,MERCY COLLEGE OF HEALTH SCIENCES,DES MOINES,IA
+1339,MERCY-ST LUKE'S HOSP SCH/RADIOLOGIC TECH,CEDAR RAPIDS,IA
+1337,MIDWESTERN COLLEGE,DENISON,IA
+1338,MORNINGSIDE COLLEGE,SIOUX CITY,IA
+1340,MOUNT MERCY COLLEGE,CEDAR RAPIDS,IA
+1342,MOUNT ST CLARE COLLEGE,CLINTON,IA
+1344,MUSCATINE COMMUNITY COLLEGE,MUSCATINE,IA
+1379,NATIONAL EDUC CENTER-NIT CAMPUS-IOWA,WEST DES MOINES,IA
+1336,NORTH IOWA AREA COMMUNITY COLLEGE,MASON CITY,IA
+1265,NORTHEAST IOWA COMM COLLEGE-CALMAR,CALMAR,IA
+1365,NORTHEAST IOWA COMM COLLEGE-PEOSTA,PEOSTA,IA
+1375,NORTHWEST IOWA COMMUNITY COLLEGE,SHELDON,IA
+1346,NORTHWESTERN COLLEGE,ORANGE CITY,IA
+1366,OPEN BIBLE COLLEGE,DES MOINES,IA
+1348,OTTUMWA HEIGHTS COLLEGE,OTTUMWA,IA
+1349,PALMER COLLEGE OF CHIROPRACTIC,DAVENPORT,IA
+1351,PALMER JUNIOR COLLEGE,DAVENPORT,IA
+1350,PARSONS COLLEGE,FAIRFIELD,IA
+1264,SCHOITZ MEDICAL CTR SCH/RADIOLOGIC TECH,WATERLOO,IA
+1307,SCOTT COMMUNITY COLLEGE,BETTENDORF,IA
+1354,SIMPSON COLLEGE,INDIANOLA,IA
+1353,SIOUX EMPIRE COLLEGE,HAWARDEN,IA
+1280,SOUTHEASTERN COMM COLL-BURLINGTON,WEST BURLINGTON,IA
+1326,SOUTHEASTERN COMM COLL-KEOKUK,KEOKUK,IA
+1298,SOUTHWESTERN COMMUNITY COLLEGE,CRESTON,IA
+1352,ST AMBROSE UNIVERSITY,DAVENPORT,IA
+1380,ST ANTHONY SCHOOL OF NURSING,CARROLL,IA
+1381,ST FRANCIS SCHOOL OF RADIOLOGIC TECH,WATERLOO,IA
+1270,ST JOSEPH MERCY HOSP SCH/RADIOLOGIC TECH,MASON CITY,IA
+1357,ST JOSEPH MERCY SCHOOL OF NURSING,SIOUX CITY,IA
+1377,ST LUKE'S MEDICAL CENTER SCH OF NURSING,SIOUX CITY,IA
+1355,ST LUKE'S SCHOOL OF NURSING,CEDAR RAPIDS,IA
+1358,UNIVERSITY OF DUBUQUE,DUBUQUE,IA
+1356,UNIVERSITY OF IOWA,IOWA CITY,IA
+1322,UNIVERSITY OF NORTHERN IOWA,CEDAR FALLS,IA
+1329,UNIVERSITY OF OSTEOPATHIC MEDICINE,DES MOINES,IA
+1360,UPPER IOWA UNIVERSITY,FAYETTE,IA
+1361,VENNARD COLLEGE,UNIVERSITY PARK,IA
+1362,WALDORF COLLEGE,FOREST CITY,IA
+1364,WARTBURG COLLEGE,WAVERLY,IA
+1369,WESTERN IOWA TECH COMM COLLEGE,SIOUX CITY,IA
+1370,WESTMAR UNIVERSITY,LEMARS,IA
+1372,WILLIAM PENN COLLEGE,OSKALOOSA,IA
+0914,BOISE STATE UNIVERSITY,BOISE,ID
+0916,"COLLEGE OF IDAHO, THE",CALDWELL,ID
+0915,COLLEGE OF SOUTHERN IDAHO,TWIN FALLS,ID
+0919,EAST IDAHO VOCATIONAL TECHNICAL SCHOOL,IDAHO FALLS,ID
+0918,IDAHO STATE UNIVERSITY,POCATELLO,ID
+0920,LEWIS-CLARK STATE COLLEGE,LEWISTON,ID
+0922,NORTH IDAHO COLLEGE,COEUR D'ALENE,ID
+0924,NORTHWEST NAZARENE COLLEGE,NAMPA,ID
+0926,RICKS COLLEGE,REXBURG,ID
+0928,UNIVERSITY OF IDAHO,MOSCOW,ID
+0941,AERO-SPACE INSTITUTE,CHICAGO,IL
+0944,AMERICAN CONSERVATORY OF MUSIC,CHICAGO,IL
+0999,AMERICAN ISLAMIC COLLEGE,CHICAGO,IL
+0946,AUGUSTANA COLLEGE,ROCK ISLAND,IL
+0949,AUGUSTANA HOSPITAL SCHOOL OF NURSING,CHICAGO,IL
+0950,AURORA UNIVERSITY,AURORA,IL
+0952,BARAT COLLEGE,LAKE FOREST,IL
+0954,BELLEVILLE AREA COLLEGE,BELLEVILLE,IL
+1132,BENEDICTINE UNIVERSITY,LISLE,IL
+1082,BLACK HAWK COLLEGE,MOLINE,IL
+1083,BLACK HAWK COLLEGE-EAST CAMPUS,KEWANEE,IL
+0958,BLACKBURN COLLEGE,CARLINVILLE,IL
+0956,BLESSING HOSPITAL SCHOOL OF NURSING,QUINCY,IL
+0965,BLOOMINGTON-NORMAL SCH OF RADIOGRAPHY,NORMAL,IL
+0960,BRADLEY UNIVERSITY,PEORIA,IL
+1170,CARL SANDBURG COLLEGE,GALESBURG,IL
+0997,CENTRAL ILLINOIS BAPTIST BIBLE INST,LINCOLN,IL
+0934,CHICAGO CITY-WIDE COLLEGE,CHICAGO,IL
+4711,CHICAGO COLLEGE OF COMMERCE,CHICAGO,IL
+0935,CHICAGO NATIONAL COLLEGE OF NAPRAPATHY,CHICAGO,IL
+0992,CHICAGO STATE UNIVERSITY,CHICAGO,IL
+1103,CHICAGO URBAN SKILLS INSTITUTE,CHICAGO,IL
+1003,COLLEGE OF DU PAGE,GLEN ELLYN,IL
+1005,COLLEGE OF LAKE COUNTY,GRAYSLAKE,IL
+1000,COLLEGE OF ST FRANCIS,JOLIET,IL
+1002,COLUMBIA COLLEGE,CHICAGO,IL
+1004,CONCORDIA UNIVERSITY,RIVER FOREST,IL
+1010,DANVILLE AREA COMMUNITY COLLEGE,DANVILLE,IL
+1012,DE PAUL UNIVERSITY,CHICAGO,IL
+1023,DEVRY INSTITUTE OF TECHNOLOGY,ADDISON,IL
+1014,DEVRY INSTITUTE OF TECHNOLOGY1,EVANSTON,IL
+0962,DEVRY INSTITUTE OF TECHNOLOGY3,EVANSTON,IL
+0147,DEVRY INSTITUTE OF TECHNOLOGY4,EVANSTON,IL
+0194,DEVRY INSTITUTE OF TECHNOLOGY5,EVANSTON,IL
+3309,DEVRY INSTITUTE OF TECHNOLOGY7,EVANSTON,IL
+2274,DEVRY INSTITUTE OF TECHNOLOGY8,EVANSTON,IL
+2558,DEVRY INSTITUTE OF TECHNOLOGY9,EVANSTON,IL
+1021,DEVRY INSTITUTE OF TECHNOLOGY-CHICAGO,CHICAGO,IL
+1126,DOMINICAN UNIVERSITY,RIVER FOREST,IL
+1105,DR WILLIAM M SCHOLL COLL OF PODIATRIC MD,CHICAGO,IL
+1016,EASTERN ILLINOIS UNIVERSITY,CHARLESTON,IL
+0984,EAST-WEST UNIVERSITY,CHICAGO,IL
+1018,ELGIN COMMUNITY COLLEGE,ELGIN,IL
+1020,ELMHURST COLLEGE,ELMHURST,IL
+1022,EUREKA COLLEGE,EUREKA,IL
+1013,EVANGELICAL SCHOOL OF NURSING,OAKLAWN,IL
+0998,FELLOWSHIP BAPTIST COLLEGE,EAST PEORIA,IL
+0995,FRONTIER COMMUNITY COLLEGE,FAIRFIELD,IL
+1030,GEORGE WILLIAMS COLLEGE,DOWNERS GROVE,IL
+1031,GOVERNORS STATE UNIVERSITY,UNIVERSITY PARK,IL
+1171,GRAHAM HOSPITAL SCHOOL OF NURSING,CANTON,IL
+1032,GREENVILLE COLLEGE,GREENVILLE,IL
+0975,HAROLD WASHINGTON COLLEGE,CHICAGO,IL
+0970,HARRY S TRUMAN COLLEGE,CHICAGO,IL
+0976,HEARTLAND COMMUNITY COLLEGE,BLOOMINGTON,IL
+1045,HEBREW THEOLOGICAL COLLEGE,SKOKIE,IL
+1029,HIGHLAND COMMUNITY COLLEGE,FREEPORT,IL
+1035,ILLINOIS CENTRAL COLLEGE,EAST PEORIA,IL
+1034,ILLINOIS COLLEGE,JACKSONVILLE,IL
+1036,ILLINOIS COLLEGE OF OPTOMETRY,CHICAGO,IL
+1040,ILLINOIS INSTITUTE OF TECHNOLOGY,CHICAGO,IL
+1039,ILLINOIS MASONIC MED CTR SCH OF NURS,CHICAGO,IL
+1042,ILLINOIS STATE UNIVERSITY,NORMAL,IL
+1111,ILLINOIS TECHNICAL COLLEGE,CHICAGO,IL
+1056,ILLINOIS VALLEY COMMUNITY COLLEGE,OGLESBY,IL
+1044,ILLINOIS WESLEYAN UNIVERSITY,BLOOMINGTON,IL
+1046,INTERNATIONAL ACADEMY OF MERCH & DSGN,CHICAGO,IL
+1017,JOHN A LOGAN COLLEGE,CARTERVILLE,IL
+1019,JOHN WOOD COMMUNITY COLLEGE,QUINCY,IL
+1048,JOLIET JUNIOR COLLEGE,JOLIET,IL
+1101,JUDSON COLLEGE,ELGIN,IL
+1053,KANKAKEE COMMUNITY COLLEGE,KANKAKEE,IL
+0964,KASKASKIA COLLEGE,CENTRALIA,IL
+1050,KENDALL COLLEGE,EVANSTON,IL
+0978,KENNEDY KING COLLEGE,CHICAGO,IL
+1051,KISHWAUKEE COLLEGE,MALTA,IL
+1052,KNOX COLLEGE,GALESBURG,IL
+1063,LA SALLE EXTENSION UNIVERSITY,WILMETTE,IL
+1054,LAKE FOREST COLLEGE,LAKE FOREST,IL
+1055,LAKE LAND COLLEGE,MATTOON,IL
+1059,LAKEVIEW MED CTR SCH OF RADIOLOGIC TECH,DANVILLE,IL
+1057,LAKEVIEW MEDICAL CENTER SCH OF NURSING,DANVILLE,IL
+1038,LEWIS AND CLARK COMMUNITY COLLEGE,GODFREY,IL
+1058,LEWIS UNIVERSITY,ROMEOVILLE,IL
+1060,LINCOLN CHRISTIAN COLLEGE,LINCOLN,IL
+1062,LINCOLN COLLEGE,LINCOLN,IL
+1061,LINCOLN LAND COMMUNITY COLLEGE,SPRINGFIELD,IL
+1067,LINCOLN TRAIL COLLEGE,ROBINSON,IL
+1064,LOYOLA UNIVERSITY OF CHICAGO,CHICAGO,IL
+1072,LUTHERAN GENERAL/DEACONESS HOSP SCH/NRSG,PARK RIDGE,IL
+1065,LUTHERAN HOSPITAL SCHOOL FOR NURSES,MOLINE,IL
+1066,LUTHERAN SCHOOL OF THEOLOGY AT CHICAGO,CHICAGO,IL
+1073,MACCORMAC JUNIOR COLLEGE,CHICAGO,IL
+1068,MACMURRAY COLLEGE,JACKSONVILLE,IL
+0972,MALCOLM X COLLEGE,CHICAGO,IL
+1070,MALLINCKRODT COLLEGE,WILMETTE,IL
+1075,MCHENRY COUNTY COLLEGE,CRYSTAL LAKE,IL
+1076,MCKENDREE COLLEGE,LEBANON,IL
+1081,MENNONITE COLLEGE OF NURSING,BLOOMINGTON,IL
+1078,"METHODIST MED CTR OF ILL, SCH OF NURSING",PEORIA,IL
+1086,MIDWEST COLLEGE OF ENGINEERING,LOMBARD,IL
+1080,MILLIKIN UNIVERSITY,DECATUR,IL
+1085,MOLINE PUBLIC HOSP SCHOOL OF NURSING,MOLINE,IL
+1084,MONMOUTH COLLEGE,MONMOUTH,IL
+1027,MONTAY COLLEGE,CHICAGO,IL
+1088,MOODY BIBLE INSTITUTE,CHICAGO,IL
+1087,MORAINE VALLEY COMMUNITY COLLEGE,PALOS HILLS,IL
+0987,MORRISON INSTITUTE OF TECHNOLOGY,MORRISON,IL
+1090,MORTON COLLEGE,CICERO,IL
+0945,MT VERNON CHRISTIAN COLLEGE,MT VERNON,IL
+1092,MUNDELEIN COLLEGE,CHICAGO,IL
+1095,NATIONAL COLLEGE OF CHIROPRACTIC,LOMBARD,IL
+1094,NATIONAL-LOUIS UNIVERSITY,EVANSTON,IL
+1131,NILES COLLEGE-LOYOLA UNIVERSITY,CHICAGO,IL
+1096,NORTH CENTRAL COLLEGE,NAPERVILLE,IL
+1098,NORTH PARK UNIVERSITY,CHICAGO,IL
+0993,NORTHEASTERN ILLINOIS UNIVERSITY,CHICAGO,IL
+1102,NORTHERN ILLINOIS UNIVERSITY,DE KALB,IL
+1153,NORTHWESTERN U PROGRAMS IN NURSING EDUC,CHICAGO,IL
+1097,NORTHWESTERN U TRAFFIC INSTITUTE,EVANSTON,IL
+1106,NORTHWESTERN UNIVERSITY,EVANSTON,IL
+1104,OAKTON COMMUNITY COLLEGE,DES PLAINES,IL
+0974,OLIVE-HARVEY COLLEGE,CHICAGO,IL
+1112,OLIVET NAZARENE COLLEGE,KANKAKEE,IL
+1113,OLNEY CENTRAL COLLEGE,OLNEY,IL
+1110,OREGON BIBLE COLLEGE,OREGON,IL
+1015,PARKLAND COLLEGE,CHAMPAIGN,IL
+1114,PARKS COLLEGE OF ST LOUIS UNIVERSITY,CAHOKIA,IL
+0959,PRAIRIE STATE COLLEGE,CHICAGO HEIGHTS,IL
+1118,PRINCIPIA COLLEGE,ELSAH,IL
+1120,QUINCY UNIVERSITY,QUINCY,IL
+1119,"RAVENSWOOD HOSP MED CTR, SCH OF NURSING",CHICAGO,IL
+1129,RAY COLLEGE OF DESIGN,CHICAGO,IL
+1091,REND LAKE COLLEGE,INA,IL
+0971,RICHARD J DALEY COLLEGE,CHICAGO,IL
+1008,RICHLAND COMMUNITY COLLEGE,DECATUR,IL
+1121,ROBERT MORRIS COLLEGE,CHICAGO,IL
+1128,ROCK ISLAND FRANCISCAN HOSPITAL,ROCK ISLAND,IL
+1123,ROCK VALLEY COLLEGE,ROCKFORD,IL
+1122,ROCKFORD COLLEGE,ROCKFORD,IL
+1125,ROCKFORD MEMORIAL SCHOOL OF NURSING,ROCKFORD,IL
+1124,ROOSEVELT UNIVERSITY,CHICAGO,IL
+1117,RUSH UNIVERSITY,CHICAGO,IL
+1172,S I U SCHOOL OF DENTAL MEDICINE,ALTON,IL
+1127,SAUK VALLEY COMMUNITY COLLEGE,DIXON,IL
+1136,SCHOOL OF THE ART INST OF CHICAGO,CHICAGO,IL
+1173,SHAWNEE COLLEGE,ULLIN,IL
+1142,SHIMER COLLEGE,WAUKEGAN,IL
+1149,SOUTH CHICAGO COMM HOSP SCH OF NURSING,CHICAGO,IL
+1168,SOUTH CHICAGO HOSP SCH RADIOLOGIC TECH,CHICAGO,IL
+1148,SOUTH SUBURBAN COLLEGE,SOUTH HOLLAND,IL
+1161,SOUTHEASTERN ILLINOIS COLLEGE,HARRISBURG,IL
+1144,SOUTHERN ILLINOIS UNIV-CARBONDALE,CARBONDALE,IL
+1147,SOUTHERN ILLINOIS UNIV-EDWARDSVILLE,EDWARDSVILLE,IL
+1130,SPERTUS COLLEGE OF JUDAICA,CHICAGO,IL
+0961,SPOON RIVER COLLEGE,CANTON,IL
+1146,SPRINGFIELD COLLEGE IN ILLINOIS,SPRINGFIELD,IL
+1166,ST ANNE'S HOSPITAL SCHOOL OF NURSING,CHICAGO,IL
+0968,ST AUGUSTINE COLLEGE,CHICAGO,IL
+1143,ST FRANCIS HOSPITAL SCHOOL OF NURSING,EVANSTON,IL
+1138,ST FRANCIS HOSPITAL SCHOOL OF NURSING,PEORIA,IL
+1089,ST FRANCIS MED CTR-SCH RADIOLOGIC TECH,PEORIA,IL
+1077,ST JOHNS HOSP SCHOOL-RESPIRATORY THERAPY,SPRINGFIELD,IL
+1167,ST JOHN'S HOSPITAL SCHOOL OF NURSING,SPRINGFIELD,IL
+1135,ST JOSEPH HOSPITAL SCHOOL OF NURSING,JOLIET,IL
+1133,ST MARY OF NAZARETH SCH OF NURSING,CHICAGO,IL
+1134,ST XAVIER COLLEGE,CHICAGO,IL
+1140,STATE COMMUNITY COLLEGE,EAST ST LOUIS,IL
+1074,SWEDISH-AMERICAN SCH OF RADIOLOGIC TECH,ROCKFORD,IL
+1165,TRINITY CHRISTIAN COLLEGE,PALOS HEIGHTS,IL
+1157,TRINITY EVANGELICAL DIVINITY SCHOOL,DEERFIELD,IL
+1150,TRINITY INTERNATIONAL UNIVERSITY,DEERFIELD,IL
+1151,TRITON COLLEGE,RIVER GROVE,IL
+1152,UNIVERSITY OF CHICAGO,CHICAGO,IL
+1155,UNIVERSITY OF ILLINOIS AT CHICAGO,CHICAGO,IL
+1109,UNIVERSITY OF ILLINOIS HLTH SCIENCES CTR,CHICAGO,IL
+1137,UNIVERSITY OF ILLINOIS-SPRINGFIELD,SPRINGFIELD,IL
+1154,UNIVERSITY OF ILLINOIS-URBANA CHAMPAIGN,URBANA,IL
+1156,VANDERCOOK COLLEGE OF MUSIC,CHICAGO,IL
+1162,WABASH VALLEY COLLEGE,MT CARMEL,IL
+1159,WAUBONSEE COMMUNITY COLLEGE,SUGAR GROVE,IL
+5032,WEST SUBURBAN COLLEGE OF NURSING,OAK PARK,IL
+1158,WESTERN ILLINOIS UNIVERSITY,MACOMB,IL
+1160,WHEATON COLLEGE,WHEATON,IL
+0980,WILBUR WRIGHT COLLEGE,CHICAGO,IL
+1163,WILLIAM RAINEY HARPER COLLEGE,PALATINE,IL
+1169,WORSHAM COLLEGE OF MORTUARY SCIENCE,SKOKIE,IL
+1175,ANCILLA COLLEGE,DONALDSON,IN
+1174,ANDERSON UNIVERSITY,ANDERSON,IN
+1176,BALL STATE UNIVERSITY,MUNCIE,IN
+1178,BETHEL COLLEGE,MISHAWAKA,IN
+1180,BUTLER UNIVERSITY,INDIANAPOLIS,IN
+1245,CALUMET COLLEGE,WHITING,IN
+1246,CONCORDIA THEOLOGICAL SEMINARY,FORT WAYNE,IN
+1181,DAVENPORT COLLEGE,GRANGER,IN
+1183,DEACONESS HOSPITAL SCHOOL OF NURSING,EVANSVILLE,IN
+1184,DEPAUW UNIVERSITY,GREENCASTLE,IN
+1186,EARLHAM COLLEGE,RICHMOND,IN
+1190,FAIRHAVEN COLLEGE,CHESTERTON,IN
+1194,FRANKLIN COLLEGE,FRANKLIN,IN
+1196,GOSHEN COLLEGE,GOSHEN,IN
+1198,GRACE COLLEGE,WINONA LAKE,IN
+1197,GRACE THEOLOGICAL SEMINARY,WINONA LAKE,IN
+1200,HANOVER COLLEGE,HANOVER,IN
+1203,HOLY CROSS JUNIOR COLLEGE,NOTRE DAME,IN
+1202,HUNTINGTON COLLEGE,HUNTINGTON,IN
+1199,HYLES-ANDERSON COLLEGE,CROWN POINT,IN
+1208,INDIANA INSTITUTE OF TECHNOLOGY,FORT WAYNE,IN
+1206,INDIANA STATE UNIVERSITY,TERRE HAUTE,IN
+1219,INDIANA UNIVERSITY AT KOKOMO,KOKOMO,IN
+1225,INDIANA UNIVERSITY AT SOUTH BEND,SOUTH BEND,IN
+1216,INDIANA UNIVERSITY EAST,RICHMOND,IN
+1218,INDIANA UNIVERSITY NORTHWEST,GARY,IN
+1229,INDIANA UNIVERSITY SOUTHEAST,NEW ALBANY,IN
+1210,INDIANA UNIVERSITY-BLOOMINGTON,BLOOMINGTON,IN
+1217,INDIANA UNIV-PURDUE UNIV AT FORT WAYNE,FORT WAYNE,IN
+1214,INDIANA UNIV-PURDUE UNIV AT INDIANAPOLIS,INDIANAPOLIS,IN
+1226,INDIANA WESLEYAN UNIVERSITY,MARION,IN
+1223,IVY TECH STATE COLLEGE-CENTRAL INDIANA,INDIANAPOLIS,IN
+1209,IVY TECH STATE COLLEGE-KOKOMO,KOKOMO,IN
+1211,IVY TECH STATE COLLEGE-LAFAYETTE,LAFAYETTE,IN
+1215,IVY TECH STATE COLLEGE-NORTHEAST,FORT WAYNE,IN
+1213,IVY TECH STATE COLLEGE-SOUTHWEST,EVANSVILLE,IN
+1236,LOCKYEAR COLLEGE,EVANSVILLE,IN
+1239,LUTHERAN COLL OF HEALTH PROFESSIONS,FORT WAYNE,IN
+1222,MANCHESTER COLLEGE,NORTH MANCHESTER,IN
+1224,MARIAN COLLEGE,INDIANAPOLIS,IN
+1227,MARTIN UNIVERSITY,INDIANAPOLIS,IN
+1205,MID-AMERICA COLLEGE OF FUNERAL SERVICE,JEFFERSONVILLE,IN
+1228,OAKLAND CITY COLLEGE,OAKLAND CITY,IN
+1237,PARKVIEW-METHODIST SCHOOL OF NURSING,FORT WAYNE,IN
+1230,PURDUE UNIVERSITY,WEST LAFAYETTE,IN
+1233,PURDUE UNIVERSITY-CALUMET,HAMMOND,IN
+1231,PURDUE UNIVERSITY-NORTH CENTRAL CAMPUS,WESTVILLE,IN
+1232,ROSE-HULMAN INSTITUTE OF TECH,TERRE HAUTE,IN
+1241,ST ELIZABETH SCHOOL OF NURSING,LAFAYETTE,IN
+1238,ST FRANCIS COLLEGE,FORT WAYNE,IN
+1240,ST JOSEPH'S COLLEGE,RENSSELAER,IN
+1242,ST MARY-OF-THE-WOODS COLLEGE,ST MARY-OF-THE-WOODS,IN
+1244,ST MARY'S COLLEGE,NOTRE DAME,IN
+1192,SUMMIT CHRISTIAN COLLEGE,FORT WAYNE,IN
+1248,TAYLOR UNIVERSITY,UPLAND,IN
+1250,TRI-STATE UNIVERSITY,ANGOLA,IN
+1188,UNIVERSITY OF EVANSVILLE,EVANSVILLE,IN
+1204,UNIVERSITY OF INDIANAPOLIS,INDIANAPOLIS,IN
+1252,UNIVERSITY OF NOTRE DAME,NOTRE DAME,IN
+1207,UNIVERSITY OF SOUTHERN INDIANA,EVANSVILLE,IN
+1256,VALPARAISO UNIVERSITY,VALPARAISO,IN
+1258,VINCENNES UNIVERSITY,VINCENNES,IN
+1260,WABASH COLLEGE,CRAWFORDSVILLE,IN
+1424,ALLEN COUNTY COMMUNITY COLLEGE,IOLA,KS
+1383,ASBURY HOSPITAL SCHOOL OF NURSING,SALINA,KS
+1386,BAKER UNIVERSITY,BALDWIN CITY,KS
+1411,BARCLAY COLLEGE,HAVILAND,KS
+1387,BARTON COUNTY COMMUNITY COLLEGE,GREAT BEND,KS
+1444,BENEDICTINE COLLEGE,ATCHISON,KS
+1388,BETHANY COLLEGE,LINDSBORG,KS
+1390,BETHEL COLLEGE,NORTH NEWTON,KS
+4757,"BROWN MACKIE COLLEGE, THE",SALINA,KS
+1406,BUTLER COUNTY COMMUNITY COLLEGE,EL DORADO,KS
+1394,CENTRAL COLLEGE,MCPHERSON,KS
+1401,CLOUD COUNTY COMMUNITY COLLEGE,CONCORDIA,KS
+1398,COFFEYVILLE COMMUNITY COLLEGE,COFFEYVILLE,KS
+1399,COLBY COMMUNITY COLLEGE,COLBY,KS
+1384,COWLEY COUNTY COMMUNITY COLLEGE,ARKANSAS CITY,KS
+1402,DODGE CITY COMMUNITY COLLEGE,DODGE CITY,KS
+1404,DONNELLY COLLEGE,KANSAS CITY,KS
+1430,EMPORIA STATE UNIVERSITY,EMPORIA,KS
+1408,FORT HAYS STATE UNIVERSITY,HAYS,KS
+1410,FORT SCOTT COMMUNITY COLLEGE,FORT SCOTT,KS
+1412,FRIENDS UNIVERSITY,WICHITA,KS
+1414,GARDEN CITY COMMUNITY COLLEGE,GARDEN CITY,KS
+1415,HASKELL INDIAN JUNIOR COLLEGE,LAWRENCE,KS
+1416,HESSTON COLLEGE,HESSTON,KS
+1418,HIGHLAND COMMUNITY COLLEGE,HIGHLAND,KS
+1420,HUTCHINSON COMMUNITY COLLEGE,HUTCHINSON,KS
+1422,INDEPENDENCE COMMUNITY COLLEGE,INDEPENDENCE,KS
+1425,JOHNSON COUNTY COMMUNITY COLLEGE,OVERLAND PARK,KS
+1478,KANSAS CITY COLLEGE & BIBLE SCHOOL,OVERLAND PARK,KS
+1426,KANSAS CITY KANSAS COMMUNITY COLLEGE,KANSAS CITY,KS
+1428,KANSAS STATE UNIVERSITY,MANHATTAN,KS
+1453,KANSAS TECHNICAL INSTITUTE,SALINA,KS
+1434,KANSAS WESLEYAN UNIVERSITY,SALINA,KS
+1448,LABETTE COMMUNITY COLLEGE,PARSONS,KS
+1436,MANHATTAN CHRISTIAN COLLEGE,MANHATTAN,KS
+1438,MARYMOUNT COLLEGE,SALINA,KS
+1440,MCPHERSON COLLEGE,MCPHERSON,KS
+1445,MID-AMERICA NAZARENE COLLEGE,OLATHE,KS
+1396,NEOSHO COUNTY COMMUNITY COLLEGE,CHANUTE,KS
+1451,NORTH CENTRAL KANSAS AREA VOC TECH,BELOIT,KS
+1446,OTTAWA UNIVERSITY,OTTAWA,KS
+1449,PITTSBURG STATE UNIVERSITY,PITTSBURG,KS
+1450,PRATT COMMUNITY COLLEGE & AREA VOC SCH,PRATT,KS
+1455,SAINT MARY'S COLLEGE,SAINT MARYS,KS
+1439,SEWARD COUNTY COMMUNITY COLLEGE,LIBERAL,KS
+1464,SOUTHWESTERN COLLEGE,WINFIELD,KS
+1397,ST FRANCIS SCHOOL OF RADIOLOGY,WICHITA,KS
+1456,ST JOHN'S COLLEGE,WINFIELD,KS
+1458,ST MARY COLLEGE,LEAVENWORTH,KS
+1460,ST MARY OF THE PLAINS COLLEGE,DODGE CITY,KS
+1466,STERLING COLLEGE,STERLING,KS
+1467,STORMONT-VAIL SCHOOL OF NURSING,TOPEKA,KS
+1468,TABOR COLLEGE,HILLSBORO,KS
+1470,UNIVERSITY OF KANSAS,LAWRENCE,KS
+1474,WASHBURN UNIVERSITY,TOPEKA,KS
+1462,"WAY COLLEGE OF EMPORIA, THE",EMPORIA,KS
+1441,WESLEY MEDICAL CTR-SCH RADIOLOGIC TECH,WICHITA,KS
+1472,WICHITA STATE UNIVERSITY,WICHITA,KS
+1502,ALICE LLOYD COLLEGE,PIPPA PASSES,KY
+1486,ASBURY COLLEGE,WILMORE,KY
+1564,ASHLAND COMMUNITY COLLEGE,ASHLAND,KY
+1490,BELLARMINE COLLEGE,LOUISVILLE,KY
+1492,BEREA COLLEGE,BEREA,KY
+1498,BRESCIA COLLEGE,OWENSBORO,KY
+1500,CAMPBELLSVILLE COLLEGE,CAMPBELLSVILLE,KY
+1506,CENTRE COLLEGE,DANVILLE,KY
+1510,CUMBERLAND COLLEGE,WILLIAMSBURG,KY
+1512,EASTERN KENTUCKY UNIVERSITY,RICHMOND,KY
+1513,ELIZABETHTOWN COMMUNITY COLLEGE,ELIZABETHTOWN,KY
+1514,GEORGETOWN COLLEGE,GEORGETOWN,KY
+1572,HAZARD COMMUNITY COLLEGE,HAZARD,KY
+1557,HENDERSON COMMUNITY COLLEGE,HENDERSON,KY
+1569,HOPKINSVILLE COMMUNITY COLLEGE,HOPKINSVILLE,KY
+1571,JEFFERSON COMM COLLEGE-DOWNTOWN CAMPUS,LOUISVILLE,KY
+1495,JEFFERSON COMM COLLEGE-SOUTHWEST CAMPUS,LOUISVILLE,KY
+1523,KENTUCKY CHRISTIAN COLLEGE,GRAYSON,KY
+1516,KENTUCKY STATE UNIVERSITY,FRANKFORT,KY
+1518,KENTUCKY WESLEYAN COLLEGE,OWENSBORO,KY
+1520,LEES COLLEGE,JACKSON,KY
+1544,LEXINGTON BAPTIST COLLEGE,LEXINGTON,KY
+1531,LEXINGTON COMMUNITY COLLEGE,LEXINGTON,KY
+1525,LEXINGTON THEOLOGICAL SEMINARY,LEXINGTON,KY
+1522,LINDSEY WILSON COLLEGE,COLUMBIA,KY
+1533,MADISONVILLE COMMUNITY COLLEGE,MADISONVILLE,KY
+1527,MAYSVILLE COMMUNITY COLLEGE,MAYSVILLE,KY
+1524,MID-CONTINENT BAPTIST BIBLE COLLEGE,MAYFIELD,KY
+1528,MIDWAY COLLEGE,MIDWAY,KY
+1530,MOREHEAD STATE UNIVERSITY,MOREHEAD,KY
+1532,MURRAY STATE UNIVERSITY,MURRAY,KY
+1567,NATIONAL EDUC CENTER-KENTUCKY COLL TECH,LOUISVILLE,KY
+1566,NORTHERN KENTUCKY UNIVERSITY,HIGHLAND HEIGHTS,KY
+1561,OWENSBORO COMMUNITY COLLEGE,OWENSBORO,KY
+1538,PADUCAH COMMUNITY COLLEGE,PADUCAH,KY
+1540,PIKEVILLE COLLEGE,PIKEVILLE,KY
+1541,PRESTONSBURG COMMUNITY COLLEGE,PRESTONSBURG,KY
+1570,SOMERSET COMMUNITY COLLEGE,SOMERSET,KY
+1555,SOUTHEAST COMMUNITY COLLEGE,CUMBERLAND,KY
+1507,SOUTHERN BAPTIST THEOLOGICAL SEMINARY,LOUISVILLE,KY
+1505,SOUTHERN OHIO COLL-NORTHERN KENTUCKY CMP,FLORENCE,KY
+1534,SPALDING UNIVERSITY,LOUISVILLE,KY
+1542,ST CATHERINE COLLEGE,SAINT CATHARINE,KY
+1548,SUE BENNETT COLLEGE,LONDON,KY
+5535,SULLIVAN COLLEGE,LOUISVILLE,KY
+1560,THOMAS MORE COLLEGE,CRESTVIEW HILLS,KY
+1550,TRANSYLVANIA UNIVERSITY,LEXINGTON,KY
+1552,UNION COLLEGE,BARBOURVILLE,KY
+1554,UNIVERSITY OF KENTUCKY,LEXINGTON,KY
+1568,UNIVERSITY OF KENTUCKY CTR AT FORT KNOX,FT KNOX,KY
+1556,UNIVERSITY OF LOUISVILLE,LOUISVILLE,KY
+1497,WATTERSON COLLEGE,LOUISVILLE,KY
+1562,WESTERN KENTUCKY UNIVERSITY,BOWLING GREEN,KY
+1619,BATON ROUGE GEN HOSP SCHOOL OF NURSING,BATON ROUGE,LA
+1625,BATON ROUGE GEN HOSP-SCH OF RAD TECH,BATON ROUGE,LA
+1599,BATON ROUGE VOCATIONAL-TECHNICAL INST,BATON ROUGE,LA
+1573,BOSSIER PARISH COMMUNITY COLLEGE,BOSSIER CITY,LA
+1576,CENTENARY COLLEGE OF LOUISIANA,SHREVEPORT,LA
+1579,CHARITY HOSPITAL SCHOOL OF NURSING,NEW ORLEANS,LA
+1617,CHARITY HOSPITAL SURG TECH PROG,NEW ORLEANS,LA
+1577,DELGADO COMMUNITY COLLEGE-CITY PARK CAMP,NEW ORLEANS,LA
+1629,DELGADO COMMUNITY COLLEGE-WEST BANK CAMP,NEW ORLEANS,LA
+1578,DILLARD UNIVERSITY,NEW ORLEANS,LA
+1582,GRAMBLING STATE UNIVERSITY,GRAMBLING,LA
+1626,JIMMY SWAGGART BIBLE COLLEGE,BATON ROUGE,LA
+1586,LOUISIANA COLLEGE,PINEVILLE,LA
+1590,LOUISIANA STATE UNIV & A & M COLL,BATON ROUGE,LA
+1589,LOUISIANA STATE UNIV AT ALEXANDRIA,ALEXANDRIA,LA
+1601,LOUISIANA STATE UNIV SCH OF DENTISTRY,NEW ORLEANS,LA
+1620,LOUISIANA STATE UNIV SCH OF MEDICINE,SHREVEPORT,LA
+1587,LOUISIANA STATE UNIVERSITY AT EUNICE,EUNICE,LA
+1593,LOUISIANA STATE UNIVERSITY-SHREVEPORT,SHREVEPORT,LA
+1624,LOUISIANA STATE U-SCH OF ALLIED HEALTH,NEW ORLEANS,LA
+1632,LOUISIANA STATE U-SCH OF ALLIED HEALTH,SHREVEPORT,LA
+1588,LOUISIANA TECH UNIVERSITY,RUSTON,LA
+1592,LOYOLA UNIVERSITY,NEW ORLEANS,LA
+1594,MCNEESE STATE UNIVERSITY,LAKE CHARLES,LA
+1596,NEW ORLEANS BAPTIST THEOLOGICAL SEMINARY,NEW ORLEANS,LA
+1616,NEWCOMB COLLEGE OF TULANE UNIVERSITY,NEW ORLEANS,LA
+1580,NICHOLLS STATE UNIVERSITY,THIBODAUX,LA
+1598,NORTHEAST LOUISIANA UNIVERSITY,MONROE,LA
+1575,NORTHWESTERN STATE UNIV OF LA-LEESVILLE,LEESVILLE,LA
+1600,NORTHWESTERN STATE UNIV OF LOUISIANA,NATCHITOCHES,LA
+1584,OCHSNER SCHOOL OF ALLIED HEALTH SCIENCE,NEW ORLEANS,LA
+1574,OUR LADY OF HOLY CROSS COLLEGE,NEW ORLEANS,LA
+1621,OUR LADY OF THE LAKE SCHOOL OF NURSING,BATON ROUGE,LA
+1628,RAPIDES GEN HOSP SCHOOL/RADIOLOGIC TECH,ALEXANDRIA,LA
+1623,SHREVEPORT JOB CORP CENTER,SHREVEPORT,LA
+1608,SOUTHEASTERN LOUISIANA UNIVERSITY,HAMMOND,LA
+1610,SOUTHERN UNIVERSITY,BATON ROUGE,LA
+1611,SOUTHERN UNIVERSITY AT NEW ORLEANS,NEW ORLEANS,LA
+1613,SOUTHERN UNIVERSITY-SHREVEPORT,SHREVEPORT,LA
+1605,ST BERNARD PARISH COMMUNITY COLLEGE,CHALMETTE,LA
+1604,ST JOSEPH SEMINARY COLLEGE,ST BENEDICT,LA
+1615,TOURO INFIRMARY SCHOOL OF NURSING,NEW ORLEANS,LA
+1614,TULANE UNIVERSITY OF LOUISIANA,NEW ORLEANS,LA
+1612,UNIV OF SOUTHWESTERN LOUISIANA,LAFAYETTE,LA
+1591,UNIVERSITY OF NEW ORLEANS,NEW ORLEANS,LA
+1607,WILLIAM CAREY COLLEGE SCHOOL OF NURSING,NEW ORLEANS,LA
+1618,XAVIER UNIVERSITY,NEW ORLEANS,LA
+1772,AMERICAN INTERNATIONAL COLLEGE,SPRINGFIELD,MA
+1774,AMHERST COLLEGE,AMHERST,MA
+1769,ANNA MARIA COLLEGE FOR MEN AND WOMEN,PAXTON,MA
+1782,ASSUMPTION COLLEGE,WORCESTER,MA
+1784,ATLANTIC UNION COLLEGE,SOUTH LANCASTER,MA
+1780,BABSON COLLEGE,WELLESLEY,MA
+2680,BAPTIST BIBLE COLLEGE EAST,BOSTON,MA
+1785,BAY PATH JUNIOR COLLEGE,LONGMEADOW,MA
+1791,BAY STATE JUNIOR COLLEGE,BOSTON,MA
+1849,BECKER JUNIOR COLLEGE-LEICESTER,LEICESTER,MA
+1787,BECKER JUNIOR COLLEGE-WORCESTER,WORCESTER,MA
+1783,BENTLEY COLLEGE,WALTHAM,MA
+1789,BERKLEE COLLEGE OF MUSIC,BOSTON,MA
+1786,BERKSHIRE CHRISTIAN COLLEGE,LENOX,MA
+1792,BERKSHIRE COMMUNITY COLLEGE,PITTSFIELD,MA
+1781,BOSTON ARCHITECTURAL CENTER,BOSTON,MA
+1788,BOSTON COLLEGE,CHESTNUT HILL,MA
+1790,BOSTON CONSERVATORY OF MUSIC,BOSTON,MA
+1794,BOSTON UNIVERSITY,BOSTON,MA
+1800,BRADFORD COLLEGE,BRADFORD,MA
+1802,BRANDEIS UNIVERSITY,WALTHAM,MA
+1900,BRIDGEWATER STATE COLLEGE,BRIDGEWATER,MA
+1803,BRISTOL COMMUNITY COLLEGE,FALL RIVER,MA
+1799,BUNKER HILL COMMUNITY COLLEGE,BOSTON,MA
+1804,BURDETT SCHOOL,BOSTON,MA
+1805,CAMBRIDGE COLLEGE,CAMBRIDGE,MA
+1807,CAPE COD COMMUNITY COLLEGE,WEST BARNSTABLE,MA
+1940,CENTRAL NEW ENGLAND COLLEGE,WORCESTER,MA
+1809,CHAMBERLAYNE JUNIOR COLLEGE,BOSTON,MA
+1808,CLARK UNIVERSITY,WORCESTER,MA
+1810,COLLEGE OF THE HOLY CROSS,WORCESTER,MA
+1814,CURRY COLLEGE,MILTON,MA
+1816,DEAN COLLEGE,FRANKLIN,MA
+1818,EASTERN NAZARENE COLLEGE,WOLLASTON,MA
+1812,ELMS COLLEGE,CHICOPEE,MA
+1820,EMERSON COLLEGE,BOSTON,MA
+1822,EMMANUEL COLLEGE,BOSTON,MA
+1824,ENDICOTT COLLEGE,BEVERLY,MA
+1825,ESSEX AGRIC & TECH INSTITUTE,HATHORNE,MA
+1828,FISHER COLLEGE,BOSTON,MA
+1902,FITCHBURG STATE COLLEGE,FITCHBURG,MA
+1904,FRAMINGHAM STATE COLLEGE,FRAMINGHAM,MA
+1834,FRANKLIN INSTITUTE OF BOSTON,BOSTON,MA
+1838,GORDON COLLEGE,WENHAM,MA
+1839,GREENFIELD COMMUNITY COLLEGE,GREENFIELD,MA
+1842,HAMPSHIRE COLLEGE,AMHERST,MA
+1845,HARVARD UNIVERSITY,CAMBRIDGE,MA
+1840,HARVARD-RADCLIFFE,CAMBRIDGE,MA
+1841,HEBREW COLLEGE,BROOKLINE,MA
+1843,HELLENIC COLLEGE AND HOLY CROSS,BROOKLINE,MA
+1844,HOLYOKE COMMUNITY COLLEGE,HOLYOKE,MA
+1806,KATHARINE GIBBS SCHOOL,BOSTON,MA
+1848,LASELL COLLEGE,NEWTON,MA
+1850,LESLEY COLLEGE,CAMBRIDGE,MA
+1861,MASSACHUSETTS BAY COMMUNITY COLLEGE,WELLESLEY HILLS,MA
+1860,MASSACHUSETTS COLL PHARMACY/ALLIED HLTH,BOSTON,MA
+1846,MASSACHUSETTS COLLEGE OF ART,BOSTON,MA
+1858,MASSACHUSETTS INSTITUTE OF TECHNOLOGY,CAMBRIDGE,MA
+1856,MASSACHUSETTS MARITIME ACADEMY,BUZZARDS BAY,MA
+1862,MASSASOIT COMMUNITY COLLEGE,BROCKTON,MA
+1864,MERRIMACK COLLEGE,NORTH ANDOVER,MA
+1865,MIDDLESEX COMMUNITY COLLEGE,BEDFORD,MA
+1847,MONTSERRAT SCHOOL OF VISUAL ART,BEVERLY,MA
+1866,MOUNT HOLYOKE COLLEGE,SOUTH HADLEY,MA
+1868,MOUNT IDA COLLEGE,NEWTON,MA
+1867,MOUNT WACHUSETT COMMUNITY COLLEGE,GARDNER,MA
+1872,NEW ENGLAND CONSERVATORY OF MUSIC,BOSTON,MA
+1873,NEW ENGLAND INSTITUTE,BOSTON,MA
+1871,NEWBURY COLLEGE,BROOKLINE,MA
+1878,NICHOLS COLLEGE,DUDLEY,MA
+1908,NORTH ADAMS STATE COLLEGE,NORTH ADAMS,MA
+1875,NORTH SHORE COMMUNITY COLLEGE,DANVERS,MA
+1880,NORTHEASTERN UNIVERSITY,BOSTON,MA
+1877,NORTHERN ESSEX COMMUNITY COLLEGE,HAVERHILL,MA
+1882,PINE MANOR COLLEGE,CHESTNUT HILL,MA
+1888,QUINCY COLLEGE,QUINCY,MA
+1885,QUINSIGAMOND COMMUNITY COLLEGE,WORCESTER,MA
+1886,REGIS COLLEGE,WESTON,MA
+1887,ROXBURY COMMUNITY COLLEGE,ROXBURY,MA
+1910,SALEM STATE COLLEGE,SALEM,MA
+1895,SCHOOL OF THE MUSEUM OF FINE ARTS,BOSTON,MA
+1892,SIMMONS COLLEGE,BOSTON,MA
+1893,SIMON'S ROCK OF BARD COLLEGE,GREAT BARRINGTON,MA
+1894,SMITH COLLEGE,NORTHAMPTON,MA
+1896,SPRINGFIELD COLLEGE,SPRINGFIELD,MA
+1898,SPRINGFIELD TECHNICAL COMMUNITY COLLEGE,SPRINGFIELD,MA
+1890,ST HYACINTH COLLEGE & SEMINARY,GRANBY,MA
+1889,ST VINCENT HOSPITAL SCHOOL OF NURSING,WORCESTER,MA
+1918,STONEHILL COLLEGE,NORTH EASTON,MA
+1920,SUFFOLK UNIVERSITY,BOSTON,MA
+1922,TUFTS UNIVERSITY,MEDFORD,MA
+1924,UNIVERSITY OF MASSACHUSETTS-AMHERST,AMHERST,MA
+1925,UNIVERSITY OF MASSACHUSETTS-BOSTON,BOSTON,MA
+1906,UNIVERSITY OF MASSACHUSETTS-DARTMOUTH,NORTH DARTMOUTH,MA
+1854,UNIVERSITY OF MASSACHUSETTS-LOWELL,LOWELL,MA
+1926,WELLESLEY COLLEGE,WELLESLEY,MA
+1928,WENTWORTH INSTITUTE OF TECHNOLOGY,BOSTON,MA
+1930,WESTERN NEW ENGLAND COLLEGE,SPRINGFIELD,MA
+1912,WESTFIELD STATE COLLEGE,WESTFIELD,MA
+1932,WHEATON COLLEGE,NORTON,MA
+1934,WHEELOCK COLLEGE,BOSTON,MA
+1936,WILLIAMS COLLEGE,WILLIAMSTOWN,MA
+1942,WORCESTER POLYTECHNIC INSTITUTE,WORCESTER,MA
+1914,WORCESTER STATE COLLEGE,WORCESTER,MA
+1679,ALLEGANY COMMUNITY COLLEGE,CUMBERLAND,MD
+1678,ANNE ARUNDEL COMMUNITY COLLEGE,ARNOLD,MD
+1693,ANTIETAM BIBLE COLLEGE,HAGERSTOWN,MD
+1682,BALTIMORE CITY COMMUNITY COLLEGE,BALTIMORE,MD
+1712,BOWIE STATE COLLEGE,BOWIE,MD
+1683,CAPITOL INSTITUTE OF TECHNOLOGY,LAUREL,MD
+1680,CARROLL COMMUNITY COLLEGE,WESTMINSTER,MD
+1684,CATONSVILLE COMMUNITY COLLEGE,CATONSVILLE,MD
+1681,CECIL COMMUNITY COLLEGE,NORTH EAST,MD
+1685,CHARLES COUNTY COMMUNITY COLLEGE,LA PLATA,MD
+1691,CHESAPEAKE COLLEGE,WYE MILLS,MD
+1727,COLLEGE OF NOTRE DAME OF MARYLAND,BALTIMORE,MD
+1687,COLUMBIA UNION COLLEGE,TAKOMA PARK,MD
+1688,COPPIN STATE COLLEGE,BALTIMORE,MD
+1686,DUNDALK COMMUNITY COLLEGE,BALTIMORE,MD
+1706,EASTERN CHRISTIAN COLLEGE,BEL AIR,MD
+1692,ESSEX COMMUNITY COLLEGE,BALTIMORE,MD
+1694,FREDERICK COMMUNITY COLLEGE,FREDERICK,MD
+1714,FROSTBURG STATE COLLEGE,FROSTBURG,MD
+1695,GARRETT COMMUNITY COLLEGE,MCHENRY,MD
+1696,GOUCHER COLLEGE,BALTIMORE,MD
+1698,HAGERSTOWN JUNIOR COLLEGE,HAGERSTOWN,MD
+1700,HARFORD COMMUNITY COLLEGE,BEL AIR,MD
+1702,HOOD COLLEGE,FREDERICK,MD
+1703,HOWARD COMMUNITY COLLEGE,COLUMBIA,MD
+1704,JOHNS HOPKINS UNIVERSITY,BALTIMORE,MD
+1708,LOYOLA COLLEGE,BALTIMORE,MD
+5089,MARYLAND GENERAL HOSP SCHOOL OF NURSING,BALTIMORE,MD
+1710,MARYLAND INSTITUTE COLLEGE OF ART,BALTIMORE,MD
+1725,MONTGOMERY COLLEGE-GERMANTOWN CAMPUS,GERMANTOWN,MD
+1723,MONTGOMERY COLLEGE-ROCKVILLE CAMPUS,ROCKVILLE,MD
+1720,MONTGOMERY COLLEGE-TAKOMA PARK CAMPUS,TAKOMA PARK,MD
+1722,MORGAN STATE UNIVERSITY,BALTIMORE,MD
+1726,MOUNT SAINT MARYS COLLEGE,EMMITSBURG,MD
+1730,PEABODY INST OF JOHNS HOPKINS UNIVERSITY,BALTIMORE,MD
+1731,PRINCE GEORGES COMMUNITY COLLEGE,LARGO,MD
+1716,SALISBURY STATE COLLEGE,SALISBURY,MD
+1732,ST JOHN'S COLLEGE,ANNAPOLIS,MD
+1735,ST JOSEPH HOSPITAL SCHOOL OF NURSING,BALTIMORE,MD
+1736,ST MARYS COLLEGE OF MARYLAND,ST MARYS CITY,MD
+1718,TOWSON STATE UNIVERSITY,TOWSON,MD
+1742,U S NAVAL ACADEMY,ANNAPOLIS,MD
+1749,UNION MEMORIAL HOSPITAL-SCH OF NURSING,BALTIMORE,MD
+1746,UNIV OF MARYLAND-COLLEGE PARK,COLLEGE PARK,MD
+1752,UNIV OF MARYLAND-EASTERN SHORE,PRINCESS ANNE,MD
+1750,UNIVERSITY OF BALTIMORE,BALTIMORE,MD
+1757,UNIVERSITY OF MARYLAND UNIV COLLEGE,COLLEGE PARK,MD
+1751,UNIVERSITY OF MARYLAND-BALTIMORE COUNTY,BALTIMORE,MD
+1753,VILLA JULIE COLLEGE,STEVENSON,MD
+1755,WASHINGTON BIBLE COLLEGE,LANHAM,MD
+1754,WASHINGTON COLLEGE,CHESTERTOWN,MD
+1756,WESTERN MARYLAND COLLEGE,WESTMINSTER,MD
+1760,WOR-WIC TECH COMMUNITY COLLEGE,SALISBURY,MD
+1667,BANGOR COMM COLL/UNIV OF MAINE AT ORONO,BANGOR,ME
+1633,BANGOR THEOLOGICAL SEMINARY,BANGOR,ME
+1634,BATES COLLEGE,LEWISTON,ME
+1636,BOWDOIN COLLEGE,BRUNSWICK,ME
+1635,CASCO BAY COLLEGE,PORTLAND,ME
+1639,CENTRAL MAINE TECHNICAL COLLEGE,AUBURN,ME
+1638,COLBY COLLEGE,WATERVILLE,ME
+1637,COLLEGE OF THE ATLANTIC,BAR HARBOR,ME
+1646,HUSSON COLLEGE,BANGOR,ME
+1648,MAINE MARITIME ACADEMY,CASTINE,ME
+1650,NORTHERN MAINE VOCATIONAL TECH INST,PRESQUE,ME
+1652,PORTLAND SCHOOL OF ART,PORTLAND,ME
+1651,SOUTHERN MAINE VOCATIONAL TECH INST,SOUTH PORTLAND,ME
+1659,ST JOSEPH'S COLLEGE,NORTH WINDHAM,ME
+1663,THOMAS COLLEGE,WATERVILLE,ME
+1665,UNITY COLLEGE,UNITY,ME
+1641,UNIVERSITY OF MAINE AT AUGUSTA,AUGUSTA,ME
+1640,UNIVERSITY OF MAINE AT FARMINGTON,FARMINGTON,ME
+1642,UNIVERSITY OF MAINE AT FORT KENT,FORT KENT,ME
+1666,UNIVERSITY OF MAINE AT MACHIAS,MACHIAS,ME
+1664,UNIVERSITY OF MAINE AT ORONO,ORONO,ME
+1630,UNIVERSITY OF MAINE AT PRESQUE ISLE,PRESQUE ISLE,ME
+1660,UNIVERSITY OF NEW ENGLAND,BIDDEFORD,ME
+1644,UNIVERSITY OF SOUTHERN MAINE,GORHAM,ME
+1668,WESTBROOK COLLEGE,PORTLAND,ME
+1954,ADRIAN COLLEGE,ADRIAN,MI
+1956,ALBION COLLEGE,ALBION,MI
+1958,ALMA COLLEGE,ALMA,MI
+1960,ALPENA COMMUNITY COLLEGE,ALPENA,MI
+1992,ANDREWS UNIVERSITY,BERRIEN SPRINGS,MI
+1962,AQUINAS COLLEGE,GRAND RAPIDS,MI
+5011,BAKER COLLEGE,FLINT,MI
+2071,BAY DE NOC COMMUNITY COLLEGE,ESCANABA,MI
+2079,BRONSON HOSPITAL SCH RADIOLOGIC TECH,KALAMAZOO,MI
+5013,BRONSON HOSPITAL SCHOOL OF NURSING,KALAMAZOO,MI
+1968,CALVIN COLLEGE,GRAND RAPIDS,MI
+1989,CENTER FOR CREATIVE STUDIES-COLL OF ART,DETROIT,MI
+1972,CENTRAL MICHIGAN UNIVERSITY,MT PLEASANT,MI
+1996,CHARLES STEWART MOTT COMMUNITY COLLEGE,FLINT,MI
+1974,CLEARY COLLEGE,YPSILANTI,MI
+1977,CONCORDIA COLLEGE,ANN ARBOR,MI
+2002,CORNERSTONE COLLEGE,GRAND RAPIDS,MI
+1981,DAVENPORT COLL OF BUSINESS-GRAND RAPIDS,GRAND RAPIDS,MI
+4773,DAVENPORT COLL OF BUSINESS-KALAMAZOO,KALAMAZOO,MI
+1984,DAVENPORT COLL OF BUSINESS-LANSING,LANSING,MI
+1966,DELTA COLLEGE,UNIVERSITY CENTER,MI
+1987,DETROIT COLLEGE OF BUSINESS,DEARBORN,MI
+1944,DETROIT ENGINEERING INSTITUTE,DETROIT,MI
+1990,EASTERN MICHIGAN UNIVERSITY,YPSILANTI,MI
+1994,FERRIS STATE UNIVERSITY,BIG RAPIDS,MI
+1999,GLEN OAKS COMMUNITY COLLEGE,CENTREVILLE,MI
+2000,GOGEBIC COMMUNITY COLLEGE,IRONWOOD,MI
+2001,GRACE BIBLE COLLEGE,GRAND RAPIDS,MI
+2004,GRAND RAPIDS COMMUNITY COLLEGE,GRAND RAPIDS,MI
+2005,GRAND VALLEY STATE UNIVERSITY,ALLENDALE,MI
+2009,GREAT LAKES BIBLE COLLEGE,LANSING,MI
+2015,GREAT LAKES JUNIOR COLLEGE,SAGINAW,MI
+1978,GREAT LAKES MARITIME ACADEMY,TRAVERSE CITY,MI
+2006,HENRY FORD COMMUNITY COLLEGE,DEARBORN,MI
+2008,HIGHLAND PARK COMMUNITY COLLEGE,HIGHLAND PARK,MI
+2010,HILLSDALE COLLEGE,HILLSDALE,MI
+2012,HOPE COLLEGE,HOLLAND,MI
+2013,HURLEY MEDICAL CENTER SCHOOL OF NURSING,FLINT,MI
+1997,JACKSON BUSINESS INSTITUTE,JACKSON,MI
+2014,JACKSON COMMUNITY COLLEGE,JACKSON,MI
+2011,JORDAN COLLEGE,CEDAR SPRINGS,MI
+2018,KALAMAZOO COLLEGE,KALAMAZOO,MI
+2016,KALAMAZOO VALLEY COMMUNITY COLLEGE,KALAMAZOO,MI
+1964,KELLOGG COMMUNITY COLLEGE,BATTLE CREEK,MI
+1983,KENDALL SCHOOL OF DESIGN,GRAND RAPIDS,MI
+1998,KETTERING UNIVERSITY,FLINT,MI
+2017,KIRTLAND COMMUNITY COLLEGE,ROSCOMMON,MI
+1976,LAKE MICHIGAN COLLEGE,BENTON HARBOR,MI
+2031,LAKE SUPERIOR STATE COLLEGE,SAULT STE MARIE,MI
+2019,LANSING COMMUNITY COLLEGE,LANSING,MI
+2020,LAWRENCE INSTITUTE OF TECHNOLOGY,SOUTHFIELD,MI
+2003,LEWIS COLLEGE OF BUSINESS,DETROIT,MI
+2054,MACOMB COMMUNITY COLLEGE,WARREN,MI
+2022,MADONNA COLLEGE,LIVONIA,MI
+1955,MARYGLADE SEMINARY/THE UNIV OF DETROIT,DETROIT,MI
+2024,MARYGROVE COLLEGE,DETROIT,MI
+2027,MERCY CENTRAL SCHOOL OF NURSING,GRAND RAPIDS,MI
+2026,MERCY COLLEGE OF DETROIT,DETROIT,MI
+2072,MICHIGAN CHRISTIAN COLLEGE,ROCHESTER,MI
+2032,MICHIGAN STATE UNIVERSITY,EAST LANSING,MI
+1953,MICHIGAN TECHNICAL INSTITUTE,ANN ARBOR,MI
+2030,MICHIGAN TECHNOLOGICAL UNIVERSITY,HOUGHTON,MI
+1973,MID MICHIGAN COMMUNITY COLLEGE,HARRISON,MI
+2039,MONROE COUNTY COMMUNITY COLLEGE,MONROE,MI
+2029,MONTCALM COMMUNITY COLLEGE,SIDNEY,MI
+2021,MOTT COMMUNITY COLLEGE,FLINT,MI
+1957,MUSKEGON BUSINESS COLLEGE,MUSKEGON,MI
+2034,MUSKEGON COMMUNITY COLLEGE,MUSKEGON,MI
+2036,NAZARETH COLLEGE IN KALAMAZOO,NAZARETH,MI
+2037,NORTH CENTRAL MICHIGAN COLLEGE,PETOSKEY,MI
+2045,NORTHEASTERN SCHOOL OF COMMERCE,BAY CITY,MI
+2038,NORTHERN MICHIGAN UNIVERSITY,MARQUETTE,MI
+2040,NORTHWESTERN MICHIGAN COLLEGE,TRAVERSE CITY,MI
+2041,NORTHWOOD UNIVERSITY,MIDLAND,MI
+2043,OAKLAND COMMUNITY COLLEGE,BLOOMFIELD HILLS,MI
+2033,OAKLAND UNIVERSITY,ROCHESTER,MI
+2042,OLIVET COLLEGE,OLIVET,MI
+2049,REFORMED BIBLE COLLEGE,GRAND RAPIDS,MI
+2048,SACRED HEART SEMINARY,DETROIT,MI
+2057,SAGINAW VALLEY STATE COLLEGE,UNIVERSITY CENTER,MI
+2070,SCHOOLCRAFT COLLEGE,LIVONIA,MI
+2052,SIENA HEIGHTS COLLEGE,ADRIAN,MI
+2055,SOUTHWESTERN MICHIGAN COLLEGE,DOWAGIAC,MI
+2056,SPRING ARBOR COLLEGE,SPRING ARBOR,MI
+2046,ST CLAIR COUNTY COMMUNITY COLLEGE,PORT HURON,MI
+2047,ST JOHN HOSPITAL SCH OF RADIOLOGIC TECH,DETROIT,MI
+2059,ST JOSEPH HOSPITAL SCH OF RADIOGRAPHY,MT CLEMENS,MI
+2053,ST MARY'S COLLEGE,ORCHARD LAKE,MI
+5038,ST MARY'S HOSP SCH OF RADIOLOGIC TECH,GRAND RAPIDS,MI
+2058,SUOMI COLLEGE,HANCOCK,MI
+2060,UNIVERSITY OF DETROIT,DETROIT,MI
+2062,UNIVERSITY OF MICHIGAN-ANN ARBOR,ANN ARBOR,MI
+2074,UNIVERSITY OF MICHIGAN-DEARBORN,DEARBORN,MI
+2063,UNIVERSITY OF MICHIGAN-FLINT,FLINT,MI
+2065,WALSH COLLEGE OF ACCOUNTANCY/BUSINESS,TROY,MI
+2067,WASHTENAW COMMUNITY COLLEGE,ANN ARBOR,MI
+2068,WAYNE COUNTY COMMUNITY COLLEGE,DETROIT,MI
+2064,WAYNE STATE UNIVERSITY,DETROIT,MI
+2075,WEST SHORE COMMUNITY COLLEGE,SCOTTVILLE,MI
+2066,WESTERN MICHIGAN UNIVERSITY,KALAMAZOO,MI
+1980,WILLIAM TYNDALE COLLEGE,FARMINGTON HILLS,MI
+2083,ALEXANDRIA TECHNICAL COLLEGE,ALEXANDRIA,MN
+2109,ANOKA-RAMSEY COMM COLL-CAMBRIDGE,CAMBRIDGE,MN
+2093,ANOKA-RAMSEY COMMUNITY COLLEGE,COON RAPIDS,MN
+2080,AUGSBURG COLLEGE,MINNEAPOLIS,MN
+2084,BEMIDJI STATE UNIVERSITY,BEMIDJI,MN
+2110,BETHANY FELLOWSHIP MISSIONARY TRNG CTR,BLOOMINGTON,MN
+2086,BETHANY LUTHERAN COLLEGE,MANKATO,MN
+2088,BETHEL COLLEGE,ST PAUL,MN
+2089,BETHEL THEOLOGICAL SEMINARY,ST PAUL,MN
+2092,CARLETON COLLEGE,NORTHFIELD,MN
+2090,CENTRAL LAKES COLLEGE,BRAINERD,MN
+2125,CENTURY COLLEGE,WHITE BEAR LAKE,MN
+2091,COLLEGE OF ASSOCIATED ARTS,ST PAUL,MN
+2094,COLLEGE OF ST BENEDICT,ST JOSEPH,MN
+2096,COLLEGE OF ST CATHERINE,ST PAUL,MN
+2098,COLLEGE OF ST SCHOLASTICA,DULUTH,MN
+2100,COLLEGE OF ST TERESA,WINONA,MN
+2104,CONCORDIA COLLEGE-MOORHEAD,MOORHEAD,MN
+2106,CONCORDIA COLLEGE-ST PAUL,ST PAUL,MN
+2107,CROSIER SEMINARY JUNIOR COLLEGE,ONAMIA,MN
+2152,CROWN COLLEGE,ST BONIFACIUS,MN
+5150,EAST GRAND FORKS AREA VOC TECH INST,EAST GRAND FORKS,MN
+2119,FAIRVIEW DEACONESS HOSP SCHOOL NURSING,MINNEAPOLIS,MN
+2111,FERGUS FALLS COMMUNITY COLLEGE,FERGUS FALLS,MN
+2113,FON DU LAC TRIBAL AND COMM COLLEGE,CLOQUET,MN
+2112,GUSTAVUS ADOLPHUS COLLEGE,ST PETER,MN
+2114,HAMLINE UNIVERSITY,ST PAUL,MN
+2115,HENNEPIN TECHNICAL COLLEGE,BROOKLYN PARK,MN
+2116,HIBBING COMMUNITY COLLEGE,HIBBING,MN
+2103,INVER HILLS COMMUNITY COLLEGE,INVER GROVE HTS,MN
+2118,ITASCA COMMUNITY COLLEGE,GRAND RAPIDS,MN
+2120,LAKE SUPERIOR COLLEGE,DULUTH,MN
+2121,LEA COLLEGE ON LAKE CHAPEAU,ALBERT LEA,MN
+2131,LOWTHIAN COLLEGE,MINNEAPOLIS,MN
+2122,MACALESTER COLLEGE,ST PAUL,MN
+2127,MARTIN LUTHER COLLEGE,NEW ULM,MN
+2128,MAYO GRADUATE SCHOOL,ROCHESTER,MN
+5119,MEDICAL INSTITUTE OF MINNESOTA,MINNEAPOLIS,MN
+2158,MESABI COMMUNITY COLLEGE,VIRGINIA,MN
+2160,METROPOLITAN STATE UNIVESITY,MINNEAPOLIS,MN
+2130,MINNEAPOLIS COLLEGE OF ART & DESIGN,MINNEAPOLIS,MN
+2147,MINNEAPOLIS COMMUNITY & TECHNICAL COLL,MINNEAPOLIS,MN
+2132,MINNESOTA BIBLE COLLEGE,ROCHESTER,MN
+2126,MINNESOTA STATE UNIVERSITY-MANKATO,MANKATO,MN
+2164,MINNESOTA WEST COMM & TECH COLLEGE-WORTH,WORTHINGTON,MN
+2134,MOORHEAD STATE UNIVERSITY,MOORHEAD,MN
+2124,NATIONAL AMERICAN UNIVERSITY,ST PAUL,MN
+2123,NORMANDALE COMMUNITY COLLEGE,BLOOMINGTON,MN
+2136,NORTH CENTRAL BIBLE COLLEGE,MINNEAPOLIS,MN
+2137,NORTH HENNEPIN COMMUNITY COLLEGE,MINNEAPOLIS,MN
+2159,NORTHLAND COMMUNITY COLLEGE,THIEF RIVER FALLS,MN
+2105,NORTHWEST TECHNICAL INSTITUTE,EDEN PRAIRIE,MN
+2138,NORTHWESTERN COLLEGE,ST. PAUL,MN
+2139,NORTHWESTERN COLLEGE OF CHIROPRACTIC,BLOOMINGTON,MN
+2167,OAK HILLS BIBLE INSTITUTE,BEMIDJI,MN
+2170,PILLSBURY BAPTIST BIBLE COLLEGE,OWATONNA,MN
+2117,RAINY RIVER COMMUNITY COLLEGE,INTERNATIONAL FALLS,MN
+2161,RIDGEWATER COLLEGE,WILLMAR,MN
+2082,RIVERLAND COMMUNITY COLLEGE,AUSTIN,MN
+2142,ROCHESTER COMMUNITY & TECH COLLEGE,ROCHESTER,MN
+2145,SAINT CLOUD TECHNICAL COLLEGE,ST CLOUD,MN
+2140,SOUTH CENTRAL TECHNICAL COLLEGE,NORTH MANKATO,MN
+2151,SOUTHWEST STATE UNIVERSITY,MARSHALL,MN
+2141,SOUTHWESTERN TECHNICAL COLLEGE,GRANITE FALLS,MN
+2144,ST CLOUD STATE UNIVERSITY,ST CLOUD,MN
+2146,ST JOHN'S UNIVERSITY,COLLEGEVILLE,MN
+2153,ST LUKES HOSPITAL SCHOOL OF NURSING,DULUTH,MN
+2149,ST MARY'S JUNIOR COLLEGE,MINNEAPOLIS,MN
+2148,ST MARY'S UNIVERSITY OF MINNESOTA,WINONA,MN
+2150,ST OLAF COLLEGE,NORTHFIELD,MN
+2143,ST PAUL TECHNICAL COLLEGE,ST PAUL,MN
+2154,ST. JOSEPH'S HOSPITAL SCHOOL,MANKATO,MN
+2081,THIEF RIVER FALLS AG-VO TECH INSTITUTE,THIEF RIVER FALLS,MN
+2097,UNIV OF MINNESOTA TECH COLLEGE-WASECA,WASECA,MN
+2156,UNIV OF MINNESOTA-MINNEAPOLIS,MINNEAPOLIS,MN
+2129,UNIVERSITY OF MINNESOTA-CROOKSTON,CROOKSTON,MN
+2157,UNIVERSITY OF MINNESOTA-DULUTH,DULUTH,MN
+2155,UNIVERSITY OF MINNESOTA-MORRIS,MORRIS,MN
+2102,UNIVERSITY OF ST THOMAS,ST PAUL,MN
+2108,VERMILION COMMUNITY COLLEGE,ELY,MN
+2165,WALDEN UNIVERSITY,MINNEAPOLIS,MN
+2163,WINONA AREA TECHNICAL INSTITUTE,WINONA,MN
+2162,WINONA STATE UNIVERSITY,WINONA,MN
+2278,AVILA COLLEGE,KANSAS CITY,MO
+2283,BAPTIST BIBLE COLLEGE,SPRINGFIELD,MO
+2284,BARNES HOSPITAL SCHOOL OF NURSING,ST LOUIS,MO
+2312,CALVARY BIBLE COLLEGE,KANSAS CITY,MO
+2266,CARDINAL GLENNON COLLEGE,ST LOUIS,MO
+2268,CENTRAL BIBLE COLLEGE,SPRINGFIELD,MO
+2269,CENTRAL CHRISTIAN COLLEGE OF BIBLE,MOBERLY,MO
+2270,CENTRAL METHODIST COLLEGE,FAYETTE,MO
+2272,CENTRAL MISSOURI STATE UNIVERSITY,WARRENSBURG,MO
+2281,COLLEGE OF THE OZARKS,POINT LOOKOUT,MO
+2276,COLUMBIA COLLEGE,COLUMBIA,MO
+2280,CONCEPTION SEMINARY COLLEGE,CONCEPTION,MO
+2287,CONCORDIA SEMINARY,ST LOUIS,MO
+2286,COTTEY COLLEGE,NEVADA,MO
+2285,COVENANT THEOLOGICAL SEMINARY,ST LOUIS,MO
+2351,COX MEDICAL CENTER SCHOOL OF RADIOLOGY,SPRINGFIELD,MO
+2289,CROWDER COLLEGE,NEOSHO,MO
+2290,CULVER-STOCKTON COLLEGE,CANTON,MO
+2293,DEACONESS COLLEGE OF NURSING,ST LOUIS,MO
+2291,DEVRY INSTITUTE OF TECHNOLOGY,KANSAS CITY,MO
+2292,DRURY COLLEGE,SPRINGFIELD,MO
+2294,EAST CENTRAL COLLEGE,UNION,MO
+2296,EVANGEL COLLEGE,SPRINGFIELD,MO
+2298,FONTBONNE COLLEGE,ST LOUIS,MO
+2301,GATEWAY BIBLE COLLEGE,ST LOUIS,MO
+2303,GATEWAY COLLEGE OF EVANGELISM,FLORISSANT,MO
+2320,HANNIBAL-LAGRANGE COLLEGE,HANNIBAL,MO
+2302,HARRIS-STOWE STATE COLLEGE,ST LOUIS,MO
+2313,JEFFERSON COLLEGE,HILLSBORO,MO
+2305,JEWISH HOSPITAL SCHOOL OF NURSING,ST LOUIS,MO
+2300,JOB CORPS CENTER,EXCELSIOR SPRINGS,MO
+2277,KANSAS CITY ART INSTITUTE,KANSAS CITY,MO
+2316,KEMPER MILITARY SCHOOL AND COLLEGE,BOONVILLE,MO
+2322,LINCOLN UNIVERSITY,JEFFERSON CITY,MO
+2324,LINDENWOOD COLLEGE,ST CHARLES,MO
+5105,LINN TECHNICAL COLLEGE,LINN,MO
+2318,LOGAN COLLEGE OF CHIROPRACTIC,CHESTERFIELD,MO
+2307,LONGVIEW COMMUNITY COLLEGE,LEE'S SUMMIT,MO
+2310,LUTHERAN MEDICAL CENTER SCH OF NURSING,ST LOUIS,MO
+2331,MAPLE WOODS COMMUNITY COLLEGE,KANSAS CITY,MO
+2326,MARYVILLE UNIVERSITY-ST LOUIS,ST LOUIS,MO
+2348,METRO BUSINESS COLLEGE,ST LOUIS,MO
+2306,MINERAL AREA COLLEGE,FLAT RIVER,MO
+2323,MISSOURI BAPTIST COLLEGE-ST LOUIS CAMPUS,ST LOUIS,MO
+2329,MISSOURI BAPTIST HOSPITAL SCHOOL-NURSING,ST LOUIS,MO
+2304,MISSOURI SOUTHERN STATE COLLEGE,JOPLIN,MO
+2330,MISSOURI VALLEY COLLEGE,MARSHALL,MO
+2344,MISSOURI WESTERN STATE COLLEGE,ST JOSEPH,MO
+2332,MOBERLY AREA JUNIOR COLLEGE,MOBERLY,MO
+2378,NORTH CENTRAL MISSOURI COLLEGE,TRENTON,MO
+2338,NORTHWEST MISSOURI STATE UNIV,MARYVILLE,MO
+2279,OZARK CHRISTIAN COLLEGE,JOPLIN,MO
+2282,OZARKS TECHNICAL COMMUNITY COLLEGE,SPRINGFIELD,MO
+2340,PARK COLLEGE,PARKVILLE,MO
+2341,PENN VALLEY COMMUNITY COLLEGE,KANSAS CITY,MO
+2343,PIONEER COMMUNITY COLLEGE,KANSAS CITY,MO
+2347,RESEARCH COLLEGE OF NURSING,KANSAS CITY,MO
+2342,ROCKHURST COLLEGE,KANSAS CITY,MO
+2371,RUTLEDGE COLLEGE,SPRINGFIELD,MO
+2364,SCHOOL OF THE OZARKS,POINT LOOKOUT,MO
+2366,SOUTHEAST MISSOURI STATE UNIVERSITY,CAPE GIRARDEAU,MO
+2368,SOUTHWEST BAPTIST UNIVERSITY,BOLIVAR,MO
+2370,SOUTHWEST MISSOURI STATE UNIV,SPRINGFIELD,MO
+2353,ST CHARLES COUNTY COMM COLLEGE,ST CHARLES,MO
+2359,ST JOHN'S HOSPITAL SCHOOL OF NURSING,SPRINGFIELD,MO
+2271,ST JOHN'S REGIONAL HLTH CTR SCH/RAD TECH,SPRINGFIELD,MO
+2334,ST LOUIS CHRISTIAN COLLEGE,FLORISSANT,MO
+2346,ST LOUIS COLLEGE OF PHARMACY,ST LOUIS,MO
+2297,ST LOUIS COMM COLL AT FLORISSANT VALLEY,ST LOUIS,MO
+2299,ST LOUIS COMM COLL AT FOREST PARK,ST LOUIS,MO
+2328,ST LOUIS COMM COLL AT MERAMEC,KIRKWOOD,MO
+2352,ST LOUIS UNIVERSITY,ST LOUIS,MO
+2357,ST LUKE'S HOSPITAL SCHOOL OF NURSING,KANSAS CITY,MO
+2354,ST LUKE'S HOSPITAL SCHOOL OF NURSING,ST LOUIS,MO
+2360,ST MARY'S COLLEGE OF O'FALLON,O'FALLON,MO
+2362,ST PAUL'S COLLEGE,CONCORDIA,MO
+2356,STATE FAIR COMMUNITY COLLEGE,SEDALIA,MO
+2374,STEPHENS COLLEGE,COLUMBIA,MO
+2376,TARKIO COLLEGE,TARKIO,MO
+2372,THREE RIVERS COMMUNITY COLLEGE,POPLAR BLUFF,MO
+2336,TRUMAN STATE UNIVERSITY,KIRKSVILLE,MO
+2382,UNIVERSITY OF MISSOURI-COLUMBIA,COLUMBIA,MO
+2380,UNIVERSITY OF MISSOURI-KANSAS CITY,KANSAS CITY,MO
+2398,UNIVERSITY OF MISSOURI-ROLLA,ROLLA,MO
+2383,UNIVERSITY OF MISSOURI-ST LOUIS,ST LOUIS,MO
+2386,WASHINGTON UNIVERSITY,ST LOUIS,MO
+2388,WEBSTER UNIVERSITY,ST LOUIS,MO
+2390,WENTWORTH MILITARY ACADEMY,LEXINGTON,MO
+2392,WESTMINSTER COLLEGE,FULTON,MO
+2394,WILLIAM JEWELL COLLEGE,LIBERTY,MO
+2396,WILLIAM WOODS COLLEGE,FULTON,MO
+2176,ALCORN STATE UNIVERSITY,LORMAN,MS
+2180,BELHAVEN COLLEGE,JACKSON,MS
+2182,BLUE MOUNTAIN COLLEGE,BLUE MOUNTAIN,MS
+2184,CLARKE COLLEGE,NEWTON,MS
+2186,COAHOMA JUNIOR COLLEGE,CLARKSDALE,MS
+2188,COPIAH-LINCOLN JUNIOR COLLEGE,WESSON,MS
+2189,COPIAH-LINCOLN JUNIOR COLLEGE-NATCHEZ,NATCHEZ,MS
+2190,DELTA STATE UNIVERSITY,CLEVELAND,MS
+2192,EAST CENTRAL JUNIOR COLLEGE,DECATUR,MS
+2194,EAST MISSISSIPPI COMMUNITY COLLEGE,SCOOBA,MS
+2196,GOLDEN TRIANGLE VOC TECH CENTER,COLUMBUS,MS
+2177,HINDS JUNIOR COLLEGE-JACKSON CAMPUS,JACKSON,MS
+2262,HINDS JUNIOR COLLEGE-RANKIN BRANCH,PEARL,MS
+2198,HINDS JUNIOR COLLEGE-RAYMOND CAMPUS,RAYMOND,MS
+2223,HINDS JUNIOR COLLEGE-UTICA CAMPUS,UTICA,MS
+2261,HINDS JUNIOR COLLEGE-VICKSBURG/WARREN,VICKSBURG,MS
+2200,HOLMES COMMUNITY COLLEGE,GOODMAN,MS
+2202,ITAWAMBA JUNIOR COLLEGE,FULTON,MS
+2204,JACKSON STATE UNIVERSITY,JACKSON,MS
+2206,JONES COUNTY JUNIOR COLLEGE,ELLISVILLE,MS
+2211,MAGNOLIA BIBLE COLLEGE,KOSCIUSKO,MS
+2208,MARY HOLMES COLLEGE,WEST POINT,MS
+2209,MATTY HERSEE HOSP SCHOOL OF NURSING,MERIDIAN,MS
+2210,MERIDIAN JUNIOR COLLEGE,MERIDIAN,MS
+2230,MID-SOUTH CHRISTIAN COLLEGE,SENATOBIA,MS
+2212,MILLSAPS COLLEGE,JACKSON,MS
+2215,MISSISSIPPI BAPT MED CTR SCH/RAD TECH,JACKSON,MS
+2214,MISSISSIPPI COLLEGE,CLINTON,MS
+2244,MISSISSIPPI DELTA JUNIOR COLLEGE,MOORHEAD,MS
+2220,MISSISSIPPI STATE UNIVERSITY,MISSISSIPPI STATE,MS
+2260,MISSISSIPPI UNIVERSITIES CENTER,JACKSON,MS
+2222,MISSISSIPPI UNIVERSITY FOR WOMEN,COLUMBUS,MS
+2224,MISSISSIPPI VALLEY STATE UNIVERSITY,ITTA BENA,MS
+2203,MS GULF COAST JC-JACKSON COUNTY CAMPUS,GAUTIER,MS
+2205,MS GULF COAST JC-JEFFERSON DAVIS CAMPUS,GULFPORT,MS
+2234,MS GULF COAST JC-PERKINSTON CAMPUS,PERKINSTON,MS
+2259,NATCHEZ COLLEGE,NATCHEZ,MS
+2226,NORTHEAST MISSISSIPPI COMMUNITY COLLEGE,BOONEVILLE,MS
+2228,NORTHWEST MISSISSIPPI COMMUNITY COLLEGE,SENATOBIA,MS
+2232,PEARL RIVER JUNIOR COLLEGE,POPLARVILLE,MS
+2233,PHILLIPS JUNIOR COLLEGE,GULFPORT,MS
+2238,PRENTISS INSTITUTE,PRENTISS,MS
+2240,RUST COLLEGE,HOLLY SPRINGS,MS
+2241,SOUTHEASTERN BAPTIST COLLEGE,LAUREL,MS
+2242,SOUTHWEST MISSISSIPPI JUNIOR COLLEGE,SUMMIT,MS
+2248,TOUGALOO COLLEGE,TOUGALOO,MS
+2250,UNIVERSITY OF MISSISSIPPI,UNIVERSITY,MS
+2251,UNIVERSITY OF MISSISSIPPI MEDICAL CTR,JACKSON,MS
+2218,UNIVERSITY SOUTHERN MISSISSIPPI,HATTIESBURG,MS
+2217,UNIVERSITY SOUTHERN MISSISSIPPI-GULF PK,HATTIESBURG,MS
+2219,UNIVERSITY SOUTHERN MISSISSIPPI-NATCHEZ,HATTIESBURG,MS
+2253,WESLEY COLLEGE,FLORENCE,MS
+2254,WILLIAM CAREY COLLEGE,HATTIESBURG,MS
+2256,WOOD JUNIOR COLLEGE,MATHISTON,MS
+2433,BIG SKY BIBLE COLLEGE,LEWISTOWN,MT
+2408,CARROLL COLLEGE,HELENA,MT
+2414,DAWSON COMMUNITY COLLEGE,GLENDIVE,MT
+2403,DULL KNIFE COLLEGE,LAME DEER,MT
+2417,FLATHEAD VALLEY COMMUNITY COLLEGE,KALISPELL,MT
+2419,FORT PECK COMMUNITY COLLEGE,POPLAR,MT
+2412,MILES COMMUNITY COLLEGE,MILES CITY,MT
+2420,MONTANA STATE UNIVERSITY,BOZEMAN,MT
+2416,MONTANA STATE UNIVERSITY-BILLINGS,BILLINGS,MT
+2418,MONTANA TECH OF THE UNIV OF MONTANA,BUTTE,MT
+2424,NORTHERN MONTANA COLLEGE,HAVRE,MT
+2426,ROCKY MOUNTAIN COLLEGE,BILLINGS,MT
+2410,UNIVERSITY OF GREAT FALLS,GREAT FALLS,MT
+2422,UNIVERSITY OF MONTANA,MISSOULA,MT
+2428,WESTERN MONTANA COLLEGE,DILLON,MT
+2427,YELLOWSTONE BAPTIST COLL/BIBLE INSTITUTE,BILLINGS,MT
+3061,ANSON TECHNICAL COLLEGE,ANSONVILLE,NC
+3062,APPALACHIAN STATE UNIVERSITY,BOONE,NC
+3063,ASHEVILLE BUNCOMBE TECHNICAL INSTITUTE,ASHEVILLE,NC
+3066,ATLANTIC CHRISTIAN COLLEGE,WILSON,NC
+3068,BARBER-SCOTIA COLLEGE,CONCORD,NC
+3070,BELMONT ABBEY COLLEGE,BELMONT,NC
+3072,BENNETT COLLEGE,GREENSBORO,NC
+3074,BREVARD COLLEGE,BREVARD,NC
+3075,CALDWELL COMM COLL & TECH INST,HUDSON,NC
+3076,CAMPBELL UNIVERSITY,BUIES CREEK,NC
+0377,CAPE FEAR COMMUNITY COLLEGE,WILMINGTON,NC
+3078,CARTERET COMMUNITY COLLEGE,MOREHEAD CITY,NC
+3080,CATAWBA COLLEGE,SALISBURY,NC
+3079,CATAWBA VALLEY TECHNICAL COLLEGE,HICKORY,NC
+3082,CENTRAL CAROLINA COMMUNITY COLLEGE,SANFORD,NC
+3081,CENTRAL PIEDMONT COMMUNITY COLLEGE,CHARLOTTE,NC
+3084,CHOWAN COLLEGE,MURFREESBORO,NC
+3089,CLEVELAND TECHNICAL COLLEGE,SHELBY,NC
+3083,COASTAL CAROLINA COMMUNITY COLLEGE,JACKSONVILLE,NC
+3085,COLLEGE OF THE ALBEMARLE,ELIZABETH CITY,NC
+3182,CRAVEN COMMUNITY COLLEGE,NEW BERN,NC
+3086,DAVIDSON COLLEGE,DAVIDSON,NC
+3087,DAVIDSON COUNTY COMMUNITY COLLEGE,LEXINGTON,NC
+3088,DUKE UNIVERSITY,DURHAM,NC
+5563,DURHAM TECHNICAL COMMUNITY COLLEGE,DURHAM,NC
+3094,EAST CAROLINA UNIVERSITY,GREENVILLE,NC
+3058,EAST COAST BIBLE COLLEGE,CHARLOTTE,NC
+3095,ELIZABETH CITY STATE UNIVERSITY,ELIZABETH CITY,NC
+3096,ELON COLLEGE,ELON COLLEGE,NC
+3098,FAYETTEVILLE STATE UNIVERSITY,FAYETTEVILLE,NC
+3181,FAYETTEVILLE TECHNICAL COMMUNITY COLLEGE,FAYETTEVILLE,NC
+3099,FORSYTH TECHNICAL INSTITUTE,WINSTON-SALEM,NC
+3102,GARDNER-WEBB COLLEGE,BOILING SPRINGS,NC
+3165,GASTON COLLEGE,DALLAS,NC
+3104,GREENSBORO COLLEGE,GREENSBORO,NC
+3106,GUILFORD COLLEGE,GREENSBORO,NC
+5134,GUILFORD TECHNICAL COMMUNITY COLLEGE,JAMESTOWN,NC
+3091,HALIFAX COMMUNITY COLLEGE,WELDON,NC
+3090,HERITAGE SCHOOL/EVANGELISM&COMMUNICATION,CHARLOTTE,NC
+3108,HIGH POINT COLLEGE,HIGH POINT,NC
+3109,ISOTHERMAL COMMUNITY COLLEGE,SPINDALE,NC
+3111,JAMES SPRUNT TECHNICAL COLLEGE,KENANSVILLE,NC
+3110,JOHN WESLEY COLLEGE,HIGH POINT,NC
+3112,JOHNSON C SMITH UNIVERSITY,CHARLOTTE,NC
+3113,JOHNSTON COMMUNITY COLLEGE,SMITHFIELD,NC
+3114,KING'S COLLEGE,CHARLOTTE,NC
+3116,LEES-MCRAE COLLEGE,BANNER ELK,NC
+3117,LENOIR COMMUNITY COLLEGE,KINSTON,NC
+3118,LENOIR-RHYNE COLLEGE,HICKORY,NC
+3120,LIVINGSTONE COLLEGE,SALISBURY,NC
+3122,LOUISBURG COLLEGE,LOUISBURG,NC
+3123,MANNA CHRISTIAN COLLEGE,FAYETTEVILLE,NC
+3124,MARS HILL COLLEGE,MARS HILL,NC
+3125,MCDOWELL TECHNICAL COLLEGE,MARION,NC
+3126,MEREDITH COLLEGE,RALEIGH,NC
+3127,METHODIST COLLEGE,FAYETTEVILLE,NC
+3128,MITCHELL COMMUNITY COLLEGE,STATESVILLE,NC
+3129,MONTGOMERY TECHNICAL COLLEGE,TROY,NC
+3130,MONTREAT-ANDERSON COLLEGE,MONTREAT,NC
+3131,MOUNT OLIVE COLLEGE,MOUNT OLIVE,NC
+3060,NORTH CAROLINA AGRIC & TECH STATE UNIV,GREENSBORO,NC
+3132,NORTH CAROLINA CENTRAL UNIVERSITY,DURHAM,NC
+3133,NORTH CAROLINA SCHOOL OF THE ARTS,WINSTON-SALEM,NC
+3164,NORTH CAROLINA STATE UNIV-RALEIGH,RALEIGH,NC
+3135,NORTH CAROLINA WESLEYAN COLLEGE,ROCKY MOUNT,NC
+3136,PEACE COLLEGE,RALEIGH,NC
+3138,PEMBROKE STATE UNIVERSITY,PEMBROKE,NC
+3140,PFEIFFER COLLEGE,MISENHEIMER,NC
+3142,PIEDMONT BIBLE COLLEGE,WINSTON-SALEM,NC
+3141,PITT COMMUNITY COLLEGE,GREENVILLE,NC
+3148,QUEENS COLLEGE,CHARLOTTE,NC
+3147,RANDOLPH TECHNICAL COLLEGE,ASHEBORO,NC
+3144,ROANOKE-CHOWAN TECHNICAL COLLEGE,AHOSKIE,NC
+3139,ROBESON TECHNICAL COLLEGE,LUMBERTON,NC
+3143,ROCKINGHAM COMMUNITY COLLEGE,WENTWORTH,NC
+3145,ROWAN TECHNICAL COLLEGE,SALISBURY,NC
+3150,SACRED HEART COLLEGE,BELMONT,NC
+3156,SALEM COLLEGE,WINSTON-SALEM,NC
+3151,SALISBURY BUSINESS COLLEGE,SALISBURY,NC
+3153,SAMPSON COMMUNITY COLLEGE,CLINTON,NC
+3149,SANDHILLS COMMUNITY COLLEGE,CARTHAGE,NC
+3158,SHAW UNIVERSITY,RALEIGH,NC
+3159,SOUTHEASTERN COMMUNITY COLLEGE,WHITEVILLE,NC
+3160,SOUTHWESTERN COMMUNITY COLLEGE,SYLVA,NC
+3146,ST ANDREWS PRESBYTERIAN COLLEGE,LAURINBURG,NC
+3152,ST AUGUSTINE'S COLLEGE,RALEIGH,NC
+3154,ST MARY'S COLLEGE,RALEIGH,NC
+3161,SURRY COMMUNITY COLLEGE,DOBSON,NC
+3157,"TECHNICAL COLLEGE OF ALAMANCE, THE",HAW RIVER,NC
+3059,TRI-COUNTY COMMUNITY COLLEGE,MURPHY,NC
+3064,UNIV OF NORTH CAROLINA AT ASHEVILLE,ASHEVILLE,NC
+3163,UNIV OF NORTH CAROLINA AT CHARLOTTE,CHARLOTTE,NC
+3166,UNIV OF NORTH CAROLINA AT GREENSBORO,GREENSBORO,NC
+3174,UNIV OF NORTH CAROLINA AT WILMINGTON,WILMINGTON,NC
+3162,UNIVERSITY OF NORTH CAROLINA,CHAPEL HILL,NC
+3167,VANCE GRANVILLE COMMUNITY COLLEGE,HENDERSON,NC
+3168,WAKE FOREST UNIVERSITY,WINSTON-SALEM,NC
+3177,WAKE TECHNICAL COMMUNITY COLLEGE,RALEIGH,NC
+3170,WARREN WILSON COLLEGE,ASHEVILLE,NC
+3171,WAYNE COMMUNITY COLLEGE,GOLDSBORO,NC
+3172,WESTERN CAROLINA UNIVERSITY,CULLOWHEE,NC
+3173,WESTERN PIEDMONT COMMUNITY COLLEGE,MORGANTON,NC
+3175,WILKES COMMUNITY COLLEGE,WILKESBORO,NC
+3179,WILSON TECHNICAL COMMUNITY COLLEGE,WILSON,NC
+3176,WINGATE COLLEGE,WINGATE,NC
+3180,WINSTON-SALEM BIBLE COLLEGE,WINSTON-SALEM,NC
+3178,WINSTON-SALEM STATE UNIVERSITY,WINSTON-SALEM,NC
+3196,BISMARCK STATE COLLEGE,BISMARCK,ND
+4809,CAPITAL COMMERCIAL COLLEGE,BISMARCK,ND
+3210,DICKINSON STATE UNIVERSITY,DICKINSON,ND
+3194,FORT BERTHOLD COMMUNITY COLLEGE,NEW TOWN,ND
+3200,JAMESTOWN COLLEGE,JAMESTOWN,ND
+3198,LAKE REGION COMMUNITY COLLEGE,DEVILS LAKE,ND
+0032,LITTLE HOOP COMMUNITY COLLEGE,FORT TOTTEN,ND
+3212,MAYVILLE STATE UNIVERSITY,MAYVILLE,ND
+3208,MEDCENTER ONE QR RADIOLOGIC TECH PROG,BISMARCK,ND
+3197,MEDCENTER ONE SCHOOL OF NURSING,BISMARCK,ND
+3214,MINOT STATE UNIVERSITY,MINOT,ND
+3204,MINOT STATE UNIVERSITY-BOTTINEAU CENTER,BOTTINEAU,ND
+3206,NORTH DAKOTA STATE COLL OF SCIENCE,WAHPETON,ND
+3202,NORTH DAKOTA STATE UNIVERSITY,FARGO,ND
+3207,NORTHWEST BIBLE COLLEGE,MINOT,ND
+3220,ST LUKES HOSPITAL SCHOOL OF NURSING,FARGO,ND
+3215,TRINITY BIBLE COLLEGE,ELLENDALE,ND
+3221,TRINITY SCHOOL OF NURSING,MINOT,ND
+3191,TURTLE MOUNTAIN COMMUNITY COLLEGE,BELCOURT,ND
+3193,UNITED TRIBES EDUCATIONAL TECHNICAL CTR,BISMARCK,ND
+3201,UNIVERSITY OF MARY,BISMARCK,ND
+3218,UNIVERSITY OF NORTH DAKOTA,GRAND FORKS,ND
+3217,UNIVERSITY OF NORTH DAKOTA - LAKE REGION,DEVILS LAKE,ND
+3219,UNIVERSITY OF NORTH DAKOTA-WILLISTON,WILLISTON,ND
+3216,VALLEY CITY STATE COLLEGE,VALLEY CITY,ND
+2435,ARCHBISHOP BERGAN MERCY HOSPITAL,OMAHA,NE
+2437,BELLEVUE UNIVERSITY,BELLEVUE,NE
+2438,BRYAN MEMORIAL HOSPITAL SCH OF NURSING,LINCOLN,NE
+2434,CENTRAL COMM COLLEGE-GRAND ISLAND,GRAND ISLAND,NE
+2439,CENTRAL COMMUNITY COLLEGE-HASTINGS CMPS,HASTINGS,NE
+2475,CENTRAL COMMUNITY COLLEGE-PLATTE CAMPUS,COLUMBUS,NE
+2466,CHADRON STATE COLLEGE,CHADRON,NE
+2436,CLARKSON COLLEGE,OMAHA,NE
+2440,COLLEGE OF SAINT MARY,OMAHA,NE
+2442,CONCORDIA UNIVERSITY,SEWARD,NE
+2444,CREIGHTON UNIVERSITY,OMAHA,NE
+2446,DANA COLLEGE,BLAIR,NE
+2448,DOANE COLLEGE,CRETE,NE
+2454,GRACE COLLEGE OF THE BIBLE,OMAHA,NE
+2456,HASTINGS COLLEGE,HASTINGS,NE
+4788,LINCOLN SCHOOL OF COMMERCE,LINCOLN,NE
+2459,MARY LANNING MEMORIAL HOSP SCH/NURSING,HASTINGS,NE
+2460,MCCOOK COMMUNITY COLLEGE,MCCOOK,NE
+2465,METHODIST SCHOOL OF NURSING,OMAHA,NE
+2447,METROPOLITAN COMMUNITY COLLEGE,OMAHA,NE
+2462,MIDLAND LUTHERAN COLLEGE,FREMONT,NE
+2491,MID-PLAINS COMMUNITY COLLEGE,NORTH PLATTE,NE
+2473,NEBRASKA CHRISTIAN COLLEGE,NORFOLK,NE
+2471,NEBRASKA COLL OF TECH AGRICULTURE,CURTIS,NE
+5572,NEBRASKA COLLEGE OF BUSINESS,OMAHA,NE
+2477,NEBRASKA INDIAN COMMUNITY COLLEGE,WINNEBAGO,NE
+2474,NEBRASKA WESLEYAN UNIVERSITY,LINCOLN,NE
+2476,NORTHEAST COMMUNITY COLLEGE,NORFOLK,NE
+2470,PERU STATE COLLEGE,PERU,NE
+2463,PLATTE VALLEY BIBLE COLLEGE,SCOTTSBLUFF,NE
+2441,SOUTHEAST COMM COLL-BEATRICE CAMPUS,BEATRICE,NE
+2452,SOUTHEAST COMM COLL-FAIRBURY CAMPUS,FAIRBURY,NE
+4787,SOUTHEAST COMM COLL-LINCOLN CAMPUS,LINCOLN,NE
+4789,SOUTHEAST COMM COLL-MILFORD CAMPUS,MILFORD,NE
+2480,UNION COLLEGE,LINCOLN,NE
+2468,UNIVERSITY OF NEBRASKA AT KEARNEY,KEARNEY,NE
+2482,UNIVERSITY OF NEBRASKA AT LINCOLN,LINCOLN,NE
+2487,UNIVERSITY OF NEBRASKA MEDICAL CENTER,OMAHA,NE
+2458,UNIVERSITY OF NEBRASKA SCH OF TECH/AGRIC,CURTIS,NE
+2464,UNIVERSITY OF NEBRASKA-OMAHA,OMAHA,NE
+2472,WAYNE STATE COLLEGE,WAYNE,NE
+2488,WEST NEBRASKA GEN HOSPITAL SCH/NURSING,SCOTTSBLUFF,NE
+2478,WESTERN NEBRASKA COMMUNITY COLLEGE,SCOTTSBLUFF,NE
+2490,WESTERN NEBRASKA TECHNICAL COLLEGE,SIDNEY,NE
+2484,YORK COLLEGE,YORK,NE
+2506,COLBY-SAWYER COLLEGE,NEW LONDON,NH
+2512,COLLEGE FOR LIFELONG LEARNING,LEE,NH
+2525,DANIEL WEBSTER COLLEGE,NASHUA,NH
+2508,DARTMOUTH COLLEGE,HANOVER,NH
+2509,FRANKLIN PIERCE COLLEGE,RINDGE,NH
+2515,HAWTHORNE COLLEGE,ANTRIM,NH
+2503,HESSER COLLEGE,MANCHESTER,NH
+2510,KEENE STATE COLLEGE,KEENE,NH
+2511,MAGDALEN COLLEGE,BEDFORD,NH
+2502,MCINTOSH COLLEGE,DOVER,NH
+2513,NEW ENGLAND COLLEGE,HENNIKER,NH
+2514,NEW HAMPSHIRE COLLEGE,MANCHESTER,NH
+2516,NEW HAMPSHIRE TECHNICAL INSTITUTE,CONCORD,NH
+2517,NEW HAMPSHIRE VOC-TECH COLL-BERLIN,BERLIN,NH
+2529,NEW HAMPSHIRE VOC-TECH COLL-CLAREMONT,CLAREMONT,NH
+2527,NEW HAMPSHIRE VOC-TECH COLL-LACONIA,LACONIA,NH
+2507,NEW HAMPSHIRE VOC-TECH COLL-MANCHESTER,MANCHESTER,NH
+2523,NEW HAMPSHIRE VOC-TECH COLL-NASHUA,NASHUA,NH
+2530,NEW HAMPSHIRE VOC-TECH COLL-STRATHAM,STRATHAM,NH
+2521,NOTRE DAME COLLEGE,MANCHESTER,NH
+2518,PLYMOUTH STATE COLLEGE,PLYMOUTH,NH
+2520,RIVIER COLLEGE,NASHUA,NH
+2522,ST ANSELM COLLEGE,MANCHESTER,NH
+2531,THOMAS MORE INSTITUTE OF LIBERAL ARTS,MERRIMACK,NH
+2524,UNIVERSITY OF NEW HAMPSHIRE,DURHAM,NH
+2528,WHITE PINES COLLEGE,CHESTER,NH
+2539,ATLANTIC COMMUNITY COLLEGE,MAYS LANDING,NJ
+2541,BERGEN COMMUNITY COLLEGE,PARAMUS,NJ
+2576,BERKELEY SCHOOL OF GARRETT MOUNTAIN,LITTLE FALLS,NJ
+2686,BERKELEY SCHOOL OF LONG ISLAND,LITTLE FALLS,NJ
+2688,BERKELEY SCHOOL-NEW YORK CITY,LITTLE FALLS,NJ
+2578,BERKELEY SCHOOL-RIDGEWOOD,LITTLE FALLS,NJ
+2695,BERKELEY SCHOOL-WHITE PLAINS,LITTLE FALLS,NJ
+2540,BLOOMFIELD COLLEGE,BLOOMFIELD,NJ
+2553,BROOKDALE COMMUNITY COLLEGE,LINCROFT,NJ
+2543,BURLINGTON COUNTY COLLEGE,PEMBERTON,NJ
+2542,CALDWELL COLLEGE,CALDWELL,NJ
+2545,CAMDEN COUNTY COLLEGE,BLACKWOOD,NJ
+2544,CENTENARY COLLEGE,HACKETTSTOWN,NJ
+2546,COLLEGE OF ST ELIZABETH,CONVENT STATION,NJ
+2549,COUNTY COLLEGE OF MORRIS,RANDOLPH,NJ
+2563,CUMBERLAND COUNTY COLLEGE,VINELAND,NJ
+2548,DON BOSCO COLLEGE,NEWTON,NJ
+2550,DREW UNIVERSITY,MADISON,NJ
+2551,ESSEX COUNTY COLLEGE,NEWARK,NJ
+2574,FAIRLEIGH DICKINSON U-EDWARD WILLIAMS C,HACKENSACK,NJ
+2554,FAIRLEIGH DICKINSON U-FLORHAM/MADISON,MADISON,NJ
+2552,FAIRLEIGH DICKINSON U-RUTHERFORD CAMPUS,RUTHERFORD,NJ
+2556,FAIRLEIGH DICKINSON U-TEANECK CAMPUS,TEANECK,NJ
+2581,FAIRLEIGH DICKINSON U-WAYNE EXTENSION,WAYNE,NJ
+2559,FELICIAN COLLEGE,LODI,NJ
+2562,GEORGIAN COURT COLLEGE,LAKEWOOD,NJ
+2561,GLOUCESTER COUNTY COLLEGE,SEWELL P O,NJ
+2575,HELENE FULD SCHOOL OF NURSING,CAMDEN,NJ
+2577,HUDSON COUNTY COMMUNITY COLLEGE,JERSEY CITY,NJ
+2570,JERSEY CITY STATE COLLEGE,JERSEY CITY,NJ
+2555,KATHARINE GIBBS SCHOOL,MONTCLAIR,NJ
+2582,KEAN COLLEGE OF NEW JERSEY,UNION,NJ
+2568,MERCER COUNTY COMMUNITY COLLEGE,TRENTON,NJ
+2573,MIDDLESEX COUNTY COLLEGE,EDISON,NJ
+2571,MONMOUTH COLLEGE,WEST LONG BRANCH,NJ
+2572,MONTCLAIR STATE COLLEGE,UPPER MONTCLAIR,NJ
+2580,NEW JERSEY INSTITUTE OF TECHNOLOGY,NEWARK,NJ
+2585,OCEAN COUNTY COLLEGE,TOMS RIVER,NJ
+2583,PASSAIC COUNTY COMMUNITY COLLEGE,PATERSON,NJ
+2588,PRINCETON UNIVERSITY,PRINCETON,NJ
+2591,RAMAPO COLLEGE OF NEW JERSEY,MAHWAH,NJ
+2609,RARITAN VALLEY COMMUNITY COLLEGE,SOMMERVILLE,NJ
+2589,RICHARD STOCKTON COLLEGE,POMONA,NJ
+2590,RIDER COLLEGE,LAWRENCEVILLE,NJ
+2560,ROWAN COLLEGE OF NEW JERSEY,GLASSBORO,NJ
+2598,RUTGERS STATE UNIV-CAMDEN COLL ARTS/SC,CAMDEN,NJ
+2596,RUTGERS STATE UNIV-DOUGLASS COLLEGE,NEW BRUNSWICK,NJ
+2597,RUTGERS STATE UNIV-LIVINGSTON COLLEGE,NEW BRUNSWICK,NJ
+2600,RUTGERS STATE UNIV-NEWARK COLL ARTS/SC,NEWARK,NJ
+2592,RUTGERS STATE UNIV-RUTGERS COLLEGE,NEW BRUNSWICK,NJ
+2602,SALEM COMMUNITY COLLEGE,PENNS GROVE,NJ
+2606,SETON HALL UNIVERSITY,SOUTH ORANGE,NJ
+2604,ST PETER'S COLLEGE,JERSEY CITY,NJ
+2610,STEVENS INSTITUTE OF TECHNOLOGY,HOBOKEN,NJ
+2605,SUSSEX COUNTY COMMUNITY COLLEGE,NEWTON,NJ
+2614,THE COLLEGE OF NEW JERSEY,TRENTON,NJ
+2612,THOMAS A EDISON STATE COLLEGE,TRENTON,NJ
+2616,UNION COUNTY COLLEGE,CRANFORD,NJ
+2618,UPSALA COLLEGE-EAST ORANGE CAMPUS,EAST ORANGE,NJ
+2557,UPSALA COLLEGE-WIRTHS CAMPUS,SUSSEX,NJ
+2617,WARREN COUNTY COMMUNITY COLLEGE,WASHINGTON,NJ
+2619,WESTMINSTER CHOIR COLLEGE,PRINCETON,NJ
+2584,WILLIAM PATERSON COLLEGE,WAYNE,NJ
+2629,ALBUQUERQUE JOB CORPS CENTER,ALBUQUERQUE,NM
+5569,ALBUQUERQUE TECH VOC INSTITUTE,ALBUQUERQUE,NM
+2641,ARTESIA CHRISTIAN COLLEGE,ARTESIA,NM
+2624,CLOVIS COMMUNITY COLLEGE,CLOVIS,NM
+2648,COLLEGE OF SANTA FE,SANTA FE,NM
+2633,COLLEGE OF THE SOUTHWEST,HOBBS,NM
+2631,COLVIS COMMUNITY COLLEGE,CLOVIS,NM
+2636,EASTERN NEW MEXICO UNIVERSITY,PORTALES,NM
+2647,EASTERN NEW MEXICO U-ROSWELL COMM COLL,ROSWELL,NM
+2654,INSTITUTE OF AMERICAN INDIAN ARTS,SANTA FE,NM
+2659,LEA REGIONAL HOSP RADIOLOGIC TECH PROG,HOBBS,NM
+2640,NEW MEXICO HIGHLANDS UNIVERSITY,LAS VEGAS,NM
+2642,NEW MEXICO INSTITUTE OF MINING & TECH,SOCORRO,NM
+2643,NEW MEXICO JUNIOR COLLEGE,HOBBS,NM
+2644,NEW MEXICO MILITARY INSTITUTE,ROSWELL,NM
+2657,NEW MEXICO REHABILITATION CENTER,ROSWELL,NM
+2630,NEW MEXICO STATE UNIV. AT ALAMOGORDO,ALAMOGORDO,NM
+2632,NEW MEXICO STATE UNIV-CARLSBAD,CARLSBAD,NM
+2638,NEW MEXICO STATE UNIVERSITY,LAS CRUCES,NM
+2645,NEW MEXICO STATE UNIV-GRANTS,GRANTS,NM
+2639,NORTHERN NEW MEXICO COMMUNITY COLLEGE,ESPANOLA,NM
+2656,NURSING EDUCATION CENTER FOR INDIANS,ALBUQUERQUE,NM
+2637,SAN JUAN COLLEGE,FARMINGTON,NM
+2660,SANTA FE COMMUNITY COLLEGE,SANTA FE,NM
+2649,ST JOHN'S COLLEGE,SANTA FE,NM
+2652,TECHNICAL TRAINING INSTITUTE,LAS CRUCES,NM
+2653,UNIV OF NEW MEXICO-VALENCIA COUNTY,BELEN,NM
+2634,UNIVERSITY OF ALBUQUERQUE,ALBUQUERQUE,NM
+2650,UNIVERSITY OF NEW MEXICO,ALBUQUERQUE,NM
+2651,UNIVERSITY OF NEW MEXICO-LOS ALAMOS,LOS ALAMOS,NM
+2646,WESTERN NEW MEXICO UNIVERSITY,SILVER CITY,NM
+2498,COMM COLLEGE OF SOUTHERN NEVADA,NORTH LAS VEGAS,NV
+0252,DEEP SPRINGS COLLEGE CA,VIA DYER,NV
+2493,GREAT BASIN COLLEGE,ELKO,NV
+2501,OLD COLLEGE,RENO,NV
+2500,RENO BUSINESS COLLEGE,RENO,NV
+2497,SIERRA NEVADA COLLEGE,INCLINE VILLAGE,NV
+2499,TRUCKEE MEADOWS COMMUNITY COLLEGE,RENO,NV
+2496,UNIVERSITY OF NEVADA-LAS VEGAS,LAS VEGAS,NV
+2494,UNIVERSITY OF NEVADA-RENO,RENO,NV
+2495,WESTERN NEVADA COMMUNITY COLLEGE,CARSON CITY,NV
+2664,ADELPHI UNIVERSITY,GARDEN CITY,NY
+2667,ADIRONDACK COMMUNITY COLLEGE,GLENS FALLS,NY
+2661,ALBANY BUSINESS COLLEGE,ALBANY,NY
+2666,ALFRED UNIVERSITY,ALFRED,NY
+2669,AMERICAN ACADEMY MCALLISTER INSTITUTE,NEW YORK,NY
+2663,AMERICAN ACADEMY OF DRAMATIC ARTS,NEW YORK,NY
+2670,ARNOT OGDEN MEMORIAL HOSP SCH/NURSING,ELMIRA,NY
+2674,BARD COLLEGE,ANNANDALE-ON-HUDSON,NY
+0967,BAR-ILAN UNIVERSITY,NEW YORK,NY
+2718,BARNARD COLLEGE-COLUMBIA UNIVERSITY,NEW YORK,NY
+2721,BERNARD M BARUCH COLLEGE,NEW YORK CITY,NY
+2677,BIBLE BAPTIST INSTITUTE AND COLLEGE,HUDSON FALLS,NY
+2679,BORICUA COLLEGE,BROOKLYN,NY
+2678,BOROUGH OF MANHATTAN COMM COLLEGE,NEW YORK CITY,NY
+2684,BROOME COMMUNITY COLLEGE,BINGHAMTON,NY
+2676,BRYANT & STRATTON BUSINESS INSTITUTE,BUFFALO,NY
+2861,BRYANT & STRATTON POWELSON BUSINESS INST,SYRACUSE,NY
+2690,CANISIUS COLLEGE,BUFFALO,NY
+2692,CATHEDRAL COLLEGE-IMMACULATE CONCEPTION,DOUGLASTON,NY
+2668,CAYUGA COUNTY COMMUNITY COLLEGE,AUBURN,NY
+2696,CAZENOVIA COLLEGE,CAZENOVIA,NY
+2706,CITY COLLEGE OF NEW YORK,NEW YORK,NY
+2950,CITY UNIVERSITY OF NEW YORK,NEW YORK,NY
+2698,CLARKSON UNIVERSITY,POTSDAM,NY
+2694,CLINTON COMMUNITY COLLEGE,PLATTSBURGH,NY
+2702,COLGATE UNIVERSITY,HAMILTON,NY
+2985,"COLLEGE OF INSURANCE, THE",NEW YORK,NY
+2823,COLLEGE OF MOUNT ST VINCENT,RIVERDALE,NY
+2712,COLLEGE OF NEW ROCHELLE,NEW ROCHELLE,NY
+2714,COLLEGE OF SAINT ROSE,ALBANY,NY
+2719,COLUMBIA UNIV SCH OF ENGNRG & APPL SCI,NEW YORK,NY
+2716,COLUMBIA UNIV SCHOOL OF GENERAL STUDIES,NEW YORK,NY
+2720,COLUMBIA UNIVERSITY SCHOOL OF NURSING,NEW YORK,NY
+2717,COLUMBIA UNIVERSITY-COLUMBIA COLLEGE,NEW YORK,NY
+2715,COLUMBIA-GREENE COMMUNITY COLLEGE,HUDSON,NY
+2704,COMMUNITY COLLEGE OF THE FINGER LAKES,CANANDAIGUA,NY
+2722,CONCORDIA COLLEGE,BRONXVILLE,NY
+2724,COOPER UNION,NEW YORK,NY
+2726,CORNELL UNIVERSITY,ITHACA,NY
+2727,CORNING COMMUNITY COLLEGE,CORNING,NY
+2865,CROUSE-IRVING MEMORIAL HOSP SCH/NURSING,SYRACUSE,NY
+2867,CULINARY INSTITUTE OF AMERICA,HYDE PARK,NY
+2957,CUNY-BERNARD M. COLLEGE,NEW YORK CITY,NY
+2953,CUNY-BOROUGH OF MANHATTAN COMM COLLEGE,NEW YORK CITY,NY
+2959,CUNY-BROOKLYN COLLEGE,BROOKLYN,NY
+2955,CUNY-COLLEGE OF STATEN ISLAND,STATEN ISLAND,NY
+2951,CUNY-HUNTER COLLEGE,NEW YORK CITY,NY
+2958,CUNY-KINGSBOROUGH COMMUNITY COLLEGE,BROOKLYN,NY
+2969,CUNY-LAGUARDIA COMMUNITY COLLEGE,LONG ISLAND CITY,NY
+2972,CUNY-NEW YORK CITY TECHNICAL COLLEGE,BROOKLYN,NY
+2962,CUNY-QUEENS COLLEGE,FLUSHING,NY
+2966,CUNY-YORK COLLEGE,JAMAICA,NY
+2874,DAEMEN COLLEGE,BUFFALO,NY
+2730,DOMINICAN COLLEGE,ORANGEBURG,NY
+2665,DOWLING COLLEGE,OAKDALE,NY
+2731,DUTCHESS COMMUNITY COLLEGE,POUGHKEEPSIE,NY
+2732,DYOUVILLE COLLEGE,BUFFALO,NY
+2734,EASTMAN SCHOOL OF MUSIC,ROCHESTER,NY
+2735,ELIZABETH SETON COLLEGE,YONKERS,NY
+2739,ELLIS HOSPITAL SCHOOL OF NURSING,SCHNECTADY,NY
+2736,ELMIRA COLLEGE,ELMIRA,NY
+2737,EMPIRE STATE COLLEGE OF SUNY,SARATOGA SPRINGS,NY
+2742,ERIE COMMUNITY COLLEGE-CITY,ORCHARD PARK,NY
+2740,ERIE COMMUNITY COLLEGE-NORTH,WILLIAMSVILLE,NY
+2741,ERIE COMMUNITY COLLEGE-SOUTH,ORCHARD PARK,NY
+2744,FASHION INSTITUTE OF TECHNOLOGY,NEW YORK,NY
+2746,FINCH COLLEGE,NEW YORK,NY
+2745,FIVE TOWNS COLLEGE,SEAFORD,NY
+2748,FORDHAM UNIVERSITY,BRONX,NY
+2747,FRIENDS WORLD COLLEGE,LLOYD HARBOR,NY
+2749,FULTON-MONTGOMERY COMMUNITY COLLEGE,JOHNSTOWN,NY
+2751,GENESEE COMMUNITY COLLEGE,BATAVIA,NY
+2754,HAMILTON COLLEGE,CLINTON,NY
+2756,HARTWICK COLLEGE,ONEONTA,NY
+2763,HERBERT H LEHMAN COLLEGE-CUNY,BRONX,NY
+2765,HERKIMER COUNTY COMMUNITY COLLEGE,HERKIMER,NY
+2759,HILBERT COLLEGE,HAMBURG,NY
+2758,HOBART & WILLIAM SMITH COLLEGES,GENEVA,NY
+2760,HOFSTRA UNIVERSITY,HEMPSTEAD,NY
+2766,HOUGHTON COLLEGE,HOUGHTON,NY
+2768,HUDSON VALLEY COMMUNITY COLLEGE,TROY,NY
+2770,IONA COLLEGE,NEW ROCHELLE,NY
+2772,ITHACA COLLEGE,ITHACA,NY
+2774,JAMESTOWN COMMUNITY COLLEGE,JAMESTOWN,NY
+2775,JEFFERSON COMMUNITY COLLEGE,WATERTOWN,NY
+2776,JEWISH THEOLOGICAL SEMINARY OF AMERICA,NEW YORK,NY
+2781,JOHN JAY COLL OF CRIMINAL JUSTICE-CUNY,NEW YORK,NY
+2778,"JUILLIARD SCHOOL, THE",NEW YORK,NY
+2779,JUNIOR COLLEGE OF ALBANY,ALBANY,NY
+2787,KATHARINE GIBBS SCHOOL,MELVILLE HUNTINGTON,NY
+2700,KATHARINE GIBBS SCHOOL,NEW YORK,NY
+2782,KEUKA COLLEGE,KEUKA PARK,NY
+2784,KING'S COLLEGE,BRIARCLIFF MANOR,NY
+2790,LEMOYNE COLLEGE,SYRACUSE,NY
+2685,LONG ISLAND U-ARNOLD/MARIE SCHWARTZ COLL,BROOKLYN,NY
+2687,LONG ISLAND U-C W POST CAMPUS,GREENVALE,NY
+2792,LONG ISLAND UNIVERSITY-BROOKLYN CAMPUS,BROOKLYN,NY
+2907,LONG ISLAND U-SOUTHAMPTON CAMPUS,SOUTHAMPTON,NY
+2796,MANHATTAN COLLEGE,RIVERDALE,NY
+2809,MANHATTAN SCHOOL OF MUSIC,NEW YORK,NY
+2800,MANHATTANVILLE COLLEGE,PURCHASE,NY
+2803,MARIA COLLEGE OF ALBANY,ALBANY,NY
+2802,MARIA REGINA COLLEGE,SYRACUSE,NY
+2804,MARIST COLLEGE,POUGHKEEPSIE,NY
+2810,MARYMOUNT COLLEGE,TARRYTOWN,NY
+2811,MARYMOUNT MANHATTAN COLLEGE,NEW YORK,NY
+2799,MATER DEI COLLEGE,OGDENSBURG,NY
+2822,MEDAILLE COLLEGE,BUFFALO,NY
+2824,MEMORIAL HOSPITAL SCHOOL OF NURSING,ALBANY,NY
+2814,MERCY COLLEGE,DOBBS FERRY,NY
+2818,MOHAWK VALLEY COMMUNITY COLLEGE,UTICA,NY
+2820,MOLLOY COLLEGE,ROCKVILLE CENTRE,NY
+2827,MONROE COLLEGE,BRONX,NY
+2821,MONROE COMMUNITY COLLEGE,ROCHESTER,NY
+2819,MOUNT ST MARY COLLEGE,NEWBURGH,NY
+2825,NASSAU COMMUNITY COLLEGE,GARDEN CITY,NY
+2826,NAZARETH COLLEGE OF ROCHESTER,ROCHESTER,NY
+2828,NEW SCHOOL FOR SOCIAL RESEARCH,NEW YORK,NY
+2830,NEW YORK CITY TECHNICAL COLLEGE,BROOKLYN,NY
+2832,NEW YORK INSTITUTE OF TECHNOLOGY,OLD WESTBURY,NY
+2829,NEW YORK SCHOOL OF INTERIOR DESIGN,NEW YORK,NY
+2838,NEW YORK UNIVERSITY,NEW YORK,NY
+2843,NIAGARA COUNTY COMMUNITY COLLEGE,SANBORN,NY
+2842,NIAGARA UNIVERSITY,NIAGARA UNIV,NY
+2864,NORTH COUNTRY COMMUNITY COLLEGE,SARANAC LAKE,NY
+2846,NYACK COLLEGE,NYACK,NY
+2847,ONONDAGA COMMUNITY COLLEGE,SYRACUSE,NY
+2848,ORANGE COUNTY COMMUNITY COLLEGE,MIDDLETOWN,NY
+2852,PACE UNIVERSITY AT NEW YORK CITY,NEW YORK,NY
+2855,PACE UNIVERSITY AT PLEASANTVILLE,PLEASANTVILLE,NY
+2752,PACE UNIVERSITY AT WHITE PLAINS,WHITE PLAINS,NY
+2854,PARSONS SCHOOL OF DESIGN,NEW YORK,NY
+2858,PAUL SMITH'S COLLEGE OF ARTS & SCIENCES,PAUL SMITHS,NY
+2860,POLYTECHNIC INSTITUTE OF NEW YORK,BROOKLYN,NY
+2710,PRACTICAL BIBLE TRAINING SCHOOL,BIBLE SCHOOL PARK,NY
+2862,PRATT INSTITUTE,BROOKLYN,NY
+2863,QUEENSBOROUGH COMMUNITY COLLEGE,BAYSIDE,NY
+2866,RENSSELAER POLYTECHNIC INSTITUTE,TROY,NY
+2868,ROBERTS WESLEYAN COLLEGE,ROCHESTER,NY
+2870,ROCHESTER INSTITUTE OF TECHNOLOGY,ROCHESTER,NY
+2873,ROCKLAND COMMUNITY COLLEGE,SUFFERN,NY
+2876,RUSSELL SAGE COLLEGE,TROY,NY
+2880,SAMARITAN HOSPITAL SCHOOL OF NURSING,TROY,NY
+2904,SARAH LAWRENCE COLLEGE,BRONXVILLE,NY
+2892,SCHENECTADY COUNTY COMMUNITY COLLEGE,SCHENECTADY,NY
+2895,SCHOOL OF VISUAL ARTS,NEW YORK,NY
+2878,SIENA COLLEGE,LOUDONVILLE,NY
+2905,SIMMONS SCHOOL OF MORTUARY SCIENCE,SYRACUSE,NY
+2906,SKIDMORE COLLEGE,SARATOGA SPRINGS,NY
+2882,ST BONAVENTURE UNIVERSITY,ST BONAVENTURE,NY
+2989,ST ELIZABETH HOSPITAL SCHOOL OF NURSING,UTICA,NY
+2884,ST FRANCIS COLLEGE,BROOKLYN,NY
+2886,ST JOHN FISHER COLLEGE,ROCHESTER,NY
+2888,ST JOHN'S UNIVERSITY,JAMAICA,NY
+2844,ST JOHNS UNIVERSITY OF STATEN ISLAND,STATEN ISLAND,NY
+2890,ST JOSEPH'S COLLEGE,BROOKLYN,NY
+2896,ST LAWRENCE UNIVERSITY,CANTON,NY
+2689,ST MARY'S HOSPITAL SCHOOL OF NURSING,AMSTERDAM,NY
+2897,ST THOMAS AQUINAS COLLEGE,SPARKILL,NY
+2926,STATE UNIV OF NEW YORK AT ALBANY,ALBANY,NY
+2978,STATE UNIV OF NEW YORK AT BUFFALO,BUFFALO,NY
+2956,STATE UNIV OF NEW YORK-BINGHAMTON,BINGHAMTON,NY
+2952,STATE UNIV OF NEW YORK-STONY BROOK,STONY BROOK,NY
+2910,STATE UNIV OF NY AG TECH COLL-ALFRED,ALFRED,NY
+2912,STATE UNIV OF NY AG TECH COLL-CANTON,CANTON,NY
+2914,STATE UNIV OF NY AG TECH COLL-COBLESKLL,COBLESKILL,NY
+2916,STATE UNIV OF NY AG TECH COLL-DELHI,DELHI,NY
+2930,STATE UNIV OF NY COLL AT BUFFALO,BUFFALO,NY
+2932,STATE UNIV OF NY COLL AT CORTLAND,CORTLAND,NY
+2934,STATE UNIV OF NY COLL AT FREDONIA,FREDONIA,NY
+2936,STATE UNIV OF NY COLL AT GENESEO,GENESEO,NY
+2938,STATE UNIV OF NY COLL AT NEW PALTZ,NEW PALTZ,NY
+2939,STATE UNIV OF NY COLL AT OLD WESTBURY,OLD WESTBURY,NY
+2940,STATE UNIV OF NY COLL AT ONEONTA,ONEONTA,NY
+2942,STATE UNIV OF NY COLL AT OSWEGO,OSWEGO,NY
+2944,STATE UNIV OF NY COLL AT PLATTSBURGH,PLATTSBURGH,NY
+2946,STATE UNIV OF NY COLL AT POTSDAM,POTSDAM,NY
+2931,STATE UNIV OF NY COLL AT PURCHASE,PURCHASE,NY
+2947,STATE UNIV OF NY COLL AT UTICA/ROME,UTICA,NY
+2948,STATE UNIV OF NY COLL ENVIRON/FORESTRY,SYRACUSE,NY
+2918,STATE UNIV OF NY COLL OF TECH-FARMINGDLE,FARMINGDALE,NY
+2954,STATE UNIV OF NY MARITIME COLLEGE,"FORT SCHUYLER, BRONX",NY
+2981,STATE UNIV OF NY UPSTATE MEDICAL CENTER,SYRACUSE,NY
+2833,SUFFOLK COUNTY COMM COLL-EASTERN CAMPUS,SELDEN,NY
+2997,SUFFOLK COUNTY COMM COLL-WESTERN CAMPUS,SELDEN,NY
+2965,SUFFOLK COUNTY COMMUNITY COLLEGE,SELDEN,NY
+2967,SULLIVAN COUNTY COMMUNITY COLLEGE,LOCH SHELDRAKE,NY
+2968,SYRACUSE UNIVERSITY,SYRACUSE,NY
+2963,TOMPKINS-CORTLAND COMMUNITY COLLEGE,DRYDEN,NY
+2961,TOURO COLLEGE,NEW YORK,NY
+2964,TROCAIRE COLLEGE,BUFFALO,NY
+2974,U S MERCHANT MARINE ACADEMY,KINGS POINT,NY
+2976,U S MILITARY ACADEMY,WEST POINT,NY
+2971,ULSTER COUNTY COMMUNITY COLLEGE,STONE RIDGE,NY
+2970,UNION COLLEGE,SCHENECTADY,NY
+2980,UNIVERSITY OF ROCHESTER,ROCHESTER,NY
+2960,UNIVERSITY OF THE STATE OF NEW YORK,ALBANY,NY
+2973,UTICA COLLEGE OF SYRACUSE UNIV,UTICA,NY
+2975,UTICA SCHOOL OF COMMERCE,UTICA,NY
+2982,VASSAR COLLEGE,POUGHKEEPSIE,NY
+2983,VILLA MARIA COLLEGE OF BUFFALO,BUFFALO,NY
+2986,WADHAMS HALL SEMINARY-COLLEGE,OGDENSBURG,NY
+2984,WAGNER COLLEGE,STATEN ISLAND,NY
+2987,WEBB INSTITUTE OF NAVAL ARCH,GLEN COVE,NY
+2988,WELLS COLLEGE,AURORA,NY
+2990,WESTCHESTER COMMUNITY COLLEGE,VALHALLA,NY
+2761,WILLIAM SMITH COLLEGE,GENEVA,NY
+2991,WORD OF LIFE BIBLE INSTITUTE,POTTERSVILLE,NY
+2992,YESHIVA UNIVERSITY,NEW YORK,NY
+1827,AIR FORCE INSTITUTE OF TECHNOLOGY,WRIGHT PATTERSON AFB,OH
+3597,AKRON CITY HOSP FIRESTONE SCHOOL/NURSING,AKRON,OH
+3227,ALLEGHENY WESLEYAN COLLEGE,SALEM,OH
+3232,ANTIOCH COLLEGE,YELLOW SPRINGS,OH
+3234,ASHLAND UNIVERSITY,ASHLAND,OH
+3229,AULTMAN HOSPITAL SCH OF RADIOLOGIC TECH,CANTON,OH
+3228,AULTMAN HOSPITAL SCHOOL OF NURSING,CANTON,OH
+3236,BALDWIN WALLACE COLLEGE,BEREA,OH
+3230,BELMONT TECHNICAL COLLEGE,ST CLAIRSVILLE,OH
+3269,BETHESDA HOSPITAL SCHOOL OF NURSING,CINCINNATI,OH
+3233,BLISS COLLEGE,COLUMBUS,OH
+3238,BLUFFTON COLLEGE,BLUFFTON,OH
+3292,BORROMEO COLLEGE OF OHIO,WICKLIFFE,OH
+3240,BOWLING GREEN STATE UNIVERSITY,BOWLING GREEN,OH
+3242,CAPITAL UNIVERSITY,COLUMBUS,OH
+3244,CASE WESTERN RESERVE UNIVERSITY,CLEVELAND,OH
+3245,CEDARVILLE COLLEGE,CEDARVILLE,OH
+3365,CENTRAL OHIO TECHNICAL COLLEGE,NEWARK,OH
+3246,CENTRAL STATE UNIVERSITY,WILBERFORCE,OH
+3252,CHRIST HOSPITAL SCHOOL OF NURSING,CINCINNATI,OH
+3376,CHRISTIAN UNION SCHOOL OF THE BIBLE,GREENFIELD,OH
+3248,CINCINNATI BIBLE COLLEGE,CINCINNATI,OH
+3251,"CINCINNATI COLL OF MORTUARY SCIENCE,THE",CINCINNATI,OH
+5570,CINCINNATI TECHNICAL COLLEGE,CINCINNATI,OH
+3249,CIRCLEVILLE BIBLE COLLEGE,CIRCLEVILLE,OH
+3247,CLARK STATE COMMUNITY COLLEGE,SPRINGFIELD,OH
+3243,"CLEVELAND INSTITUTE OF ART, THE",CLEVELAND,OH
+3250,CLEVELAND INSTITUTE OF MUSIC,CLEVELAND,OH
+3301,CLEVELAND METRO GENERAL HOSP OF NURSING,CLEVELAND,OH
+3270,CLEVELAND STATE UNIVERSITY,CLEVELAND,OH
+3254,COLLEGE OF MOUNT ST JOSEPH,MOUNT ST JOSEPH,OH
+3260,COLLEGE OF WOOSTER,WOOSTER,OH
+3281,COLUMBUS COLLEGE OF ART & DESIGN,COLUMBUS,OH
+3261,COLUMBUS STATE COMMUNITY COLLEGE,COLUMBUS,OH
+3333,COMMUNITY HOSPITAL SCHOOL OF NURSING,SPRINGFIELD,OH
+3259,CUYAHOGA COMM COLLEGE-EASTERN CAMPUS,WARRENSVILLE TOWNSHI,OH
+3265,CUYAHOGA COMM COLLEGE-WESTERN CAMPUS,PARMA,OH
+3263,CUYAHOGA COMM COLL-METROPOLITAN CAMPUS,CLEVELAND,OH
+3285,DEACONESS HOSPITAL SCHOOL OF NURSING,CINCINNATI,OH
+3264,DEFIANCE COLLEGE,DEFIANCE,OH
+3266,DENISON UNIVERSITY,GRANVILLE,OH
+3262,DEVRY INSTITUTE OF TECHNOLOGY,COLUMBUS,OH
+3268,DYKE COLLEGE,CLEVELAND,OH
+3377,EDISON STATE COMMUNITY COLLEGE,PIQUA,OH
+3271,FAIRVIEW GENERAL HOSP SCHOOL OF NURSING,CLEVELAND,OH
+3258,FRANCISCAN UNIVERSITY OF STEUBENVILLE,STEUBENVILLE,OH
+3275,FRANKLIN UNIVERSITY,COLUMBUS,OH
+3325,GOD'S BIBLE SCHOOL AND COLLEGE,CINCINNATI,OH
+3375,GOOD SAMARITAN HOSPITAL SCH OF NURSING,CINCINNATI,OH
+3278,HEIDELBERG COLLEGE,TIFFIN,OH
+3327,HERITAGE BAPTIST UNIVERSITY,NORTH JACKSON,OH
+3280,HIRAM COLLEGE,HIRAM,OH
+3352,HOCKING TECHNICAL COLLEGE,NELSONVILLE,OH
+3369,HURON ROAD HOSPITAL SCHOOL OF NURSING,CLEVELAND,OH
+3373,JEFFERSON TECHNICAL COLLEGE,STEUBENVILLE,OH
+3282,JOHN CARROLL UNIVERSITY,UNIVERSITY HEIGHTS,OH
+3773,KENT STATE UNIV-ASHTABULA CAMPUS,ASHTABULA,OH
+3225,KENT STATE UNIV-EAST LIVERPOOL CAMPUS,EAST LIVERPOOL,OH
+3284,KENT STATE UNIVERSITY,KENT,OH
+3224,KENT STATE UNIV-GEAUGA CAMPUS,BURTON,OH
+3283,KENT STATE UNIV-PLANISEK BRANCH CAMPUS,KENT,OH
+3354,KENT STATE UNIV-SALEM CAMPUS,SALEM,OH
+3226,KENT STATE UNIV-STARK CAMPUS,CANTON,OH
+3343,KENT STATE UNIV-TRUMBULL CAMPUS,WARREN,OH
+3361,KENT STATE UNIV-TUSCARAWAS CAMPUS,NEW PHILDELPHIA,OH
+3286,KENYON COLLEGE,GAMBIER,OH
+3279,KETTERING COLLEGE OF MEDICAL ARTS,KETTERING,OH
+3288,LAKE ERIE COLLEGE,PAINESVILLE,OH
+3277,LAKELAND COMMUNITY COLLEGE,MENTOR,OH
+3359,LIMA TECHNICAL COLLEGE,LIMA,OH
+3287,LORAIN COUNTY COMMUNITY COLLEGE,ELYRIA,OH
+3598,LOURDES COLLEGE,SYLVANIA,OH
+3291,M B JOHNSON SCHOOL OF NURSING,ELYRIA,OH
+3289,MALONE COLLEGE,CANTON,OH
+3307,MANSFIELD GENERAL HOSP SCH OF NURSING,MANSFIELD,OH
+3599,MARIETTA BIBLE COLLEGE,MARIETTA,OH
+3290,MARIETTA COLLEGE,MARIETTA,OH
+3351,MARION TECHNICAL COLLEGE,MARION,OH
+3294,MIAMI UNIVERSITY,OXFORD,OH
+3303,MIAMI UNIVERSITY-HAMILTON CAMPUS,HAMILTON,OH
+3299,MIAMI UNIVERSITY-MIDDLETOWN CAMPUS,MIDDLETOWN,OH
+3296,MIAMI-JACOBS JUNIOR COLLEGE OF BUSINESS,DAYTON,OH
+3297,MOUNT CARMEL SCHOOL OF NURSING,COLUMBUS,OH
+3298,MOUNT UNION COLLEGE,ALLIANCE,OH
+3372,MOUNT VERNON NAZARENE COLLEGE,MOUNT VERNON,OH
+3305,MUSKINGUM AREA TECHNICAL COLLEGE,ZANESVILLE,OH
+3300,MUSKINGUM COLLEGE,NEW CONCORD,OH
+3255,NATIONAL EDUC CENTER-NIT CAMPUS-OHIO,CUYAHOGA FALLS,OH
+3374,NORTH CENTRAL TECHNICAL COLLEGE,MANSFIELD,OH
+3315,NORTHEASTERN OHIO U COLLEGE OF MEDICINE,ROOTSTOWN,OH
+3356,NORTHWEST TECHNICAL COLLEGE,ARCHBOLD,OH
+3302,NOTRE DAME COLLEGE OF OHIO,CLEVELAND,OH
+3304,OBERLIN COLLEGE,OBERLIN,OH
+3256,OHIO DOMINICAN COLLEGE,COLUMBUS,OH
+3310,OHIO NORTHERN UNIVERSITY,ADA,OH
+3311,OHIO STATE UNIV AGRIC TECH INSTITUTE,WOOSTER,OH
+3312,OHIO STATE UNIVERSITY,COLUMBUS,OH
+3320,OHIO STATE UNIVERSITY-LIMA,LIMA,OH
+3337,OHIO STATE UNIVERSITY-NEWARK,NEWARK,OH
+3314,OHIO UNIVERSITY,ATHENS,OH
+3317,OHIO UNIVERSITY-BELMONT CAMPUS,ST CLAIRSVILLE,OH
+3313,OHIO UNIVERSITY-CHILLICOTHE CAMPUS,CHILLICOTHE,OH
+3370,OHIO UNIVERSITY-IRONTON CAMPUS,IRONTON,OH
+3326,OHIO UNIVERSITY-LANCASTER CAMPUS,LANCASTER,OH
+3322,OHIO UNIVERSITY-ZANESVILLE CAMPUS,ZANESVILLE,OH
+3329,OHIO VALLEY HOSPITAL SCHOOL OF NURSING,STEUBENVILLE,OH
+3316,OHIO WESLEYAN UNIVERSITY,DELAWARE,OH
+3318,OTTERBEIN COLLEGE,WESTERVILLE,OH
+3323,OWENS COMMUNITY COLLEGE,TOLEDO,OH
+3321,PONTIFICAL COLLEGE JOSEPHINUM,COLUMBUS,OH
+3328,PROVIDENCE HOSP SCH OF RADIOLOGIC TECH,SANDUSKY,OH
+3319,PROVIDENCE HOSPITAL SCHOOL OF NURSING,SANDUSKY,OH
+3222,RIVERSIDE METH HOSP SCH/RADIOLOGIC TECH,COLUMBUS,OH
+3336,SHAWNEE STATE UNIVERSITY,PORTSMOUTH,OH
+3332,SINCLAIR COMMUNITY COLLEGE,DAYTON,OH
+3253,SOUTHERN OHIO COLLEGE,CINCINNATI,OH
+3276,SOUTHERN STATE COMMUNITY COLLEGE,HILLSBORO,OH
+3257,ST ALEXIS HOSPITAL SCHOOL OF NURSING,CLEVELAND,OH
+3341,ST ELIZABETH HOSPITAL SCHOOL OF NURSING,YOUNGSTOWN,OH
+3331,ST THOMAS HOSPITAL SCHOOL OF NURSING,AKRON,OH
+3330,ST VINCENT CHARITY HOSPITAL SCH/NURSING,CLEVELAND,OH
+5077,ST VINCENT MEDICAL CENTER SCH/NURSING,TOLEDO,OH
+3345,STARK TECHNICAL COLLEGE,CANTON,OH
+3347,TEMPLE BAPTIST COLLEGE,CINCINNATI,OH
+3353,TERRA TECHNICAL COLLEGE,FREMONT,OH
+3231,THE ART ACADEMY OF CINCINNATI,CINCINNATI,OH
+3334,TIFFIN UNIVERSITY,TIFFIN,OH
+3350,TOLEDO HOSPITAL SCHOOL OF NURSING,TOLEDO,OH
+3335,TRUMBULL MEMORIAL HOSPITAL SCH/NURSING,WARREN,OH
+3338,UNIVERSITY OF AKRON,AKRON,OH
+3340,UNIVERSITY OF CINCINNATI,CINCINNATI,OH
+3342,UNIVERSITY OF DAYTON,DAYTON,OH
+3272,UNIVERSITY OF FINDLAY,FINDLAY,OH
+3324,UNIVERSITY OF RIO GRANDE,RIO GRANDE,OH
+3344,UNIVERSITY OF TOLEDO,TOLEDO,OH
+3346,URBANA UNIVERSITY,URBANA,OH
+3348,URSULINE COLLEGE,PEPPER PIKE,OH
+3349,WALSH UNIVERSITY,CANTON,OH
+3367,WASHINGTON TECHNICAL COLLEGE,MARIETTA,OH
+3267,WAYNE GENERAL & TECHNICAL COLLEGE,ORRVILLE,OH
+3360,WILBERFORCE UNIVERSITY,WILBERFORCE,OH
+3362,WILMINGTON COLLEGE,WILMINGTON,OH
+3364,WITTENBERG UNIVERSITY,SPRINGFIELD,OH
+3295,WRIGHT STATE UNIVERSITY,DAYTON,OH
+3366,XAVIER UNIVERSITY,CINCINNATI,OH
+3368,YOUNGSTOWN STATE UNIVERSITY,YOUNGSTOWN,OH
+3380,BACONE COLLEGE,MUSKOGEE,OK
+3387,BARTLESVILLE WESLEYAN COLLEGE,BARTLESVILLE,OK
+3386,CAMERON UNIVERSITY,LAWTON,OK
+3430,CARL ALBERT STATE COLLEGE,POTEAU,OK
+3388,CENTRAL OKLAHOMA AVT SCHOOL,DRUMRIGHT,OK
+3392,CONNORS STATE COLLEGE,WARNER,OK
+3394,EAST CENTRAL UNIVERSITY,ADA,OK
+3396,EASTERN OKLAHOMA STATE COLLEGE,WILBURTON,OK
+3413,HILLSDALE FREE WILL BAPTIST COLLEGE,MOORE,OK
+3400,LANGSTON UNIVERSITY,LANGSTON,OK
+4097,MID-AMERICA BIBLE COLLEGE,OKLAHOMA CITY,OK
+3402,MURRAY STATE COLLEGE,TISHOMINGO,OK
+3446,NATIONAL EDUC CENTER-NIT CAMPUS-OKLA,OKLAHOMA CITY,OK
+3406,NORTHEASTERN OKLAHOMA A&M COLLEGE,MIAMI,OK
+3408,NORTHEASTERN STATE UNIVERSITY,TAHLEQUAH,OK
+3410,NORTHERN OKLAHOMA COLLEGE,TONKAWA,OK
+3412,NORTHWESTERN OKLAHOMA STATE UNIVERSITY,ALVA,OK
+3381,OKLAHOMA BAPTIST COLLEGE AND INSTITUTE,OKLAHOMA CITY,OK
+3414,OKLAHOMA BAPTIST UNIVERSITY,SHAWNEE,OK
+3415,OKLAHOMA CHRISTIAN COLLEGE,OKLAHOMA CITY,OK
+3431,OKLAHOMA CITY COMMUNITY COLLEGE,OKLAHOMA CITY,OK
+3416,OKLAHOMA CITY UNIVERSITY,OKLAHOMA CITY,OK
+3422,OKLAHOMA COLLEGE OF BUSINESS&TECHNOLOGY,TULSA,OK
+3417,OKLAHOMA MISSIONARY BAPT COLL INST & SEM,MARLOW,OK
+3426,OKLAHOMA PANHANDLE STATE UNIVERSITY,GOODWELL,OK
+3425,OKLAHOMA STATE UNIVERSITY,OKMULGEE,OK
+3424,OKLAHOMA STATE UNIVERSITY,STILLWATER,OK
+3423,OKLAHOMA STATE UNIVERSITY TECH INST,OKLAHOMA CITY,OK
+3427,ORAL ROBERTS UNIVERSITY,TULSA,OK
+3428,PHILLIPS UNIVERSITY,ENID,OK
+3398,REDLANDS COMMUNITY COLLEGE,EL RENO,OK
+3420,ROGERS UNIVERSITY,CLAREMORE,OK
+3403,ROSE STATE COLLEGE,MIDWEST CITY,OK
+3434,SAYRE JUNIOR COLLEGE,SAYRE,OK
+3436,SEMINOLE STATE COLLEGE,SEMINOLE,OK
+3438,SOUTHEASTERN OKLAHOMA STATE UNIVERSITY,DURANT,OK
+3384,SOUTHERN NAZARENE UNIVERSITY,BETHANY,OK
+3437,SOUTHERN NAZARENE UNIVERSITY,BETHANY,OK
+3439,SOUTHWESTERN COLL CHRISTIAN MINISTRIES,BETHANY,OK
+3440,SOUTHWESTERN OKLAHOMA STATE UNIVERSITY,WEATHERFORD,OK
+3443,SPARTAN SCHOOL OF AERONAUTICS,TULSA,OK
+3432,ST GREGORY'S COLLEGE,SHAWNEE,OK
+3441,TULSA COMMUNITY COLLEGE,TULSA,OK
+3390,UNIVERSITY OF CENTRAL OKLAHOMA,EDMOND,OK
+3442,UNIVERSITY OF OKLAHOMA,NORMAN,OK
+3418,UNIVERSITY OF SCIENCE & ARTS OF OKLA,CHICKASHA,OK
+3444,UNIVERSITY OF TULSA,TULSA,OK
+3378,WESTERN OKLAHOMA STATE COLLEGE,ALTUS,OK
+3455,BLUE MOUNTAIN COMMUNITY COLLEGE,PENDLETON,OR
+3457,CENTRAL OREGON COMMUNITY COLLEGE,BEND,OR
+3493,CHEMEKETA COMMUNITY COLLEGE,SALEM,OR
+3465,CLACKAMAS COMMUNITY COLLEGE,OREGON CITY,OR
+3461,CLATSOP COMMUNITY COLLEGE,ASTORIA,OR
+3459,COLUMBIA CHRISTIAN COLLEGE,PORTLAND,OR
+3458,CONCORDIA UNIVERSITY,PORTLAND,OR
+3460,EASTERN OREGON STATE COLLEGE,LA GRANDE,OR
+3468,EUGENE BIBLE COLLEGE,EUGENE,OR
+3462,GEORGE FOX COLLEGE,NEWBERG,OR
+3467,JUDSON BAPTIST COLLEGE,THE DALLES,OR
+3463,LANE COMMUNITY COLLEGE,EUGENE,OR
+3464,LEWIS AND CLARK COLLEGE,PORTLAND,OR
+3466,LINFIELD COLLEGE,MCMINNVILLE,OR
+3510,LINFIELD-GOOD SAMARITAN BACC SCH/NRSING,PORTLAND,OR
+3469,LINN-BENTON COMMUNITY COLLEGE,ALBANY,OR
+3472,MOUNT ANGEL SEMINARY,ST BENEDICT,OR
+3473,MOUNT HOOD COMMUNITY COLLEGE,GRESHAM,OR
+3476,MULTNOMAH SCHOOL OF THE BIBLE,PORTLAND,OR
+3478,NORTHWEST CHRISTIAN COLLEGE,EUGENE,OR
+3481,OREGON GRADUATE INSTITUTE,PORTLAND,OR
+3491,OREGON HEALTH SCIENCES UNIVERSITY,PORTLAND,OR
+3484,OREGON INSTITUTE OF TECHNOLOGY,KLAMATH FALLS,OR
+3482,OREGON STATE UNIVERSITY,CORVALLIS,OR
+3477,PACIFIC NORTHWEST COLLEGE OF ART,PORTLAND,OR
+3488,PACIFIC UNIVERSITY,FOREST GROVE,OR
+3489,PORTLAND COMMUNITY COLLEGE,PORTLAND,OR
+3492,PORTLAND STATE UNIVERSITY,PORTLAND,OR
+3494,REED COLLEGE,PORTLAND,OR
+3490,ROGUE COMMUNITY COLLEGE,GRANTS PASS,OR
+3496,SOUTHERN OREGON STATE COLLEGE,ASHLAND,OR
+3495,SOUTHWESTERN OREGON COMMUNITY COLLEGE,COOS BAY,OR
+3497,TREASURE VALLEY COMMUNITY COLLEGE,ONTARIO,OR
+3502,UMPQUA COMMUNITY COLLEGE,ROSEBURG,OR
+3498,UNIVERSITY OF OREGON,EUGENE,OR
+3500,UNIVERSITY OF PORTLAND,PORTLAND,OR
+3486,WARNER PACIFIC COLLEGE,PORTLAND,OR
+0477,WESTERN BAPTIST COLLEGE,SALEM,OR
+3479,WESTERN CONSERVATIVE BAPTIST SEMINARY,PORTLAND,OR
+3480,WESTERN OREGON STATE COLLEGE,MONMOUTH,OR
+3504,WILLAMETTE UNIVERSITY,SALEM,OR
+3727,"ACADEMY OF THE NEW CHURCH COLLEGE, THE",BRYN ATHYN,PA
+3518,ALBRIGHT COLLEGE,READING,PA
+3520,ALLEGHENY COLLEGE,MEADVILLE,PA
+3525,ALLENTOWN COLL OF ST FRANCIS DE SALES,CENTER VALLEY,PA
+3522,ALLIANCE COLLEGE,CAMBRIDGE SPRINGS,PA
+3521,ALVERNIA COLLEGE,READING,PA
+0690,ASSOC. OF CHRISTIAN SCHOOLS INTERNAT'L,NEWTOWN SQUARE,PA
+3523,BAPTIST BIBLE COLLEGE OF PA,CLARKS SUMMIT,PA
+3524,BEAVER COLLEGE,GLENSIDE,PA
+3692,BLOOMSBURG UNIVERSITY OF PENNSYLVANIA,BLOOMSBURG,PA
+3526,BRYN MAWR COLLEGE,BRYN MAWR,PA
+3528,BUCKNELL UNIVERSITY,LEWISBURG,PA
+3529,BUCKS COUNTY COMMUNITY COLLEGE,NEWTOWN,PA
+3527,BUTLER COUNTY COMMUNITY COLLEGE,BUTLER,PA
+3532,CABRINI COLLEGE,RADNOR,PA
+3694,CALIFORNIA UNIVERSITY OF PENNSYLVANIA,CALIFORNIA,PA
+3638,CARLOW COLLEGE,PITTSBURGH,PA
+3534,CARNEGIE-MELLON UNIVERSITY,PITTSBURGH,PA
+3536,CEDAR CREST COLLEGE,ALLENTOWN,PA
+3538,CHATHAM COLLEGE,PITTSBURGH,PA
+3540,CHESTNUT HILL COLLEGE,PHILADELPHIA,PA
+3696,CHEYNEY UNIVERSITY OF PENNSYLVANIA,CHEYNEY,PA
+3698,CLARION UNIV OF PENNSYLVANIA,CLARION,PA
+3699,CLARION UNIV OF PENNSYLVANIA-VENANGO,OIL CITY,PA
+3539,COLLEGE OF MISERICORDIA,DALLAS,PA
+3541,COMMUNITY COLL ALLEGHENY COUNTY-ALLEGH,PITTSBURGH,PA
+3547,COMMUNITY COLL ALLEGHENY COUNTY-BOYCE,PITTSBURGH,PA
+3548,COMMUNITY COLL ALLEGHENY COUNTY-NORTH,PITTSBURGH,PA
+3549,COMMUNITY COLL ALLEGHENY COUNTY-SOUTH,PITTSBURGH,PA
+3545,COMMUNITY COLLEGE OF BEAVER COUNTY,MONACA,PA
+3543,COMMUNITY COLLEGE OF PHILADELPHIA,PHILADELPHIA,PA
+3542,DELAWARE COUNTY COMMUNITY COLLEGE,MEDIA,PA
+3551,DELAWARE VALLEY COLLEGE,DOYLESTOWN,PA
+3550,DICKINSON COLLEGE,CARLISLE,PA
+3556,DREXEL UNIVERSITY,PHILADELPHIA,PA
+3560,DUQUESNE UNIVERSITY,PITTSBURGH,PA
+3700,EAST STROUDSBURG UNIVERSITY,EAST STROUDSBURG,PA
+3562,EASTERN COLLEGE,SAINT DAVIDS,PA
+3702,EDINBORO UNIVERSITY OF PENNSYLVANIA,EDINBORO,PA
+3568,ELIZABETHTOWN COLLEGE,ELIZABETHTOWN,PA
+3574,FRANKLIN AND MARSHALL COLLEGE,LANCASTER,PA
+3576,GANNON UNIVERSITY,ERIE,PA
+3578,GENEVA COLLEGE,BEAVER FALLS,PA
+3580,GETTYSBURG COLLEGE,GETTYSBURG,PA
+3582,GROVE CITY COLLEGE,GROVE CITY,PA
+3583,GWYNEDD-MERCY COLLEGE,GWYNEDD VALLEY,PA
+3586,HAHNEMANN UNIVERSITY,PHILADELPHIA,PA
+3588,HARCUM JUNIOR COLLEGE,BRYN MAWR,PA
+3589,HARRISBURG AREA COMMUNITY COLLEGE,HARRISBURG,PA
+3590,HAVERFORD COLLEGE,HAVERFORD,PA
+3592,HOLY FAMILY COLLEGE,PHILADELPHIA,PA
+3596,IMMACULATA COLLEGE,IMMACULATA,PA
+3704,INDIANA UNIVERSITY OF PENNSYLVANIA,INDIANA,PA
+3600,JUNIATA COLLEGE,HUNTINGDON,PA
+3602,KEYSTONE JUNIOR COLLEGE,LA PLUME,PA
+3604,KINGS COLLEGE,WILKES-BARRE,PA
+3706,KUTZTOWN UNIVERSITY OF PENNSYLVANIA,KUTZTOWN,PA
+3607,LA ROCHE COLLEGE,PITTSBURGH,PA
+3608,LA SALLE UNIVERSITY,PHILADELPHIA,PA
+3605,LACKAWANNA JUNIOR COLLEGE,SCRANTON,PA
+3606,LAFAYETTE COLLEGE,EASTON,PA
+3707,LANCASTER BIBLE COLLEGE,LANCASTER,PA
+3709,LANKENAU HOSPITAL SCHOOL OF NURSING,PHILADELPHIA,PA
+3610,LEBANON VALLEY COLLEGE,ANNVILLE,PA
+3611,LEHIGH CARBON COMMUNITY COLLEGE,SCHNECKSVILLE,PA
+3612,LEHIGH UNIVERSITY,BETHLEHEM,PA
+3614,LINCOLN UNIVERSITY,LINCOLN UNIV,PA
+3708,LOCK HAVEN UNIVERSITY OF PENNSYLVANIA,LOCK HAVEN,PA
+3616,LUZERNE COUNTY COMMUNITY COLLEGE,NANTICOKE,PA
+3622,LYCOMING COLLEGE,WILLIAMSPORT,PA
+3625,MANNA BIBLE INSTITUTE,PHILADELPHIA,PA
+3628,MANOR JUNIOR COLLEGE,JENKINTOWN,PA
+3710,MANSFIELD UNIVERSITY OF PENNSYLVANIA,MANSFIELD,PA
+3626,MARYWOOD COLLEGE,SCRANTON,PA
+3629,MERCYHURST COLLEGE,ERIE,PA
+3630,MESSIAH COLLEGE,GRANTHAM,PA
+3712,MILLERSVILLE UNIVERSITY OF PENNSYLVANIA,MILLERSVILLE,PA
+3641,MONTGOMERY COUNTY COMMUNITY COLLEGE,BLUE BELL,PA
+3632,MOORE COLLEGE OF ART,PHILADELPHIA,PA
+3634,MORAVIAN COLLEGE,BETHLEHEM,PA
+3635,MOUNT ALOYSIUS JUNIOR COLLEGE,CRESSON,PA
+3640,MUHLENBERG COLLEGE,ALLENTOWN,PA
+3649,NEUMANN COLLEGE,ASTON,PA
+3644,NEW SCHOOL OF MUSIC,PHILADELPHIA,PA
+3645,NORTHAMPTON COUNTY AREA COMM COLLEGE,BETHLEHEM,PA
+3647,NORTHEASTERN CHRISTIAN JUNIOR COLLEGE,VILLANOVA,PA
+3659,PEIRCE JUNIOR COLLEGE,PHILADELPHIA,PA
+3654,PENNSYLVANIA COLLEGE OF OPTOMETRY,PHILADELPHIA,PA
+3757,PENNSYLVANIA COLLEGE OF TECHNOLOGY,WILLIAMSPORT,PA
+3648,PENNSYLVANIA STATE U-NEW KENSINGTON,NEW KENSINGTON,PA
+3656,PENNSYLVANIA STATE UNIVERSITY,UNIVERSITY PARK,PA
+3662,PENNSYLVANIA STATE U-SHENANGO VALLEY,SHARON,PA
+3658,PHILADELPHIA COLLEGE OF BIBLE,LANGHORNE,PA
+3668,PHILADELPHIA COLLEGE OF TEXTILES & SCI,PHILADELPHIA,PA
+3670,PHILADELPHIA SCHOOL OF OFFICE TRAINING,PHILADELPHIA,PA
+3660,PINEBROOK JUNIOR COLLEGE,COOPERSBURG,PA
+3530,POINT PARK COLLEGE,PITTSBURGH,PA
+3718,READING AREA COMMUNITY COLLEGE,READING,PA
+3674,ROBERT MORRIS COLLEGE,CORAOPOLIS,PA
+3675,ROBERT MORRIS COLLEGE-PITTSBURGH CENTER,CORAOPOLIS,PA
+3676,ROSEMONT COLLEGE,ROSEMONT,PA
+3688,SETON HILL COLLEGE,GREENSBURG,PA
+3714,SHIPPENSBURG UNIVERSITY OF PENNSYLVANIA,SHIPPENSBURG,PA
+3716,SLIPPERY ROCK UNIV OF PENNSYLVANIA,SLIPPERY ROCK,PA
+3717,SPRING GARDEN COLLEGE,PHILADELPHIA,PA
+3682,ST FRANCIS COLLEGE,LORETTO,PA
+3684,ST JOSEPH'S UNIVERSITY,PHILADELPHIA,PA
+3686,ST VINCENT COLLEGE,LATROBE,PA
+3720,SUSQUEHANNA UNIVERSITY,SELINSGROVE,PA
+3722,SWARTHMORE COLLEGE,SWARTHMORE,PA
+3724,TEMPLE UNIVERSITY,PHILADELPHIA,PA
+3730,THIEL COLLEGE,GREENVILLE,PA
+3566,UNITED WESLEYAN COLLEGE,ALLENTOWN,PA
+3732,UNIVERSITY OF PENNSYLVANIA,PHILADELPHIA,PA
+3734,UNIVERSITY OF PITTSBURGH,PITTSBURGH,PA
+3731,UNIVERSITY OF PITTSBURGH AT BRADFORD,BRADFORD,PA
+3733,UNIVERSITY OF PITTSBURGH AT GREENSBURG,GREENSBURG,PA
+3735,UNIVERSITY OF PITTSBURGH AT JOHNSTOWN,JOHNSTOWN,PA
+3737,UNIVERSITY OF PITTSBURGH AT TITUSVILLE,TITUSVILLE,PA
+3736,UNIVERSITY OF SCRANTON,SCRANTON,PA
+3664,UNIVERSITY OF THE ARTS,PHILADELPHIA,PA
+3738,URSINUS COLLEGE,COLLEGEVILLE,PA
+3740,VALLEY FORGE MILITARY JUNIOR COLLEGE,WAYNE,PA
+3742,VILLA MARIA COLLEGE,ERIE,PA
+3744,VILLANOVA UNIVERSITY,VILLANOVA,PA
+3746,WASHINGTON & JEFFERSON COLLEGE,WASHINGTON,PA
+3748,WAYNESBURG COLLEGE,WAYNESBURG,PA
+3750,WEST CHESTER UNIVERSITY OF PENNSYLVANIA,WEST CHESTER,PA
+3752,WESTMINSTER COLLEGE,NEW WILMINGTON,PA
+3754,WESTMORELAND COUNTY COMMUNITY COLLEGE,YOUNGWOOD,PA
+3652,WIDENER UNIVERSITY,CHESTER,PA
+3756,WILKES UNIVERSITY,WILKES-BARRE,PA
+3758,WILSON COLLEGE,CHAMBERSBURG,PA
+3762,YORK COLLEGE OF PENNSYLVANIA,YORK,PA
+5800,AMERICAN COLLEGE OF PUERTO RICO,BAYAMON,PR
+5801,ANA G MENDEZ EDUC FOUNDATION,RIO PIEDRAS,PR
+5802,ANTILLIAN COLLEGE,MAYAGUEZ,PR
+5803,BAYAMON CENTRAL UNIVERSITY,BAYAMON,PR
+5804,CAGUAS CITY COLLEGE,CAGUAS,PR
+5805,CARIBBEAN CENTER FOR ADVANCED STUDIES,SANTURCE,PR
+5806,CARIBBEAN UNIVERSITY COLLEGE,BAYAMON,PR
+5808,CENTER FOR ADV STUDIES ON PR & CARIBB,SAN JUAN,PR
+5809,CHRISTIAN UNIV COLLEGE OF THE AMERICAS,RIO PIEDRAS,PR
+5819,COLEGIO UNIVERSITARIO DEL ESTE,RIO PIEDRAS,PR
+5810,CONSERVATORY OF MUSIC OF PUERTO RICO,SAN JUAN,PR
+5811,ELECTRONIC DATA PROCESSING COLLEGE OF PR,HATO REY,PR
+5812,EVANGELICAL SEMINARY OF PUERTO RICO,HATO REY,PR
+5813,HUERTAS JUNIOR COLLEGE,CAGUAS,PR
+5814,ICPR (INST COMERICAL DE PR) JUNIOR COLL,HATO REY,PR
+5815,INST TECNICO COMERCIAL JUNIOR COLLEGE,RIO PIEDRAS,PR
+5816,INTER AMERICAN UNIVERSITY OF PUERTO RICO,SAN JUAN,PR
+5817,INTRNTNL INST OF AMERICAS OF WORLD UNIV,HATO REY,PR
+5818,METROPOLITAN UNIVERSITY,RIO PIEDRAS,PR
+5807,PONTIFICIA UNIV. CATOLICA DE PUERTO RICO,PONCE,PR
+5820,RAMIREZ COLLEGE OF BUSINESS & TECHNOLOGY,SANTURCE,PR
+5821,TECHNICAL COLLEGE OF SAN JUAN,SANTURCE,PR
+5822,TURABO UNIVERSITY COLLEGE,CAGUAS,PR
+5826,UNIV OF PUERTO RICO - BAYAMON,BAYAMON,PR
+5824,UNIV OF PUERTO RICO-AGUADILLA REG COLL,AGUADILLA,PR
+5825,UNIV OF PUERTO RICO-ARECIBO,ARECIBO,PR
+5827,UNIV OF PUERTO RICO-CAROLINA REGIONAL,CAROLINA,PR
+5828,UNIV OF PUERTO RICO-CAYEY UNIV COLL,CAYEY,PR
+5829,UNIV OF PUERTO RICO-HUMACAO,HUMACAO,PR
+5830,UNIV OF PUERTO RICO-LA MONTANA,UTUADO,PR
+5831,UNIV OF PUERTO RICO-MAYAGUEZ,MAYAGUEZ,PR
+5832,UNIV OF PUERTO RICO-MEDICAL SCIENCES,SAN JUAN,PR
+5833,UNIV OF PUERTO RICO-PONCE TECH UNIV COLL,PONCE,PR
+5834,UNIV OF PUERTO RICO-RIO PIEDRAS,RIO PIEDRAS,PR
+5823,UNIV POLITECNICA DE PUERTO RICO,HATO REY,PR
+5835,UNIVERSITY OF THE SACRED HEART,SANTURCE,PR
+3808,BARRINGTON COLLEGE,BARRINGTON,RI
+3800,BROWN UNIVERSITY,PROVIDENCE,RI
+3802,BRYANT COLLEGE,SMITHFIELD,RI
+3811,COMMUNITY COLLEGE OF RHODE ISLAND,WARWICK,RI
+3804,JOHNSON & WALES COLLEGE,PROVIDENCE,RI
+3805,KATHARINE GIBBS SCHOOL,PROVIDENCE,RI
+3806,PROVIDENCE COLLEGE,PROVIDENCE,RI
+3810,RHODE ISLAND COLLEGE,PROVIDENCE,RI
+3812,RHODE ISLAND SCHOOL OF DESIGN,PROVIDENCE,RI
+3814,ROGER WILLIAMS COLLEGE,BRISTOL,RI
+3816,SALVE REGINA UNIVERSITY,NEWPORT,RI
+3818,UNIVERSITY OF RHODE ISLAND,KINGSTON,RI
+3824,AIKEN TECHNICAL COLLEGE,AIKEN,SC
+3830,ALLEN UNIVERSITY,COLUMBIA,SC
+3832,ANDERSON COLLEGE,ANDERSON,SC
+3834,BENEDICT COLLEGE,COLUMBIA,SC
+3836,BOB JONES UNIVERSITY,GREENVILLE,SC
+3841,CENTRAL CAROLINA TECHNICAL COLLEGE,SUMTER,SC
+3837,CENTRAL WESLEYAN COLLEGE,CENTRAL,SC
+3833,CHARLESTON SOUTHERN UNIVERSITY,CHARLESTON,SC
+3839,CHESTERFIELD-MARLBORO TECHNICAL COLLEGE,CHERAW,SC
+3838,"CITADEL OF SOUTH CAROLINA, THE",CHARLESTON,SC
+3840,CLAFLIN COLLEGE,ORANGEBURG,SC
+3842,CLEMSON UNIVERSITY,CLEMSON,SC
+3843,COASTAL CAROLINA UNIVERSITY,CONWAY,SC
+3844,COKER COLLEGE,HARTSVILLE,SC
+3846,COLLEGE OF CHARLESTON,CHARLESTON,SC
+3848,COLUMBIA BIBLE COLLEGE,COLUMBIA,SC
+3850,COLUMBIA COLLEGE,COLUMBIA,SC
+3852,CONVERSE COLLEGE,SPARTANBURG,SC
+3854,ERSKINE COLLEGE,DUE WEST,SC
+3857,FLORENCE-DARLINGTON TECHNICAL COLLEGE,FLORENCE,SC
+3856,FRANCIS MARION UNIVERSITY,FLORENCE,SC
+3858,FURMAN UNIVERSITY,GREENVILLE,SC
+3827,GREENVILLE TECHNICAL COLLEGE,GREENVILLE,SC
+3863,HOLMES COLLEGE OF THE BIBLE,GREENVILLE,SC
+3864,HORRY-GEORGETOWN TECHNICAL COLLEGE,CONWAY,SC
+3860,LANDER COLLEGE,GREENWOOD,SC
+3862,LIMESTONE COLLEGE,GAFFNEY,SC
+3869,MIDLANDS TECHNICAL COLLEGE,COLUMBIA,SC
+3868,MORRIS COLLEGE,SUMTER,SC
+3870,NEWBERRY COLLEGE,NEWBERRY,SC
+3872,NORTH GREENVILLE COLLEGE,TIGERVILLE,SC
+3865,ORANGEBURG-CALHOUN TECHNICAL COLLEGE,ORANGEBURG,SC
+3829,PIEDMONT TECHNICAL COLLEGE,GREENWOOD,SC
+3874,PRESBYTERIAN COLLEGE,CLINTON,SC
+3876,SOUTH CAROLINA STATE COLLEGE,ORANGEBURG,SC
+3893,SOUTHERN METHODIST COLLEGE,ORANGEBURG,SC
+3878,SPARTANBURG METHODIST COLLEGE,SPARTANBURG,SC
+3825,SPARTANBURG TECHNICAL COLLEGE,SPARTANBURG,SC
+3888,TECHNICAL COLLEGE OF THE LOWCOUNTRY,BEAUFORT,SC
+3883,TRI-COUNTY TECHNICAL COLLEGE,PENDLETON,SC
+3831,TRIDENT TECHNICAL COLLEGE-NORTH CAMPUS,NORTH CHARLESTON,SC
+3871,TRIDENT TECHNICAL COLL-PALMER CAMPUS,CHARLESTON,SC
+3880,UNIV OF SOUTH CAROLINA,COLUMBIA,SC
+3879,UNIV OF SOUTH CAROLINA-AIKEN,AIKEN,SC
+3835,UNIV OF SOUTH CAROLINA-BEAUFORT,BEAUFORT,SC
+3892,UNIV OF SOUTH CAROLINA-FT JACKSON,COLUMBIA,SC
+3859,UNIV OF SOUTH CAROLINA-LANCASTER,LANCASTER,SC
+3881,UNIV OF SOUTH CAROLINA-SALKEHATCHIE,ALLENDALE,SC
+3889,UNIV OF SOUTH CAROLINA-SPARTANBURG,SPARTANBURG,SC
+3885,UNIV OF SOUTH CAROLINA-SUMTER,SUMTER,SC
+3875,UNIV OF SOUTH CAROLINA-UNION,UNION,SC
+3882,VOORHEES COLLEGE,DENMARK,SC
+3884,WINTHROP COLLEGE,ROCK HILL,SC
+3886,WOFFORD COLLEGE,SPARTANBURG,SC
+3887,YORK TECHNICAL COLLEGE,ROCK HILL,SC
+3902,AUGUSTANA COLLEGE,SIOUX FALLS,SD
+3904,BLACK HILLS STATE UNIVERSITY,SPEARFISH,SD
+3905,CHEYENNE RIVER COMMUNITY COLLEGE,EAGLE BUTTE,SD
+3912,COLORADO TECHNICAL UNIVERSITY-S DAKOTA,HURON,SD
+3903,"COMMUNITY COLLEGE, THE",SIOUX FALLS,SD
+3910,DAKOTA STATE UNIVERSITY,MADISON,SD
+3906,DAKOTA WESLEYAN UNIVERSITY,MITCHELL,SD
+3908,FREEMAN JUNIOR COLLEGE,FREEMAN,SD
+3913,KILIAN COMMUNITY COLLEGE,SIOUX FALLS,SD
+3809,LAKE AREA TECHNICAL INSTITUTE,WATERTOWN,SD
+3917,MCKENNAN HOSP SCHOOL OF RADIOLOGIC TECH,SIOUX FALLS,SD
+3925,MITCHELL TECHNICAL INSTITUTE,MITCHELL,SD
+3914,MOUNT MARTY COLLEGE,YANKTON,SD
+3915,NATIONAL AMERICAN UNIVERSITY,RAPID CITY,SD
+4840,NETTLETON COLLEGE,SIOUX FALLS,SD
+3916,NORTHERN STATE UNIVERSITY,ABERDEEN,SD
+3923,OGLALA LAKOTA COLLEGE,KYLE,SD
+3918,PRESENTATION COLLEGE,ABERDEEN,SD
+3919,RAPID CITY REGIONAL SCHOOL OF NURSING,RAPID CITY,SD
+3911,SACRED HEART HOSP SCHOOL/RADIOLOGIC TECH,YANKTON,SD
+3921,SINTE GLESKA COLLEGE,ROSEBUD,SD
+3899,SIOUX VALLEY HOSP SCHOOL/RADIOLOGIC TECH,SIOUX FALLS,SD
+3922,SOUTH DAKOTA SCHOOL OF MINES & TECH,RAPID CITY,SD
+3924,SOUTH DAKOTA STATE UNIVERSITY,BROOKINGS,SD
+3900,SOUTHEAST VOCATIONAL TECHNICAL INSTITUTE,SIOUX FALLS,SD
+3937,ST JOSEPH HOSPITAL SCHOOL OF RADIOLOGY,MITCHELL,SD
+3920,UNIVERSITY OF SIOUX FALLS,SIOUX FALLS,SD
+3928,UNIVERSITY OF SOUTH DAKOTA,VERMILLION,SD
+3929,UNIVERSITY OF SOUTH DAKOTA-SPRINGFIELD,SPRINGFIELD,SD
+3901,WESTERN DAKOTA TECHNICAL INSTITUTE,RAPID CITY,SD
+3930,YANKTON COLLEGE,YANKTON,SD
+3941,AMERICAN BAPTIST COLL OF ABT SEMINARY,NASHVILLE,TN
+3942,AQUINAS JUNIOR COLLEGE,NASHVILLE,TN
+3944,AUSTIN PEAY STATE UNIVERSITY,CLARKSVILLE,TN
+3949,BAPTIST HOSPITAL SCHOOL OF NURSING,MEMPHIS,TN
+4040,BARONESS ERLANGER HOSPITAL SCH/NURSING,CHATTANOOGA,TN
+3946,BELMONT COLLEGE,NASHVILLE,TN
+3948,BETHEL COLLEGE,MCKENZIE,TN
+4038,BRYAN COLLEGE,DAYTON,TN
+3950,CARSON-NEWMAN COLLEGE,JEFFERSON CITY,TN
+4041,CHATTANOOGA STATE TECH COMM COLL,CHATTANOOGA,TN
+3952,CHRISTIAN BROTHERS COLLEGE,MEMPHIS,TN
+3975,CLARKSVILLE BAPTIST COLLEGE,CLARKSVILLE,TN
+3955,CLEVELAND STATE COMMUNITY COLLEGE,CLEVELAND,TN
+3953,COLUMBIA STATE COMMUNITY COLLEGE,COLUMBIA,TN
+3957,COOPER INSTITUTE INC,KNOXVILLE,TN
+3954,CUMBERLAND UNIVERSITY,LEBANON,TN
+3956,DAVID LIPSCOMB COLLEGE,NASHVILLE,TN
+3969,DYERSBURG STATE COMMUNITY COLLEGE,DYERSBURG,TN
+4039,EAST TENNESSEE BAPTIST HOSP SCH/NURSING,KNOXVILLE,TN
+3958,EAST TENNESSEE STATE UNIVERSITY,JOHNSON CITY,TN
+4842,EDMONDSON JUNIOR COLLEGE,CHATTANOOGA,TN
+4044,FAITH BAPTIST BIBLE INST/COLL/SEMINARY,OLIVER SPRINGS,TN
+3960,FISK UNIVERSITY,NASHVILLE,TN
+3963,FORT SANDERS SCHOOL OF NURSING,KNOXVILLE,TN
+3961,FREE WILL BAPTIST BIBLE COLLEGE,NASHVILLE,TN
+3962,FREED-HARDEMAN COLLEGE,HENDERSON,TN
+3966,HIWASSEE COLLEGE,MADISONVILLE,TN
+3967,JACKSON STATE COMMUNITY COLLEGE,JACKSON,TN
+3965,JOHN A GUPTON COLLEGE,NASHVILLE,TN
+3968,JOHNSON BIBLE COLLEGE,KNOXVILLE,TN
+3970,KING COLLEGE,BRISTOL,TN
+5559,KNOXVILLE BUSINESS COLLEGE,KNOXVILLE,TN
+3972,KNOXVILLE COLLEGE,KNOXVILLE,TN
+3974,LAMBUTH COLLEGE,JACKSON,TN
+3976,LANE COLLEGE,JACKSON,TN
+3978,LEE COLLEGE,CLEVELAND,TN
+3980,LEMOYNE-OWEN COLLEGE,MEMPHIS,TN
+3982,LINCOLN MEMORIAL UNIVERSITY,HARROGATE,TN
+3986,MARTIN METHODIST COLLEGE,PULASKI,TN
+3988,MARYVILLE UNIVERSITY OF SAINT LOUIS,MARYVILLE,TN
+3991,MEMPHIS COLLEGE OF ART,MEMPHIS,TN
+3993,METHODIST HOSPITAL SCHOOL OF NURSING,MEMPHIS,TN
+3994,MIDDLE TENNESSEE STATE UNIVERSITY,MURFREESBORO,TN
+3995,MID-SOUTH BIBLE COLLEGE,MEMPHIS,TN
+3996,MILLIGAN COLLEGE,MILLIGAN COLLEGE,TN
+3998,MORRISTOWN COLLEGE,MORRISTOWN,TN
+4003,MOTLOW STATE COMMUNITY COLLEGE,TULLAHOMA,TN
+3983,NASHVILLE STATE TECHNICAL INSTITUTE,NASHVILLE,TN
+4021,PELLISSIPPI STATE TECH COMM COLLEGE,KNOXVILLE,TN
+4008,RHODES COLLEGE,MEMPHIS,TN
+3985,ROANE STATE COMMUNITY COLLEGE,LAFOLLETTE,TN
+4004,SHELBY STATE COMMUNITY COLLEGE,MEMPHIS,TN
+4006,SOUTHERN COLLEGE,COLLEGEDALE,TN
+4009,SOUTHERN COLLEGE OF OPTOMETRY,MEMPHIS,TN
+4023,ST JOSEPH HOSP SCHOOL OF RADIOLOGIC TECH,MEMPHIS,TN
+4007,ST JOSEPH HOSPITAL SCHOOL OF NURSING,MEMPHIS,TN
+4011,ST MARYS MEDICAL CENTER SCH OF NURSING,KNOXVILLE,TN
+4005,STATE TECHNICAL INSTITUTE AT MEMPHIS,MEMPHIS,TN
+4010,TENNESSEE STATE UNIVERSITY,NASHVILLE,TN
+4012,TENNESSEE TECHNOLOGICAL UNIVERSITY,COOKEVILLE,TN
+4013,TENNESSEE TEMPLE UNIVERSITY,CHATTANOOGA,TN
+4014,TENNESSEE WESLEYAN COLLEGE,ATHENS,TN
+4017,TOMLINSON COLLEGE,CLEVELAND,TN
+4016,TREVECCA NAZARENE COLLEGE,NASHVILLE,TN
+4019,TRI-CITIES STATE TECHNICAL INSTITUTE,BLOUNTVILLE,TN
+4018,TUSCULUM COLLEGE,GREENEVILLE,TN
+4020,UNION UNIVERSITY,JACKSON,TN
+4022,UNIV OF TENNESSEE-CHATTANOOGA,CHATTANOOGA,TN
+3992,UNIVERSITY OF MEMPHIS,MEMPHIS,TN
+4030,UNIVERSITY OF TENNESSEE-CTR HEALTH SCI,MEMPHIS,TN
+4026,UNIVERSITY OF TENNESSEE-KNOXVILLE,KNOXVILLE,TN
+4032,UNIVERSITY OF TENNESSEE-MARTIN,MARTIN,TN
+4024,UNIVERSITY OF THE SOUTH,SEWANEE,TN
+4036,VANDERBILT UNIVERSITY,NASHVILLE,TN
+4037,VOLUNTEER STATE COMMUNITY COLLEGE,GALLATIN,TN
+4028,WALTERS STATE COMMUNITY COLLEGE,MORRISTOWN,TN
+4042,"WM R MOORE SCHOOL OF TECHNOLOGY, THE",MEMPHIS,TN
+4050,ABILENE CHRISTIAN UNIVERSITY,ABILENE,TX
+4054,ALVIN COMMUNITY COLLEGE,ALVIN,TX
+4056,AMARILLO COLLEGE,AMARILLO,TX
+4051,AMBASSADOR UNIVERSITY,BIG SANDY,TX
+4073,AMBER UNIVERSITY,GARLAND,TX
+4055,AMERICAN TECHNOLOGICAL UNIVERSITY,KILLEEN,TX
+4057,ANGELINA COLLEGE,LUFKIN,TX
+4164,ANGELO STATE UNIVERSITY,SAN ANGELO,TX
+4058,AUSTIN COLLEGE,SHERMAN,TX
+4059,AUSTIN COMMUNITY COLLEGE,AUSTIN,TX
+4061,BAUDER FASHION COLLEGE,ARLINGTON,TX
+4063,BAYLOR COLLEGE OF DENTISTRY,DALLAS,TX
+4062,BAYLOR UNIVERSITY,WACO,TX
+4064,BEE COUNTY COLLEGE,BEEVILLE,TX
+4066,BISHOP COLLEGE,DALLAS,TX
+4068,BLINN COLLEGE,BRENHAM,TX
+4067,BRAZOSPORT COLLEGE,LAKE JACKSON,TX
+4053,BROOKHAVEN COLLEGE,FARMERS BRANCH,TX
+4087,CEDAR VALLEY COLLEGE,LANCASTER,TX
+4081,CENTRAL TEXAS COLLEGE,KILLEEN,TX
+4074,CISCO JUNIOR COLLEGE,CISCO,TX
+4076,CLARENDON COLLEGE,CLARENDON,TX
+4084,COLLEGE OF THE MAINLAND,TEXAS CITY,TX
+4072,COLLIN COUNTY COMMUNITY COLLEGE,MCKINNEY,TX
+4069,COMMONWEALTH COLLEGE OF FUNERAL SERVICE,HOUSTON,TX
+4124,CONCORDIA LUTHERAN COLLEGE,AUSTIN,TX
+4080,DALLAS BAPTIST UNIVERSITY,DALLAS,TX
+4075,DALLAS CHRISTIAN COLLEGE,DALLAS,TX
+4077,DALLAS INSTITUTE OF FUNERAL SERVICE,DALLAS,TX
+4082,DEL MAR COLLEGE,CORPUS CHRISTI,TX
+4083,DEVRY INSTITUTE OF TECHNOLOGY,IRVING,TX
+4086,EAST TEXAS BAPTIST UNIVERSITY,MARSHALL,TX
+4085,EASTFIELD COLLEGE,MESQUITE,TX
+4079,EL CENTRO COLLEGE,DALLAS,TX
+4090,EL PASO COMMUNITY COLLEGE,EL PASO,TX
+4115,FAITH CHRISTIAN COLLEGE,PASADENA,TX
+4092,FRANK PHILLIPS COLLEGE,BORGER,TX
+4103,GALVESTON COLLEGE,GALVESTON,TX
+4095,GRAYSON COUNTY COLLEGE,DENISON,TX
+4096,HARDIN-SIMMONS UNIVERSITY,ABILENE,TX
+4249,HENDERSON COUNTY JR COLLEGE-ANDERSON,PALESTINE,TX
+4237,HENDERSON COUNTY JR COLLEGE-TERRELL CTR,TERRELL,TX
+4047,HENDRICK MEDICAL CENTER SCHOOL/RAD TECH,ABILENE,TX
+4099,HILL JUNIOR COLLEGE,HILLSBORO,TX
+4101,HOUSTON BAPTIST UNIVERSITY,HOUSTON,TX
+4105,HOUSTON COMMUNITY COLLEGE SYSTEM,HOUSTON,TX
+4100,HOWARD COLLEGE,BIG SPRING,TX
+4102,HOWARD PAYNE UNIVERSITY,BROWNWOOD,TX
+4104,HUSTON-TILLOTSON COLLEGE,AUSTIN,TX
+4106,INCARNATE WORD COLLEGE,SAN ANTONIO,TX
+4119,"INTERNATIONAL INSTITUTE, THE",LEWISVILLE,TX
+4111,JACKI NELL EXECUTIVE SECRETARIAL SCH,AUSTIN,TX
+4108,JACKSONVILLE COLLEGE,JACKSONVILLE,TX
+4110,JARVIS CHRISTIAN COLLEGE,HAWKINS,TX
+4112,KILGORE COLLEGE,KILGORE,TX
+4260,KINGWOOD COLLEGE,KINGWOOD,TX
+4114,LAMAR UNIVERSITY,BEAUMONT,TX
+4116,LAREDO JUNIOR COLLEGE,LAREDO,TX
+4118,LEE COLLEGE,BAYTOWN,TX
+4120,LETOURNEAU UNIVERSITY,LONGVIEW,TX
+4122,LON MORRIS COLLEGE,JACKSONVILLE,TX
+4123,LUBBOCK CHRISTIAN COLLEGE,LUBBOCK,TX
+4131,MCLENNAN COMMUNITY COLLEGE,WACO,TX
+4130,MCMURRY COLLEGE,ABILENE,TX
+4127,MIDLAND COLLEGE,MIDLAND,TX
+4132,MIDWESTERN STATE UNIVERSITY,WICHITA FALLS,TX
+4133,MISS WADES FASHION MERCHANDISING COLLEGE,DALLAS,TX
+4230,MONTGOMERY COLLEGE,CONROE,TX
+4089,MOUNTAIN VIEW COLLEGE,DALLAS,TX
+4235,NATIONAL EDUC CENTER-NIT CAMPUS-TEXAS,DALLAS,TX
+4134,NAVARRO COLLEGE,CORSICANA,TX
+4094,NORTH CENTRAL TEXAS COLLEGE,GAINESVILLE,TX
+4147,NORTH EAST TEXAS COMMUNITY COLLEGE,MOUNT PLEASANT,TX
+4139,NORTH HARRIS COLLEGE,HOUSTON,TX
+4141,NORTH LAKE COLLEGE,IRVING,TX
+4135,NORTHWOOD UNIVERSITY,CEDAR HILL,TX
+4138,ODESSA COLLEGE,ODESSA,TX
+4140,OUR LADY OF THE LAKE UNIVERSITY,SAN ANTONIO,TX
+4143,PALO ALTO COLLEGE,SAN ANTONIO,TX
+4144,PANOLA JUNIOR COLLEGE,CARTHAGE,TX
+4146,PARIS JUNIOR COLLEGE,PARIS,TX
+4148,PAUL QUINN COLLEGE,WACO,TX
+4202,PRAIRIE VIEW A & M UNIVERSITY,PRAIRIE VIEW,TX
+4150,RANGER JUNIOR COLLEGE,RANGER,TX
+4152,RICE UNIVERSITY,HOUSTON,TX
+4153,RICHLAND COLLEGE,DALLAS,TX
+4162,SAM HOUSTON STATE UNIVERSITY,HUNTSVILLE,TX
+4166,SAN ANTONIO COLLEGE,SAN ANTONIO,TX
+4167,SAN JACINTO COLLEGE-CENTRAL CAMPUS,PASADENA,TX
+4165,SAN JACINTO COLLEGE-NORTH CAMPUS,HOUSTON,TX
+4154,SAN JACINTO COLLEGE-SOUTH CAMPUS,HOUSTON,TX
+4168,SCHREINER COLLEGE,KERRVILLE,TX
+4169,SOUTH PLAINS COLLEGE,LEVELLAND,TX
+4174,SOUTHERN METHODIST UNIVERSITY,DALLAS,TX
+4176,SOUTHWEST TEXAS JUNIOR COLLEGE,UVALDE,TX
+4178,SOUTHWEST TEXAS STATE UNIVERSITY,SAN MARCOS,TX
+4184,SOUTHWESTERN ADVENTIST COLLEGE,KEENE,TX
+4182,SOUTHWESTERN ASSEMBLIES OF GOD COLLEGE,WAXAHACHIE,TX
+4183,SOUTHWESTERN CHRISTIAN COLLEGE,TERRELL,TX
+4186,SOUTHWESTERN UNIVERSITY,GEORGETOWN,TX
+4156,ST EDWARDS UNIVERSITY,AUSTIN,TX
+4158,ST MARY'S UNIVERSITY,SAN ANTONIO,TX
+4160,ST PHILIP'S COLLEGE,SAN ANTONIO,TX
+4188,STEPHEN F AUSTIN STATE UNIVERSITY,NACOGDOCHES,TX
+4190,SUL ROSS STATE UNIVERSITY,ALPINE,TX
+4204,TARLETON STATE UNIVERSITY,STEPHENVILLE,TX
+4193,TARRANT COUNTY JR COLL-NORTHEAST CAMPUS,HURST,TX
+4195,TARRANT COUNTY JR COLL-NORTHWEST CAMPUS,FORT WORTH,TX
+4191,TARRANT COUNTY JR COLL-SOUTH CAMPUS,FORT WORTH,TX
+4192,TEMPLE JUNIOR COLLEGE,TEMPLE,TX
+4194,TEXARKANA COMMUNITY COLLEGE,TEXARKANA,TX
+4196,TEXAS A & I UNIVERSITY-LAREDO,LAREDO,TX
+4198,TEXAS A & M UNIVERSITY,COLLEGE STATION,TX
+4088,TEXAS A & M UNIVERSITY-COMMERCE,COMMERCE,TX
+4091,TEXAS A & M UNIVERSITY-CORPUS CHRISTI,CORPUS CHRISTI,TX
+4197,TEXAS A & M UNIVERSITY-GALVESTON,GALVESTON,TX
+4212,TEXAS A & M UNIVERSITY-KINGSVILLE,KINGSVILLE,TX
+4125,TEXAS BAPTIST BIBLE INSTITUTE,DALLAS,TX
+4253,TEXAS BAPTIST COLLEGE,LONGVIEW,TX
+4205,TEXAS CHIROPRACTIC COLLEGE,PASADENA,TX
+4206,TEXAS CHRISTIAN UNIVERSITY,FORT WORTH,TX
+4210,TEXAS COLLEGE,TYLER,TX
+4214,TEXAS LUTHERAN COLLEGE,SEGUIN,TX
+4216,TEXAS SOUTHERN UNIVERSITY,HOUSTON,TX
+4218,TEXAS SOUTHMOST COLLEGE,BROWNSVILLE,TX
+5156,TEXAS STATE TECHNICAL INST-SWEETWATER,SWEETWATER,TX
+4227,TEXAS TECH UNIV HLTH SCI SCH OF NURSING,LUBBOCK,TX
+4220,TEXAS TECH UNIVERSITY,LUBBOCK,TX
+4222,TEXAS WESLEYAN COLLEGE,FORT WORTH,TX
+4224,TEXAS WOMAN'S UNIVERSITY,DENTON,TX
+4225,TOMBALL COLLEGE,KINGWOOD,TX
+4226,TRINITY UNIVERSITY,SAN ANTONIO,TX
+4098,TRINITY VALLEY COMMUNITY COLLEGE,ATHENS,TX
+4228,TYLER JUNIOR COLLEGE,TYLER,TX
+4247,UNIV OF TEXAS HEALTH SCI CTR-SAN ANTONIO,SAN ANTONIO,TX
+4245,UNIV OF TEXAS HLTH SCI CTR-DENTAL,HOUSTON,TX
+4233,UNIV OF TEXAS-HOUSTON HEALTH SCI CTR,HOUSTON,TX
+4229,UNIVERSITY OF CORPUS CHRISTI,CORPUS CHRISTI,TX
+4234,UNIVERSITY OF DALLAS,IRVING,TX
+4171,UNIVERSITY OF HOUSTON-CLEAR LAKE,HOUSTON,TX
+4170,UNIVERSITY OF HOUSTON-DOWNTOWN COLLEGE,HOUSTON,TX
+4236,UNIVERSITY OF HOUSTON-UNIV PARK,HOUSTON,TX
+4128,UNIVERSITY OF MARY HARDIN-BAYLOR,BELTON,TX
+4136,UNIVERSITY OF NORTH TEXAS,DENTON,TX
+4238,UNIVERSITY OF ST THOMAS,HOUSTON,TX
+4200,UNIVERSITY OF TEXAS AT ARLINGTON,ARLINGTON,TX
+4240,UNIVERSITY OF TEXAS AT AUSTIN,AUSTIN,TX
+4243,"UNIVERSITY OF TEXAS AT DALLAS, THE",RICHARDSON,TX
+4223,UNIVERSITY OF TEXAS AT EL PASO,EL PASO,TX
+4239,UNIVERSITY OF TEXAS AT SAN ANTONIO,SAN ANTONIO,TX
+4231,UNIVERSITY OF TEXAS AT TYLER,TYLER,TX
+4221,UNIVERSITY OF TEXAS MEDICAL BRANCH,GALVESTON,TX
+4241,UNIVERSITY OF TEXAS SOUTHWESTERN MED CTR,DALLAS,TX
+4251,UNIVERSITY OF TEXAS-BROWNSVILLE,BROWNSVILLE,TX
+4142,UNIVERSITY OF TEXAS-PAN AMERICAN,EDINBURG,TX
+4232,VALLEY BAPTIST SCHOOL OF VOC NURSING,HARLINGEN,TX
+4242,VERNON REGIONAL JUNIOR COLLEGE,VERNON,TX
+4244,VICTORIA COLLEGE,VICTORIA,TX
+4246,WAYLAND BAPTIST UNIVERSITY,PLAINVIEW,TX
+4248,WEATHERFORD COLLEGE,WEATHERFORD,TX
+4250,WEST TEXAS A & M UNIVERSITY,CANYON,TX
+4172,WESTERN TEXAS COLLEGE,SNYDER,TX
+4252,WHARTON COUNTY JUNIOR COLLEGE,WHARTON,TX
+4254,WILEY COLLEGE,MARSHALL,TX
+4078,WOODCREST COLLEGE,DALLAS,TX
+4266,BRIGHAM YOUNG UNIVERSITY,PROVO,UT
+4268,COLLEGE OF EASTERN UTAH,PRICE,UT
+4272,DIXIE COLLEGE,ST GEORGE,UT
+4270,LDS BUSINESS COLLEGE,SALT LAKE CITY,UT
+4275,SALT LAKE COMMUNITY COLLEGE,SALT LAKE CITY,UT
+4273,SNOW COLLEGE,EPHRAIM,UT
+4271,SOUTHERN UTAH UNIVERSITY,CEDAR CITY,UT
+4286,STEVENS HENAGER COLLEGE-OGDEN,OGDEN,UT
+4288,STEVENS HENAGER COLLEGE-PROVO,PROVO,UT
+4294,STEVENS HENAGER COLLEGE-SALT LAKE CITY,SALT LAKE CITY,UT
+4274,UNIVERSITY OF UTAH,SALT LAKE CITY,UT
+4276,UTAH STATE UNIVERSITY,LOGAN,UT
+4278,UTAH TECHNICAL COLLEGE AT PROVO,PROVO,UT
+4290,UTAH TECHNICAL COLLEGE AT SALT LAKE,SALT LAKE CITY,UT
+4291,UTAH VALLEY STATE COLLEGE,OREM,UT
+4282,WEBER STATE COLLEGE,OGDEN,UT
+4284,WESTMINSTER COLLEGE-SALT LAKE CITY,SALT LAKE CITY,UT
+4335,ATLANTIC BAPTIST BIBLE COLLEGE,CHESTER,VA
+4338,AVERETT COLLEGE,DANVILLE,VA
+4341,BLUE RIDGE COMMUNITY COLLEGE,WEYERS CAVE,VA
+4340,BLUEFIELD COLLEGE,BLUEFIELD,VA
+4342,BRIDGEWATER COLLEGE,BRIDGEWATER,VA
+4354,CENTRAL VIRGINIA COMMUNITY COLLEGE,LYNCHBURG,VA
+4339,CHRISTENDOM COLLEGE,FRONT ROYAL,VA
+4345,CHRISTOPHER NEWPORT COLLEGE,NEWPORT NEWS,VA
+4343,CLINCH VALLEY COLLEGE,WISE,VA
+4344,COLLEGE OF WILLIAM AND MARY,WILLIAMSBURG,VA
+4367,COMMONWEALTH COLLEGE,VIRGINIA BEACH,VA
+4349,DABNEY LANCASTER COMMUNITY COLLEGE,CLIFTON FORGE,VA
+4355,DANVILLE COMMUNITY COLLEGE,DANVILLE,VA
+4348,EASTERN MENNONITE COLLEGE,HARRISONBURG,VA
+4350,EMORY & HENRY COLLEGE,EMORY,VA
+4352,FERRUM COLLEGE,FERRUM,VA
+4357,GEORGE MASON UNIVERSITY,FAIRFAX,VA
+4359,GERMANNA COMMUNITY COLLEGE,LOCUST GROVE,VA
+4356,HAMPDEN-SYDNEY COLLEGE,HAMPDEN-SYDNEY,VA
+4358,HAMPTON UNIVERSITY,HAMPTON,VA
+4360,HOLLINS COLLEGE,HOLLINS COLLEGE,VA
+4362,J SARGENT REYNOLDS COMMUNITY COLLEGE,RICHMOND,VA
+4370,JAMES MADISON UNIVERSITY,HARRISONBURG,VA
+4363,JOHN TYLER COMMUNITY COLLEGE,CHESTER,VA
+4364,LIBERTY UNIVERSITY,LYNCHBURG,VA
+4366,LONGWOOD COLLEGE,FARMVILLE,VA
+4377,LORD FAIRFAX COMMUNITY COLLEGE,MIDDLETOWN,VA
+4368,LYNCHBURG COLLEGE,LYNCHBURG,VA
+4374,MARY BALDWIN COLLEGE,STAUNTON,VA
+4414,MARY WASHINGTON COLLEGE,FREDERICKSBURG,VA
+4378,MARYMOUNT UNIVERSITY,ARLINGTON,VA
+4376,MOUNTAIN EMPIRE COMMUNITY COLLEGE,BIG STONE GAP,VA
+4382,NATIONAL BUSINESS COLLEGE,ROANOKE,VA
+4361,NEW RIVER COMMUNITY COLLEGE,DUBLIN,VA
+4425,NORFOLK STATE UNIVERSITY,NORFOLK,VA
+4411,NORTHERN VIRGINIA COMMUNITY COLLEGE,ANNANDALE,VA
+4347,OLD DOMINION UNIVERSITY,NORFOLK,VA
+4415,PATRICK HENRY COMMUNITY COLLEGE,MARTINSVILLE,VA
+4419,PAUL D CAMP COMMUNITY COLLEGE,FRANKLIN,VA
+4417,PETERSBURG SCHOOL OF NURSING,PETERSBURG,VA
+4384,PIEDMONT VIRGINIA COMMUNITY COLLEGE,CHARLOTTESVILLE,VA
+4422,RADFORD UNIVERSITY,RADFORD,VA
+4386,RANDOLPH-MACON COLLEGE,ASHLAND,VA
+4388,RANDOLPH-MACON WOMAN'S COLLEGE,LYNCHBURG,VA
+4390,RAPPAHANNOCK COMMUNITY COLLEGE,GLENNS,VA
+4391,REGENT UNIVERSITY,VIRGINIA BEACH,VA
+4346,RICHARD BLAND COLLEGE,PETERSBURG,VA
+4392,ROANOKE COLLEGE,SALEM,VA
+4396,SHENANDOAH COLL & CONSERVATORY OF MUSIC,WINCHESTER,VA
+4327,SOUTHEASTERN FREE WILL BAPTIST COLLEGE,VIRGINIA BEACH,VA
+4400,SOUTHERN SEMINARY JUNIOR COLLEGE,BUENA VISTA,VA
+4337,SOUTHSIDE VA COMM COLL-CHRISTANNA CMPUS,ALBERTA,VA
+4401,SOUTHWEST VIRGINIA COMMUNITY COLLEGE,RICHLANDS,VA
+4394,ST PAUL'S COLLEGE,LAWRENCEVILLE,VA
+4406,SWEET BRIAR COLLEGE,SWEET BRIAR,VA
+4407,THOMAS NELSON COMMUNITY COLLEGE,HAMPTON,VA
+4353,TIDEWATER COMM COLLEGE-FREDERICK CAMPUS,PORTSMOUTH,VA
+4365,TIDEWATER COMMUNITY COLL AT VIRGINIA BCH,VIRGINIA BEACH,VA
+4410,UNIVERSITY OF RICHMOND,RICHMOND,VA
+4412,UNIVERSITY OF VIRGINIA,CHARLOTTESVILLE,VA
+4379,VIRGINIA COMMONWEALTH UNIVERSITY,RICHMOND,VA
+4433,VIRGINIA HIGHLANDS COMMUNITY COLLEGE,ABINGDON,VA
+4416,VIRGINIA INTERMONT COLLEGE,BRISTOL,VA
+4418,VIRGINIA MILITARY INSTITUTE,LEXINGTON,VA
+4420,VIRGINIA POLYTECHNIC INST & STATE UNIV,BLACKSBURG,VA
+4426,VIRGINIA SEMINARY AND COLLEGE,LYNCHBURG,VA
+4424,VIRGINIA STATE UNIVERSITY,PETERSBURG,VA
+4428,VIRGINIA UNION UNIVERSITY,RICHMOND,VA
+4429,VIRGINIA WESLEYAN COLLEGE,NORFOLK,VA
+4351,VIRGINIA WESTERN COMMUNITY COLLEGE,ROANOKE,VA
+4430,WASHINGTON AND LEE UNIVERSITY,LEXINGTON,VA
+4431,WYTHEVILLE COMMUNITY COLLEGE,WYTHEVILLE,VA
+4296,BENNINGTON COLLEGE,BENNINGTON,VT
+4329,BURLINGTON COLLEGE,BURLINGTON,VT
+4314,CASTLETON STATE COLLEGE,CASTLETON,VT
+4298,CHAMPLAIN COLLEGE,BURLINGTON,VT
+4320,COLLEGE OF ST JOSEPH THE PROVIDER,RUTLAND,VT
+4299,COMMUNITY COLLEGE OF VERMONT,WATERBURY,VT
+4300,GODDARD COLLEGE,PLAINFIELD,VT
+4302,GREEN MOUNTAIN COLLEGE,POULTNEY,VT
+4316,JOHNSON STATE COLLEGE,JOHNSON,VT
+4317,LANDMARK COLLEGE,PUTNEY,VT
+4318,LYNDON STATE COLLEGE,LYNDONVILLE,VT
+4304,MARLBORO COLLEGE,MARLBORO,VT
+4306,MIDDLEBURY COLLEGE,MIDDLEBURY,VT
+4308,NORWICH UNIVERSITY,NORTHFIELD,VT
+4309,ROYALTON COLLEGE,SOUTH ROYALTON,VT
+4311,SCHOOL FOR INTERNATIONAL TRNG,BRATTLEBORO,VT
+4310,SOUTHERN VERMONT COLLEGE,BENNINGTON,VT
+4312,ST MICHAEL'S COLLEGE,WINOOSKI,VT
+4325,TRINITY COLLEGE,BURLINGTON,VT
+4322,UNIVERSITY OF VERMONT,BURLINGTON,VT
+4328,VERMONT COLLEGE-NORWICH UNIVERSITY,NORTHFIELD,VT
+4321,VERMONT LAW SCHOOL,SOUTH ROYALTON,VT
+4323,VERMONT TECHNICAL COLLEGE,RANDOLPH CENTER,VT
+4443,ART INSTITUTE OF SEATTLE,SEATTLE,WA
+4441,BELLEVUE COMMUNITY COLLEGE,BELLEVUE,WA
+4442,BIG BEND COMMUNITY COLLEGE,MOSES LAKE,WA
+4444,CENTRAL WASHINGTON UNIVERSITY,ELLENSBURG,WA
+4446,CENTRALIA COLLEGE,CENTRALIA,WA
+4449,CITY UNIVERSITY,BELLEVUE,WA
+4448,CLARK COMMUNITY COLLEGE,VANCOUVER,WA
+4452,COLUMBIA BASIN COLLEGE,PASCO,WA
+4454,EASTERN WASHINGTON UNIVERSITY,CHENEY,WA
+4455,EDMONDS COMMUNITY COLLEGE,LYNNWOOD,WA
+4456,EVERETT COMMUNITY COLLEGE,EVERETT,WA
+4457,EVERGREEN STATE COLLEGE,OLYMPIA,WA
+4458,GONZAGA UNIVERSITY,SPOKANE,WA
+4460,GRAYS HARBOR COLLEGE,ABERDEEN,WA
+4461,GREEN RIVER COMMUNITY COLLEGE,AUBURN,WA
+4462,HERITAGE COLLEGE,TOPPENISH,WA
+4463,HIGHLINE COMMUNITY COLLEGE,MIDWAY,WA
+4464,LOWER COLUMBIA COLLEGE,LONGVIEW,WA
+4467,NORTH SEATTLE COMMUNITY COLLEGE,SEATTLE,WA
+4466,NORTHWEST COLLEGE,KIRKLAND,WA
+4468,OLYMPIC COLLEGE,BREMERTON,WA
+4470,PACIFIC LUTHERAN UNIVERSITY,TACOMA,WA
+4472,PENINSULA COLLEGE,PORT ANGELES,WA
+4469,PIERCE COLLEGE,TACOMA,WA
+4471,PUGET SOUND CHRISTIAN COLLEGE,EDMONDS,WA
+4475,SEATTLE CENTRAL COMMUNITY COLLEGE,SEATTLE,WA
+4476,SEATTLE PACIFIC UNIVERSITY,SEATTLE,WA
+4478,SEATTLE UNIVERSITY,SEATTLE,WA
+4479,SHORELINE COMMUNITY COLLEGE,SEATTLE,WA
+4480,SKAGIT VALLEY COLLEGE,MOUNT VERNON,WA
+4483,SOUTH PUGET SOUND COMM COLLEGE,OLYMPIA,WA
+4473,SOUTH SEATTLE COMMUNITY COLLEGE,SEATTLE,WA
+4481,SPOKANE COMMUNITY COLLEGE,SPOKANE,WA
+4477,SPOKANE FALLS COMMUNITY COLLEGE,SPOKANE,WA
+4474,ST MARTIN'S COLLEGE,LACEY,WA
+4485,TACOMA COMMUNITY COLLEGE,TACOMA,WA
+4450,UNIVERSITY OF PUGET SOUND,TACOMA,WA
+4484,UNIVERSITY OF WASHINGTON,SEATTLE,WA
+4486,WALLA WALLA COLLEGE,COLLEGE PLACE,WA
+4487,WALLA WALLA COMMUNITY COLLEGE,WALLA WALLA,WA
+4482,WASHINGTON STATE UNIVERSITY,PULLMAN,WA
+4488,WENATCHEE VALLEY COLLEGE,WENATCHEE,WA
+4490,WESTERN WASHINGTON UNIVERSITY,BELLINGHAM,WA
+4491,WHATCOM COMMUNITY COLLEGE,BELLINGHAM,WA
+4492,WHITMAN COLLEGE,WALLA WALLA,WA
+4494,WHITWORTH COLLEGE,SPOKANE,WA
+4496,YAKIMA VALLEY COMMUNITY COLLEGE,YAKIMA,WA
+4558,ALVERNO COLLEGE,MILWAUKEE,WI
+4563,BELLIN COLLEGE OF NURSING,GREEN BAY,WI
+4564,BELOIT COLLEGE,BELOIT,WI
+4593,BLACKHAWK TECHNICAL INSTITUTE,JANESVILLE,WI
+4568,CARDINAL STRITCH UNIVERSITY,MILWAUKEE,WI
+4570,CARROLL COLLEGE,WAUKESHA,WI
+4571,CARTHAGE COLLEGE,KENOSHA,WI
+4576,COLLEGE OF THE MENOMINEE NATION,KESHENA,WI
+4575,COLUMBIA COLLEGE OF NURSING/CARROLL COL,WAUKESHA,WI
+4574,CONCORDIA COLLEGE,MEQUON,WI
+4581,DISTRICT ONE TECHNICAL INSTITUTE,EAU CLAIRE,WI
+4582,EDGEWOOD COLLEGE,MADISON,WI
+4556,FOX VALLEY TECHNICAL INSTITUTE,APPLETON,WI
+4633,GATEWAY TECHNICAL INSTITUTE,RACINE,WI
+4635,HOLY FAMILY HOSPITAL SCHOOL OF NURSING,MANITOWOC,WI
+4589,IMMANUEL LUTHERAN COLLEGE,EAU CLAIRE,WI
+4592,LAKELAND COLLEGE,SHEBOYGAN,WI
+4618,LAKESHORE TECHNICAL INSTITUTE,CLEVELAND,WI
+4596,LAWRENCE UNIVERSITY,APPLETON,WI
+4615,MADISON AREA TECHNICAL COLLEGE,MADISON,WI
+4607,MADISON BUSINESS COLLEGE,MADISON,WI
+4604,MARANATHA BAPTIST BIBLE COLLEGE,WATERTOWN,WI
+4606,MARIAN COLLEGE OF FOND DU LAC,FOND DU LAC,WI
+4610,MARQUETTE UNIVERSITY,MILWAUKEE,WI
+4683,MID-STATE TECHNICAL COLLEGE,WISCONSIN RAPIDS,WI
+4614,MILWAUKEE AREA TECHNICAL COLLEGE,MILWAUKEE,WI
+4601,MILWAUKEE COUNTY MEDICAL COMPLEX-NRSING,MILWAUKEE,WI
+4616,MILWAUKEE SCHOOL OF ENGINEERING,MILWAUKEE,WI
+4583,MORAINE PARK TECH INST-FOND DU LAC CMP,FOND DU LAC,WI
+4599,MORAINE PARK TECH INST-WEST BEND CAMPUS,WEST BEND,WI
+4620,MOUNT MARY COLLEGE,MILWAUKEE,WI
+4621,MOUNT SENARIO COLLEGE,LADYSMITH,WI
+4646,NICOLET AREA TECHNICAL COLLEGE,RHINELANDER,WI
+4663,NORTH CENTRAL TECHNICAL INSTITUTE,WAUSAU,WI
+4585,NORTHEAST WISCONSIN TECHNICAL INSTITUTE,GREEN BAY,WI
+4623,NORTHLAND BAPTIST BIBLE COLLEGE,DUNBAR,WI
+4624,NORTHLAND COLLEGE,ASHLAND,WI
+4626,NORTHWESTERN COLLEGE,WATERTOWN,WI
+4636,RIPON COLLEGE,RIPON,WI
+4586,SILVER LAKE COLLEGE,MANITOWOC,WI
+4639,SOUTHWEST WISCONSIN TECHNICAL COLLEGE,FENNIMORE,WI
+4647,ST JOSEPHS HOSPITAL SCHOOL OF NURSING,MARSHFIELD,WI
+4644,ST NORBERT COLLEGE,DE PERE,WI
+4628,STRATTON COLLEGE,MILWAUKEE,WI
+4657,UNIV OF WISCONSIN CENTER-BARABOO SAUK,BARABOO,WI
+4653,UNIV OF WISCONSIN CENTER-BARRON COUNTY,RICE LAKE,WI
+4673,UNIV OF WISCONSIN CENTER-FOND DU LAC,FOND DU LAC,WI
+4687,UNIV OF WISCONSIN CENTER-FOX VALLEY,MENASHA,WI
+4692,UNIV OF WISCONSIN CENTER-MANITOWOC CTY,MANITOWOC,WI
+4696,UNIV OF WISCONSIN CENTER-MARATHON CTY,WAUSAU,WI
+4693,UNIV OF WISCONSIN CENTER-MARINETTE CTY,MARINETTE,WI
+4697,UNIV OF WISCONSIN CENTER-MARSHFIELD WD,MARSHFIELD,WI
+4634,UNIV OF WISCONSIN CENTER-RICHLAND,RICHLAND CENTER,WI
+4689,UNIV OF WISCONSIN CENTER-ROCK COUNTY,JANESVILLE,WI
+4695,UNIV OF WISCONSIN CENTER-SHEBOYGAN,SHEBOYGAN,WI
+4659,UNIV OF WISCONSIN CENTER-WASHINGTON CTY,WEST BEND,WI
+4698,UNIV OF WISCONSIN CENTER-WAUKESHA CTY,WAUKESHA,WI
+4670,UNIV OF WISCONSIN-EAU CLAIRE,EAU CLAIRE,WI
+4688,UNIV OF WISCONSIN-GREEN BAY,GREEN BAY,WI
+4672,UNIV OF WISCONSIN-LA CROSSE,LA CROSSE,WI
+4656,UNIV OF WISCONSIN-MADISON,MADISON,WI
+4658,UNIV OF WISCONSIN-MILWAUKEE,MILWAUKEE,WI
+4674,UNIV OF WISCONSIN-OSHKOSH,OSHKOSH,WI
+4690,UNIV OF WISCONSIN-PARKSIDE,KENOSHA,WI
+4676,UNIV OF WISCONSIN-PLATTEVILLE,PLATTEVILLE,WI
+4678,UNIV OF WISCONSIN-RIVER FALLS,RIVER FALLS,WI
+4680,UNIV OF WISCONSIN-STEVENS POINT,STEVENS POINT,WI
+4652,UNIV OF WISCONSIN-STOUT,MENOMONIE,WI
+4682,UNIV OF WISCONSIN-SUPERIOR,SUPERIOR,WI
+4684,UNIV OF WISCONSIN-WHITEWATER,WHITEWATER,WI
+4675,UNIVERSITY OF WISCONSIN-EXTENSION,MADISON,WI
+4662,VITERBO COLLEGE,LACROSSE,WI
+4671,WAUKESHA COUNTY TECHNICAL COLLEGE,PEWAUKEE,WI
+4573,WESTERN WISCONSIN TECHNICAL COLLEGE,LACROSSE,WI
+4560,WISCONSIN INDIANHEAD TECH INST-ASHLAND,ASHLAND,WI
+4665,WISCONSIN INDIANHEAD TECH INST-NEW RCHMD,NEW RICHMOND,WI
+4677,WISCONSIN INDIANHEAD TECH INST-RICE LAKE,RICE LAKE,WI
+4661,WISCONSIN INDIANHEAD TECH INST-SUPERIOR,SUPERIOR,WI
+4699,WISCONSIN LUTHERAN COLLEGE,MILWAUKEE,WI
+4557,WISCONSIN SCHOOL OF ELECTRONICS,MADISON,WI
+4508,ALDERSON-BROADDUS COLLEGE,PHILIPPI,WV
+4507,APPALACHIAN BIBLE COLLEGE,BRADLEY,WV
+4510,BECKLEY COLLEGE,BECKLEY,WV
+4512,BETHANY COLLEGE,BETHANY,WV
+4514,BLUEFIELD STATE COLLEGE,BLUEFIELD,WV
+4516,CONCORD COLLEGE,ATHENS,WV
+4518,DAVIS AND ELKINS COLLEGE,ELKINS,WV
+4520,FAIRMONT STATE COLLEGE,FAIRMONT,WV
+4522,GLENVILLE STATE COLLEGE,GLENVILLE,WV
+4526,MARSHALL UNIVERSITY,HUNTINGTON,WV
+4550,NATIONAL EDUC CENTER-NIT CAMPUS-WV,CROSS LANES,WV
+4548,OHIO VALLEY COLLEGE,PARKERSBURG,WV
+4554,OHIO VALLEY GENERAL HOSP SCH OF NURSING,WHEELING,WV
+4542,PARKERSBURG COMMUNITY COLLEGE,PARKERSBURG,WV
+4529,POTOMAC STATE COLLEGE OF WEST VA UNIV,KEYSER,WV
+4530,SALEM-TEIKYO UNIVERSITY,SALEM,WV
+4532,SHEPHERD COLLEGE,SHEPHERDSTOWN,WV
+4527,SOUTHERN WEST VIRGINIA COM COL-WILLIAMSN,WILLIAMSON,WV
+4525,SOUTHERN WEST VIRGINIA COMM COLL-LOGAN,LOGAN,WV
+4551,ST MARY'S SCHOOL OF NURSING,HUNTINGTON,WV
+4523,TRI-STATE BAPTIST COLLEGE,CHARLES TOWN,WV
+4528,UNIVERSITY OF CHARLESTON,CHARLESTON,WV
+4534,WEST LIBERTY STATE COLLEGE,WEST LIBERTY,WV
+4537,WEST VIRGINIA CAREER COLLEGE,CHARLESTON,WV
+4536,WEST VIRGINIA INSTITUTE OF TECHNOLOGY,MONTGOMERY,WV
+4535,WEST VIRGINIA NORTHERN COMMUNITY COLL,WHEELING,WV
+4538,WEST VIRGINIA STATE COLLEGE,INSTITUTE,WV
+4506,WEST VIRGINIA STATE POLICE ACADEMY,INSTITUTE,WV
+4540,WEST VIRGINIA UNIVERSITY,MORGANTOWN,WV
+4544,WEST VIRGINIA WESLEYAN COLLEGE,BUCKHANNON,WV
+4546,WHEELING JESUIT COLLEGE,WHEELING,WV
+4553,WOOD COUNTY VOC SCH/PRACTICAL NURSING,PARKERSBURG,WV
+4998,CASPER COLLEGE,CASPER,WY
+4999,CENTRAL WYOMING COLLEGE,RIVERTON,WY
+5000,EASTERN WYOMING COLLEGE,TORRINGTON,WY
+5003,LARAMIE COUNTY COMMUNITY COLLEGE,CHEYENNE,WY
+5004,NORTHWEST COLLEGE,POWELL,WY
+5002,SHERIDAN COLLEGE,SHERIDAN,WY
+5006,UNIVERSITY OF WYOMING,LARAMIE,WY
+5005,WESTERN WYOMING COMMUNITY COLLEGE,ROCK SPRINGS,WY
\ No newline at end of file
diff --git a/manage.py b/manage.py
new file mode 100755
index 0000000..10646a4
--- /dev/null
+++ b/manage.py
@@ -0,0 +1,22 @@
+#!/usr/bin/env python
+"""Django's command-line utility for administrative tasks."""
+import os
+import sys
+
+
+def main():
+ """Run administrative tasks."""
+ os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'tjdests.settings')
+ try:
+ from django.core.management import execute_from_command_line
+ except ImportError as exc:
+ raise ImportError(
+ "Couldn't import Django. Are you sure it's installed and "
+ "available on your PYTHONPATH environment variable? Did you "
+ "forget to activate a virtual environment?"
+ ) from exc
+ execute_from_command_line(sys.argv)
+
+
+if __name__ == '__main__':
+ main()
diff --git a/tjdests/__init__.py b/tjdests/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/tjdests/apps/__init__.py b/tjdests/apps/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/tjdests/apps/authentication/__init__.py b/tjdests/apps/authentication/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/tjdests/apps/authentication/admin.py b/tjdests/apps/authentication/admin.py
new file mode 100644
index 0000000..c444238
--- /dev/null
+++ b/tjdests/apps/authentication/admin.py
@@ -0,0 +1,5 @@
+from django.contrib import admin
+
+from .models import User
+
+admin.site.register(User)
diff --git a/tjdests/apps/authentication/decorators.py b/tjdests/apps/authentication/decorators.py
new file mode 100644
index 0000000..69dfa3c
--- /dev/null
+++ b/tjdests/apps/authentication/decorators.py
@@ -0,0 +1,15 @@
+import functools
+
+from django.http import HttpRequest
+from django.shortcuts import redirect
+
+
+def require_accept_tos(func):
+ @functools.wraps(func)
+ def wrapper(request: HttpRequest, *args, **kwargs):
+ if request.user.is_authenticated and not request.user.accepted_terms:
+ return redirect("authentication:tos")
+
+ return func(request, *args, **kwargs)
+
+ return wrapper
\ No newline at end of file
diff --git a/tjdests/apps/authentication/forms.py b/tjdests/apps/authentication/forms.py
new file mode 100644
index 0000000..55920b8
--- /dev/null
+++ b/tjdests/apps/authentication/forms.py
@@ -0,0 +1,47 @@
+from django import forms
+from django.contrib.auth import password_validation
+
+from crispy_forms.helper import FormHelper
+from crispy_forms.layout import Submit
+
+
+class TOSForm(forms.Form):
+ def __init__(self, *args, **kwargs):
+ super().__init__(*args, **kwargs)
+ self.helper = FormHelper()
+ self.helper.form_method = 'post'
+
+ self.helper.add_input(Submit('submit', 'Submit'))
+
+ accept_tos = forms.BooleanField(required=True, label="I accept the terms of the GNU Affero General Public License as displayed above,"
+ " and I understand that the terms that provide this software WITHOUT ANY WARRANTY;"
+ " without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.")
+
+ password = forms.CharField(widget=forms.PasswordInput, required=True)
+ password_confirm = forms.CharField(widget=forms.PasswordInput, required=True)
+
+ understand_no_reset = forms.BooleanField(required=True, label="I understand that there is NO PASSWORD RESET functionality once I no longer have access to Ion.")
+
+ def clean(self):
+ cleaned_data = super(TOSForm, self).clean()
+ password1 = cleaned_data.get('password')
+ password2 = cleaned_data.get('password_confirm')
+
+ if password1 and password1 != password2:
+ raise forms.ValidationError({"password": ["The two passwords do not match.",]})
+
+ # Validate checkboxes checked
+ accept_tos = cleaned_data.get("accept_tos")
+ understand_no_reset = cleaned_data.get("understand_no_reset")
+
+ if not accept_tos:
+ raise forms.ValidationError({"accept_tos": ["You must accept the license terms to continue.",]})
+
+ if not understand_no_reset:
+ raise forms.ValidationError({"understand_no_reset": ["You must acknowledge that there is no password reset to continue.",]})
+
+ # Validate the password for complexity, etc.
+ validators = password_validation.get_default_password_validators()
+ password_validation.validate_password(password1, None, validators)
+
+
diff --git a/tjdests/apps/authentication/migrations/0001_initial.py b/tjdests/apps/authentication/migrations/0001_initial.py
new file mode 100644
index 0000000..b99525a
--- /dev/null
+++ b/tjdests/apps/authentication/migrations/0001_initial.py
@@ -0,0 +1,46 @@
+# Generated by Django 3.2 on 2021-04-19 15:03
+
+import django.contrib.auth.models
+import django.contrib.auth.validators
+from django.db import migrations, models
+import django.utils.timezone
+
+
+class Migration(migrations.Migration):
+
+ initial = True
+
+ dependencies = [
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='User',
+ fields=[
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('password', models.CharField(max_length=128, verbose_name='password')),
+ ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')),
+ ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')),
+ ('username', models.CharField(error_messages={'unique': 'A user with that username already exists.'}, help_text='Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, unique=True, validators=[django.contrib.auth.validators.UnicodeUsernameValidator()], verbose_name='username')),
+ ('first_name', models.CharField(blank=True, max_length=150, verbose_name='first name')),
+ ('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')),
+ ('email', models.EmailField(blank=True, max_length=254, verbose_name='email address')),
+ ('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')),
+ ('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')),
+ ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')),
+ ('accepted_terms', models.BooleanField(default=False)),
+ ('graduation_year', models.PositiveSmallIntegerField(null=True)),
+ ('is_senior', models.BooleanField(default=False)),
+ ('publish_data', models.BooleanField(default=False, verbose_name='Publish my data')),
+ ('biography', models.TextField(blank=True)),
+ ],
+ options={
+ 'verbose_name': 'user',
+ 'verbose_name_plural': 'users',
+ 'abstract': False,
+ },
+ managers=[
+ ('objects', django.contrib.auth.models.UserManager()),
+ ],
+ ),
+ ]
diff --git a/tjdests/apps/authentication/migrations/0002_initial.py b/tjdests/apps/authentication/migrations/0002_initial.py
new file mode 100644
index 0000000..48a28b8
--- /dev/null
+++ b/tjdests/apps/authentication/migrations/0002_initial.py
@@ -0,0 +1,33 @@
+# Generated by Django 3.2 on 2021-04-19 15:03
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ initial = True
+
+ dependencies = [
+ ('auth', '0012_alter_user_first_name_max_length'),
+ ('authentication', '0001_initial'),
+ ('destinations', '0001_initial'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='user',
+ name='attending_decision',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='attending_college', to='destinations.decision', verbose_name='College attending'),
+ ),
+ migrations.AddField(
+ model_name='user',
+ name='groups',
+ field=models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups'),
+ ),
+ migrations.AddField(
+ model_name='user',
+ name='user_permissions',
+ field=models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions'),
+ ),
+ ]
diff --git a/tjdests/apps/authentication/migrations/0003_alter_user_publish_data.py b/tjdests/apps/authentication/migrations/0003_alter_user_publish_data.py
new file mode 100644
index 0000000..98038fe
--- /dev/null
+++ b/tjdests/apps/authentication/migrations/0003_alter_user_publish_data.py
@@ -0,0 +1,18 @@
+# Generated by Django 3.2 on 2021-04-19 16:00
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('authentication', '0002_initial'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='user',
+ name='publish_data',
+ field=models.BooleanField(default=False, help_text='Unless this is set, your data will not appear publicly.', verbose_name='Publish my data'),
+ ),
+ ]
diff --git a/tjdests/apps/authentication/migrations/0004_auto_20210419_1713.py b/tjdests/apps/authentication/migrations/0004_auto_20210419_1713.py
new file mode 100644
index 0000000..a351a05
--- /dev/null
+++ b/tjdests/apps/authentication/migrations/0004_auto_20210419_1713.py
@@ -0,0 +1,25 @@
+# Generated by Django 3.2 on 2021-04-19 17:13
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('destinations', '0005_alter_decision_admission_status'),
+ ('authentication', '0003_alter_user_publish_data'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='user',
+ name='is_student',
+ field=models.BooleanField(default=False),
+ ),
+ migrations.AlterField(
+ model_name='user',
+ name='attending_decision',
+ field=models.ForeignKey(blank=True, help_text="Can't see your college? Make sure you've added a decision with an admit status.", null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='attending_college', to='destinations.decision', verbose_name='College attending'),
+ ),
+ ]
diff --git a/tjdests/apps/authentication/migrations/__init__.py b/tjdests/apps/authentication/migrations/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/tjdests/apps/authentication/models.py b/tjdests/apps/authentication/models.py
new file mode 100644
index 0000000..bc7134e
--- /dev/null
+++ b/tjdests/apps/authentication/models.py
@@ -0,0 +1,22 @@
+from django.db import models
+from django.contrib.auth.models import AbstractUser
+
+from ..destinations.models import Decision, TestScore
+
+class User(AbstractUser):
+ accepted_terms = models.BooleanField(default=False)
+ graduation_year = models.PositiveSmallIntegerField(null=True)
+
+ is_senior = models.BooleanField(default=False)
+ is_student = models.BooleanField(default=False)
+
+ # The rest are used only if a senior
+ publish_data = models.BooleanField(default=False, verbose_name="Publish my data", help_text="Unless this is set, your data will not appear publicly.")
+ biography = models.TextField(blank=True)
+
+ attending_decision = models.ForeignKey(Decision, on_delete=models.SET_NULL, null=True, blank=True,
+ verbose_name="College attending", related_name="attending_college",
+ help_text="Can't see your college? Make sure you've added a decision with an admit status.")
+
+ def __str__(self):
+ return f"{self.first_name} {self.last_name}"
diff --git a/tjdests/apps/authentication/oauth.py b/tjdests/apps/authentication/oauth.py
new file mode 100644
index 0000000..d3523c3
--- /dev/null
+++ b/tjdests/apps/authentication/oauth.py
@@ -0,0 +1,38 @@
+from django.conf import settings
+from social_core.backends.oauth import BaseOAuth2
+
+
+class IonOauth2(BaseOAuth2):
+ name = "ion"
+ AUTHORIZATION_URL = "https://ion.tjhsst.edu/oauth/authorize"
+ ACCESS_TOKEN_URL = "https://ion.tjhsst.edu/oauth/token"
+ ACCESS_TOKEN_METHOD = "POST"
+ EXTRA_DATA = [("refresh_token", "refresh_token", True), ("expires_in", "expires")]
+
+ def get_scope(self):
+ return ["read"]
+
+ def get_user_details(self, response):
+ profile = self.get_json(
+ "https://ion.tjhsst.edu/api/profile", params={"access_token": response["access_token"]}
+ )
+ # fields used to populate/update User model
+
+ if not profile["graduation_year"]:
+ profile["graduation_year"] = 0
+
+ return {
+ "id": profile["id"],
+ "username": profile["ion_username"],
+ "first_name": profile["first_name"],
+ "last_name": profile["last_name"],
+ "full_name": profile["full_name"],
+ "email": profile["tj_email"],
+ "is_student": profile["is_student"],
+ "is_teacher": profile["is_teacher"],
+ "graduation_year": profile["graduation_year"],
+ "is_senior": int(profile["graduation_year"]) == settings.SENIOR_GRAD_YEAR
+ }
+
+ def get_user_id(self, details, response):
+ return details["id"]
\ No newline at end of file
diff --git a/tjdests/apps/authentication/urls.py b/tjdests/apps/authentication/urls.py
new file mode 100644
index 0000000..8f6b535
--- /dev/null
+++ b/tjdests/apps/authentication/urls.py
@@ -0,0 +1,12 @@
+from django.contrib.auth.views import LogoutView
+from django.urls import path
+from . import views
+
+app_name = "authentication"
+
+urlpatterns = [
+ path("", views.index_view, name="index"),
+ path("login", views.LoginViewCustom.as_view(), name="login"),
+ path("logout", LogoutView.as_view(), name="logout"),
+ path("tos", views.accept_tos_view, name="tos"),
+]
\ No newline at end of file
diff --git a/tjdests/apps/authentication/views.py b/tjdests/apps/authentication/views.py
new file mode 100644
index 0000000..d76dd11
--- /dev/null
+++ b/tjdests/apps/authentication/views.py
@@ -0,0 +1,50 @@
+from django.contrib.auth import login, logout
+from django.contrib.auth.decorators import login_required
+from django.contrib.auth.views import LoginView
+from django.contrib import messages
+from django.http import HttpRequest, HttpResponse
+from django.shortcuts import render, redirect
+from django.urls import reverse
+
+from tjdests.apps.authentication.decorators import require_accept_tos
+from tjdests.apps.authentication.forms import TOSForm
+
+
+def index_view(request: HttpRequest) -> HttpResponse:
+ return render(request, "authentication/index.html")
+
+@login_required
+def accept_tos_view(request: HttpRequest) -> HttpResponse:
+ assert request.user.is_authenticated
+
+ if not request.user.is_student:
+ logout(request)
+ messages.error(request, "You must be a student to access this site.")
+ return redirect(reverse("authentication:index"))
+
+ if request.user.accepted_terms:
+ return redirect(reverse("authentication:index"))
+
+ if request.method == "POST":
+ form = TOSForm(request.POST)
+
+ if form.is_valid():
+ request.user.accepted_terms = form.cleaned_data.get("accept_tos")
+ request.user.set_password(form.cleaned_data.get("password"))
+ request.user.save()
+
+ login(request, request.user, backend='django.contrib.auth.backends.ModelBackend')
+
+ messages.success(request, "You have logged in.")
+
+ return redirect(reverse("authentication:index"))
+ else:
+ form = TOSForm()
+
+ context = {"form": form}
+
+ return render(request, "authentication/accept_tos.html", context=context)
+
+class LoginViewCustom(LoginView):
+ template_name = "authentication/login.html"
+
diff --git a/tjdests/apps/context_processors.py b/tjdests/apps/context_processors.py
new file mode 100644
index 0000000..eaa9498
--- /dev/null
+++ b/tjdests/apps/context_processors.py
@@ -0,0 +1,4 @@
+from django.conf import settings
+
+def settings_renderer(request):
+ return {"settings": settings}
diff --git a/tjdests/apps/destinations/__init__.py b/tjdests/apps/destinations/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/tjdests/apps/destinations/admin.py b/tjdests/apps/destinations/admin.py
new file mode 100644
index 0000000..c68d2b8
--- /dev/null
+++ b/tjdests/apps/destinations/admin.py
@@ -0,0 +1,7 @@
+from django.contrib import admin
+
+from .models import College, TestScore, Decision
+
+admin.site.register(College)
+admin.site.register(TestScore)
+admin.site.register(Decision)
diff --git a/tjdests/apps/destinations/management/__init__.py b/tjdests/apps/destinations/management/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/tjdests/apps/destinations/management/commands/__init__.py b/tjdests/apps/destinations/management/commands/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/tjdests/apps/destinations/management/commands/import_ceeb.py b/tjdests/apps/destinations/management/commands/import_ceeb.py
new file mode 100644
index 0000000..7cd0cce
--- /dev/null
+++ b/tjdests/apps/destinations/management/commands/import_ceeb.py
@@ -0,0 +1,28 @@
+import argparse
+import csv
+
+from django.core.management.base import BaseCommand
+
+from ...models import College
+
+class Command(BaseCommand):
+ help = "Imports a CSV of CEEB codes as colleges"
+
+ def add_arguments(self, parser: argparse.ArgumentParser):
+ parser.add_argument("file_name", type=str)
+
+ def handle(self, *args, **options):
+ """CSV format:
+
+ CEEB, College Name, City, State
+ """
+ with open(options["file_name"], "r") as file:
+ reader = csv.DictReader(file)
+
+ for line in reader:
+ result = College.objects.update_or_create(ceeb_code=line["CEEB"], defaults={"name": line["College Name"], "location": f"{line['City']}, {line['State']}"})
+
+ if result[1]:
+ self.stdout.write(f"Added university {result[0].name}.", style_func=self.style.SUCCESS)
+ else:
+ self.stdout.write(f"Did not update university {result[0].name}.", style_func=self.style.WARNING)
diff --git a/tjdests/apps/destinations/migrations/0001_initial.py b/tjdests/apps/destinations/migrations/0001_initial.py
new file mode 100644
index 0000000..c75fd69
--- /dev/null
+++ b/tjdests/apps/destinations/migrations/0001_initial.py
@@ -0,0 +1,44 @@
+# Generated by Django 3.2 on 2021-04-19 15:03
+
+from django.conf import settings
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ initial = True
+
+ dependencies = [
+ migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='College',
+ fields=[
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('ceeb_code', models.PositiveSmallIntegerField(verbose_name='CEEB Code')),
+ ('name', models.CharField(max_length=250)),
+ ('location', models.CharField(max_length=250)),
+ ],
+ ),
+ migrations.CreateModel(
+ name='TestScore',
+ fields=[
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('exam_type', models.CharField(choices=[('ACT_ENGL', 'ACT English (Grammar)'), ('ACT_MATH', 'ACT Math'), ('ACT_READ', 'ACT Reading'), ('ACT_SCI', 'ACT Science'), ('ACT_COMP', 'ACT Composite'), ('SAT_EBRW', 'SAT Verbal'), ('SAT_MATH', 'SAT Math'), ('SAT_TOTAL', 'SAT Total'), ('SAT2_MATH1', 'SAT Subject Test Math 1'), ('SAT2_MATH2', 'SAT Subject Test Math 2'), ('SAT2_BIO', 'SAT Subject Test Biology'), ('SAT2_CHEM', 'SAT Subject Test Chemistry'), ('SAT2_PHYS', 'SAT Subject Test Physics'), ('SAT2_ENGL', 'SAT Subject Test English'), ('SAT2_USH', 'SAT Subject Test U.S. History'), ('SAT2_WH', 'SAT Subject Test World History'), ('SAT2_ES', 'SAT Subject Test Spanish'), ('SAT2_ESL', 'SAT Subject Test Spanish with Listening'), ('SAT2_FR', 'SAT Subject Test French'), ('SAT2_FRL', 'SAT Subject Test French with Listening'), ('SAT2_ZHL', 'SAT Subject Test Chinese with Listening'), ('SAT2_IT', 'SAT Subject Test Italian'), ('SAT2_DE', 'SAT Subject Test German'), ('SAT2_DEL', 'SAT Subject Test German with Listening'), ('SAT2_HE', 'SAT Subject Test Modern Hebrew'), ('SAT2_LA', 'SAT Subject Test Latin'), ('SAT2_JAL', 'SAT Subject Test Japanese with Listening'), ('SAT2_KOL', 'SAT Subject Test Korean with Listening'), ('AP_RSRCH', 'AP Research'), ('AP_SMNR', 'AP Seminar'), ('AP_ART2D', 'AP Art and Design: 2-D Design'), ('AP_ART3D', 'AP Art and Design: 3-D Design'), ('AP_ARTDRAW', 'AP Art and Design: Drawing'), ('AP_ARTHIST', 'AP Art History'), ('AP_BIO', 'AP Biology'), ('AP_CALCAB', 'AP Calculus AB'), ('AP_CALCBC', 'AP Calculus BC'), ('AP_CHEM', 'AP Chemistry'), ('AP_ZHLANG', 'AP Chinese Language and Culture'), ('AP_CSA', 'AP Computer Science A'), ('AP_CSP', 'AP Computer Science Principles'), ('AP_ENLANG', 'AP English Language and Composition'), ('AP_ENLIT', 'AP English Literature and Composition'), ('AP_ENVSCI', 'AP Environmental Science'), ('AP_EUROHIST', 'AP European History'), ('AP_FRLANG', 'AP French Language and Culture'), ('AP_DELANG', 'AP German Language and Culture'), ('AP_GOVCOMP', 'AP Comparative Government and Politics'), ('AP_GOVUS', 'AP U.S. Government and Politics'), ('AP_HUG', 'AP Human Geography'), ('AP_ITLANG', 'AP Italian Language and Culture'), ('AP_JALANG', 'AP Japanese Language and Culture'), ('AP_LATIN', 'AP Latin'), ('AP_MACRO', 'AP Macroeconomics'), ('AP_MICRO', 'AP Microeconomics'), ('AP_MUSTHRY', 'AP Music Theory'), ('AP_PHYSICS1', 'AP Physics 1: Algebra-Based'), ('AP_PHYSICS2', 'AP Physics 2: Algebra-Based'), ('AP_PHYSICSCEM', 'AP Physics C: Electricity and Magnetism'), ('AP_PHYSICSCM', 'AP Physics C: Mechanics'), ('AP_PSYCH', 'AP Psychology'), ('AP_ESLANG', 'AP Spanish Language and Culture'), ('AP_ESLIT', 'AP Spanish Literature and Culture'), ('AP_STAT', 'AP Statistics'), ('AP_USH', 'AP US History'), ('AP_WHM', 'AP World History: Modern')], max_length=20)),
+ ('exam_score', models.PositiveSmallIntegerField()),
+ ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
+ ],
+ ),
+ migrations.CreateModel(
+ name='Decision',
+ fields=[
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('decision_type', models.CharField(choices=[('ED', 'Early Decision'), ('ED2', 'Early Decision 2'), ('EA', 'Early Action'), ('EA2', 'Early Action 2'), ('RD', 'Regular Decision'), ('RL', 'Rolling')], max_length=20, null=True)),
+ ('college', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='destinations.college')),
+ ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
+ ],
+ ),
+ ]
diff --git a/tjdests/apps/destinations/migrations/0002_decision_admitted.py b/tjdests/apps/destinations/migrations/0002_decision_admitted.py
new file mode 100644
index 0000000..0e81d52
--- /dev/null
+++ b/tjdests/apps/destinations/migrations/0002_decision_admitted.py
@@ -0,0 +1,18 @@
+# Generated by Django 3.2 on 2021-04-19 15:38
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('destinations', '0001_initial'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='decision',
+ name='admitted',
+ field=models.BooleanField(default=False),
+ ),
+ ]
diff --git a/tjdests/apps/destinations/migrations/0003_alter_decision_admitted.py b/tjdests/apps/destinations/migrations/0003_alter_decision_admitted.py
new file mode 100644
index 0000000..34d2d3e
--- /dev/null
+++ b/tjdests/apps/destinations/migrations/0003_alter_decision_admitted.py
@@ -0,0 +1,18 @@
+# Generated by Django 3.2 on 2021-04-19 15:47
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('destinations', '0002_decision_admitted'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='decision',
+ name='admitted',
+ field=models.CharField(choices=[('ADMIT', 'Admitted'), ('WAITLIST', 'Waitlisted'), ('WAITLIST_ADMIT', 'Waitlist-Admitted'), ('WAITLIST_DENY', 'Waitlist-Denied'), ('DEFER', 'Deferred'), ('DEFER_ADMIT', 'Deferred-Admitted'), ('DEFER_DENY', 'Deferred-Denied'), ('DENY', 'Denied')], default='DENY', max_length=20),
+ ),
+ ]
diff --git a/tjdests/apps/destinations/migrations/0004_rename_admitted_decision_admission_status.py b/tjdests/apps/destinations/migrations/0004_rename_admitted_decision_admission_status.py
new file mode 100644
index 0000000..972b2e4
--- /dev/null
+++ b/tjdests/apps/destinations/migrations/0004_rename_admitted_decision_admission_status.py
@@ -0,0 +1,18 @@
+# Generated by Django 3.2 on 2021-04-19 16:00
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('destinations', '0003_alter_decision_admitted'),
+ ]
+
+ operations = [
+ migrations.RenameField(
+ model_name='decision',
+ old_name='admitted',
+ new_name='admission_status',
+ ),
+ ]
diff --git a/tjdests/apps/destinations/migrations/0005_alter_decision_admission_status.py b/tjdests/apps/destinations/migrations/0005_alter_decision_admission_status.py
new file mode 100644
index 0000000..9fcf797
--- /dev/null
+++ b/tjdests/apps/destinations/migrations/0005_alter_decision_admission_status.py
@@ -0,0 +1,18 @@
+# Generated by Django 3.2 on 2021-04-19 17:13
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('destinations', '0004_rename_admitted_decision_admission_status'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='decision',
+ name='admission_status',
+ field=models.CharField(choices=[('ADMIT', 'Admitted'), ('WAITLIST', 'Waitlisted'), ('WAITLIST_ADMIT', 'Waitlist-Admitted'), ('WAITLIST_DENY', 'Waitlist-Denied'), ('DEFER', 'Deferred'), ('DEFER_ADMIT', 'Deferred-Admitted'), ('DEFER_DENY', 'Deferred-Denied'), ('DENY', 'Denied')], max_length=20),
+ ),
+ ]
diff --git a/tjdests/apps/destinations/migrations/0006_alter_college_ceeb_code.py b/tjdests/apps/destinations/migrations/0006_alter_college_ceeb_code.py
new file mode 100644
index 0000000..d74bcb2
--- /dev/null
+++ b/tjdests/apps/destinations/migrations/0006_alter_college_ceeb_code.py
@@ -0,0 +1,18 @@
+# Generated by Django 3.2 on 2021-04-19 18:40
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('destinations', '0005_alter_decision_admission_status'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='college',
+ name='ceeb_code',
+ field=models.CharField(max_length=10, verbose_name='CEEB Code'),
+ ),
+ ]
diff --git a/tjdests/apps/destinations/migrations/__init__.py b/tjdests/apps/destinations/migrations/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/tjdests/apps/destinations/models.py b/tjdests/apps/destinations/models.py
new file mode 100644
index 0000000..976a162
--- /dev/null
+++ b/tjdests/apps/destinations/models.py
@@ -0,0 +1,217 @@
+from django.db import models
+
+
+class College(models.Model):
+ """Represents a college."""
+
+ ceeb_code = models.CharField(max_length=10, null=False, verbose_name="CEEB Code")
+ name = models.CharField(max_length=250, null=False, blank=False)
+ location = models.CharField(max_length=250, null=False, blank=False)
+
+ def __str__(self):
+ return f"{self.name} - {self.location} ({self.ceeb_code})"
+
+
+class Decision(models.Model):
+ """Represents a college decision."""
+
+ EARLY_DECISION = "ED"
+ EARLY_DECISION_2 = "ED2"
+ EARLY_ACTION = "EA"
+ EARLY_ACTION_2 = "EA2"
+ REGULAR_DECISION = "RD"
+ ROLLING = "RL"
+
+ DECISION_TYPE_CHOICES = [
+ (EARLY_DECISION, "Early Decision"),
+ (EARLY_DECISION_2, "Early Decision 2"),
+ (EARLY_ACTION, "Early Action"),
+ (EARLY_ACTION_2, "Early Action 2"),
+ (REGULAR_DECISION, "Regular Decision"),
+ (ROLLING, "Rolling"),
+ ]
+
+ user = models.ForeignKey("authentication.User", on_delete=models.CASCADE)
+
+ decision_type = models.CharField(max_length=20, choices=DECISION_TYPE_CHOICES, null=True)
+
+ ADMIT = "ADMIT"
+ WAITLIST_ADMIT = "WAITLIST_ADMIT"
+ WAITLIST_DENY = "WAITLIST_DENY"
+ WAITLIST = "WAITLIST"
+ DEFER_ADMIT = "DEFER_ADMIT"
+ DEFER_DENY = "DEFER_DENY"
+ DEFER = "DEFER"
+ DENY = "DENY"
+
+ ADMIT_TYPE_CHOICES = [
+ (ADMIT, "Admitted"),
+ (WAITLIST, "Waitlisted"),
+ (WAITLIST_ADMIT, "Waitlist-Admitted"),
+ (WAITLIST_DENY, "Waitlist-Denied"),
+ (DEFER, "Deferred"),
+ (DEFER_ADMIT, "Deferred-Admitted"),
+ (DEFER_DENY, "Deferred-Denied"),
+ (DENY, "Denied"),
+ ]
+
+ admission_status = models.CharField(max_length=20, choices=ADMIT_TYPE_CHOICES)
+ college = models.ForeignKey(College, on_delete=models.CASCADE)
+
+ def __str__(self):
+ return f"{self.college.name} - {self.get_decision_type_display()}: {self.get_admission_status_display()}"
+
+
+class TestScore(models.Model):
+ """Represents a test score."""
+
+ # Test score types for validation purposes
+ ACT_ENGL = "ACT_ENGL"
+ ACT_MATH = "ACT_MATH"
+ ACT_READ = "ACT_READ"
+ ACT_SCI = "ACT_SCI"
+ ACT_COMP = "ACT_COMP"
+
+ # SAT
+ SAT_EBRW = "SAT_EBRW"
+ SAT_MATH = "SAT_MATH"
+ SAT_TOTAL = "SAT_TOTAL"
+
+ # SAT Subject Tests
+ SAT2_MATH1 = "SAT2_MATH1"
+ SAT2_MATH2 = "SAT2_MATH2"
+ SAT2_BIO = "SAT2_BIO"
+ SAT2_CHEM = "SAT2_CHEM"
+ SAT2_PHYS = "SAT2_PHYS"
+ SAT2_ENGL = "SAT2_ENGL"
+ SAT2_USH = "SAT2_USH"
+ SAT2_WH = "SAT2_WH"
+ SAT2_ES = "SAT2_ES"
+ SAT2_ESL = "SAT2_ESL"
+ SAT2_FR = "SAT2_FR"
+ SAT2_FRL = "SAT2_FRL"
+ SAT2_ZHL = "SAT2_ZHL"
+ SAT2_IT = "SAT2_IT"
+ SAT2_DE = "SAT2_DE"
+ SAT2_DEL = "SAT2_DEL"
+ SAT2_HE = "SAT2_HE"
+ SAT2_LA = "SAT2_LA"
+ SAT2_JAL = "SAT2_JAL"
+ SAT2_KOL = "SAT2_KOL"
+
+ # AP Exams
+ AP_RSRCH = "AP_RSRCH"
+ AP_SMNR = "AP_SMNR"
+ AP_ART2D = "AP_ART2D"
+ AP_ART3D = "AP_ART3D"
+ AP_ARTDRAW = "AP_ARTDRAW"
+ AP_ARTHIST = "AP_ARTHIST"
+ AP_BIO = "AP_BIO"
+ AP_CALCAB = "AP_CALCAB"
+ AP_CALCBC = "AP_CALCBC"
+ AP_CHEM = "AP_CHEM"
+ AP_ZHLANG = "AP_ZHLANG"
+ AP_CSA = "AP_CSA"
+ AP_CSP = "AP_CSP"
+ AP_ENLANG = "AP_ENLANG"
+ AP_ENLIT = "AP_ENLIT"
+ AP_ENVSCI = "AP_ENVSCI"
+ AP_EUROHIST = "AP_EUROHIST"
+ AP_FRLANG = "AP_FRLANG"
+ AP_DELANG = "AP_DELANG"
+ AP_GOVCOMP = "AP_GOVCOMP"
+ AP_GOVUS = "AP_GOVUS"
+ AP_HUG = "AP_HUG"
+ AP_ITLANG = "AP_ITLANG"
+ AP_JALANG = "AP_JALANG"
+ AP_LATIN = "AP_LATIN"
+ AP_MACRO = "AP_MACRO"
+ AP_MICRO = "AP_MICRO"
+ AP_MUSTHRY = "AP_MUSTHRY"
+ AP_PHYSICS1 = "AP_PHYSICS1"
+ AP_PHYSICS2 = "AP_PHYSICS2"
+ AP_PHYSICSCEM = "AP_PHYSICSCEM"
+ AP_PHYSICSCM = "AP_PHYSICSCM"
+ AP_PSYCH = "AP_PSYCH"
+ AP_ESLANG = "AP_ESLANG"
+ AP_ESLIT = "AP_ESLIT"
+ AP_STAT = "AP_STAT"
+ AP_USH = "AP_USH"
+ AP_WHM = "AP_WHM"
+
+ TEST_TYPES = [
+ (ACT_ENGL, "ACT English (Grammar)"),
+ (ACT_MATH, "ACT Math"),
+ (ACT_READ, "ACT Reading"),
+ (ACT_SCI, "ACT Science"),
+ (ACT_COMP, "ACT Composite"),
+ (SAT_EBRW, "SAT Verbal"),
+ (SAT_MATH, "SAT Math"),
+ (SAT_TOTAL, "SAT Total"),
+ (SAT2_MATH1, "SAT Subject Test Math 1"),
+ (SAT2_MATH2, "SAT Subject Test Math 2"),
+ (SAT2_BIO, "SAT Subject Test Biology"),
+ (SAT2_CHEM, "SAT Subject Test Chemistry"),
+ (SAT2_PHYS, "SAT Subject Test Physics"),
+ (SAT2_ENGL, "SAT Subject Test English"),
+ (SAT2_USH, "SAT Subject Test U.S. History"),
+ (SAT2_WH, "SAT Subject Test World History"),
+ (SAT2_ES, "SAT Subject Test Spanish"),
+ (SAT2_ESL, "SAT Subject Test Spanish with Listening"),
+ (SAT2_FR, "SAT Subject Test French"),
+ (SAT2_FRL, "SAT Subject Test French with Listening"),
+ (SAT2_ZHL, "SAT Subject Test Chinese with Listening"),
+ (SAT2_IT, "SAT Subject Test Italian"),
+ (SAT2_DE, "SAT Subject Test German"),
+ (SAT2_DEL, "SAT Subject Test German with Listening"),
+ (SAT2_HE, "SAT Subject Test Modern Hebrew"),
+ (SAT2_LA, "SAT Subject Test Latin"),
+ (SAT2_JAL, "SAT Subject Test Japanese with Listening"),
+ (SAT2_KOL, "SAT Subject Test Korean with Listening"),
+ (AP_RSRCH, "AP Research"),
+ (AP_SMNR, "AP Seminar"),
+ (AP_ART2D, "AP Art and Design: 2-D Design"),
+ (AP_ART3D, "AP Art and Design: 3-D Design"),
+ (AP_ARTDRAW, "AP Art and Design: Drawing"),
+ (AP_ARTHIST, "AP Art History"),
+ (AP_BIO, "AP Biology"),
+ (AP_CALCAB, "AP Calculus AB"),
+ (AP_CALCBC, "AP Calculus BC"),
+ (AP_CHEM, "AP Chemistry"),
+ (AP_ZHLANG, "AP Chinese Language and Culture"),
+ (AP_CSA, "AP Computer Science A"),
+ (AP_CSP, "AP Computer Science Principles"),
+ (AP_ENLANG, "AP English Language and Composition"),
+ (AP_ENLIT, "AP English Literature and Composition"),
+ (AP_ENVSCI, "AP Environmental Science"),
+ (AP_EUROHIST, "AP European History"),
+ (AP_FRLANG, "AP French Language and Culture"),
+ (AP_DELANG, "AP German Language and Culture"),
+ (AP_GOVCOMP, "AP Comparative Government and Politics"),
+ (AP_GOVUS, "AP U.S. Government and Politics"),
+ (AP_HUG, "AP Human Geography"),
+ (AP_ITLANG, "AP Italian Language and Culture"),
+ (AP_JALANG, "AP Japanese Language and Culture"),
+ (AP_LATIN, "AP Latin"),
+ (AP_MACRO, "AP Macroeconomics"),
+ (AP_MICRO, "AP Microeconomics"),
+ (AP_MUSTHRY, "AP Music Theory"),
+ (AP_PHYSICS1, "AP Physics 1: Algebra-Based"),
+ (AP_PHYSICS2, "AP Physics 2: Algebra-Based"),
+ (AP_PHYSICSCEM, "AP Physics C: Electricity and Magnetism"),
+ (AP_PHYSICSCM, "AP Physics C: Mechanics"),
+ (AP_PSYCH, "AP Psychology"),
+ (AP_ESLANG, "AP Spanish Language and Culture"),
+ (AP_ESLIT, "AP Spanish Literature and Culture"),
+ (AP_STAT, "AP Statistics"),
+ (AP_USH, "AP US History"),
+ (AP_WHM, "AP World History: Modern"),
+ ]
+
+ user = models.ForeignKey("authentication.User", on_delete=models.CASCADE)
+
+ exam_type = models.CharField(max_length=20, choices=TEST_TYPES, null=False)
+ exam_score = models.PositiveSmallIntegerField(null=False)
+
+ def __str__(self):
+ return f"{self.get_exam_type_display()}: {self.exam_score}"
diff --git a/tjdests/apps/destinations/urls.py b/tjdests/apps/destinations/urls.py
new file mode 100644
index 0000000..24f1a96
--- /dev/null
+++ b/tjdests/apps/destinations/urls.py
@@ -0,0 +1,9 @@
+from django.urls import path
+from . import views
+
+app_name = "destinations"
+
+urlpatterns = [
+ path("", views.StudentDestinationListView.as_view(), name="students"),
+ path("colleges", views.CollegeDestinationListView.as_view(), name="colleges"),
+]
\ No newline at end of file
diff --git a/tjdests/apps/destinations/views.py b/tjdests/apps/destinations/views.py
new file mode 100644
index 0000000..aad9f2e
--- /dev/null
+++ b/tjdests/apps/destinations/views.py
@@ -0,0 +1,71 @@
+from django.contrib.auth.mixins import UserPassesTestMixin, LoginRequiredMixin
+from django.db.models import Count, Q
+from django.shortcuts import get_object_or_404
+from django.views.generic import ListView
+
+from .models import College, Decision
+from ..authentication.models import User
+
+
+class StudentDestinationListView(LoginRequiredMixin, UserPassesTestMixin, ListView):
+ model = User
+ paginate_by = 20
+
+ def get_queryset(self):
+ queryset = User.objects.filter(publish_data=True, is_senior=True).order_by("last_name", "first_name")
+
+ college_id = self.request.GET.get("college", None)
+ if college_id is not None:
+ get_object_or_404(College, id=college_id)
+ queryset = queryset.filter(decision__college__id=college_id)
+
+ return queryset
+
+ def get_context_data(self, *, object_list=None, **kwargs):
+ context = super(StudentDestinationListView, self).get_context_data(**kwargs)
+
+ college_id = self.request.GET.get("college", None)
+ if college_id is not None:
+ context["college"] = get_object_or_404(College, id=college_id)
+
+ return context
+
+ def test_func(self):
+ return self.request.user.accepted_terms
+
+ template_name = "destinations/student_list.html"
+
+
+class CollegeDestinationListView(LoginRequiredMixin, UserPassesTestMixin, ListView):
+ model = College
+ paginate_by = 20
+ queryset = College.objects.annotate(count_decisions=Count("decision", filter=Q(decision__user__publish_data=True)),
+ count_admit=Count("decision",
+ filter=Q(decision__admission_status=Decision.ADMIT,
+ decision__user__publish_data=True)),
+ count_waitlist=Count("decision",
+ filter=Q(decision__admission_status=Decision.WAITLIST,
+ decision__user__publish_data=True)),
+ count_waitlist_admit=Count("decision", filter=Q(
+ decision__admission_status=Decision.WAITLIST_ADMIT,
+ decision__user__publish_data=True)),
+ count_waitlist_deny=Count("decision", filter=Q(
+ decision__admission_status=Decision.WAITLIST_DENY,
+ decision__user__publish_data=True)),
+ count_defer=Count("decision",
+ filter=Q(decision__admission_status=Decision.DEFER,
+ decision__user__publish_data=True)),
+ count_defer_admit=Count("decision", filter=Q(
+ decision__admission_status=Decision.DEFER_ADMIT,
+ decision__user__publish_data=True)),
+ count_defer_deny=Count("decision",
+ filter=Q(decision__admission_status=Decision.DEFER_DENY,
+ decision__user__publish_data=True)),
+ count_deny=Count("decision", filter=Q(decision__admission_status=Decision.DENY,
+ decision__user__publish_data=True)),
+ ).filter(count_decisions__gte=1).order_by("name")
+
+ def test_func(self):
+ return self.request.user.accepted_terms
+
+ template_name = "destinations/college_list.html"
diff --git a/tjdests/apps/profile/__init__.py b/tjdests/apps/profile/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/tjdests/apps/profile/forms.py b/tjdests/apps/profile/forms.py
new file mode 100644
index 0000000..fc1220c
--- /dev/null
+++ b/tjdests/apps/profile/forms.py
@@ -0,0 +1,28 @@
+from django import forms
+
+from tjdests.apps.authentication.models import User
+
+from crispy_forms.helper import FormHelper
+from crispy_forms.layout import Submit
+
+from tjdests.apps.destinations.models import Decision
+
+
+class ProfilePublishForm(forms.ModelForm):
+ def __init__(self, *args, **kwargs):
+ super().__init__(*args, **kwargs)
+ self.helper = FormHelper()
+ self.helper.form_method = 'post'
+
+ self.helper.add_input(Submit('submit', 'Submit'))
+
+ self.fields["attending_decision"].queryset = Decision.objects.filter(user=self.instance, admission_status__in=[Decision.ADMIT, Decision.WAITLIST_ADMIT, Decision.DEFER_ADMIT])
+
+ class Meta:
+ model = User
+ fields = ["publish_data", "biography", "attending_decision"]
+
+class DecisionForm(forms.ModelForm):
+ class Meta:
+ model = Decision
+ fields = ["college", "decision_type", "admission_status"]
diff --git a/tjdests/apps/profile/urls.py b/tjdests/apps/profile/urls.py
new file mode 100644
index 0000000..b10fc10
--- /dev/null
+++ b/tjdests/apps/profile/urls.py
@@ -0,0 +1,14 @@
+from django.urls import path
+from . import views
+
+app_name = "profile"
+
+urlpatterns = [
+ path("", views.profile_view, name="index"),
+ path("testscore/add", views.TestScoreCreateView.as_view(), name="testscores_add"),
+ path("testscore/edit/", views.TestScoreUpdateView.as_view(), name="testscores_edit"),
+ path("testscore/delete/", views.TestScoreDeleteView.as_view(), name="testscores_delete"),
+ path("decision/add", views.DecisionCreateView.as_view(), name="decision_add"),
+ path("decision/edit/", views.DecisionUpdateView.as_view(), name="decision_edit"),
+ path("decision/delete/", views.DecisionDeleteView.as_view(), name="decision_delete"),
+]
\ No newline at end of file
diff --git a/tjdests/apps/profile/views.py b/tjdests/apps/profile/views.py
new file mode 100644
index 0000000..d2a240b
--- /dev/null
+++ b/tjdests/apps/profile/views.py
@@ -0,0 +1,141 @@
+from django.contrib import messages
+from django.contrib.auth.decorators import login_required
+from django.contrib.auth.mixins import UserPassesTestMixin, LoginRequiredMixin
+from django.contrib.messages.views import SuccessMessageMixin
+from django.http import HttpRequest
+from django.shortcuts import render
+from django.urls import reverse
+from django.views.generic import CreateView, UpdateView, DeleteView
+
+from tjdests.apps.authentication.decorators import require_accept_tos
+from tjdests.apps.destinations.models import TestScore, Decision
+
+from .forms import ProfilePublishForm, DecisionForm
+
+
+@login_required
+@require_accept_tos
+def profile_view(request: HttpRequest):
+ test_scores = TestScore.objects.filter(user=request.user)
+ decisions = Decision.objects.filter(user=request.user)
+
+ # A POST request would mean that the user is saving their profile publication status
+ if request.method == "POST":
+ profile_form = ProfilePublishForm(request.POST, instance=request.user)
+ if profile_form.is_valid():
+ profile_form.save()
+
+ messages.success(request, "Your preferences have been changed.")
+ else:
+ profile_form = ProfilePublishForm(instance=request.user)
+
+ context = {"test_scores_list": test_scores, "decisions_list": decisions, "profile_form": profile_form}
+
+ return render(request, "profile/profile.html", context=context)
+
+
+class TestScoreCreateView(LoginRequiredMixin, SuccessMessageMixin, UserPassesTestMixin, CreateView):
+ model = TestScore
+ fields = ["exam_type", "exam_score"]
+ template_name = "profile/testscore_form.html"
+ success_message = "Test score created successfully."
+
+ def form_valid(self, form):
+ form.instance.user = self.request.user
+ return super().form_valid(form)
+
+ def test_func(self):
+ return self.request.user.is_senior and self.request.user.accepted_terms
+
+ def get_success_url(self):
+ return reverse("profile:index")
+
+
+class TestScoreUpdateView(LoginRequiredMixin, SuccessMessageMixin, UserPassesTestMixin, UpdateView):
+ model = TestScore
+ fields = ["exam_type", "exam_score"]
+ template_name = "profile/testscore_form.html"
+ success_message = "Test score updated successfully."
+
+ def form_valid(self, form):
+ form.instance.user = self.request.user
+ return super().form_valid(form)
+
+ def get_queryset(self):
+ owner = self.request.user
+ return self.model.objects.filter(user=owner)
+
+ def test_func(self):
+ return self.request.user.is_senior and self.request.user.accepted_terms
+
+ def get_success_url(self):
+ return reverse("profile:index")
+
+
+class TestScoreDeleteView(LoginRequiredMixin, SuccessMessageMixin, UserPassesTestMixin, DeleteView):
+ model = TestScore
+ template_name = "profile/testscore_delete.html"
+ success_message = "Test score deleted successfully."
+
+ def get_queryset(self):
+ owner = self.request.user
+ return self.model.objects.filter(user=owner)
+
+ def test_func(self):
+ return self.request.user.is_senior and self.request.user.accepted_terms
+
+ def get_success_url(self):
+ return reverse("profile:index")
+
+class DecisionCreateView(LoginRequiredMixin, SuccessMessageMixin, UserPassesTestMixin, CreateView):
+ model = Decision
+ fields = ["college", "decision_type", "admission_status"]
+ template_name = "profile/decision_form.html"
+ success_message = "Decision created successfully."
+
+ def form_valid(self, form):
+ form.instance.user = self.request.user
+ return super().form_valid(form)
+
+ def test_func(self):
+ return self.request.user.is_senior and self.request.user.accepted_terms
+
+ def get_success_url(self):
+ return reverse("profile:index")
+
+
+class DecisionUpdateView(LoginRequiredMixin, SuccessMessageMixin, UserPassesTestMixin, UpdateView):
+ model = Decision
+ fields = ["college", "decision_type", "admission_status"]
+ template_name = "profile/decision_form.html"
+ success_message = "Decision created successfully."
+
+ def form_valid(self, form):
+ form.instance.user = self.request.user
+ return super().form_valid(form)
+
+ def get_queryset(self):
+ owner = self.request.user
+ return self.model.objects.filter(user=owner)
+
+ def test_func(self):
+ return self.request.user.is_senior and self.request.user.accepted_terms
+
+ def get_success_url(self):
+ return reverse("profile:index")
+
+
+class DecisionDeleteView(LoginRequiredMixin, SuccessMessageMixin, UserPassesTestMixin, DeleteView):
+ model = Decision
+ template_name = "profile/decision_delete.html"
+ success_message = "Decision deleted successfully."
+
+ def get_queryset(self):
+ owner = self.request.user
+ return self.model.objects.filter(user=owner)
+
+ def test_func(self):
+ return self.request.user.is_senior and self.request.user.accepted_terms
+
+ def get_success_url(self):
+ return reverse("profile:index")
diff --git a/tjdests/asgi.py b/tjdests/asgi.py
new file mode 100644
index 0000000..5075bff
--- /dev/null
+++ b/tjdests/asgi.py
@@ -0,0 +1,16 @@
+"""
+ASGI config for tjdests project.
+
+It exposes the ASGI callable as a module-level variable named ``application``.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/3.2/howto/deployment/asgi/
+"""
+
+import os
+
+from django.core.asgi import get_asgi_application
+
+os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'tjdests.settings')
+
+application = get_asgi_application()
diff --git a/tjdests/settings/__init__.py b/tjdests/settings/__init__.py
new file mode 100644
index 0000000..7687d07
--- /dev/null
+++ b/tjdests/settings/__init__.py
@@ -0,0 +1,160 @@
+"""
+Django settings for tjdests project.
+
+Generated by 'django-admin startproject' using Django 3.2.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/3.2/topics/settings/
+
+For the full list of settings and their values, see
+https://docs.djangoproject.com/en/3.2/ref/settings/
+"""
+import logging
+import os
+from pathlib import Path
+
+# Build paths inside the project like this: BASE_DIR / 'subdir'.
+BASE_DIR = Path(__file__).resolve().parent.parent
+
+
+# Quick-start development settings - unsuitable for production
+# See https://docs.djangoproject.com/en/3.2/howto/deployment/checklist/
+
+# SECURITY WARNING: keep the secret key used in production secret!
+SECRET_KEY = 'django-insecure-7nju0o%j&gz7&v^05iuq*tn$_iwvtjh1cq26@is(u2d4snkum5'
+
+# SECURITY WARNING: don't run with debug turned on in production!
+DEBUG = True
+
+ALLOWED_HOSTS = []
+
+
+# Application definition
+
+INSTALLED_APPS = [
+ 'django.contrib.admin',
+ 'django.contrib.auth',
+ 'django.contrib.contenttypes',
+ 'django.contrib.sessions',
+ 'django.contrib.messages',
+ 'django.contrib.staticfiles',
+ "crispy_forms",
+ "crispy_bootstrap5",
+ "social_django",
+ "django_extensions",
+ "bootstrap_pagination",
+ 'tjdests.apps.authentication',
+ 'tjdests.apps.destinations',
+ "tjdests.apps.profile",
+]
+
+MIDDLEWARE = [
+ 'django.middleware.security.SecurityMiddleware',
+ 'django.contrib.sessions.middleware.SessionMiddleware',
+ 'django.middleware.common.CommonMiddleware',
+ 'django.middleware.csrf.CsrfViewMiddleware',
+ 'django.contrib.auth.middleware.AuthenticationMiddleware',
+ 'django.contrib.messages.middleware.MessageMiddleware',
+ 'django.middleware.clickjacking.XFrameOptionsMiddleware',
+]
+
+ROOT_URLCONF = 'tjdests.urls'
+
+TEMPLATES = [
+ {
+ 'BACKEND': 'django.template.backends.django.DjangoTemplates',
+ 'DIRS': [BASE_DIR / 'templates']
+ ,
+ 'APP_DIRS': True,
+ 'OPTIONS': {
+ 'context_processors': [
+ 'django.template.context_processors.debug',
+ 'django.template.context_processors.request',
+ 'django.contrib.auth.context_processors.auth',
+ 'django.contrib.messages.context_processors.messages',
+ 'tjdests.apps.context_processors.settings_renderer',
+ ],
+ },
+ },
+]
+
+WSGI_APPLICATION = 'tjdests.wsgi.application'
+
+
+# Database
+# https://docs.djangoproject.com/en/3.2/ref/settings/#databases
+
+DATABASES = {
+ 'default': {
+ 'ENGINE': 'django.db.backends.sqlite3',
+ 'NAME': BASE_DIR / 'db.sqlite3',
+ }
+}
+
+
+# Password validation
+# https://docs.djangoproject.com/en/3.2/ref/settings/#auth-password-validators
+
+AUTH_PASSWORD_VALIDATORS = [
+ {
+ 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
+ },
+ {
+ 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
+ },
+ {
+ 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
+ },
+ {
+ 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
+ },
+]
+
+AUTH_USER_MODEL = "authentication.User"
+
+AUTHENTICATION_BACKENDS = ("tjdests.apps.authentication.oauth.IonOauth2", "django.contrib.auth.backends.ModelBackend",)
+
+SOCIAL_AUTH_REDIRECT_IS_HTTPS = False
+SOCIAL_AUTH_ION_KEY = ""
+SOCIAL_AUTH_ION_SECRET = ""
+
+
+# Internationalization
+# https://docs.djangoproject.com/en/3.2/topics/i18n/
+
+LANGUAGE_CODE = 'en-us'
+
+TIME_ZONE = 'UTC'
+
+USE_I18N = True
+
+USE_L10N = True
+
+USE_TZ = True
+
+
+# Static files (CSS, JavaScript, Images)
+# https://docs.djangoproject.com/en/3.2/howto/static-files/
+
+STATIC_URL = '/static/'
+STATIC_ROOT = os.path.join(BASE_DIR, "serve/")
+STATICFILES_DIRS = (os.path.join(BASE_DIR, "static/"),)
+
+# Default primary key field type
+# https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field
+
+DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
+
+LOGIN_REDIRECT_URL = "authentication:tos"
+LOGOUT_REDIRECT_URL = "authentication:index"
+
+LOGIN_URL = "authentication:login"
+
+CRISPY_ALLOWED_TEMPLATE_PACKS = "bootstrap5"
+CRISPY_TEMPLATE_PACK = "bootstrap5"
+
+try:
+ from .secret import *
+except ImportError:
+ logging.warning("Error importing secret.py")
+ pass
diff --git a/tjdests/settings/secret.sample.py b/tjdests/settings/secret.sample.py
new file mode 100644
index 0000000..6a4d781
--- /dev/null
+++ b/tjdests/settings/secret.sample.py
@@ -0,0 +1,17 @@
+# Deployed senior graduation year
+# e.g. if deploying in spring 2021, then 2021
+SENIOR_GRAD_YEAR = 2021
+
+# Branding name
+BRANDING_NAME = "TJ Destinations"
+
+# DEBUG and authorized hosts
+DEBUG = True
+ALLOWED_HOSTS = []
+
+# secret
+SECRET_KEY = 'supersecret'
+
+# OAuth
+SOCIAL_AUTH_ION_KEY = "ionkey"
+SOCIAL_AUTH_ION_SECRET = "ionsecret"
diff --git a/tjdests/static/bootstrap.bundle.min.js b/tjdests/static/bootstrap.bundle.min.js
new file mode 100644
index 0000000..2168d63
--- /dev/null
+++ b/tjdests/static/bootstrap.bundle.min.js
@@ -0,0 +1,7 @@
+/*!
+ * Bootstrap v5.0.0-beta3 (https://getbootstrap.com/)
+ * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+ */
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";const t=t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t},e=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i="#"+i.split("#")[1]),e=i&&"#"!==i?i.trim():null}return e},i=t=>{const i=e(t);return i&&document.querySelector(i)?i:null},s=t=>{const i=e(t);return i?document.querySelector(i):null},n=t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const s=Number.parseFloat(e),n=Number.parseFloat(i);return s||n?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0},o=t=>{t.dispatchEvent(new Event("transitionend"))},r=t=>(t[0]||t).nodeType,a=(t,e)=>{let i=!1;const s=e+5;t.addEventListener("transitionend",(function e(){i=!0,t.removeEventListener("transitionend",e)})),setTimeout(()=>{i||o(t)},s)},l=(t,e,i)=>{Object.keys(i).forEach(s=>{const n=i[s],o=e[s],a=o&&r(o)?"element":null==(l=o)?""+l:{}.toString.call(l).match(/\s([a-z]+)/i)[1].toLowerCase();var l;if(!new RegExp(n).test(a))throw new TypeError(t.toUpperCase()+": "+`Option "${s}" provided type "${a}" `+`but expected type "${n}".`)})},c=t=>{if(!t)return!1;if(t.style&&t.parentNode&&t.parentNode.style){const e=getComputedStyle(t),i=getComputedStyle(t.parentNode);return"none"!==e.display&&"none"!==i.display&&"hidden"!==e.visibility}return!1},d=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),h=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?h(t.parentNode):null},f=()=>function(){},u=t=>t.offsetHeight,p=()=>{const{jQuery:t}=window;return t&&!document.body.hasAttribute("data-bs-no-jquery")?t:null},g=()=>"rtl"===document.documentElement.dir,m=(t,e)=>{var i;i=()=>{const i=p();if(i){const s=i.fn[t];i.fn[t]=e.jQueryInterface,i.fn[t].Constructor=e,i.fn[t].noConflict=()=>(i.fn[t]=s,e.jQueryInterface)}},"loading"===document.readyState?document.addEventListener("DOMContentLoaded",i):i()},_=new Map;var b={set(t,e,i){_.has(t)||_.set(t,new Map);const s=_.get(t);s.has(e)||0===s.size?s.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(s.keys())[0]}.`)},get:(t,e)=>_.has(t)&&_.get(t).get(e)||null,remove(t,e){if(!_.has(t))return;const i=_.get(t);i.delete(e),0===i.size&&_.delete(t)}};const v=/[^.]*(?=\..*)\.|.*/,y=/\..*/,w=/::\d+$/,E={};let T=1;const A={mouseenter:"mouseover",mouseleave:"mouseout"},L=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function O(t,e){return e&&`${e}::${T++}`||t.uidEvent||T++}function k(t){const e=O(t);return t.uidEvent=e,E[e]=E[e]||{},E[e]}function D(t,e,i=null){const s=Object.keys(t);for(let n=0,o=s.length;n{!function(t,e,i,s){const n=e[i]||{};Object.keys(n).forEach(o=>{if(o.includes(s)){const s=n[o];S(t,e,i,s.originalHandler,s.delegationSelector)}})}(t,l,i,e.slice(1))});const d=l[r]||{};Object.keys(d).forEach(i=>{const s=i.replace(w,"");if(!a||e.includes(s)){const e=d[i];S(t,l,r,e.originalHandler,e.delegationSelector)}})},trigger(t,e,i){if("string"!=typeof e||!t)return null;const s=p(),n=e.replace(y,""),o=e!==n,r=L.has(n);let a,l=!0,c=!0,d=!1,h=null;return o&&s&&(a=s.Event(e,i),s(t).trigger(a),l=!a.isPropagationStopped(),c=!a.isImmediatePropagationStopped(),d=a.isDefaultPrevented()),r?(h=document.createEvent("HTMLEvents"),h.initEvent(n,l,!0)):h=new CustomEvent(e,{bubbles:l,cancelable:!0}),void 0!==i&&Object.keys(i).forEach(t=>{Object.defineProperty(h,t,{get:()=>i[t]})}),d&&h.preventDefault(),c&&t.dispatchEvent(h),h.defaultPrevented&&void 0!==a&&a.preventDefault(),h}};class j{constructor(t){(t="string"==typeof t?document.querySelector(t):t)&&(this._element=t,b.set(this._element,this.constructor.DATA_KEY,this))}dispose(){b.remove(this._element,this.constructor.DATA_KEY),this._element=null}static getInstance(t){return b.get(t,this.DATA_KEY)}static get VERSION(){return"5.0.0-beta3"}}class P extends j{static get DATA_KEY(){return"bs.alert"}close(t){const e=t?this._getRootElement(t):this._element,i=this._triggerCloseEvent(e);null===i||i.defaultPrevented||this._removeElement(e)}_getRootElement(t){return s(t)||t.closest(".alert")}_triggerCloseEvent(t){return N.trigger(t,"close.bs.alert")}_removeElement(t){if(t.classList.remove("show"),!t.classList.contains("fade"))return void this._destroyElement(t);const e=n(t);N.one(t,"transitionend",()=>this._destroyElement(t)),a(t,e)}_destroyElement(t){t.parentNode&&t.parentNode.removeChild(t),N.trigger(t,"closed.bs.alert")}static jQueryInterface(t){return this.each((function(){let e=b.get(this,"bs.alert");e||(e=new P(this)),"close"===t&&e[t](this)}))}static handleDismiss(t){return function(e){e&&e.preventDefault(),t.close(this)}}}N.on(document,"click.bs.alert.data-api",'[data-bs-dismiss="alert"]',P.handleDismiss(new P)),m("alert",P);class I extends j{static get DATA_KEY(){return"bs.button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){let e=b.get(this,"bs.button");e||(e=new I(this)),"toggle"===t&&e[t]()}))}}function M(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function R(t){return t.replace(/[A-Z]/g,t=>"-"+t.toLowerCase())}N.on(document,"click.bs.button.data-api",'[data-bs-toggle="button"]',t=>{t.preventDefault();const e=t.target.closest('[data-bs-toggle="button"]');let i=b.get(e,"bs.button");i||(i=new I(e)),i.toggle()}),m("button",I);const B={setDataAttribute(t,e,i){t.setAttribute("data-bs-"+R(e),i)},removeDataAttribute(t,e){t.removeAttribute("data-bs-"+R(e))},getDataAttributes(t){if(!t)return{};const e={};return Object.keys(t.dataset).filter(t=>t.startsWith("bs")).forEach(i=>{let s=i.replace(/^bs/,"");s=s.charAt(0).toLowerCase()+s.slice(1,s.length),e[s]=M(t.dataset[i])}),e},getDataAttribute:(t,e)=>M(t.getAttribute("data-bs-"+R(e))),offset(t){const e=t.getBoundingClientRect();return{top:e.top+document.body.scrollTop,left:e.left+document.body.scrollLeft}},position:t=>({top:t.offsetTop,left:t.offsetLeft})},H={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter(t=>t.matches(e)),parents(t,e){const i=[];let s=t.parentNode;for(;s&&s.nodeType===Node.ELEMENT_NODE&&3!==s.nodeType;)s.matches(e)&&i.push(s),s=s.parentNode;return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]}},W={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},U={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},$="next",F="prev",z="left",K="right";class Y extends j{constructor(t,e){super(t),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._indicatorsElement=H.findOne(".carousel-indicators",this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent),this._addEventListeners()}static get Default(){return W}static get DATA_KEY(){return"bs.carousel"}next(){this._isSliding||this._slide($)}nextWhenVisible(){!document.hidden&&c(this._element)&&this.next()}prev(){this._isSliding||this._slide(F)}pause(t){t||(this._isPaused=!0),H.findOne(".carousel-item-next, .carousel-item-prev",this._element)&&(o(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null}cycle(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._updateInterval(),this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))}to(t){this._activeElement=H.findOne(".active.carousel-item",this._element);const e=this._getItemIndex(this._activeElement);if(t>this._items.length-1||t<0)return;if(this._isSliding)return void N.one(this._element,"slid.bs.carousel",()=>this.to(t));if(e===t)return this.pause(),void this.cycle();const i=t>e?$:F;this._slide(i,this._items[t])}dispose(){N.off(this._element,".bs.carousel"),this._items=null,this._config=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null,super.dispose()}_getConfig(t){return t={...W,...t},l("carousel",t,U),t}_handleSwipe(){const t=Math.abs(this.touchDeltaX);if(t<=40)return;const e=t/this.touchDeltaX;this.touchDeltaX=0,e&&this._slide(e>0?K:z)}_addEventListeners(){this._config.keyboard&&N.on(this._element,"keydown.bs.carousel",t=>this._keydown(t)),"hover"===this._config.pause&&(N.on(this._element,"mouseenter.bs.carousel",t=>this.pause(t)),N.on(this._element,"mouseleave.bs.carousel",t=>this.cycle(t))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()}_addTouchEventListeners(){const t=t=>{!this._pointerEvent||"pen"!==t.pointerType&&"touch"!==t.pointerType?this._pointerEvent||(this.touchStartX=t.touches[0].clientX):this.touchStartX=t.clientX},e=t=>{this.touchDeltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this.touchStartX},i=t=>{!this._pointerEvent||"pen"!==t.pointerType&&"touch"!==t.pointerType||(this.touchDeltaX=t.clientX-this.touchStartX),this._handleSwipe(),"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(t=>this.cycle(t),500+this._config.interval))};H.find(".carousel-item img",this._element).forEach(t=>{N.on(t,"dragstart.bs.carousel",t=>t.preventDefault())}),this._pointerEvent?(N.on(this._element,"pointerdown.bs.carousel",e=>t(e)),N.on(this._element,"pointerup.bs.carousel",t=>i(t)),this._element.classList.add("pointer-event")):(N.on(this._element,"touchstart.bs.carousel",e=>t(e)),N.on(this._element,"touchmove.bs.carousel",t=>e(t)),N.on(this._element,"touchend.bs.carousel",t=>i(t)))}_keydown(t){/input|textarea/i.test(t.target.tagName)||("ArrowLeft"===t.key?(t.preventDefault(),this._slide(z)):"ArrowRight"===t.key&&(t.preventDefault(),this._slide(K)))}_getItemIndex(t){return this._items=t&&t.parentNode?H.find(".carousel-item",t.parentNode):[],this._items.indexOf(t)}_getItemByOrder(t,e){const i=t===$,s=t===F,n=this._getItemIndex(e),o=this._items.length-1;if((s&&0===n||i&&n===o)&&!this._config.wrap)return e;const r=(n+(s?-1:1))%this._items.length;return-1===r?this._items[this._items.length-1]:this._items[r]}_triggerSlideEvent(t,e){const i=this._getItemIndex(t),s=this._getItemIndex(H.findOne(".active.carousel-item",this._element));return N.trigger(this._element,"slide.bs.carousel",{relatedTarget:t,direction:e,from:s,to:i})}_setActiveIndicatorElement(t){if(this._indicatorsElement){const e=H.findOne(".active",this._indicatorsElement);e.classList.remove("active"),e.removeAttribute("aria-current");const i=H.find("[data-bs-target]",this._indicatorsElement);for(let e=0;e{r.classList.remove(h,f),r.classList.add("active"),s.classList.remove("active",f,h),this._isSliding=!1,setTimeout(()=>{N.trigger(this._element,"slid.bs.carousel",{relatedTarget:r,direction:p,from:o,to:l})},0)}),a(s,t)}else s.classList.remove("active"),r.classList.add("active"),this._isSliding=!1,N.trigger(this._element,"slid.bs.carousel",{relatedTarget:r,direction:p,from:o,to:l});c&&this.cycle()}}_directionToOrder(t){return[K,z].includes(t)?g()?t===K?F:$:t===K?$:F:t}_orderToDirection(t){return[$,F].includes(t)?g()?t===$?z:K:t===$?K:z:t}static carouselInterface(t,e){let i=b.get(t,"bs.carousel"),s={...W,...B.getDataAttributes(t)};"object"==typeof e&&(s={...s,...e});const n="string"==typeof e?e:s.slide;if(i||(i=new Y(t,s)),"number"==typeof e)i.to(e);else if("string"==typeof n){if(void 0===i[n])throw new TypeError(`No method named "${n}"`);i[n]()}else s.interval&&s.ride&&(i.pause(),i.cycle())}static jQueryInterface(t){return this.each((function(){Y.carouselInterface(this,t)}))}static dataApiClickHandler(t){const e=s(this);if(!e||!e.classList.contains("carousel"))return;const i={...B.getDataAttributes(e),...B.getDataAttributes(this)},n=this.getAttribute("data-bs-slide-to");n&&(i.interval=!1),Y.carouselInterface(e,i),n&&b.get(e,"bs.carousel").to(n),t.preventDefault()}}N.on(document,"click.bs.carousel.data-api","[data-bs-slide], [data-bs-slide-to]",Y.dataApiClickHandler),N.on(window,"load.bs.carousel.data-api",()=>{const t=H.find('[data-bs-ride="carousel"]');for(let e=0,i=t.length;et===this._element);null!==n&&o.length&&(this._selector=n,this._triggerArray.push(e))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}static get Default(){return q}static get DATA_KEY(){return"bs.collapse"}toggle(){this._element.classList.contains("show")?this.hide():this.show()}show(){if(this._isTransitioning||this._element.classList.contains("show"))return;let t,e;this._parent&&(t=H.find(".show, .collapsing",this._parent).filter(t=>"string"==typeof this._config.parent?t.getAttribute("data-bs-parent")===this._config.parent:t.classList.contains("collapse")),0===t.length&&(t=null));const i=H.findOne(this._selector);if(t){const s=t.find(t=>i!==t);if(e=s?b.get(s,"bs.collapse"):null,e&&e._isTransitioning)return}if(N.trigger(this._element,"show.bs.collapse").defaultPrevented)return;t&&t.forEach(t=>{i!==t&&X.collapseInterface(t,"hide"),e||b.set(t,"bs.collapse",null)});const s=this._getDimension();this._element.classList.remove("collapse"),this._element.classList.add("collapsing"),this._element.style[s]=0,this._triggerArray.length&&this._triggerArray.forEach(t=>{t.classList.remove("collapsed"),t.setAttribute("aria-expanded",!0)}),this.setTransitioning(!0);const o="scroll"+(s[0].toUpperCase()+s.slice(1)),r=n(this._element);N.one(this._element,"transitionend",()=>{this._element.classList.remove("collapsing"),this._element.classList.add("collapse","show"),this._element.style[s]="",this.setTransitioning(!1),N.trigger(this._element,"shown.bs.collapse")}),a(this._element,r),this._element.style[s]=this._element[o]+"px"}hide(){if(this._isTransitioning||!this._element.classList.contains("show"))return;if(N.trigger(this._element,"hide.bs.collapse").defaultPrevented)return;const t=this._getDimension();this._element.style[t]=this._element.getBoundingClientRect()[t]+"px",u(this._element),this._element.classList.add("collapsing"),this._element.classList.remove("collapse","show");const e=this._triggerArray.length;if(e>0)for(let t=0;t{this.setTransitioning(!1),this._element.classList.remove("collapsing"),this._element.classList.add("collapse"),N.trigger(this._element,"hidden.bs.collapse")}),a(this._element,i)}setTransitioning(t){this._isTransitioning=t}dispose(){super.dispose(),this._config=null,this._parent=null,this._triggerArray=null,this._isTransitioning=null}_getConfig(t){return(t={...q,...t}).toggle=Boolean(t.toggle),l("collapse",t,V),t}_getDimension(){return this._element.classList.contains("width")?"width":"height"}_getParent(){let{parent:t}=this._config;r(t)?void 0===t.jquery&&void 0===t[0]||(t=t[0]):t=H.findOne(t);const e=`[data-bs-toggle="collapse"][data-bs-parent="${t}"]`;return H.find(e,t).forEach(t=>{const e=s(t);this._addAriaAndCollapsedClass(e,[t])}),t}_addAriaAndCollapsedClass(t,e){if(!t||!e.length)return;const i=t.classList.contains("show");e.forEach(t=>{i?t.classList.remove("collapsed"):t.classList.add("collapsed"),t.setAttribute("aria-expanded",i)})}static collapseInterface(t,e){let i=b.get(t,"bs.collapse");const s={...q,...B.getDataAttributes(t),..."object"==typeof e&&e?e:{}};if(!i&&s.toggle&&"string"==typeof e&&/show|hide/.test(e)&&(s.toggle=!1),i||(i=new X(t,s)),"string"==typeof e){if(void 0===i[e])throw new TypeError(`No method named "${e}"`);i[e]()}}static jQueryInterface(t){return this.each((function(){X.collapseInterface(this,t)}))}}N.on(document,"click.bs.collapse.data-api",'[data-bs-toggle="collapse"]',(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();const e=B.getDataAttributes(this),s=i(this);H.find(s).forEach(t=>{const i=b.get(t,"bs.collapse");let s;i?(null===i._parent&&"string"==typeof e.parent&&(i._config.parent=e.parent,i._parent=i._getParent()),s="toggle"):s=e,X.collapseInterface(t,s)})})),m("collapse",X);var Q="top",G="bottom",Z="right",J="left",tt=[Q,G,Z,J],et=tt.reduce((function(t,e){return t.concat([e+"-start",e+"-end"])}),[]),it=[].concat(tt,["auto"]).reduce((function(t,e){return t.concat([e,e+"-start",e+"-end"])}),[]),st=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function nt(t){return t?(t.nodeName||"").toLowerCase():null}function ot(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function rt(t){return t instanceof ot(t).Element||t instanceof Element}function at(t){return t instanceof ot(t).HTMLElement||t instanceof HTMLElement}function lt(t){return"undefined"!=typeof ShadowRoot&&(t instanceof ot(t).ShadowRoot||t instanceof ShadowRoot)}var ct={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},s=e.attributes[t]||{},n=e.elements[t];at(n)&&nt(n)&&(Object.assign(n.style,i),Object.keys(s).forEach((function(t){var e=s[t];!1===e?n.removeAttribute(t):n.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var s=e.elements[t],n=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});at(s)&&nt(s)&&(Object.assign(s.style,o),Object.keys(n).forEach((function(t){s.removeAttribute(t)})))}))}},requires:["computeStyles"]};function dt(t){return t.split("-")[0]}function ht(t){var e=t.getBoundingClientRect();return{width:e.width,height:e.height,top:e.top,right:e.right,bottom:e.bottom,left:e.left,x:e.left,y:e.top}}function ft(t){var e=ht(t),i=t.offsetWidth,s=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-s)<=1&&(s=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:s}}function ut(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&<(i)){var s=e;do{if(s&&t.isSameNode(s))return!0;s=s.parentNode||s.host}while(s)}return!1}function pt(t){return ot(t).getComputedStyle(t)}function gt(t){return["table","td","th"].indexOf(nt(t))>=0}function mt(t){return((rt(t)?t.ownerDocument:t.document)||window.document).documentElement}function _t(t){return"html"===nt(t)?t:t.assignedSlot||t.parentNode||(lt(t)?t.host:null)||mt(t)}function bt(t){return at(t)&&"fixed"!==pt(t).position?t.offsetParent:null}function vt(t){for(var e=ot(t),i=bt(t);i&>(i)&&"static"===pt(i).position;)i=bt(i);return i&&("html"===nt(i)||"body"===nt(i)&&"static"===pt(i).position)?e:i||function(t){for(var e=-1!==navigator.userAgent.toLowerCase().indexOf("firefox"),i=_t(t);at(i)&&["html","body"].indexOf(nt(i))<0;){var s=pt(i);if("none"!==s.transform||"none"!==s.perspective||"paint"===s.contain||-1!==["transform","perspective"].indexOf(s.willChange)||e&&"filter"===s.willChange||e&&s.filter&&"none"!==s.filter)return i;i=i.parentNode}return null}(t)||e}function yt(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}var wt=Math.max,Et=Math.min,Tt=Math.round;function At(t,e,i){return wt(t,Et(e,i))}function Lt(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function Ot(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}var kt={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,s=t.name,n=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=dt(i.placement),l=yt(a),c=[J,Z].indexOf(a)>=0?"height":"width";if(o&&r){var d=function(t,e){return Lt("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:Ot(t,tt))}(n.padding,i),h=ft(o),f="y"===l?Q:J,u="y"===l?G:Z,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],g=r[l]-i.rects.reference[l],m=vt(o),_=m?"y"===l?m.clientHeight||0:m.clientWidth||0:0,b=p/2-g/2,v=d[f],y=_-h[c]-d[u],w=_/2-h[c]/2+b,E=At(v,w,y),T=l;i.modifiersData[s]=((e={})[T]=E,e.centerOffset=E-w,e)}},effect:function(t){var e=t.state,i=t.options.element,s=void 0===i?"[data-popper-arrow]":i;null!=s&&("string"!=typeof s||(s=e.elements.popper.querySelector(s)))&&ut(e.elements.popper,s)&&(e.elements.arrow=s)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]},Dt={top:"auto",right:"auto",bottom:"auto",left:"auto"};function xt(t){var e,i=t.popper,s=t.popperRect,n=t.placement,o=t.offsets,r=t.position,a=t.gpuAcceleration,l=t.adaptive,c=t.roundOffsets,d=!0===c?function(t){var e=t.x,i=t.y,s=window.devicePixelRatio||1;return{x:Tt(Tt(e*s)/s)||0,y:Tt(Tt(i*s)/s)||0}}(o):"function"==typeof c?c(o):o,h=d.x,f=void 0===h?0:h,u=d.y,p=void 0===u?0:u,g=o.hasOwnProperty("x"),m=o.hasOwnProperty("y"),_=J,b=Q,v=window;if(l){var y=vt(i),w="clientHeight",E="clientWidth";y===ot(i)&&"static"!==pt(y=mt(i)).position&&(w="scrollHeight",E="scrollWidth"),y=y,n===Q&&(b=G,p-=y[w]-s.height,p*=a?1:-1),n===J&&(_=Z,f-=y[E]-s.width,f*=a?1:-1)}var T,A=Object.assign({position:r},l&&Dt);return a?Object.assign({},A,((T={})[b]=m?"0":"",T[_]=g?"0":"",T.transform=(v.devicePixelRatio||1)<2?"translate("+f+"px, "+p+"px)":"translate3d("+f+"px, "+p+"px, 0)",T)):Object.assign({},A,((e={})[b]=m?p+"px":"",e[_]=g?f+"px":"",e.transform="",e))}var Ct={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,s=i.gpuAcceleration,n=void 0===s||s,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:dt(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:n};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,xt(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,xt(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}},St={passive:!0},Nt={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,s=t.options,n=s.scroll,o=void 0===n||n,r=s.resize,a=void 0===r||r,l=ot(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,St)})),a&&l.addEventListener("resize",i.update,St),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,St)})),a&&l.removeEventListener("resize",i.update,St)}},data:{}},jt={left:"right",right:"left",bottom:"top",top:"bottom"};function Pt(t){return t.replace(/left|right|bottom|top/g,(function(t){return jt[t]}))}var It={start:"end",end:"start"};function Mt(t){return t.replace(/start|end/g,(function(t){return It[t]}))}function Rt(t){var e=ot(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Bt(t){return ht(mt(t)).left+Rt(t).scrollLeft}function Ht(t){var e=pt(t),i=e.overflow,s=e.overflowX,n=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+n+s)}function Wt(t,e){var i;void 0===e&&(e=[]);var s=function t(e){return["html","body","#document"].indexOf(nt(e))>=0?e.ownerDocument.body:at(e)&&Ht(e)?e:t(_t(e))}(t),n=s===(null==(i=t.ownerDocument)?void 0:i.body),o=ot(s),r=n?[o].concat(o.visualViewport||[],Ht(s)?s:[]):s,a=e.concat(r);return n?a:a.concat(Wt(_t(r)))}function Ut(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function $t(t,e){return"viewport"===e?Ut(function(t){var e=ot(t),i=mt(t),s=e.visualViewport,n=i.clientWidth,o=i.clientHeight,r=0,a=0;return s&&(n=s.width,o=s.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(r=s.offsetLeft,a=s.offsetTop)),{width:n,height:o,x:r+Bt(t),y:a}}(t)):at(e)?function(t){var e=ht(t);return e.top=e.top+t.clientTop,e.left=e.left+t.clientLeft,e.bottom=e.top+t.clientHeight,e.right=e.left+t.clientWidth,e.width=t.clientWidth,e.height=t.clientHeight,e.x=e.left,e.y=e.top,e}(e):Ut(function(t){var e,i=mt(t),s=Rt(t),n=null==(e=t.ownerDocument)?void 0:e.body,o=wt(i.scrollWidth,i.clientWidth,n?n.scrollWidth:0,n?n.clientWidth:0),r=wt(i.scrollHeight,i.clientHeight,n?n.scrollHeight:0,n?n.clientHeight:0),a=-s.scrollLeft+Bt(t),l=-s.scrollTop;return"rtl"===pt(n||i).direction&&(a+=wt(i.clientWidth,n?n.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(mt(t)))}function Ft(t){return t.split("-")[1]}function zt(t){var e,i=t.reference,s=t.element,n=t.placement,o=n?dt(n):null,r=n?Ft(n):null,a=i.x+i.width/2-s.width/2,l=i.y+i.height/2-s.height/2;switch(o){case Q:e={x:a,y:i.y-s.height};break;case G:e={x:a,y:i.y+i.height};break;case Z:e={x:i.x+i.width,y:l};break;case J:e={x:i.x-s.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?yt(o):null;if(null!=c){var d="y"===c?"height":"width";switch(r){case"start":e[c]=e[c]-(i[d]/2-s[d]/2);break;case"end":e[c]=e[c]+(i[d]/2-s[d]/2)}}return e}function Kt(t,e){void 0===e&&(e={});var i=e,s=i.placement,n=void 0===s?t.placement:s,o=i.boundary,r=void 0===o?"clippingParents":o,a=i.rootBoundary,l=void 0===a?"viewport":a,c=i.elementContext,d=void 0===c?"popper":c,h=i.altBoundary,f=void 0!==h&&h,u=i.padding,p=void 0===u?0:u,g=Lt("number"!=typeof p?p:Ot(p,tt)),m="popper"===d?"reference":"popper",_=t.elements.reference,b=t.rects.popper,v=t.elements[f?m:d],y=function(t,e,i){var s="clippingParents"===e?function(t){var e=Wt(_t(t)),i=["absolute","fixed"].indexOf(pt(t).position)>=0&&at(t)?vt(t):t;return rt(i)?e.filter((function(t){return rt(t)&&ut(t,i)&&"body"!==nt(t)})):[]}(t):[].concat(e),n=[].concat(s,[i]),o=n[0],r=n.reduce((function(e,i){var s=$t(t,i);return e.top=wt(s.top,e.top),e.right=Et(s.right,e.right),e.bottom=Et(s.bottom,e.bottom),e.left=wt(s.left,e.left),e}),$t(t,o));return r.width=r.right-r.left,r.height=r.bottom-r.top,r.x=r.left,r.y=r.top,r}(rt(v)?v:v.contextElement||mt(t.elements.popper),r,l),w=ht(_),E=zt({reference:w,element:b,strategy:"absolute",placement:n}),T=Ut(Object.assign({},b,E)),A="popper"===d?T:w,L={top:y.top-A.top+g.top,bottom:A.bottom-y.bottom+g.bottom,left:y.left-A.left+g.left,right:A.right-y.right+g.right},O=t.modifiersData.offset;if("popper"===d&&O){var k=O[n];Object.keys(L).forEach((function(t){var e=[Z,G].indexOf(t)>=0?1:-1,i=[Q,G].indexOf(t)>=0?"y":"x";L[t]+=k[i]*e}))}return L}function Yt(t,e){void 0===e&&(e={});var i=e,s=i.placement,n=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?it:l,d=Ft(s),h=d?a?et:et.filter((function(t){return Ft(t)===d})):tt,f=h.filter((function(t){return c.indexOf(t)>=0}));0===f.length&&(f=h);var u=f.reduce((function(e,i){return e[i]=Kt(t,{placement:i,boundary:n,rootBoundary:o,padding:r})[dt(i)],e}),{});return Object.keys(u).sort((function(t,e){return u[t]-u[e]}))}var qt={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,s=t.name;if(!e.modifiersData[s]._skip){for(var n=i.mainAxis,o=void 0===n||n,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,d=i.boundary,h=i.rootBoundary,f=i.altBoundary,u=i.flipVariations,p=void 0===u||u,g=i.allowedAutoPlacements,m=e.options.placement,_=dt(m),b=l||(_!==m&&p?function(t){if("auto"===dt(t))return[];var e=Pt(t);return[Mt(t),e,Mt(e)]}(m):[Pt(m)]),v=[m].concat(b).reduce((function(t,i){return t.concat("auto"===dt(i)?Yt(e,{placement:i,boundary:d,rootBoundary:h,padding:c,flipVariations:p,allowedAutoPlacements:g}):i)}),[]),y=e.rects.reference,w=e.rects.popper,E=new Map,T=!0,A=v[0],L=0;L=0,C=x?"width":"height",S=Kt(e,{placement:O,boundary:d,rootBoundary:h,altBoundary:f,padding:c}),N=x?D?Z:J:D?G:Q;y[C]>w[C]&&(N=Pt(N));var j=Pt(N),P=[];if(o&&P.push(S[k]<=0),a&&P.push(S[N]<=0,S[j]<=0),P.every((function(t){return t}))){A=O,T=!1;break}E.set(O,P)}if(T)for(var I=function(t){var e=v.find((function(e){var i=E.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return A=e,"break"},M=p?3:1;M>0&&"break"!==I(M);M--);e.placement!==A&&(e.modifiersData[s]._skip=!0,e.placement=A,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Vt(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function Xt(t){return[Q,Z,G,J].some((function(e){return t[e]>=0}))}var Qt={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,s=e.rects.reference,n=e.rects.popper,o=e.modifiersData.preventOverflow,r=Kt(e,{elementContext:"reference"}),a=Kt(e,{altBoundary:!0}),l=Vt(r,s),c=Vt(a,n,o),d=Xt(l),h=Xt(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:d,hasPopperEscaped:h},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":d,"data-popper-escaped":h})}},Gt={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,s=t.name,n=i.offset,o=void 0===n?[0,0]:n,r=it.reduce((function(t,i){return t[i]=function(t,e,i){var s=dt(t),n=[J,Q].indexOf(s)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*n,[J,Z].indexOf(s)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[s]=r}},Zt={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=zt({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},Jt={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,s=t.name,n=i.mainAxis,o=void 0===n||n,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,d=i.altBoundary,h=i.padding,f=i.tether,u=void 0===f||f,p=i.tetherOffset,g=void 0===p?0:p,m=Kt(e,{boundary:l,rootBoundary:c,padding:h,altBoundary:d}),_=dt(e.placement),b=Ft(e.placement),v=!b,y=yt(_),w="x"===y?"y":"x",E=e.modifiersData.popperOffsets,T=e.rects.reference,A=e.rects.popper,L="function"==typeof g?g(Object.assign({},e.rects,{placement:e.placement})):g,O={x:0,y:0};if(E){if(o||a){var k="y"===y?Q:J,D="y"===y?G:Z,x="y"===y?"height":"width",C=E[y],S=E[y]+m[k],N=E[y]-m[D],j=u?-A[x]/2:0,P="start"===b?T[x]:A[x],I="start"===b?-A[x]:-T[x],M=e.elements.arrow,R=u&&M?ft(M):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},H=B[k],W=B[D],U=At(0,T[x],R[x]),$=v?T[x]/2-j-U-H-L:P-U-H-L,F=v?-T[x]/2+j+U+W+L:I+U+W+L,z=e.elements.arrow&&vt(e.elements.arrow),K=z?"y"===y?z.clientTop||0:z.clientLeft||0:0,Y=e.modifiersData.offset?e.modifiersData.offset[e.placement][y]:0,q=E[y]+$-Y-K,V=E[y]+F-Y;if(o){var X=At(u?Et(S,q):S,C,u?wt(N,V):N);E[y]=X,O[y]=X-C}if(a){var tt="x"===y?Q:J,et="x"===y?G:Z,it=E[w],st=it+m[tt],nt=it-m[et],ot=At(u?Et(st,q):st,it,u?wt(nt,V):nt);E[w]=ot,O[w]=ot-it}}e.modifiersData[s]=O}},requiresIfExists:["offset"]};function te(t,e,i){void 0===i&&(i=!1);var s,n,o=mt(e),r=ht(t),a=at(e),l={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(a||!a&&!i)&&(("body"!==nt(e)||Ht(o))&&(l=(s=e)!==ot(s)&&at(s)?{scrollLeft:(n=s).scrollLeft,scrollTop:n.scrollTop}:Rt(s)),at(e)?((c=ht(e)).x+=e.clientLeft,c.y+=e.clientTop):o&&(c.x=Bt(o))),{x:r.left+l.scrollLeft-c.x,y:r.top+l.scrollTop-c.y,width:r.width,height:r.height}}var ee={placement:"bottom",modifiers:[],strategy:"absolute"};function ie(){for(var t=arguments.length,e=new Array(t),i=0;i"applyStyles"===t.name&&!1===t.enabled);this._popper=re(e,this._menu,i),s&&B.setDataAttribute(this._menu,"popper","static")}"ontouchstart"in document.documentElement&&!t.closest(".navbar-nav")&&[].concat(...document.body.children).forEach(t=>N.on(t,"mouseover",null,(function(){}))),this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.toggle("show"),this._element.classList.toggle("show"),N.trigger(this._element,"shown.bs.dropdown",e)}}hide(){if(this._element.disabled||this._element.classList.contains("disabled")||!this._menu.classList.contains("show"))return;const t={relatedTarget:this._element};N.trigger(this._element,"hide.bs.dropdown",t).defaultPrevented||(this._popper&&this._popper.destroy(),this._menu.classList.toggle("show"),this._element.classList.toggle("show"),B.removeDataAttribute(this._menu,"popper"),N.trigger(this._element,"hidden.bs.dropdown",t))}dispose(){N.off(this._element,".bs.dropdown"),this._menu=null,this._popper&&(this._popper.destroy(),this._popper=null),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_addEventListeners(){N.on(this._element,"click.bs.dropdown",t=>{t.preventDefault(),this.toggle()})}_getConfig(t){if(t={...this.constructor.Default,...B.getDataAttributes(this._element),...t},l("dropdown",t,this.constructor.DefaultType),"object"==typeof t.reference&&!r(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError("dropdown".toUpperCase()+': Option "reference" provided type "object" without a required "getBoundingClientRect" method.');return t}_getMenuElement(){return H.next(this._element,".dropdown-menu")[0]}_getPlacement(){const t=this._element.parentNode;if(t.classList.contains("dropend"))return ue;if(t.classList.contains("dropstart"))return pe;const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?de:ce:e?fe:he}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map(t=>Number.parseInt(t,10)):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return"static"===this._config.display&&(t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,..."function"==typeof this._config.popperConfig?this._config.popperConfig(t):this._config.popperConfig}}static dropdownInterface(t,e){let i=b.get(t,"bs.dropdown");if(i||(i=new _e(t,"object"==typeof e?e:null)),"string"==typeof e){if(void 0===i[e])throw new TypeError(`No method named "${e}"`);i[e]()}}static jQueryInterface(t){return this.each((function(){_e.dropdownInterface(this,t)}))}static clearMenus(t){if(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;if(/input|select|textarea|form/i.test(t.target.tagName))return}const e=H.find('[data-bs-toggle="dropdown"]');for(let i=0,s=e.length;it.composedPath().includes(e)))continue;if("keyup"===t.type&&"Tab"===t.key&&o.contains(t.target))continue}N.trigger(e[i],"hide.bs.dropdown",n).defaultPrevented||("ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(t=>N.off(t,"mouseover",null,(function(){}))),e[i].setAttribute("aria-expanded","false"),s._popper&&s._popper.destroy(),o.classList.remove("show"),e[i].classList.remove("show"),B.removeDataAttribute(o,"popper"),N.trigger(e[i],"hidden.bs.dropdown",n))}}}static getParentFromElement(t){return s(t)||t.parentNode}static dataApiKeydownHandler(t){if(/input|textarea/i.test(t.target.tagName)?"Space"===t.key||"Escape"!==t.key&&("ArrowDown"!==t.key&&"ArrowUp"!==t.key||t.target.closest(".dropdown-menu")):!le.test(t.key))return;if(t.preventDefault(),t.stopPropagation(),this.disabled||this.classList.contains("disabled"))return;const e=_e.getParentFromElement(this),i=this.classList.contains("show");if("Escape"===t.key)return(this.matches('[data-bs-toggle="dropdown"]')?this:H.prev(this,'[data-bs-toggle="dropdown"]')[0]).focus(),void _e.clearMenus();if(!i&&("ArrowUp"===t.key||"ArrowDown"===t.key))return void(this.matches('[data-bs-toggle="dropdown"]')?this:H.prev(this,'[data-bs-toggle="dropdown"]')[0]).click();if(!i||"Space"===t.key)return void _e.clearMenus();const s=H.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",e).filter(c);if(!s.length)return;let n=s.indexOf(t.target);"ArrowUp"===t.key&&n>0&&n--,"ArrowDown"===t.key&&nthis.hide(t)),N.on(this._dialog,"mousedown.dismiss.bs.modal",()=>{N.one(this._element,"mouseup.dismiss.bs.modal",t=>{t.target===this._element&&(this._ignoreBackdropClick=!0)})}),this._showBackdrop(()=>this._showElement(t)))}hide(t){if(t&&t.preventDefault(),!this._isShown||this._isTransitioning)return;if(N.trigger(this._element,"hide.bs.modal").defaultPrevented)return;this._isShown=!1;const e=this._isAnimated();if(e&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),N.off(document,"focusin.bs.modal"),this._element.classList.remove("show"),N.off(this._element,"click.dismiss.bs.modal"),N.off(this._dialog,"mousedown.dismiss.bs.modal"),e){const t=n(this._element);N.one(this._element,"transitionend",t=>this._hideModal(t)),a(this._element,t)}else this._hideModal()}dispose(){[window,this._element,this._dialog].forEach(t=>N.off(t,".bs.modal")),super.dispose(),N.off(document,"focusin.bs.modal"),this._config=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._isTransitioning=null,this._scrollbarWidth=null}handleUpdate(){this._adjustDialog()}_getConfig(t){return t={...be,...t},l("modal",t,ve),t}_showElement(t){const e=this._isAnimated(),i=H.findOne(".modal-body",this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0,i&&(i.scrollTop=0),e&&u(this._element),this._element.classList.add("show"),this._config.focus&&this._enforceFocus();const s=()=>{this._config.focus&&this._element.focus(),this._isTransitioning=!1,N.trigger(this._element,"shown.bs.modal",{relatedTarget:t})};if(e){const t=n(this._dialog);N.one(this._dialog,"transitionend",s),a(this._dialog,t)}else s()}_enforceFocus(){N.off(document,"focusin.bs.modal"),N.on(document,"focusin.bs.modal",t=>{document===t.target||this._element===t.target||this._element.contains(t.target)||this._element.focus()})}_setEscapeEvent(){this._isShown?N.on(this._element,"keydown.dismiss.bs.modal",t=>{this._config.keyboard&&"Escape"===t.key?(t.preventDefault(),this.hide()):this._config.keyboard||"Escape"!==t.key||this._triggerBackdropTransition()}):N.off(this._element,"keydown.dismiss.bs.modal")}_setResizeEvent(){this._isShown?N.on(window,"resize.bs.modal",()=>this._adjustDialog()):N.off(window,"resize.bs.modal")}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._showBackdrop(()=>{document.body.classList.remove("modal-open"),this._resetAdjustments(),this._resetScrollbar(),N.trigger(this._element,"hidden.bs.modal")})}_removeBackdrop(){this._backdrop.parentNode.removeChild(this._backdrop),this._backdrop=null}_showBackdrop(t){const e=this._isAnimated();if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className="modal-backdrop",e&&this._backdrop.classList.add("fade"),document.body.appendChild(this._backdrop),N.on(this._element,"click.dismiss.bs.modal",t=>{this._ignoreBackdropClick?this._ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"===this._config.backdrop?this._triggerBackdropTransition():this.hide())}),e&&u(this._backdrop),this._backdrop.classList.add("show"),!e)return void t();const i=n(this._backdrop);N.one(this._backdrop,"transitionend",t),a(this._backdrop,i)}else if(!this._isShown&&this._backdrop){this._backdrop.classList.remove("show");const i=()=>{this._removeBackdrop(),t()};if(e){const t=n(this._backdrop);N.one(this._backdrop,"transitionend",i),a(this._backdrop,t)}else i()}else t()}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(N.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight;t||(this._element.style.overflowY="hidden"),this._element.classList.add("modal-static");const e=n(this._dialog);N.off(this._element,"transitionend"),N.one(this._element,"transitionend",()=>{this._element.classList.remove("modal-static"),t||(N.one(this._element,"transitionend",()=>{this._element.style.overflowY=""}),a(this._element,e))}),a(this._element,e),this._element.focus()}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight;(!this._isBodyOverflowing&&t&&!g()||this._isBodyOverflowing&&!t&&g())&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),(this._isBodyOverflowing&&!t&&!g()||!this._isBodyOverflowing&&t&&g())&&(this._element.style.paddingRight=this._scrollbarWidth+"px")}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}_checkScrollbar(){const t=document.body.getBoundingClientRect();this._isBodyOverflowing=Math.round(t.left+t.right)t+this._scrollbarWidth),this._setElementAttributes(".sticky-top","marginRight",t=>t-this._scrollbarWidth),this._setElementAttributes("body","paddingRight",t=>t+this._scrollbarWidth)),document.body.classList.add("modal-open")}_setElementAttributes(t,e,i){H.find(t).forEach(t=>{if(t!==document.body&&window.innerWidth>t.clientWidth+this._scrollbarWidth)return;const s=t.style[e],n=window.getComputedStyle(t)[e];B.setDataAttribute(t,e,s),t.style[e]=i(Number.parseFloat(n))+"px"})}_resetScrollbar(){this._resetElementAttributes(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top","paddingRight"),this._resetElementAttributes(".sticky-top","marginRight"),this._resetElementAttributes("body","paddingRight")}_resetElementAttributes(t,e){H.find(t).forEach(t=>{const i=B.getDataAttribute(t,e);void 0===i&&t===document.body?t.style[e]="":(B.removeDataAttribute(t,e),t.style[e]=i)})}_getScrollbarWidth(){const t=document.createElement("div");t.className="modal-scrollbar-measure",document.body.appendChild(t);const e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e}static jQueryInterface(t,e){return this.each((function(){let i=b.get(this,"bs.modal");const s={...be,...B.getDataAttributes(this),..."object"==typeof t&&t?t:{}};if(i||(i=new ye(this,s)),"string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}N.on(document,"click.bs.modal.data-api",'[data-bs-toggle="modal"]',(function(t){const e=s(this);"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault(),N.one(e,"show.bs.modal",t=>{t.defaultPrevented||N.one(e,"hidden.bs.modal",()=>{c(this)&&this.focus()})});let i=b.get(e,"bs.modal");if(!i){const t={...B.getDataAttributes(e),...B.getDataAttributes(this)};i=new ye(e,t)}i.toggle(this)})),m("modal",ye);const we=()=>{const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)},Ee=(t,e,i)=>{const s=we();H.find(t).forEach(t=>{if(t!==document.body&&window.innerWidth>t.clientWidth+s)return;const n=t.style[e],o=window.getComputedStyle(t)[e];B.setDataAttribute(t,e,n),t.style[e]=i(Number.parseFloat(o))+"px"})},Te=(t,e)=>{H.find(t).forEach(t=>{const i=B.getDataAttribute(t,e);void 0===i&&t===document.body?t.style.removeProperty(e):(B.removeDataAttribute(t,e),t.style[e]=i)})},Ae={backdrop:!0,keyboard:!0,scroll:!1},Le={backdrop:"boolean",keyboard:"boolean",scroll:"boolean"};class Oe extends j{constructor(t,e){super(t),this._config=this._getConfig(e),this._isShown=!1,this._addEventListeners()}static get Default(){return Ae}static get DATA_KEY(){return"bs.offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||N.trigger(this._element,"show.bs.offcanvas",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._element.style.visibility="visible",this._config.backdrop&&document.body.classList.add("offcanvas-backdrop"),this._config.scroll||((t=we())=>{document.body.style.overflow="hidden",Ee(".fixed-top, .fixed-bottom, .is-fixed","paddingRight",e=>e+t),Ee(".sticky-top","marginRight",e=>e-t),Ee("body","paddingRight",e=>e+t)})(),this._element.classList.add("offcanvas-toggling"),this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add("show"),setTimeout(()=>{this._element.classList.remove("offcanvas-toggling"),N.trigger(this._element,"shown.bs.offcanvas",{relatedTarget:t}),this._enforceFocusOnElement(this._element)},n(this._element)))}hide(){this._isShown&&(N.trigger(this._element,"hide.bs.offcanvas").defaultPrevented||(this._element.classList.add("offcanvas-toggling"),N.off(document,"focusin.bs.offcanvas"),this._element.blur(),this._isShown=!1,this._element.classList.remove("show"),setTimeout(()=>{this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._element.style.visibility="hidden",this._config.backdrop&&document.body.classList.remove("offcanvas-backdrop"),this._config.scroll||(document.body.style.overflow="auto",Te(".fixed-top, .fixed-bottom, .is-fixed","paddingRight"),Te(".sticky-top","marginRight"),Te("body","paddingRight")),N.trigger(this._element,"hidden.bs.offcanvas"),this._element.classList.remove("offcanvas-toggling")},n(this._element))))}_getConfig(t){return t={...Ae,...B.getDataAttributes(this._element),..."object"==typeof t?t:{}},l("offcanvas",t,Le),t}_enforceFocusOnElement(t){N.off(document,"focusin.bs.offcanvas"),N.on(document,"focusin.bs.offcanvas",e=>{document===e.target||t===e.target||t.contains(e.target)||t.focus()}),t.focus()}_addEventListeners(){N.on(this._element,"click.dismiss.bs.offcanvas",'[data-bs-dismiss="offcanvas"]',()=>this.hide()),N.on(document,"keydown",t=>{this._config.keyboard&&"Escape"===t.key&&this.hide()}),N.on(document,"click.bs.offcanvas.data-api",t=>{const e=H.findOne(i(t.target));this._element.contains(t.target)||e===this._element||this.hide()})}static jQueryInterface(t){return this.each((function(){const e=b.get(this,"bs.offcanvas")||new Oe(this,"object"==typeof t?t:{});if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}N.on(document,"click.bs.offcanvas.data-api",'[data-bs-toggle="offcanvas"]',(function(t){const e=s(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),d(this))return;N.one(e,"hidden.bs.offcanvas",()=>{c(this)&&this.focus()});const i=H.findOne(".offcanvas.show, .offcanvas-toggling");i&&i!==e||(b.get(e,"bs.offcanvas")||new Oe(e)).toggle(this)})),N.on(window,"load.bs.offcanvas.data-api",()=>{H.find(".offcanvas.show").forEach(t=>(b.get(t,"bs.offcanvas")||new Oe(t)).show())}),m("offcanvas",Oe);const ke=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),De=/^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/i,xe=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,Ce=(t,e)=>{const i=t.nodeName.toLowerCase();if(e.includes(i))return!ke.has(i)||Boolean(De.test(t.nodeValue)||xe.test(t.nodeValue));const s=e.filter(t=>t instanceof RegExp);for(let t=0,e=s.length;t{Ce(t,a)||i.removeAttribute(t.nodeName)})}return s.body.innerHTML}const Ne=new RegExp("(^|\\s)bs-tooltip\\S+","g"),je=new Set(["sanitize","allowList","sanitizeFn"]),Pe={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(array|string|function)",container:"(string|element|boolean)",fallbackPlacements:"array",boundary:"(string|element)",customClass:"(string|function)",sanitize:"boolean",sanitizeFn:"(null|function)",allowList:"object",popperConfig:"(null|object|function)"},Ie={AUTO:"auto",TOP:"top",RIGHT:g()?"left":"right",BOTTOM:"bottom",LEFT:g()?"right":"left"},Me={animation:!0,template:'
',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:[0,0],container:!1,fallbackPlacements:["top","right","bottom","left"],boundary:"clippingParents",customClass:"",sanitize:!0,sanitizeFn:null,allowList:{"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},popperConfig:null},Re={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"};class Be extends j{constructor(t,e){if(void 0===ae)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.config=this._getConfig(e),this.tip=null,this._setListeners()}static get Default(){return Me}static get NAME(){return"tooltip"}static get DATA_KEY(){return"bs.tooltip"}static get Event(){return Re}static get EVENT_KEY(){return".bs.tooltip"}static get DefaultType(){return Pe}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(t){if(this._isEnabled)if(t){const e=this._initializeOnDelegatedTarget(t);e._activeTrigger.click=!e._activeTrigger.click,e._isWithActiveTrigger()?e._enter(null,e):e._leave(null,e)}else{if(this.getTipElement().classList.contains("show"))return void this._leave(null,this);this._enter(null,this)}}dispose(){clearTimeout(this._timeout),N.off(this._element,this.constructor.EVENT_KEY),N.off(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this.tip&&this.tip.parentNode&&this.tip.parentNode.removeChild(this.tip),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.config=null,this.tip=null,super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this.isWithContent()||!this._isEnabled)return;const e=N.trigger(this._element,this.constructor.Event.SHOW),i=h(this._element),s=null===i?this._element.ownerDocument.documentElement.contains(this._element):i.contains(this._element);if(e.defaultPrevented||!s)return;const o=this.getTipElement(),r=t(this.constructor.NAME);o.setAttribute("id",r),this._element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&o.classList.add("fade");const l="function"==typeof this.config.placement?this.config.placement.call(this,o,this._element):this.config.placement,c=this._getAttachment(l);this._addAttachmentClass(c);const d=this._getContainer();b.set(o,this.constructor.DATA_KEY,this),this._element.ownerDocument.documentElement.contains(this.tip)||(d.appendChild(o),N.trigger(this._element,this.constructor.Event.INSERTED)),this._popper?this._popper.update():this._popper=re(this._element,o,this._getPopperConfig(c)),o.classList.add("show");const f="function"==typeof this.config.customClass?this.config.customClass():this.config.customClass;f&&o.classList.add(...f.split(" ")),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(t=>{N.on(t,"mouseover",(function(){}))});const u=()=>{const t=this._hoverState;this._hoverState=null,N.trigger(this._element,this.constructor.Event.SHOWN),"out"===t&&this._leave(null,this)};if(this.tip.classList.contains("fade")){const t=n(this.tip);N.one(this.tip,"transitionend",u),a(this.tip,t)}else u()}hide(){if(!this._popper)return;const t=this.getTipElement(),e=()=>{this._isWithActiveTrigger()||("show"!==this._hoverState&&t.parentNode&&t.parentNode.removeChild(t),this._cleanTipClass(),this._element.removeAttribute("aria-describedby"),N.trigger(this._element,this.constructor.Event.HIDDEN),this._popper&&(this._popper.destroy(),this._popper=null))};if(!N.trigger(this._element,this.constructor.Event.HIDE).defaultPrevented){if(t.classList.remove("show"),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(t=>N.off(t,"mouseover",f)),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this.tip.classList.contains("fade")){const i=n(t);N.one(t,"transitionend",e),a(t,i)}else e();this._hoverState=""}}update(){null!==this._popper&&this._popper.update()}isWithContent(){return Boolean(this.getTitle())}getTipElement(){if(this.tip)return this.tip;const t=document.createElement("div");return t.innerHTML=this.config.template,this.tip=t.children[0],this.tip}setContent(){const t=this.getTipElement();this.setElementContent(H.findOne(".tooltip-inner",t),this.getTitle()),t.classList.remove("fade","show")}setElementContent(t,e){if(null!==t)return"object"==typeof e&&r(e)?(e.jquery&&(e=e[0]),void(this.config.html?e.parentNode!==t&&(t.innerHTML="",t.appendChild(e)):t.textContent=e.textContent)):void(this.config.html?(this.config.sanitize&&(e=Se(e,this.config.allowList,this.config.sanitizeFn)),t.innerHTML=e):t.textContent=e)}getTitle(){let t=this._element.getAttribute("data-bs-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this._element):this.config.title),t}updateAttachment(t){return"right"===t?"end":"left"===t?"start":t}_initializeOnDelegatedTarget(t,e){const i=this.constructor.DATA_KEY;return(e=e||b.get(t.delegateTarget,i))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),b.set(t.delegateTarget,i,e)),e}_getOffset(){const{offset:t}=this.config;return"string"==typeof t?t.split(",").map(t=>Number.parseInt(t,10)):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{altBoundary:!0,fallbackPlacements:this.config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this.config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"onChange",enabled:!0,phase:"afterWrite",fn:t=>this._handlePopperPlacementChange(t)}],onFirstUpdate:t=>{t.options.placement!==t.placement&&this._handlePopperPlacementChange(t)}};return{...e,..."function"==typeof this.config.popperConfig?this.config.popperConfig(e):this.config.popperConfig}}_addAttachmentClass(t){this.getTipElement().classList.add("bs-tooltip-"+this.updateAttachment(t))}_getContainer(){return!1===this.config.container?document.body:r(this.config.container)?this.config.container:H.findOne(this.config.container)}_getAttachment(t){return Ie[t.toUpperCase()]}_setListeners(){this.config.trigger.split(" ").forEach(t=>{if("click"===t)N.on(this._element,this.constructor.Event.CLICK,this.config.selector,t=>this.toggle(t));else if("manual"!==t){const e="hover"===t?this.constructor.Event.MOUSEENTER:this.constructor.Event.FOCUSIN,i="hover"===t?this.constructor.Event.MOUSELEAVE:this.constructor.Event.FOCUSOUT;N.on(this._element,e,this.config.selector,t=>this._enter(t)),N.on(this._element,i,this.config.selector,t=>this._leave(t))}}),this._hideModalHandler=()=>{this._element&&this.hide()},N.on(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this.config.selector?this.config={...this.config,trigger:"manual",selector:""}:this._fixTitle()}_fixTitle(){const t=this._element.getAttribute("title"),e=typeof this._element.getAttribute("data-bs-original-title");(t||"string"!==e)&&(this._element.setAttribute("data-bs-original-title",t||""),!t||this._element.getAttribute("aria-label")||this._element.textContent||this._element.setAttribute("aria-label",t),this._element.setAttribute("title",""))}_enter(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),e.getTipElement().classList.contains("show")||"show"===e._hoverState?e._hoverState="show":(clearTimeout(e._timeout),e._hoverState="show",e.config.delay&&e.config.delay.show?e._timeout=setTimeout(()=>{"show"===e._hoverState&&e.show()},e.config.delay.show):e.show())}_leave(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusout"===t.type?"focus":"hover"]=e._element.contains(t.relatedTarget)),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState="out",e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(()=>{"out"===e._hoverState&&e.hide()},e.config.delay.hide):e.hide())}_isWithActiveTrigger(){for(const t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1}_getConfig(t){const e=B.getDataAttributes(this._element);return Object.keys(e).forEach(t=>{je.has(t)&&delete e[t]}),t&&"object"==typeof t.container&&t.container.jquery&&(t.container=t.container[0]),"number"==typeof(t={...this.constructor.Default,...e,..."object"==typeof t&&t?t:{}}).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),l("tooltip",t,this.constructor.DefaultType),t.sanitize&&(t.template=Se(t.template,t.allowList,t.sanitizeFn)),t}_getDelegateConfig(){const t={};if(this.config)for(const e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t}_cleanTipClass(){const t=this.getTipElement(),e=t.getAttribute("class").match(Ne);null!==e&&e.length>0&&e.map(t=>t.trim()).forEach(e=>t.classList.remove(e))}_handlePopperPlacementChange(t){const{state:e}=t;e&&(this.tip=e.elements.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(e.placement)))}static jQueryInterface(t){return this.each((function(){let e=b.get(this,"bs.tooltip");const i="object"==typeof t&&t;if((e||!/dispose|hide/.test(t))&&(e||(e=new Be(this,i)),"string"==typeof t)){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m("tooltip",Be);const He=new RegExp("(^|\\s)bs-popover\\S+","g"),We={...Be.Default,placement:"right",offset:[0,8],trigger:"click",content:"",template:'
The GNU Affero General Public License is a free, copyleft license
+ for software and other kinds of works, specifically designed to ensure
+ cooperation with the community in the case of network server software.
+
+
The licenses for most software and other practical works are
+ designed to take away your freedom to share and change the works. By
+ contrast, our General Public Licenses are intended to guarantee your
+ freedom to share and change all versions of a program--to make sure it
+ remains free software for all its users.
+
+
When we speak of free software, we are referring to freedom, not
+ price. Our General Public Licenses are designed to make sure that you
+ have the freedom to distribute copies of free software (and charge for
+ them if you wish), that you receive source code or can get it if you
+ want it, that you can change the software or use pieces of it in new
+ free programs, and that you know you can do these things.
+
+
Developers that use our General Public Licenses protect your rights
+ with two steps: (1) assert copyright on the software, and (2) offer
+ you this License which gives you legal permission to copy, distribute
+ and/or modify the software.
+
+
A secondary benefit of defending all users' freedom is that
+ improvements made in alternate versions of the program, if they
+ receive widespread use, become available for other developers to
+ incorporate. Many developers of free software are heartened and
+ encouraged by the resulting cooperation. However, in the case of
+ software used on network servers, this result may fail to come about.
+ The GNU General Public License permits making a modified version and
+ letting the public access it on a server without ever releasing its
+ source code to the public.
+
+
The GNU Affero General Public License is designed specifically to
+ ensure that, in such cases, the modified source code becomes available
+ to the community. It requires the operator of a network server to
+ provide the source code of the modified version running there to the
+ users of that server. Therefore, public use of a modified version, on
+ a publicly accessible server, gives the public access to the source
+ code of the modified version.
+
+
An older license, called the Affero General Public License and
+ published by Affero, was designed to accomplish similar goals. This is
+ a different license, not a version of the Affero GPL, but Affero has
+ released a new version of the Affero GPL which permits relicensing under
+ this license.
+
+
The precise terms and conditions for copying, distribution and
+ modification follow.
+
+
TERMS AND CONDITIONS
+
+
0. Definitions.
+
+
"This License" refers to version 3 of the GNU Affero General Public
+ License.
+
+
"Copyright" also means copyright-like laws that apply to other kinds
+ of works, such as semiconductor masks.
+
+
"The Program" refers to any copyrightable work licensed under this
+ License. Each licensee is addressed as "you". "Licensees" and
+ "recipients" may be individuals or organizations.
+
+
To "modify" a work means to copy from or adapt all or part of the work
+ in a fashion requiring copyright permission, other than the making of an
+ exact copy. The resulting work is called a "modified version" of the
+ earlier work or a work "based on" the earlier work.
+
+
A "covered work" means either the unmodified Program or a work based
+ on the Program.
+
+
To "propagate" a work means to do anything with it that, without
+ permission, would make you directly or secondarily liable for
+ infringement under applicable copyright law, except executing it on a
+ computer or modifying a private copy. Propagation includes copying,
+ distribution (with or without modification), making available to the
+ public, and in some countries other activities as well.
+
+
To "convey" a work means any kind of propagation that enables other
+ parties to make or receive copies. Mere interaction with a user through
+ a computer network, with no transfer of a copy, is not conveying.
+
+
An interactive user interface displays "Appropriate Legal Notices"
+ to the extent that it includes a convenient and prominently visible
+ feature that (1) displays an appropriate copyright notice, and (2)
+ tells the user that there is no warranty for the work (except to the
+ extent that warranties are provided), that licensees may convey the
+ work under this License, and how to view a copy of this License. If
+ the interface presents a list of user commands or options, such as a
+ menu, a prominent item in the list meets this criterion.
+
+
1. Source Code.
+
+
The "source code" for a work means the preferred form of the work
+ for making modifications to it. "Object code" means any non-source
+ form of a work.
+
+
A "Standard Interface" means an interface that either is an official
+ standard defined by a recognized standards body, or, in the case of
+ interfaces specified for a particular programming language, one that
+ is widely used among developers working in that language.
+
+
The "System Libraries" of an executable work include anything, other
+ than the work as a whole, that (a) is included in the normal form of
+ packaging a Major Component, but which is not part of that Major
+ Component, and (b) serves only to enable use of the work with that
+ Major Component, or to implement a Standard Interface for which an
+ implementation is available to the public in source code form. A
+ "Major Component", in this context, means a major essential component
+ (kernel, window system, and so on) of the specific operating system
+ (if any) on which the executable work runs, or a compiler used to
+ produce the work, or an object code interpreter used to run it.
+
+
The "Corresponding Source" for a work in object code form means all
+ the source code needed to generate, install, and (for an executable
+ work) run the object code and to modify the work, including scripts to
+ control those activities. However, it does not include the work's
+ System Libraries, or general-purpose tools or generally available free
+ programs which are used unmodified in performing those activities but
+ which are not part of the work. For example, Corresponding Source
+ includes interface definition files associated with source files for
+ the work, and the source code for shared libraries and dynamically
+ linked subprograms that the work is specifically designed to require,
+ such as by intimate data communication or control flow between those
+ subprograms and other parts of the work.
+
+
The Corresponding Source need not include anything that users
+ can regenerate automatically from other parts of the Corresponding
+ Source.
+
+
The Corresponding Source for a work in source code form is that
+ same work.
+
+
2. Basic Permissions.
+
+
All rights granted under this License are granted for the term of
+ copyright on the Program, and are irrevocable provided the stated
+ conditions are met. This License explicitly affirms your unlimited
+ permission to run the unmodified Program. The output from running a
+ covered work is covered by this License only if the output, given its
+ content, constitutes a covered work. This License acknowledges your
+ rights of fair use or other equivalent, as provided by copyright law.
+
+
You may make, run and propagate covered works that you do not
+ convey, without conditions so long as your license otherwise remains
+ in force. You may convey covered works to others for the sole purpose
+ of having them make modifications exclusively for you, or provide you
+ with facilities for running those works, provided that you comply with
+ the terms of this License in conveying all material for which you do
+ not control copyright. Those thus making or running the covered works
+ for you must do so exclusively on your behalf, under your direction
+ and control, on terms that prohibit them from making any copies of
+ your copyrighted material outside their relationship with you.
+
+
Conveying under any other circumstances is permitted solely under
+ the conditions stated below. Sublicensing is not allowed; section 10
+ makes it unnecessary.
+
+
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+
No covered work shall be deemed part of an effective technological
+ measure under any applicable law fulfilling obligations under article
+ 11 of the WIPO copyright treaty adopted on 20 December 1996, or
+ similar laws prohibiting or restricting circumvention of such
+ measures.
+
+
When you convey a covered work, you waive any legal power to forbid
+ circumvention of technological measures to the extent such circumvention
+ is effected by exercising rights under this License with respect to
+ the covered work, and you disclaim any intention to limit operation or
+ modification of the work as a means of enforcing, against the work's
+ users, your or third parties' legal rights to forbid circumvention of
+ technological measures.
+
+
4. Conveying Verbatim Copies.
+
+
You may convey verbatim copies of the Program's source code as you
+ receive it, in any medium, provided that you conspicuously and
+ appropriately publish on each copy an appropriate copyright notice;
+ keep intact all notices stating that this License and any
+ non-permissive terms added in accord with section 7 apply to the code;
+ keep intact all notices of the absence of any warranty; and give all
+ recipients a copy of this License along with the Program.
+
+
You may charge any price or no price for each copy that you convey,
+ and you may offer support or warranty protection for a fee.
+
+
5. Conveying Modified Source Versions.
+
+
You may convey a work based on the Program, or the modifications to
+ produce it from the Program, in the form of source code under the
+ terms of section 4, provided that you also meet all of these conditions:
+
+
+
+
a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+
b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+
c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+
d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+
+
+
A compilation of a covered work with other separate and independent
+ works, which are not by their nature extensions of the covered work,
+ and which are not combined with it such as to form a larger program,
+ in or on a volume of a storage or distribution medium, is called an
+ "aggregate" if the compilation and its resulting copyright are not
+ used to limit the access or legal rights of the compilation's users
+ beyond what the individual works permit. Inclusion of a covered work
+ in an aggregate does not cause this License to apply to the other
+ parts of the aggregate.
+
+
6. Conveying Non-Source Forms.
+
+
You may convey a covered work in object code form under the terms
+ of sections 4 and 5, provided that you also convey the
+ machine-readable Corresponding Source under the terms of this License,
+ in one of these ways:
+
+
+
+
a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+
b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+
c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+
d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+
e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+
+
+
A separable portion of the object code, whose source code is excluded
+ from the Corresponding Source as a System Library, need not be
+ included in conveying the object code work.
+
+
A "User Product" is either (1) a "consumer product", which means any
+ tangible personal property which is normally used for personal, family,
+ or household purposes, or (2) anything designed or sold for incorporation
+ into a dwelling. In determining whether a product is a consumer product,
+ doubtful cases shall be resolved in favor of coverage. For a particular
+ product received by a particular user, "normally used" refers to a
+ typical or common use of that class of product, regardless of the status
+ of the particular user or of the way in which the particular user
+ actually uses, or expects or is expected to use, the product. A product
+ is a consumer product regardless of whether the product has substantial
+ commercial, industrial or non-consumer uses, unless such uses represent
+ the only significant mode of use of the product.
+
+
"Installation Information" for a User Product means any methods,
+ procedures, authorization keys, or other information required to install
+ and execute modified versions of a covered work in that User Product from
+ a modified version of its Corresponding Source. The information must
+ suffice to ensure that the continued functioning of the modified object
+ code is in no case prevented or interfered with solely because
+ modification has been made.
+
+
If you convey an object code work under this section in, or with, or
+ specifically for use in, a User Product, and the conveying occurs as
+ part of a transaction in which the right of possession and use of the
+ User Product is transferred to the recipient in perpetuity or for a
+ fixed term (regardless of how the transaction is characterized), the
+ Corresponding Source conveyed under this section must be accompanied
+ by the Installation Information. But this requirement does not apply
+ if neither you nor any third party retains the ability to install
+ modified object code on the User Product (for example, the work has
+ been installed in ROM).
+
+
The requirement to provide Installation Information does not include a
+ requirement to continue to provide support service, warranty, or updates
+ for a work that has been modified or installed by the recipient, or for
+ the User Product in which it has been modified or installed. Access to a
+ network may be denied when the modification itself materially and
+ adversely affects the operation of the network or violates the rules and
+ protocols for communication across the network.
+
+
Corresponding Source conveyed, and Installation Information provided,
+ in accord with this section must be in a format that is publicly
+ documented (and with an implementation available to the public in
+ source code form), and must require no special password or key for
+ unpacking, reading or copying.
+
+
7. Additional Terms.
+
+
"Additional permissions" are terms that supplement the terms of this
+ License by making exceptions from one or more of its conditions.
+ Additional permissions that are applicable to the entire Program shall
+ be treated as though they were included in this License, to the extent
+ that they are valid under applicable law. If additional permissions
+ apply only to part of the Program, that part may be used separately
+ under those permissions, but the entire Program remains governed by
+ this License without regard to the additional permissions.
+
+
When you convey a copy of a covered work, you may at your option
+ remove any additional permissions from that copy, or from any part of
+ it. (Additional permissions may be written to require their own
+ removal in certain cases when you modify the work.) You may place
+ additional permissions on material, added by you to a covered work,
+ for which you have or can give appropriate copyright permission.
+
+
Notwithstanding any other provision of this License, for material you
+ add to a covered work, you may (if authorized by the copyright holders of
+ that material) supplement the terms of this License with terms:
+
+
+
+
a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+
b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+
c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+
d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+
e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+
f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+
+
+
All other non-permissive additional terms are considered "further
+ restrictions" within the meaning of section 10. If the Program as you
+ received it, or any part of it, contains a notice stating that it is
+ governed by this License along with a term that is a further restriction,
+ you may remove that term. If a license document contains a further
+ restriction but permits relicensing or conveying under this License, you
+ may add to a covered work material governed by the terms of that license
+ document, provided that the further restriction does not survive such
+ relicensing or conveying.
+
+
If you add terms to a covered work in accord with this section, you
+ must place, in the relevant source files, a statement of the
+ additional terms that apply to those files, or a notice indicating
+ where to find the applicable terms.
+
+
Additional terms, permissive or non-permissive, may be stated in the
+ form of a separately written license, or stated as exceptions;
+ the above requirements apply either way.
+
+
8. Termination.
+
+
You may not propagate or modify a covered work except as expressly
+ provided under this License. Any attempt otherwise to propagate or
+ modify it is void, and will automatically terminate your rights under
+ this License (including any patent licenses granted under the third
+ paragraph of section 11).
+
+
However, if you cease all violation of this License, then your
+ license from a particular copyright holder is reinstated (a)
+ provisionally, unless and until the copyright holder explicitly and
+ finally terminates your license, and (b) permanently, if the copyright
+ holder fails to notify you of the violation by some reasonable means
+ prior to 60 days after the cessation.
+
+
Moreover, your license from a particular copyright holder is
+ reinstated permanently if the copyright holder notifies you of the
+ violation by some reasonable means, this is the first time you have
+ received notice of violation of this License (for any work) from that
+ copyright holder, and you cure the violation prior to 30 days after
+ your receipt of the notice.
+
+
Termination of your rights under this section does not terminate the
+ licenses of parties who have received copies or rights from you under
+ this License. If your rights have been terminated and not permanently
+ reinstated, you do not qualify to receive new licenses for the same
+ material under section 10.
+
+
9. Acceptance Not Required for Having Copies.
+
+
You are not required to accept this License in order to receive or
+ run a copy of the Program. Ancillary propagation of a covered work
+ occurring solely as a consequence of using peer-to-peer transmission
+ to receive a copy likewise does not require acceptance. However,
+ nothing other than this License grants you permission to propagate or
+ modify any covered work. These actions infringe copyright if you do
+ not accept this License. Therefore, by modifying or propagating a
+ covered work, you indicate your acceptance of this License to do so.
+
+
10. Automatic Licensing of Downstream Recipients.
+
+
Each time you convey a covered work, the recipient automatically
+ receives a license from the original licensors, to run, modify and
+ propagate that work, subject to this License. You are not responsible
+ for enforcing compliance by third parties with this License.
+
+
An "entity transaction" is a transaction transferring control of an
+ organization, or substantially all assets of one, or subdividing an
+ organization, or merging organizations. If propagation of a covered
+ work results from an entity transaction, each party to that
+ transaction who receives a copy of the work also receives whatever
+ licenses to the work the party's predecessor in interest had or could
+ give under the previous paragraph, plus a right to possession of the
+ Corresponding Source of the work from the predecessor in interest, if
+ the predecessor has it or can get it with reasonable efforts.
+
+
You may not impose any further restrictions on the exercise of the
+ rights granted or affirmed under this License. For example, you may
+ not impose a license fee, royalty, or other charge for exercise of
+ rights granted under this License, and you may not initiate litigation
+ (including a cross-claim or counterclaim in a lawsuit) alleging that
+ any patent claim is infringed by making, using, selling, offering for
+ sale, or importing the Program or any portion of it.
+
+
11. Patents.
+
+
A "contributor" is a copyright holder who authorizes use under this
+ License of the Program or a work on which the Program is based. The
+ work thus licensed is called the contributor's "contributor version".
+
+
A contributor's "essential patent claims" are all patent claims
+ owned or controlled by the contributor, whether already acquired or
+ hereafter acquired, that would be infringed by some manner, permitted
+ by this License, of making, using, or selling its contributor version,
+ but do not include claims that would be infringed only as a
+ consequence of further modification of the contributor version. For
+ purposes of this definition, "control" includes the right to grant
+ patent sublicenses in a manner consistent with the requirements of
+ this License.
+
+
Each contributor grants you a non-exclusive, worldwide, royalty-free
+ patent license under the contributor's essential patent claims, to
+ make, use, sell, offer for sale, import and otherwise run, modify and
+ propagate the contents of its contributor version.
+
+
In the following three paragraphs, a "patent license" is any express
+ agreement or commitment, however denominated, not to enforce a patent
+ (such as an express permission to practice a patent or covenant not to
+ sue for patent infringement). To "grant" such a patent license to a
+ party means to make such an agreement or commitment not to enforce a
+ patent against the party.
+
+
If you convey a covered work, knowingly relying on a patent license,
+ and the Corresponding Source of the work is not available for anyone
+ to copy, free of charge and under the terms of this License, through a
+ publicly available network server or other readily accessible means,
+ then you must either (1) cause the Corresponding Source to be so
+ available, or (2) arrange to deprive yourself of the benefit of the
+ patent license for this particular work, or (3) arrange, in a manner
+ consistent with the requirements of this License, to extend the patent
+ license to downstream recipients. "Knowingly relying" means you have
+ actual knowledge that, but for the patent license, your conveying the
+ covered work in a country, or your recipient's use of the covered work
+ in a country, would infringe one or more identifiable patents in that
+ country that you have reason to believe are valid.
+
+
If, pursuant to or in connection with a single transaction or
+ arrangement, you convey, or propagate by procuring conveyance of, a
+ covered work, and grant a patent license to some of the parties
+ receiving the covered work authorizing them to use, propagate, modify
+ or convey a specific copy of the covered work, then the patent license
+ you grant is automatically extended to all recipients of the covered
+ work and works based on it.
+
+
A patent license is "discriminatory" if it does not include within
+ the scope of its coverage, prohibits the exercise of, or is
+ conditioned on the non-exercise of one or more of the rights that are
+ specifically granted under this License. You may not convey a covered
+ work if you are a party to an arrangement with a third party that is
+ in the business of distributing software, under which you make payment
+ to the third party based on the extent of your activity of conveying
+ the work, and under which the third party grants, to any of the
+ parties who would receive the covered work from you, a discriminatory
+ patent license (a) in connection with copies of the covered work
+ conveyed by you (or copies made from those copies), or (b) primarily
+ for and in connection with specific products or compilations that
+ contain the covered work, unless you entered into that arrangement,
+ or that patent license was granted, prior to 28 March 2007.
+
+
Nothing in this License shall be construed as excluding or limiting
+ any implied license or other defenses to infringement that may
+ otherwise be available to you under applicable patent law.
+
+
12. No Surrender of Others' Freedom.
+
+
If conditions are imposed on you (whether by court order, agreement or
+ otherwise) that contradict the conditions of this License, they do not
+ excuse you from the conditions of this License. If you cannot convey a
+ covered work so as to satisfy simultaneously your obligations under this
+ License and any other pertinent obligations, then as a consequence you may
+ not convey it at all. For example, if you agree to terms that obligate you
+ to collect a royalty for further conveying from those to whom you convey
+ the Program, the only way you could satisfy both those terms and this
+ License would be to refrain entirely from conveying the Program.
+
+
13. Remote Network Interaction; Use with the GNU General Public License.
+
+
Notwithstanding any other provision of this License, if you modify the
+ Program, your modified version must prominently offer all users
+ interacting with it remotely through a computer network (if your version
+ supports such interaction) an opportunity to receive the Corresponding
+ Source of your version by providing access to the Corresponding Source
+ from a network server at no charge, through some standard or customary
+ means of facilitating copying of software. This Corresponding Source
+ shall include the Corresponding Source for any work covered by version 3
+ of the GNU General Public License that is incorporated pursuant to the
+ following paragraph.
+
+
Notwithstanding any other provision of this License, you have permission
+ to link or combine any covered work with a work licensed under version 3
+ of the GNU General Public License into a single combined work, and to
+ convey the resulting work. The terms of this License will continue to
+ apply to the part which is the covered work, but the work with which it is
+ combined will remain governed by version 3 of the GNU General Public
+ License.
+
+
14. Revised Versions of this License.
+
+
The Free Software Foundation may publish revised and/or new versions of
+ the GNU Affero General Public License from time to time. Such new
+ versions will be similar in spirit to the present version, but may differ
+ in detail to address new problems or concerns.
+
+
Each version is given a distinguishing version number. If the
+ Program specifies that a certain numbered version of the GNU Affero
+ General Public License "or any later version" applies to it, you have
+ the option of following the terms and conditions either of that
+ numbered version or of any later version published by the Free
+ Software Foundation. If the Program does not specify a version number
+ of the GNU Affero General Public License, you may choose any version
+ ever published by the Free Software Foundation.
+
+
If the Program specifies that a proxy can decide which future
+ versions of the GNU Affero General Public License can be used, that
+ proxy's public statement of acceptance of a version permanently
+ authorizes you to choose that version for the Program.
+
+
Later license versions may give you additional or different
+ permissions. However, no additional obligations are imposed on any
+ author or copyright holder as a result of your choosing to follow a
+ later version.
+
+
15. Disclaimer of Warranty.
+
+
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+ APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+ HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+ OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+ IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+
16. Limitation of Liability.
+
+
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+ WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+ THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+ GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+ USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+ DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+ PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+ EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGES.
+
+
17. Interpretation of Sections 15 and 16.
+
+
If the disclaimer of warranty and limitation of liability provided
+ above cannot be given local legal effect according to their terms,
+ reviewing courts shall apply local law that most closely approximates
+ an absolute waiver of all civil liability in connection with the
+ Program, unless a warranty or assumption of liability accompanies a
+ copy of the Program in return for a fee.
+
+
END OF TERMS AND CONDITIONS
+
+
How to Apply These Terms to Your New Programs
+
+
If you develop a new program, and you want it to be of the greatest
+ possible use to the public, the best way to achieve this is to make it
+ free software which everyone can redistribute and change under these terms.
+
+
To do so, attach the following notices to the program. It is safest
+ to attach them to the start of each source file to most effectively
+ state the exclusion of warranty; and each file should have at least
+ the "copyright" line and a pointer to where the full notice is found.
+
+
<one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+
+
Also add information on how to contact you by electronic and paper mail.
+
+
If your software can interact with users remotely through a computer
+ network, you should also make sure that it provides a way for users to
+ get its source. For example, if your program is a web application, its
+ interface could display a "Source" link that leads users to an archive
+ of the code. There are many ways you could offer source, and different
+ solutions will be better for different programs; see section 13 for the
+ specific requirements.
+
+
You should also get your employer (if you work as a programmer) or school,
+ if any, to sign a "copyright disclaimer" for the program, if necessary.
+ For more information on this, and how to apply and follow the GNU AGPL, see
+ <https://www.gnu.org/licenses/>.
Welcome to {{ settings.SENIOR_GRAD_YEAR }} {{ settings.BRANDING_NAME }}
+
+
+ This is intended to be a resource for:
+
+
the class of {{ settings.SENIOR_GRAD_YEAR }} to share its progress in the admissions process with one another.
+
the class of {{ settings.SENIOR_GRAD_YEAR }} to share its achievements and college destinations with others.
+
other classes as they prepare to apply for college.
+
+
+
+ {% if request.user.is_authenticated %}
+ {% if request.user.is_senior %}
+
You may add destination information by navigating to your profile.
+ {% endif %}
+
You may browse student destinations using the links above.
+ {% else %}
+
You must sign in to see student destinations.
+ {% endif %}
+
+
IMPORTANT
+
+ THIS WEBSITE IS NOT, IN ANY WAY, AFFILIATED WITH NOR ENDORSED BY THE
+ THOMAS JEFFERSON HIGH SCHOOL FOR SCIENCE AND TECHNOLOGY (TJHSST), THE
+ TJHSST COMPUTER SYSTEMS LAB, FAIRFAX COUNTY PUBLIC SCHOOLS,
+ OR ANY SUBSIDIARY, AFFILIATE, DEPARTMENT, OR PARTNER THEREOF.
+
+
+ Your use of this website is subject to the terms outlined in
+ version 3 of the GNU Affero General Public license; notably the terms
+ that provide this software WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE; and the terms that limit the liability of
+ any copyright holder(s) of this work. See the
+ GNU Affero General Public License for more details.
+
+ Is this your first time here? If so, you will need to log in using Ion to establish an account first.
+ After you have set a permanent password, you may log in using it, if you wish, or if you can no longer
+ access your Ion account.
+