diff --git a/.gitignore b/.gitignore
index 85198aa..3235823 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,3 +12,6 @@ docs/
# Dotenv file
.env
+
+# Python env
+venv
diff --git a/.gitmodules b/.gitmodules
index 888d42d..98ffb6a 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,6 @@
[submodule "lib/forge-std"]
path = lib/forge-std
url = https://github.com/foundry-rs/forge-std
+[submodule "lib/dss-test"]
+ path = lib/dss-test
+ url = https://github.com/makerdao/dss-test
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..0ad25db
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,661 @@
+ GNU AFFERO GENERAL PUBLIC LICENSE
+ Version 3, 19 November 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU Affero General Public License is a free, copyleft license for
+software and other kinds of works, specifically designed to ensure
+cooperation with the community in the case of network server software.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+our General Public Licenses are intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ Developers that use our General Public Licenses protect your rights
+with two steps: (1) assert copyright on the software, and (2) offer
+you this License which gives you legal permission to copy, distribute
+and/or modify the software.
+
+ A secondary benefit of defending all users' freedom is that
+improvements made in alternate versions of the program, if they
+receive widespread use, become available for other developers to
+incorporate. Many developers of free software are heartened and
+encouraged by the resulting cooperation. However, in the case of
+software used on network servers, this result may fail to come about.
+The GNU General Public License permits making a modified version and
+letting the public access it on a server without ever releasing its
+source code to the public.
+
+ The GNU Affero General Public License is designed specifically to
+ensure that, in such cases, the modified source code becomes available
+to the community. It requires the operator of a network server to
+provide the source code of the modified version running there to the
+users of that server. Therefore, public use of a modified version, on
+a publicly accessible server, gives the public access to the source
+code of the modified version.
+
+ An older license, called the Affero General Public License and
+published by Affero, was designed to accomplish similar goals. This is
+a different license, not a version of the Affero GPL, but Affero has
+released a new version of the Affero GPL which permits relicensing under
+this license.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU Affero General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Remote Network Interaction; Use with the GNU General Public License.
+
+ Notwithstanding any other provision of this License, if you modify the
+Program, your modified version must prominently offer all users
+interacting with it remotely through a computer network (if your version
+supports such interaction) an opportunity to receive the Corresponding
+Source of your version by providing access to the Corresponding Source
+from a network server at no charge, through some standard or customary
+means of facilitating copying of software. This Corresponding Source
+shall include the Corresponding Source for any work covered by version 3
+of the GNU General Public License that is incorporated pursuant to the
+following paragraph.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the work with which it is combined will remain governed by version
+3 of the GNU General Public License.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU Affero General Public License from time to time. Such new versions
+will be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU Affero General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU Affero General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU Affero General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published
+ by the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If your software can interact with users remotely through a computer
+network, you should also make sure that it provides a way for users to
+get its source. For example, if your program is a web application, its
+interface could display a "Source" link that leads users to an archive
+of the code. There are many ways you could offer source, and different
+solutions will be better for different programs; see section 13 for the
+specific requirements.
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU AGPL, see
+.
diff --git a/README.md b/README.md
index 9265b45..320c686 100644
--- a/README.md
+++ b/README.md
@@ -1,66 +1,60 @@
-## Foundry
+## Conv
-**Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust.**
+**Onchain repository for DSS rates**
-Foundry consists of:
+Conv stores all per-second DSS rates for annualized BPSs in a single on-chain repository.
-- **Forge**: Ethereum testing framework (like Truffle, Hardhat and DappTools).
-- **Cast**: Swiss army knife for interacting with EVM smart contracts, sending transactions and getting chain data.
-- **Anvil**: Local Ethereum node, akin to Ganache, Hardhat Network.
-- **Chisel**: Fast, utilitarian, and verbose solidity REPL.
+### Motivation
-## Documentation
+Useful for validation using human-friendly notation, which drastically reduces the cognitive overhead when checking rates.
-https://book.getfoundry.sh/
+Requirements:
+- The rates need to have full precision compared to rates currently used in DSS (https://ipfs.io/ipfs/QmVp4mhhbwWGTfbh2BzwQB9eiBrQBKiqcPRZCaAxNUaar6)
+- Read cost should be reasonable, allowing other components of the system to use it without too much overhead.
+- The contract needs to be deployable efficiently (low priority, one time cost).
-## Usage
+### Design
-### Build
+We explored several ways to store or calculate rates onchain and arrive at this approach, for details see [this](https://github.com/dewiz-xyz/conv-research).
-```shell
-$ forge build
-```
+The contract makes use of optimized storage to ease the cost of deployment. Each rate is stored as `rate - RAY`, so only the relevant part of the rate takes space in storage. Each rate is stored in 8 bytes, so every storage position fits exactly four rates.
-### Test
+On reads, the function `btor(bps)` will fetch the correct storage slot, fetch the desired rate within it, add one RAY and return the result
-```shell
-$ forge test
-```
+### Limitations
-### Format
+- Since rates are stored in 8 bytes, the max BPS that can be used without reimplementing this contract is **7891**.
+- EIP-170: Due to contract size limits on Ethereum mainnet, the ceiling for rates is 6k. On L2s that do not enforce the limit this does not apply.
+- Gas cost of deployment: With the current 30M block gas ceiling on Ethereum mainnet, up to ~5.5k rates can be stored.
-```shell
-$ forge fmt
-```
+## Deployments
-### Gas Snapshots
+- **5000bps Ethereum Mainnet**: tbd
-```shell
-$ forge snapshot
-```
+## Usage
-### Anvil
+### Build
```shell
-$ anvil
+$ forge build
```
-### Deploy
+### Test
```shell
-$ forge script script/Counter.s.sol:CounterScript --rpc-url --private-key
+$ forge test
```
-### Cast
+### Gas Snapshots
```shell
-$ cast
+$ forge snapshot
```
-### Help
+### Deploy
```shell
-$ forge --help
-$ anvil --help
-$ cast --help
-```
+$ forge script script/ConvDeploy.s.sol:ConvDeployScript \
+ --rpc-url $ETH_RPC_URL \
+ --broadcast
+```
\ No newline at end of file
diff --git a/foundry.toml b/foundry.toml
index 25b918f..d353b20 100644
--- a/foundry.toml
+++ b/foundry.toml
@@ -3,4 +3,12 @@ src = "src"
out = "out"
libs = ["lib"]
+solc = '0.8.24'
+
+optimizer = true
+optimizer_runs = 1
+
+[fuzz]
+runs = 256000
+
# See more config options https://github.com/foundry-rs/foundry/blob/master/crates/config/README.md#all-options
diff --git a/lib/dss-test b/lib/dss-test
new file mode 160000
index 0000000..dd3ff09
--- /dev/null
+++ b/lib/dss-test
@@ -0,0 +1 @@
+Subproject commit dd3ff0970cded87ebd875120220225e72cd8c75a
diff --git a/script/ConvDeploy.s.sol b/script/ConvDeploy.s.sol
new file mode 100644
index 0000000..1be262d
--- /dev/null
+++ b/script/ConvDeploy.s.sol
@@ -0,0 +1,37 @@
+// SPDX-FileCopyrightText: © 2025 Dai Foundation
+// SPDX-License-Identifier: AGPL-3.0-or-later
+//
+// 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 .
+pragma solidity ^0.8.24;
+
+import {Script} from "forge-std/Script.sol";
+import {ScriptTools} from "dss-test/ScriptTools.sol";
+import {Conv} from "src/Conv.sol";
+
+contract ConvDeployScript is Script {
+ using ScriptTools for string;
+
+ string constant NAME = "conv-deploy";
+ string config;
+
+ function run() external {
+ vm.startBroadcast();
+
+ Conv conv = new Conv();
+
+ vm.stopBroadcast();
+
+ ScriptTools.exportContract(NAME, "conv", address(conv));
+ }
+}
diff --git a/script/Deploy.s.sol b/script/Deploy.s.sol
deleted file mode 100644
index 606ce0d..0000000
--- a/script/Deploy.s.sol
+++ /dev/null
@@ -1,59 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity 0.8.19;
-
-import "forge-std/Script.sol";
-import "../src/Rates.sol";
-import "../src/repositories/Rates0To799.sol";
-import "../src/repositories/Rates800To1599.sol";
-import "../src/repositories/Rates1600To2399.sol";
-import "../src/repositories/Rates2400To3199.sol";
-import "../src/repositories/Rates3200To3999.sol";
-import "../src/repositories/Rates4000To4799.sol";
-import "../src/repositories/Rates4800To5599.sol";
-import "../src/repositories/Rates5600To6399.sol";
-import "../src/repositories/Rates6400To7199.sol";
-import "../src/repositories/Rates7200To7999.sol";
-import "../src/repositories/Rates8000To8799.sol";
-import "../src/repositories/Rates8800To9599.sol";
-import "../src/repositories/Rates9600To10000.sol";
-
-contract DeployScript is Script {
- function run() external {
- vm.startBroadcast();
-
- address[] memory rateAddresses = new address[](13);
- rateAddresses[0] = address(new Rates0To799());
- rateAddresses[1] = address(new Rates800To1599());
- rateAddresses[2] = address(new Rates1600To2399());
- rateAddresses[3] = address(new Rates2400To3199());
- rateAddresses[4] = address(new Rates3200To3999());
- rateAddresses[5] = address(new Rates4000To4799());
- rateAddresses[6] = address(new Rates4800To5599());
- rateAddresses[7] = address(new Rates5600To6399());
- rateAddresses[8] = address(new Rates6400To7199());
- rateAddresses[9] = address(new Rates7200To7999());
- rateAddresses[10] = address(new Rates8000To8799());
- rateAddresses[11] = address(new Rates8800To9599());
- rateAddresses[12] = address(new Rates9600To10000());
-
- Rates rates = new Rates(rateAddresses);
-
- vm.stopBroadcast();
-
- console.log("Deployed contracts:");
- console.log("Main Rates contract:", address(rates));
- console.log("\nRate repository contracts:");
- for (uint i = 0; i < rateAddresses.length; i++) {
- console.log(
- string(abi.encodePacked(
- "Repository contract for rates between ",
- vm.toString(i * 800),
- "-",
- i == 12 ? "10000" : vm.toString((i + 1) * 800 - 1),
- ": ",
- vm.toString(rateAddresses[i])
- ))
- );
- }
- }
-}
diff --git a/script/generate_compact_rates.py b/script/generate_compact_rates.py
new file mode 100644
index 0000000..46128e9
--- /dev/null
+++ b/script/generate_compact_rates.py
@@ -0,0 +1,111 @@
+#!/usr/bin/env python3
+
+import struct
+
+def int_to_bytes8(n: int) -> str:
+ """Convert integer to 8-byte hex string in big-endian format for Solidity."""
+ # Convert to hex, remove '0x' prefix, pad to 16 chars (8 bytes)
+ return format(n & ((1 << 64) - 1), '016x')
+
+def parse_rates_mapping(file_path, max_bps=5000):
+ """Parse rates from RatesMapping.sol up to max_bps."""
+ rates = {}
+ with open(file_path, 'r') as f:
+ for line in f:
+ if 'rates[' in line and '] =' in line:
+ parts = line.strip().split('rates[')[1].split('] =')
+ bps = int(parts[0])
+ if bps <= max_bps: # Only include rates up to max_bps
+ rate = int(parts[1].strip().rstrip(';'))
+ rates[bps] = rate
+ return rates
+
+def pack_rates(rates):
+ packed = bytearray()
+ for rate in rates:
+ # Pack each rate as a full 8-byte value
+ packed.extend(rate.to_bytes(8, 'big'))
+ return bytes(packed)
+
+def generate_contract() -> str:
+ """Generate compact bytes representation and contract for all rates in RatesMapping.sol."""
+ RAY = 10**27
+ all_bytes = []
+
+ # Get rates from RatesMapping.sol
+ rates = parse_rates_mapping('test/RatesMapping.sol')
+
+ # Sort rates by bps to ensure correct order
+ sorted_bps = sorted(rates.keys())
+ start_bps = sorted_bps[0]
+ end_bps = sorted_bps[-1]
+
+ # Generate rates based on the mapping, ensuring 4 rates per word
+ for i in range(0, len(sorted_bps), 4):
+ word_rates = []
+ # Get next 4 rates (or pad with zeros if at the end)
+ for j in range(4):
+ if i + j < len(sorted_bps):
+ bps = sorted_bps[i + j]
+ rate = rates[bps]
+ # Store rate - RAY, ensure it fits in uint64
+ adjusted_rate = rate - RAY
+ if adjusted_rate >= (1 << 64):
+ raise ValueError(f"Rate difference too large for bps {bps}: {adjusted_rate}")
+ hex_rate = int_to_bytes8(adjusted_rate)
+ else:
+ # Pad with zeros if we don't have enough rates
+ hex_rate = '0' * 16
+ word_rates.append(hex_rate)
+ all_bytes.extend(word_rates)
+
+ # Join all bytes into one big hex string without length prefix
+ compact_bytes = f'hex"{"".join(all_bytes)}"'
+
+ # Create the contract
+ contract_template = f'''// SPDX-License-Identifier: MIT
+pragma solidity ^0.8.24;
+
+contract Conv {{
+ uint256 constant public MAX = {end_bps};
+ uint256 constant internal RAY = 10**27;
+
+ // Each rate takes 8 bytes (64 bits), total of {len(sorted_bps)} rates
+ // Each storage word (32 bytes) contains exactly 4 rates
+ // Total size = {len(sorted_bps)} * 8 = {len(sorted_bps) * 8} bytes
+ bytes internal RATES;
+
+ constructor() {{
+ RATES = {compact_bytes};
+ }}
+
+ /// @notice Fetches the rate for a given basis points value
+ /// @param bps The basis points value to get the rate for
+ /// @return rate The annual rate value
+ function turn(uint256 bps) public view returns (uint256 rate) {{
+ require(bps <= MAX);
+
+ assembly {{
+ let offset := mul(bps, 8) // Each rate is 8 bytes
+ let wordPos := div(offset, 32) // Which 32-byte word to read
+ let bytePos := mod(offset, 32) // Position within the word
+
+ let dataSlot := keccak256(RATES.slot, 0x20)
+
+ let value := sload(add(dataSlot, wordPos))
+
+ let shifted := shr(mul(sub(24, bytePos), 8), value)
+
+ rate := add(and(shifted, 0xFFFFFFFFFFFFFFFF), RAY)
+ }}
+ }}
+}}'''
+ return contract_template
+
+def main():
+ """Generate and write the contract."""
+ contract = generate_contract()
+ print(contract)
+
+if __name__ == '__main__':
+ main()
diff --git a/script/generate_rates_contract.py b/script/generate_rates_contract.py
deleted file mode 100644
index 2ffd148..0000000
--- a/script/generate_rates_contract.py
+++ /dev/null
@@ -1,133 +0,0 @@
-#!/usr/bin/env python3
-
-import sys
-from typing import Dict, List
-import os
-
-def extract_rates_from_mapping(solidity_file: str, start_bps: int, end_bps: int) -> Dict[int, str]:
- """Extract the rates mapping from the RatesMapping contract within the specified range."""
- rates = {}
- with open(solidity_file, 'r') as f:
- for line in f:
- if 'rates[' in line and '] =' in line:
- parts = line.strip().split('=')
- bps = int(parts[0].split('[')[1].split(']')[0])
- if start_bps <= bps <= end_bps:
- rate = parts[1].strip().rstrip(';')
- rates[bps] = rate
- return rates
-
-def generate_switch_block(rates: Dict[int, str], start: int, end: int, indent: str = "") -> str:
- """Generate a binary search switch block for a range of rates."""
- if end - start <= 25: # Base case: generate direct switch for small ranges
- cases = []
- cases.append(f"{indent}switch bps")
- for bps in range(start, end + 1):
- if bps in rates:
- cases.append(f"{indent} case {bps} {{ rate := {rates[bps]} }}")
- cases.append(f"{indent} default {{ revert(0, 0) }}")
- return "\n".join(cases)
-
- mid = (start + end) // 2
- return f"""{indent}switch gt(bps, {mid})
-{indent} case 0 {{ // {start}-{mid}
-{generate_switch_block(rates, start, mid, indent + " ")}
-{indent} }}
-{indent} case 1 {{ // {mid+1}-{end}
-{generate_switch_block(rates, mid + 1, end, indent + " ")}
-{indent} }}
-{indent} default {{ revert(0, 0) }}"""
-
-def ensure_directory_exists(filepath: str):
- """Ensure the directory for the given file path exists."""
- directory = os.path.dirname(filepath)
- if not os.path.exists(directory):
- os.makedirs(directory)
-
-def generate_test_file(output_file: str, contract_name: str):
- """Generate the test file for the contract."""
- ensure_directory_exists(output_file)
- test = f"""// SPDX-License-Identifier: MIT
-pragma solidity 0.8.19;
-
-import "../RatesBase.t.sol";
-import "../../src/repositories/{contract_name}.sol";
-
-contract {contract_name}Test is RatesBase {{
- function createCalculator() internal override returns (RatesLike) {{
- return RatesLike(address(new {contract_name}()));
- }}
-}}"""
-
- with open(output_file, 'w') as f:
- f.write(test)
-
-def generate_contract(input_file: str, contract_name: str = "Rates", start_bps: int = 0, end_bps: int = 800):
- """Generate the optimized Rates contract for a specific range."""
- # Determine output paths
- script_dir = os.path.dirname(os.path.abspath(__file__))
- repo_dir = os.path.dirname(script_dir)
- contract_file = os.path.join(repo_dir, "src", "repositories", f"{contract_name}.sol")
- test_file = os.path.join(repo_dir, "test", "repositories", f"{contract_name}.t.sol")
-
- rates = extract_rates_from_mapping(input_file, start_bps, end_bps)
- if not rates:
- print(f"No rates found in input file for range {start_bps}-{end_bps}")
- return
-
- contract = f"""// SPDX-License-Identifier: MIT
-pragma solidity 0.8.19;
-
-contract {contract_name} {{
- uint256 constant public MIN = {start_bps};
- uint256 constant public MAX = {end_bps};
-
- function turn(uint256 bps) external pure returns (uint256 rate) {{
- if (bps > MAX) revert();
- if (bps < MIN) revert();
-
- assembly {{
-{generate_switch_block(rates, start_bps, end_bps, " ")}
- }}
- }}
-}}"""
-
- # Generate the contract file
- ensure_directory_exists(contract_file)
- with open(contract_file, 'w') as f:
- f.write(contract)
- print(f"Generated contract file: {contract_file}")
-
- # Generate the test file
- generate_test_file(test_file, contract_name)
- print(f"Generated test file: {test_file}")
-
-def generate_all_contracts(input_file: str, step: int = 800, max_bps: int = 10000):
- """Generate contracts for all ranges up to max_bps in given step increments."""
- start = 0
- while start < max_bps:
- end = min(start + step - 1, max_bps) # -1 because each range should not overlap
- contract_name = f"Rates{start}To{end}"
- print(f"\nGenerating contract for range {start}-{end}...")
- generate_contract(input_file, contract_name, start, end)
- start += step
-
-if __name__ == "__main__":
- if len(sys.argv) == 2:
- # If only input file is provided, generate all contracts
- input_file = sys.argv[1]
- generate_all_contracts(input_file)
- elif len(sys.argv) == 5:
- # If all arguments are provided, generate single contract
- input_file = sys.argv[1]
- start_bps = int(sys.argv[2])
- end_bps = int(sys.argv[3])
- contract_name = sys.argv[4]
- generate_contract(input_file, contract_name, start_bps, end_bps)
- else:
- print("Usage:")
- print(" To generate all contracts:")
- print(" python generate_rates_contract.py ")
- print(" To generate a single contract:")
- print(" python generate_rates_contract.py ")
- sys.exit(1)
diff --git a/script/generate_rates_mapping.py b/script/generate_rates_mapping.py
new file mode 100755
index 0000000..eb5c47c
--- /dev/null
+++ b/script/generate_rates_mapping.py
@@ -0,0 +1,80 @@
+#!/usr/bin/env python3
+
+import requests
+import re
+from pathlib import Path
+
+def fetch_ipfs_data(ipfs_url):
+ response = requests.get(ipfs_url)
+ if response.status_code != 200:
+ raise Exception(f"Failed to fetch data from {ipfs_url}")
+ return response.text
+
+def parse_rates(text):
+ rates = {}
+ pattern = r'(\d+\.\d+)%: (\d+)'
+
+ for line in text.split('\n'):
+ line = line.strip()
+ if not line:
+ continue
+
+ match = re.match(pattern, line)
+ if match:
+ percentage = float(match.group(1))
+ value = match.group(2)
+ # Convert percentage to index by multiplying by 100 and rounding
+ index = round(percentage * 100)
+ rates[index] = value
+
+ return rates
+
+def generate_solidity_contract(rates):
+ contract_template = '''// SPDX-License-Identifier: AGPL-3.0-or-later
+pragma solidity ^0.8.24;
+
+contract RatesMapping {
+ mapping(uint256 => uint256) public rates;
+
+ constructor() {
+%s
+ }
+}'''
+
+ # Generate constructor body
+ constructor_lines = []
+ for index, value in sorted(rates.items()):
+ constructor_lines.append(f" rates[{index}] = {value};")
+
+ constructor_body = "\n".join(constructor_lines)
+ return contract_template % constructor_body
+
+def main():
+ ipfs_url = "https://ipfs.io/ipfs/QmVp4mhhbwWGTfbh2BzwQB9eiBrQBKiqcPRZCaAxNUaar6"
+ output_file = Path("/Users/odd/Documents/rates-repository/test/RatesMapping.sol")
+
+ # Fetch and combine all chunks
+ print("Fetching data from IPFS...")
+ data = fetch_ipfs_data(ipfs_url)
+
+ # Parse the rates
+ print("Parsing rates...")
+ rates = parse_rates(data)
+ print(f"Found {len(rates)} rates")
+
+ if len(rates) == 0:
+ print("No rates found! Sample of data received:")
+ print(data[:500])
+ return
+
+ # Generate the Solidity contract
+ print("Generating Solidity contract...")
+ contract = generate_solidity_contract(rates)
+
+ # Write the contract to file
+ print(f"Writing contract to {output_file}...")
+ output_file.write_text(contract)
+ print(f"Done! Generated {len(rates)} rates entries.")
+
+if __name__ == "__main__":
+ main()
diff --git a/script/output/1/README.md b/script/output/1/README.md
new file mode 100644
index 0000000..d279227
--- /dev/null
+++ b/script/output/1/README.md
@@ -0,0 +1 @@
+Outputs for Mainnet scripts.
\ No newline at end of file
diff --git a/src/Conv.sol b/src/Conv.sol
new file mode 100644
index 0000000..1ebc40a
--- /dev/null
+++ b/src/Conv.sol
@@ -0,0 +1,107 @@
+// SPDX-FileCopyrightText: © 2025 Dai Foundation
+// SPDX-License-Identifier: AGPL-3.0-or-later
+//
+// 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 .
+
+pragma solidity ^0.8.24;
+
+/// @custom:authors [Oddaf]
+/// @custom:reviewers []
+/// @custom:auditors []
+/// @custom:bounties []
+contract Conv {
+ /// @notice The max bps supported in bps -> rate conversion.
+ uint256 public constant MAX = 50_00;
+ /// @dev `ray` precision
+ uint256 internal constant RAY = 10 ** 27;
+ /// @dev `bps` precision
+ uint256 internal constant BPS = 100_00;
+
+ // Each rate takes 8 bytes (64 bits), total of 5001 rates
+ // Each storage word (32 bytes) contains exactly 4 rates
+ // Total size = 5001 * 8 = 40008 bytes
+ bytes internal RATES;
+
+ constructor() {
+ RATES =
+ hex"0000000000000000000b43d83715d0b0001687669d710caf0021caab36d8f947002d0da6071491820038505711ea862d004392be5b213de3004ed4dbe67ed513005a16afb7c91e0700655839d2c5a0eb0070997a3b399bdb007bda70f4ea02de00871b1e039b7ffc00925b816b12733a009d9b9b2f12f2a800a8db6b5360ca6800b41af1dbbf7cb100bf5a2ecbf241dd00ca992227bc086b00d5d7cbf2df750a00e1162c311ee2a100ec5442e63c625200f7921015f9bb870102cf93c4186bf7010e0ccdf459a7aa011949beaa7e590a01248665ea4720e1012fc2c3b7745664013afed815c6073d01463aa308fbf78e0151762494d5a1fb015cb15cbd1237b30167ec4b8570a075017326f0f1af7a96017e614d058d1b0f01899b5fc4c78d7b0194d529331c942801a00ea95449a81901ab47e02c0bf90d01b680cdbe206d8a01c1b9720e43a2e201ccf1cd2031ed3b01d829def7a7579701e361a7985fa3d901ee992706164ad201f9d05d44867c420205074a576b1ee202103dee427ed06f021b7449097be5aa0226aa5ab01c6a680231e0233a1a2191023d15a2ab2e852e02484ad90712c66e02537fc6517fcdac025eb46a8e2e3a790269e8c5c0d663a102751cd7ed305735028050a116f3da8e028b842141d86a5d0296b75871953aa702a1ea46a9e136d602ad1cebee7301ba02b84f484300f59502c3815bab41242002ceb3262ae9569102d9e4a7c5af0da602e515e07f4781ab02f046d05b67a27f02fb77775dc4179d0306a7d58a1140260311d7eae40332e4031d07b76f4dbe540328373b2fa468ac0333667628ba6fe4033e95685e42c9bc0349c411d3f023c40354f2728d74e3620360208a8e8325db036b4e59daccc05903767be076033ff40381a91e63d7e9b9038cd613a7fbbaae039802c0461f67de03a32f2441f35e5f03ae5b3f9f27c35703b98712616c740603c4b29c8c7105ca03cfddde23e4c62903db08d72b76badd03e63387a6d5a1ce03f15def99aff12703fc880f07b3d7560407b1e5f48f3b140412db7463efbb6e041e04ba5982afcc04292db7d8f527f80434566ce5f3ec23043f7ed9842b7cef044aa6fdb74813770455ced982f5a1540460f66ceadfd0a5046c1db7f2b20414047744ba9e1756e204826b74f0ba9cee048d91e6ee4662b50498b8109a64ed6004a3ddf1f8c03acb04af038b0d02018a04ba28dbdad3b0f004c54de465de711704d072a4b1cb22e804db971cc242602204e6bb4c9aec7b6004f1df343f71802204fd02d3b37932d10508262afaab10ca0513493a18ae5063051e6c011129e0f305298e7fe7c46ada0534b0b6a0244f83053fd2a53defa975054af44bc4cc4c50055615aa385fc4db056136c09c4f5907056c578ef44007fa0577781543d68a12058298538eb750f1058db849d886877d0598d7f824e811f005a3f75e777f8dd905af167cd3f0522505ba35533ddd6f2605c553e1b8e9ae9805d0722848b793ae05db9026f0e95b1405e6adddb520faf605f1cb4c9900230b05fce873a0283c9606080552ce3a6a77061321ea26d78926061e3e39ada02ec406295a416634ab1c06347601543507ad063f91797b4107b0064aaca9def828210655c79282f99fc20660e2336ae45f29066bfc8c9a5710bc0677169e14f018c606823067de4d9573068d49e9fa0d5eda069863246bcd070906a37c173729da0406ae94c25fc0ddd406b9ad25e92ed28606c4c541d710323b06cfdd162d01312506daf4a2ee9dbd9a06e60be81f81800e06f122e5c347db2306fc399bdd8bebb00707500a71e888c10712663183f843a8071d7c11175567f8072891a92f99fb990733a6f9d05fbec4073ebc02fd402c110749d0c4b9d4787c0754e53f09b5936a075ff971f07c26b4076b0d5d71c096a907762101911b02190781345e5223425c078c4773b870eb5607975a41c79b4b8007a26cc883396bf007ad7f07eee2105b07b891000e2bb72507c3a2b0e4ac995e07ceb41a75faaad107d9c53cc5ab9a0407e4d617d754d04707efe6abae8b71b207faf6f84ee45d33080606fdbbf42c93081116bbf94f347b081c26330a89847a08273562f336e7150832444bb6eae1bf083d52ed5938b4ef08486147ddb35c1d08536f5b47ed8dca085e7d279b79bb8e08698aacdbea1215087497eb0cd0792f087fa4e231be93ce088ab1924e45c0150895bdfb65f7175c08a0ca1d7c636e3408abd5f8951b547108b6e18cb3af153208c1ecd9dbaeb6e408ccf7e010a9fb4b08d8029f56305f8c08e30d17afd11c2c08ee1749211b252008f92133ad9d29ce09042ad758e59515090f343426828d54091a3d4a1a01f4720925461936f167e409304ea180de40b5093b56e2fb55938809465edda9e430a8095166919016a406095c6dfeb1793544096775251197e7bb09727c04b3fe7a83097d829d9c386877098888efcdd0e84109938efb4c52ec5b099e94c01b49231809a99a3e3e3df6ab09b49f75b8bb8d3409bfa4668e4bc8b709caa910c278473409d5ad7458ca62a509e0b19154cb310409ebb567ba03845709f6b8f78bfbeab20a01bc40ce3cae3f0a0cbf43844dd5490a17c1ffb1b7223d0a22c4755a0013b10a2dc6a480afe4720a38c88d294d8b810a43ca2f575fbc210a4ecb8b0e6ce5da0a59cca051fb34810a64cd6f259090410a6fcdf78cb29d9c0a7ace398ae6bd780a85ce3523b20d230a90cdea5a9966570a9bcd5933215f460aa6cc81b0ce4aa00ab1cb63d72437940abcc9ffa9a6f1de0ac7c8552bda01c80ad2c6646140ac360addc42d4d5df2a70ae8c1aff3b493420af3beec57c708d90afebbe27d178aec0b09b89267280dba0b14b4fc197a423e0b1fb11f978f96390b2aacfce4e9343d0b35a894050803aa0b40a3e4fb6ca8bf0b4b9eefcb97849c0b5699b47908b5450b619433074015b10b6c8e6b79bd3dca0b77885dd3ff82780b82820a1985f5a20b8d7b704dcf663b0b987490745a60460ba36d6a90a52cdd0bae65fea62dd2370bb95e4cb87213ad0bc45654caef71c50bcf4e16e1232a360bda4592fe8a37ef0be53cc926a1531d0bf033b95ce4f1320bfb2a63a4d144ef0c0620c801e23e650c1116e677938afd0c1c0cbf096095830c270251bac486290c31f79e8f3a428c0c3ceca58a3c6dbe0c47e166af45684c0c52d5e201cf50440c5dca178554013d0c68be073d4d14580c73b1b12d33e04f0c7ea515588179770c899833c2aeb1c60c948b0c6f3418da0c9f7d9f6189fc030caa6fec9d2866420cb561f42587205d0cc053b5fe1db0d50ccb45322a635bf90cd63668adcf23e60ce127598bd7c8920cec1804c7f3c7cf0cf7086a65995d540d01f88a683e82c10d0ce864d358efab0d17d7f9aa5e19990d22c748f0c334150d2db652a9fd30ad0d38a516d980bef80d43939582c24ca20d4e81cea936056e0d596fc2504fd33e0d645d707b835e1b0d6f4ad92e440c380d7a37fc6c0501fc0d8524da383922080d90117296530d3b0d9afdc589c522bc0da5e9d316017ffe0db0d59b3e7a00c80dbbc11e06a03f380dc6ac5b71e593d00dd1975383bb15790ddc82063f9199860de76c73a8d9b3c00df2569bc303b66a0dfd407e917fb24a0e082a1c17bd76ab0e131374592c91650e1dfc87593c4ee70e28e5551b5bba3b0e33cddda2f99d0a0e3eb620f3847fa50e499e1f106aa90f0e5485d7fd1a1efa0e5f6d4bbd00a5d90e6a547a538bc0dd0e753b63c428b2010e80220812447a0d0e8b0867414bd89f0e95ee8154ab4c330ea0d4564fcf12230eabb9e6362326b40eb69f310b1345190ec18436d20ae77a0ecc68f78e7546fc0ed74d7343bd5bc60ee231a9f54ddd060eed159ba69140fc0ef7f9485af1bcfc0f02dcb015d945760f0dbfd2dab18dfb0f18a2b0ace409470f2385498fd9e9440f2e679d86fc1f140f3949ac95b35b110f442b76bf680cda0f4f0cfc078263570f59ee3c716a4cbf0f64cf380087769d0f6fafeeb8414ddb0f7a90609bfefec20f85708daf2775080f905075f5215bce0f9b301971531dad0fa60f782722e4b90fb0ee9219f69a8b0fbbcd674d33e83f0fc6abf7c44036860fd18a438280ada40fdc684a8b5a35770fe7460ce23175840ff2238a8a6ad4f30ffd00c3876a7a9f1007ddb7dc944d161012ba678d4bf2a3101d96d29cf4d151102872f90ef20ef510334edae6a69133103e2a782774fd82104905d0d4bfb9361053e0e4f1e8e984105ebbb4825273881069963f895dfc4f107470860a6ce8d6107f4a8808e05e19108a2445881941151094fdbe8b7836cc109fd6f3165da45010aaafe32c29aec410b5888ed03c3b6b10c060f605f4efa410cb3918d0b330f610d610f733d6251610e0e89132bcb1ed10ebbfe6d0c57d9e10f696f8114eee8a11016dc4f7b72b5c110c444d875c1b0711171a91c39b64d51121f091afd2706a112cc64d4f5e65c411379bc4a59c2d4d114270f7b5e86fd8114d45e6839f96ab11581a91121dcb841162eef764bef8a0116dc3197edec8c3117896f763d8a73911836a911707bfe2118e3de69bc6ff36119910f7f571124911a3e3c5276066d511aeb64e34ef2b3f11b9889321774e9b11c45a93f05280b611cf2c50a4da321811d9fdc94267940e11e4cefdcc5398af11ef9fee45f6f2e011fa709ab2aa165e1205410315c537c11210112772a04c86121ae107cc930b0f1225b0a426f4eaad12307ffc851d23ac123b4f10ea62af4c12461de15a1c47d21250ec6dd7a0688b125bbab666454dd1126688bb0960f5131271567bc4491cd8127c23f89a5344c81286f1318ed4adb51291be26a5225999129c8ad7e0910ba512a757454475483e12b2236ed423550f12bcef5492ef390212c7baf6842cbc5112d28654ab2f688512dd516f0b4a888112e81c45a7d1288312f2e6d88416163012fdb127a36be09713087b330924d836131344fab8930f02131e0e7eb508586d1328d7bf01d6496c1333a0bba24e387d133e697499c13dac134931e9eb80329b1353fa1b9adbb289135ec209ab241a53136989b41fa9887e1374511afbbbdd41137f183e42aaba821389df1df7c583e11394a5ba1e5b5ec2139f6c12b9bb324b13aa3227cd33a77013b4f7f95c1328f613bfbd8769a7e37b13ca82d1f93fc57d13d547d90e287f5c13e00c9cabaf836413ead11cd52205cf13f595598dccfcd314005952d8fd209e140b1d08b9feeb621415e07b341e995c1420a3aa4aa828d6142b669600e75a2e1436293e5a27afe11440eba359b46e88144badc502d89ce714566fa358df03ef1461313e5f122ec2146bf29618bc6abd1476b3aa8927c77d1481747bb39e16e2148c35099b68ed1b1496f55443d1a0a414a1b55bb0214a5514ac751fe3a0c55e14b734a0e198af5b14c1f3dead51684814ccb2d94a13129714d77190bb25932e14e2300503d0916d14ecee36275b773714f7ac24290d70f9150269cf0c2d6da7150d2736d4021ecf1517e45b83d1f8971522a13d1ee331c1152d5ddba87bc3ba15381a3723e16a971542d64f9459a51f154d9224fd29b4d215584db761969ded15630906c4e5276f156dc4132a59db2215787edc953905a01583396308c6b656158df3a68846bf8e1598ada716fcb67315a36764b82bf31815ae20df6f17907c15b8da173f026c9215c3930c2b2f284715ce4bbe36e0278515d9042d6557913b15e3bc59b9d74f6715ee744337a10f1215f92be9e1f640601603e34dbc181691160e9a6ec94788081619514d0cc54e4e162407e889d1e61f162ebe4143ad8f66163974573d984d4d16442a2a7ad1e63f164edfbafe99e3e716599508cc2f934316644a13e6d204a0166efedc51c00ba11679b36210383f4b168467a52578fa05168f1ba594c0599f1699cf63614c3f5816a482de8e5a4fe816af36171f27f37d16b9e90d16f255cb16c49bc078f6660916cf4e314870d70016da005f889e1f0716e4b24b3cba781116ef63f46801dfad16fa155b0db017111704c67f3100a31b170f7760d52ecc5a171a27fffd759f161724d85cad0feb4e172f8876e73844c6173a384eaf2903081744e7e4081c416c174f9736f54bdf1f175a464779f17f261764f51599468862176fa3a15684259e177a51eab4e3458c1784fff1b79c9ad0178fadb661e89c05179a5b38b6ff83c017a50878ba19509a17afb5766e6dc53317ba6231d734683817c50eaaf7a4846c17cfbae1d2f528a717da66d66c5d27e317e51288c713194017efbdf8e64d580617fa6926cd4203af180514127f26ffea180fbebbff31f4a4181a692350984e0a18251348768f3c92182fbd2b744bb4fe183a66cc4d0270671845102b03e7ec38184fb9479c306a43185a6222190ff0b818650aba7dba4a35186fb310cd6305c7187a5b250b3d76f1188502f73a7cb5b2188faa875e539e8a189a51d579f4d28118a4f8e19092b72918af9faba55f76ab18ba4633bb8cffc718c4ec79d64d05d918cf927df8d100e318da3840264a2d9218e4ddc061e98d3e18ef82feaedfe5f818fa27fb105dc28d1904ccb589937287190f712e1db10a37191a1564cfe662bc1924b959a3631a07192f5d0c9b5692de193a007dbaeff4e61944a3ad055e2ca7194f469a7dcfeb921959e9462773a80419648bb005779d53196f2dd81b09cbca1979cfbe6b57f8b619847162f98fae69198f12c5c8de3c3f1999b3e6dc70b6a719a454c63773f72219aef563dd149c5219b995bfd07f09f819c435da14df68fc19ced5b2ad61a77519d975499d3178ab19e4149ee77a552119eeb3b28f677a9319f952849823ec071a03f11504da71c91a0e8f63d8b599731a192d7116dfb5f71a23cb3cc282dfa11a2e68c6dec8f41a1a39060f6edb96741a43a31675e42f2c1a4e3fdbf70bec2e1a58dc5ff57bc0de1a6378a2745c661e1a6e14a376d65a4f1a78b0630011e15c1a834be1133704bd1a8de71db36d937a1a988218e3dd223a1aa31cd2a7ad0b391aadb74b02046e611ab85181f60a313d1ac2eb7786e4ff0c1acd852bb7bb48bf1ad81e9e8bb345031ae2b7d005f2f0451aed50c029a00cb61af7e96ef9e022551b0281dc79d87eec1b0d1a08acae36221b17b1f3958621771b22499d3784e04a1b2ce10595ced7e71b37782cb38833811b420f1293d4e4411b4ca5b739d8a1461b573c1aa8b6e7af1b61d23ce392fa991b6c681ded8fe32f1b76fdbdc9d070a71b81931c7b77384d1b8c283a05a695851b96bd166b80a9d21ba151b1b0275cdb1babe60bd6bc5c741bb67a24e2611c9b1bc10dfcd636d78a1bcba193b55e8daf1bd634e982f905bf1be0c7fe4226ccaf1beb5ad1f60835c41bf5ed64a1bd5a901c007fb648661aff1c0b11c6ed221d561c15a3969310ce3d1c2035253d5160c41c2ac672ef02ce671c35577fab43d7121c3fe84b7533012c1c4a78d64fee99981c5509203e94b3ba1c5f9929444329801c6a28f164179b671c74b878a12f707d1c7f47befea7d6691c89d6c47f9dc1721c946589272dec811c9ef40cf874d9291ca9824ff68ecfad1cb410522497df021cbe9e1385abdcd81cc92b941ce665a01cd3b8d3ed62dc8d1cde45d2fa3c6b9c1ce8d291468e039d1cf35f0ed5725c341cfdeb4baa03f3dd1d087747c75d0ff91d1303033097bcca1d1d8e7de8cdcd811d2819b7f318dc3d1d32a4b152924a141d3d2f6a0a533f181d47b9e21d74aa5b1d5244198f0f41f81d5cce10623b83121d6757c69a11b1e01d71e13c39a9d9b11d7c6a71441bccec1d86f365bc7f251f1d917c19a5eb42fb1d9c048d03774e601da68cbfd83a36601db114b2274ab1441dbb9c63f3bf3c8f1dc623d540ae1d0e1dd0ab06112d5ecc1ddb31f66852d52b1de5b8a649341ad81df03f15b6e691de1dfac544b47f639f1e054b33451380e61e0fd0e16bb7a1e51e1a564f2b8046381e24db7c8781b4f11e2f606982cffc9d1e39e516207ef3431e44698263a2366f1e4eedae4f4d2b341e597199e692fe371e63f5452c86a3af1e6e78b0243ad7691e78fbdad0c21cd31e837ec5352ebf001e8e016f5492d0a91e9883d932002c391ea30602d08873cb1ead87ec333d11361eb809955d2f360f1ec28afe516fdbaf1ecd0c27130fc3381ed78d0fa51f759c1ee20db80aaf439e1eec8e2046cf45df1ef70e485c8f5cdb1f018e304eff30f41f0c0dd8212e32751f168d3fd62b99991f210c677106668e1f2b8b4ef4cd617b1f3609f6648f1a891f40885dc359e9e01f4b0685143befb71f55846c5a4314521f600213987d08081f6a7f7ad1f7434b1f74fca209bf06ab1f7f798942e15adf1f89f630806b10c31f947297c568c1651f9eeebf14e6ce081fa96aa671f160261fb3e64ddf94697a1fbe61b560dba4011fc8dcdcf8d292041fd357c4aa847e1a1fddd26c78fc7b2d1fe84cd4674564801ff2c6fc7869ddb81ffd40e4af7452db2007ba8d0f6ef858201233f59b63cb0f201cad1e565c9053202726074362d5ef20319eb0657ff22f203c1719bfbd03de20468f435522f2562051072d28ba6d7b205b7ed73d8bedc52065f641969fb44920706d6c36fdcab3207ae45721ae035920855b0259b7f937208fd16de2230ff6209a4799bdf673f220a4bd85f0391a4320af33327bf1c0ba20b9a89f6426edee20c41dccabdef13e20ce92ba561fe2d520d9076865efa3b220e37bd6de53ddaa20edf005c252037320f863f514ef50a02102d7a4d930c9b1210d4b15121b3c102117be45c2b33e1a21223136edfd2f20212ca3e896fd37772137165ac0b7486f2141888d6e2f1c61214bfa80a26836b421566c346065e3df2160dda8ab2b396d216b4edd85bb160b2175bfd2f318218221803088f644ccc3218aa0ff924351eb21951136ca15b447219f812ea0bdc05921a9f0e7193d0be221b460603694f5dd21becf99fbc6a69021c93e946bd30f8a21d3ad4f89baeba821de1bcb587ebf1e21e88a07db1ed77b21f2f805149b4bab21fd65c307f3fbff2207d341b82892342212408128388175221cad815b23065f22271a4253e7270b223186c41583b30e223bf306a2f7438422465f09ff403b0e2250cace2d5cc5de225b3653304ad9b52265a1990b0835f322700c9fc092638e227a776753e6b5252284e1efc80246f9228f4c391fe1fefb2299b6435e828ccf22a4200e86e069cc22ae899a9bf7d90a22b8f2e7a0c4e75f22c35bf598436b6a22cdc4c4856f059322d82d546b43201422e295a54cbaeeff22ecfdb72cd1703e22f7658a0e816b9b2301cd1df4c572c9230c3472e297e16223169b88daf2dcee2321025fe0d054f1232b68f7f72a02df2335cf5120f96a332340356b6137d866234a9b46bade64ff235500e330e5f18e235f6640c64729bd2369cb5f7dfa83462374303f5af83e06237e94e0603863fc2388f94290b2c94f23935d65ef5f0c50239dc14a7f34958323a824f0432a97a323b288573e380fa823bceb7f7353c4cb23c74e68e574488823d1b113978ff6a923dc137f8c9cf54823e675acc79134d423f0d79b4b62701623fb394b1b062c3724059abc3971b8c4240ffbeea99a2fb3241a5ce26e7475692424bd978af538c0242f1e0e0210f30924397e45d6bbe8132443de3f0bea2631244e3df9a48f863c24589d75a39fab9c2462fcb30c0e0448246d5bb1e0cdc8d12477ba7224d1fc62248218f3db0d6cc8248c77370672b2772496d53ba9f4308a24a13301c88414d124ab9089651457ce24b5edd28296bcbf24c04add23fcd1a024caa7a94c37ef3224d50436fe3938fd24df60863cf19d5b24e9bc970b51d57524f418696c4a655124fe73fd62cb9bcd2508cf52f1c592ad25132a6a1c282e9c251d8542e4e31f2e2527dfdd4ee5deec25323a395d1fb353253c9457127facdc2546ee3671f4a700255147d77e6d483e255ba13a3ad8021d2565fa5eaa23113625705344cf3c7d34257aabecad1218dc258504564691820f258f5c819ea821d52599b46eb8432c5c25a40c1d964fa0fd25ae638e3bba4a4825b8bac0ab6fbdfd25c311b4e85c5d1e25cd686af56c53ea25d7bee2d58b99e925e2151c8ba5f1ea25ec6b181aa6ea0f25f6c0d58579dbcd26011654cf09ebf2260b6b95fa420aad2615c0990a0cf38d2620155e01552d8d262a69e4e3050b142634be2db206a9f8263f12387143f38d2649660523a69c9d2653b993cc182577265e0ce46d81d9ec26685ff70accd15c2672b2cba6e1eeb6267d056244a9e07c268757bae70d20cb2691a9d590f3f55e269bfbb245466f9526a64d5106ec6c7626b09eb1d8cd94b626baefd4bdd15cbd26c540b9b8df04a726cf9160ccdd985026d9e1c9fcb3ef5326e431f54b48ad1026ee81e2bb8240b326f8d1925046e538270321040c7ca16e270d7037f30948002717bf2e06d2777427220de64abd9a36272c5c60c1afe6982736aa9d6e8e5eda2740f89c543dd12f274b465d75a2d7bd275593e0d5a1d8ac275fe126771f061c276a2e2e5cfe5e3a27747af88a23ab39277ec7850172835c278913d3c5ce48fa27935fe4da1a2a82279dabb84139228427a7f74dfe0df7ad27b242a6137b3cd727bc8dc08463510227c6d89d53a85f6627d1233c842c5f6b27db6d9e18d114b727e5b7c214780f2f27f001a87a02aafc27fa4b514c521091280494bc8e4734ac280eddea42c2d863281926da6ca5892128236f8d0ecfa0ac282db8022c21452e28380039c77a693828424833e3bacbc2284c8ff083c1f8372856d76faa6f467728611eb15aa1dada286b65b59738a6362875ac7c631265e5287ff305c10da3cb288a3951b408b65428947f603ee1c082289ec5316476b1ec28a90ac527a546c228b3501b8b4b07d728bd953492454aa128c7da103f71313f28d21eae95abaa8128dc630f97d171e828e6a73348bf0fad28f0eb19ab50d8c528fb2ec2c262eeea2905722e90d14099290fb55d1977891a2919f84e5f31508629243b0264d9ebca292e7d792d4c7cad2938bfb2bb63f1d5294301af11fb06c7294d436e33ec43f4295784f02411feb82961c634e546595f296c073c7a63432c29764806e642785e298088942bbd8230298ac8e44dadb6e4299508f74eec39c5299f48cd3251fb2b29a98865fab7b87f29b3c7c1aaf5fc4329be06e045e51e1529c845c1ce5d42b329d2846647365c0229dcc2cdb348290c29e700f8156a361229f13ee57073dc8229fb7c95c73c43052a05ba091c9a5d802a0ff73f7364ed1c2a1a3438ce7280462a2470f5309972b82a2ead749cafed7a2a38e9b7158be6ec2a4325bc9e0322c22a4d618538eb32142a579d10e91973592a61d85fb16312712a6c1371949d08a82a764e46959c1cbb2a8088deb734e2dc2a8ac339fc3bbcb82a94fd586784d97b2a9f3739fbe435d42aa970debc2d9bfb2ab3aa46ab34a3b52abde371cbccb25a2ac81c6020c8fad52ad25511acfc7daf2adc8d86733a09122ae6c5be765438c92af0fdb9b91d764b2afb35783e67f8bb2b056cfa0905c4ef2b0fa43f1bc8ad752b19db47798252972b2412132504225e2b2e48a2211f589b2b387ef470a4fee42b42b50a1665eca42b4ceae31532c7132b57207f6fdc01462b6155df2931dc292b6b8b02440466902b75bfe8c3237d2f2b7ff492a95ecaa62b8a28fff985c7852b945d30b667ba512b9e9124e2d3b7842ba8c4dc8198a1982bb2f857958529062bbd2b962167cc512bc75e98280ed8022bd1915dac4866b62bdbc3e6b0e2611b2be5f63338aa7dfc2bf02843466e423b2bfa5a16dcfb00e12c048badff1ddb1f2c0ebd08afa3c04c2c18ee26f1596df22c231f08c70b6fcf2c2d4fae33861fdb2c3780173995a64b2c41b043dc05f9962c4be0341da2de7c2c560fe80137e8042c603f5f8990778a2c6a6e9ab977bcbd2c749d9993b8b5a52c7ecc5c1b1e2ea82c88fae25272c28f2c93292c3c80da8a2c9d5739dc12ae342ca7850b33f2439a2cb1b2a046e96f3d2cbbdff917c1d4162cc60d15a944e39f2cd039f5fe3bddd32cda669a196fd1332ce49301fda99acf2ceebf2dadb1e6452cf8eb1d2c512dc92d0316d07c4fba262d0d4247a075a2c92d176d829b8acdbf2d2198817056efbe2d2bc34421a18c262d35edcab231f5082d40181524cf4b292d4a42237c407e0c2d546bf5bb4c4bea2d5e958be4b941c62d68bee5fb4dbb662d72e80401cfe35d2d7d10e5fb05b30d2d87398be9b4f2af2d9161f5d0a339522d9b8a23b295ece62da5b2159252423d2dafd9cb729d3d0d2dba0145563baffa2dc428833ff23c972dce4f853285536c2dd8764b30b933fa2de29cd53d51ecbd2decc3235b135b382df6e9358cc12bf12e010f0bd51eda792e0b34a636efb1712e155a04b4f6ca912e1f7f2751f70ea42e29a40e10b335972e33c8b8f3edc6762e3ded27fe6917762e48115b32e74df12e523552942a5e772e5c590e24f40cc72e667c8de805ebd92e709fd1e0215de32e7ac2da1007945c2e84e5a67a798ffe2e8f0837223820cf2e992a8c0a03e6252ea34ca5349d4ea72ead6e82a4c498542eb790245d39d0872ec1b18a60bcd3fc2ecbd2b4b20d4ed42ed5f3a353eabc982ee01456491468412eea34cd94496c392ef455093848b2622efe750937d0f4182f0894cd95a0ba382f12b45654765d232f1cd3a3771004c32f26f2b5002ba88c2f31118af2870f892f3b302550dfd0582f454e841df351322f4f6ca75c7ec7ee2f598a8f0f3f3a092f63a83b38f17ca62f6dc5abdc5234932f77e2e0fc1dd6522f81ffda9b10a6192f8c1c98bbe6b7d72f96391b615bef392fa055628e2bffb22faa716e45126c742fb48d3e88ca88852fbea8d35c0f76b72fc8c42cc19c29ae2fd2df4abc2b63ed2fdcfa2d4e77b7cd2fe714d47b3b878f2ff12f40453105552ffb4970af12332c30056365bb98e313300f7d1f6d7eb6f93019969dc77d20c63023afe0cc4d625e302dc8e87ea88da53037e1b4e14784853041fa45f6e2f8ef304c129bc2336ce330562ab645f132733060429584d46bc7306a5a3981950b23307471a23eead2e9307e88cfbf8d55a030889fc20633f5f33092b6791595e6c0309cccf4f06a2b0f30a6e3359967962330b0f93b1344cb7330bb0f0560b83eb930c52494847833ee30cf39e8813abf5330d94f0159b5c57330e363df109efb2a30ed7881a8abe5a730f78ce92491da703101a1158705ff69310bb506d2bd4ad83115c8bd0a6c8364311fdc3830c840233129ef784884e8943134027d5456b4ab313e154756f1acd4314827d65309a9f331523a2a4b52556c315c4c43427f292831665e213b436f9831706fc4385243b7317a812c3c5e9115318492594a1b13d3318ea34b643a58ae3198b4028d6ebd0031a2c47ec86a6ec431acd4c017df6c9d31b6e4c67e7f85d831c0f491fefc5a7231cb04229c075b1931d513785851c93731df2293368cb6ee31e931733969072131f3401863976d7b31fd4e82b7c86e6c32075cb238ac5f3332116aa6e8f365e1321b7860cb4d795d322585dfe26a6168322f932430f9b6a13239a02db9aae28b3243acfc7f2d1f8f324db990842f79023257c5e9cb60cb293261d208576fc33f326bddec2b0adf723275e99548e06ef2327ff503b39e91ee328a00376df3399932940b307a8c2834329e15eedc16f10832a820729540f87432b22abba8b773eb32bc34ca192769fd32c63e9de93db25932d048371ba6f5cf32da5195b30fae5632e45ab9b224271632ee63a31b907c6232f86c51f2009bc3330274c6382043fa330c7cfff09b0506331684ff1e1c402633208cc3c34f27e1332a944de2dec00233349b9d7f75ddaa333ea2b29bbf27433348a98d3a6514963352b02d5e11eec0335cb693096fd0423366bcbe3f28a4fd3370c2af01e62a3b337ac8655451eeaf3384cde139155280338ed322b2d987463398d829c447901333a2dcf67008417533ace188b8c4417b33b6e5e0a12407ba33c0e9fe2bcfdd4e33caede15b6fdce333d4f18a32abf2b533def4f8b42bdc9633e8f82ce29729f633f2fb26c0953bdd33fcfde650cd44fc3407006b95e649a7341102b692871fdd341b04c749566f503425069dbcfab161342f0839f01a312c3439099be55b0b8734430ac39f632f09344d0bb120d85c0e34570c646c6024ba34610cdd849fecfd346b0d1c6c3cea9934750d2125dc2525347f0cebb422761134890c7c19b488ab34930bd25936da22349d0aee754db98e34a709d0709d47ec34b108784dc9782b34bb06e60f760f2b34c50519b846a3c334cf03134ade9ec734d900d2c9e13b0634e2fe5837f1855534ecfba397b25c9234f6f8b4ebc671a13500f58c36d0477b350af2297b72332b3514ee8cbc4e5bd5351eeab5fc06bab63528e6a53d3d1b313532e25a82931ac7353cddd5ceaa29283546d9172423882d3550d41e85a04be2355aceebf5c15a863564c97f77276c94356ec3d90c730cc23578bdf8b844980b3582b7de7d3c3dad358cb18a5df9ff303596aafc5d1db06b35a0a4347d46f78835aa9d32c1154d0635b495f72b27fbc135be8e81be1e20ee35c886d27c96ac2b35d27ee969305f7b35dc76c68689cf4a35e66e69d741627735f065d35df5524f35fa5d031d43aa9c360453f917ca49a2360e4ab55026e02136184137c8f6f1613622378084d7d332362c2d8f8666adec36362364d0407c7d3640190065020c61364a0e624747fdb33654038a79aec324365df878fed2a20b3667ed2dd94fb2613671e1a90bc1dec7367bd5ea98c4e48d3685c9f282f453b3368fbdc0cceb8eef3699b1557945cbae36a3a4b08a9e121f36ad97d2038f3d2c36b78ab9e6b3fa8a36c17d6836a6cab436cb6fdcf60200f636d56218275fc36a36df5419cd5a0b0236e945e1ea8aa38b36f33770818b2bad36fd28c594f514f6370719e12761a3d537110ac33b69efa9371afb6bd3a6e2ba3724ebdaf2b13a47372edc109b2186833738cc0ccf902a9c3742bbcf92955cbe374cab58e6c9261837569aa8cec362e1376089bf4d1bc258376a789c6469c6ce377467401744c5a6377e55aa6843e757378843db59fe2778379231d2ef0a54bb379c1f9129ff10f737a60d160d72d12a37affa619bfbdd7d37b9e773d830514837c3d44cc4a61b1637cdc0ec63f2fcac37d7ad52b8ac8b0637e1997fc5682e6237eb85738cbb224237f5712e113a756e37ff5caf557b09fb380947f75c11954c381333062792a018381d1ddbba92866e3827087817a577b93830f2db415f76c4383add053a5459ba3844c6f60517ca33384eb0ada43d453138589a2c1a581b223862837169fb6fec386c6c7d95ba3aec38765550a02746fb38803dea8bd53270388a264b5b566f2638940e73113d4282389df661b01bc57238a7de173a83e47738b1c593b3075fa438bbacd71c37caa238c593e178a68cba38cf7ab2cae4e0d038d9614b1583d56f38e347aa5b144cc938ed2dd09e26fcbd38f713bde14c6ed73900f97227150059390adeed7210e23b3914c42fc4d01932391ea93921e27db339288e098bd7bbf7393272a1053f53fb393c56ff90a8998c39463b2530a2b44539501f11e7bc9f94395a02c5b8852abf3963e640a58af8e8396dc982b15c810f3977ac8bde880e1a39818f5c2f9bbed3398b71f3a72585f33995545247b32a1f399f367813d245f239a918650e1047fd39b2fa1938fa72cb39bcdb94971ddcea39c6bcd72b0770e639d09de0f743ed5639da7eb1fe5fe4db39e45f4a42e7be2339ee3fa9c767b3f139f81fd08e6bd51e3a01ffbe9a8004a03a0bdf73ee2ff9893a15bef08c073f0d3a1f9e34769134893a297d3fb0590d843a335c123be9d1b33a3d3aac1bce5cfd3a47190d52915f7f3a50f735e2bd5d933a5ad525cedcafce3a64b2dd197983073a6e905bc51dd85f3a786da1d453853d3a824aaf49a433583a8c2784279960b53a96042070bc5fb53a9fe0842796570d3aa9bcaf4eb041d33ab398a1e892ef7c3abd745bf7c703e43ac74fdd7ed4f7503ad12b26804516723adb0636fe9f826d3ae4e10efc6c30d73aeebbae7c32ebc33af89615807b51be3b0270440bccd5d63b0c4a3a20aebf9d3b1623f7c1a82b2f3b1ffd7cf14009333b29d6c9b1fd1ee13b33afde066606053b3d88b9f1012d033b47615d7454d6d93b5139c892e71b273b5b11fb4f3de6313b64e9f5abdef8e23b6ec1b7ab4fe8d03b7899415016203e3b8270929cb6de273b8c47ab93b736393b961e8c379c10de3b9ff5348aea2b413ba9cba49026174d3bb3a1dc49d43bb33bbd77dbba78d3f23bc74da2e497f0533bd12331cab575f23bdaf8886f551ec53be4cda6d4fa79973beea28cfe28ea123bf8773aed63a8c33c024bb0a52dc31b3c0c1fee280a1b733c15f3f3787b69143c1fc7c0990438363c299b558c26ea083c336eb25465b4ac3c3d41d6f442a3483c4714c36e3f95fd3c50e777c4de41f13c5ab9f3faa031553c648c381206c3623c6e5e440d932c623c783017efc675b23c8201b3bb217dc93c8bd3177224f8363c95a44317516da63c9f7536ad273bee3ca945f2362696063cb31675b4cf840e3cbce6c12ba1e35a3cc6b6d49d1d666d3cd086b00bc194fe3cda56537a0dcc013ce425beea813da63cedf4f25f9af1603cf7c3eddbd9c3e43d0192b161bc67323d0b613cf3c162983d152f90946712b13d1efdac462ba96f3d28cb900b8d2e1d3d32993be7097d5e3d3c66afdb1e493a3d4633ebea4919183d5000f0170749ca3d59cdbc63d60d893d639a50d3326c023d6d66ad679942513d7732d2238743083d80febf0978f6393d8aca741beab96c3d9495f15d58bfb13d9e6136d03f119b3da82c4477198d493db1f71a5463e6633dbbc1b86a99a6263dc58c1ebc362b613dcf564d4bb4aa7e3dd920441b902d803de2ea032e43940e3decb38a864993723df67cda261cb69a3e0045f210375e253e0a0ed24713c05c3e13d77acd2be93f3e1d9feba4f9ba813e276824d0f6eb933e313026539d09a33e3af7f02f6577a03e44bf8266c96e3e3e4e86dcfc41fbff3e584dfff248052c3e6214eb4b5443e43e6bdb9f09df48183e75a21b306177933e7f685fc1530dfa3e892e6cbf2c1cd73e92f4422c648b913e9cb9e00b74177a3ea67f465ed253d03eb0447528f6a9be3eba096c6c5858633ec3ce2c2b6e74d53ecd92b468afea213ed75705269379553ee11b1e678fb97f3eeadf002e1b17b33ef4a2aa7cabd70f3efe661d55b810bb3f082958bbb5b3f23f11ec5cb11a86023f1baf29385c22523f2571be53effa633f2f341c064b55d73f38f64251e352713f42b831392ce41f3f4c79e8be9cd4f43f563b68e4a7c5353f5ffcb1adc22b583f69bdc31c6054083f737e9d32f6622a3f7d3f3ff3f84ee13f86ffab61d9e98e3f90bfdf7f0ed7d83f9a7fdc4e0a95af3fa43fa1d140754e3fadff300b239f403fb7be86fe2712613fc17da6acbda3e83fcb3c8f1959ff613fd4fb40466ea6be3fdeb9ba366df24b3fe877fcebca10bf3ff2360868f507373ffbf3dcb060b1424005b179c47ec0d9400f6edfa7c0be6e40192c0e5c9808e94022e905e575d5b0402ca5c644cb30a74036624f7d08fc3340401ea1909ff1454049dabc82009f54405396a0539b6c65405d524d07e0951240670dc2a1402c874070c901222a1c8d407a84088d0e258640843ed8e45bde77408df9722a82b5064097b3d461f1ed8540a16dff8d18a2ee40ab27f3ae65c6eb40b4e1b0c84821da40be9b36dd2e52ce40c85485ef86cf9440d20d9e01bfe4b640dbc67f1647b58340e57f292f8c3c0940ef379c4ffb492340f8efd87a0284784102a7ddb00f6c7d410c5fabf48f567b4116174349ef6e93411fcea3b29cb7c0412985cd31040bdc41333cbfc7921ba3413cf37b78b36eb54146aa0046d4639f4150604e34612fd6415a166543c5dfc54163cc45776e56c6416d81eed1c64f2f4177376155395a4f4180ec9d0432e073418aa1a1e11e20ef4194566fee663218419e0b072e76015141a7bf67a3b8530941b173915097c2c041bb2784377ec30a41c4db405ad79d9641ce8ec5bd0c732b41d8421460873bb241e1f52c47b1c63841eba80d74f5b8ee41f55ab7eabc913341ff0d2bab6fa3904208bf68b9781bc14212716f173efcb9421c233ec72d20a24225d4d7cbab38e3422f863a2721ce2242393765dbf940484242e85aec99c688424c99195b6b6f5e425649a12ad62092425ff9f25d4197414269aa0cf51567dd427359f0f4b8fe31427d099e5e939d634286b915350c5ff9429068557a8a37e0429a175f3173ee6b42a3c6325c30245642ad74cefd2551cd42b7233516b9c66d42c0d164ab53a94b42ca7f5dbd58f8f142d42d204f2f8b6b42dddaac633d0e4142e78801fbe7068242f135211b92d0c142fae209c4a5a12043048ebbf984834c430e3b37bc945a864317e77d1039e1a54321938bf6d9ab16432b3f6472d820e84334eb06869984c7433e96723481f002434841a77ef553924351eca66857781a435b976ef30bfdeb4365420121765d08436eec5cf5f9e5294378968272f9bdc2438240719ad8e602438bea2a6ffa34d6439593acf4c058f1439f3cf92b8dd8ce43a8e60f16c512b143b28eeeb8c83cac43bc379813f964a643c5e00b2aba705843cf8847ff6d1d5543d9304e9473010e43e2d81eec2d88d143ec7fb908fdf9d343f6271ced45712b43ffce4a9b64e3e14409754215bd1ee644131c035eaec71d441cc28e789a5961442668e365e02a8344300f0228e067524439b4eac3fb149b44435a9d39900f2e444d00198bff0be24456a55fbda7979944604a6fd0e917424469ef49c822c7dd447393eda5b3be7e447d385b6bfae8534486dc931d570aa344908094bc26c2d7449a24604ac8867944a3c7f5cb9aa33744ad6b5540fb3eee44b70e7ead4857a344c0b17212dfc38e44ca542f741f311b44d3f6b6d36426ec44dd9908330c03e044e73b239573ff1344f0dd08fcf927e444fa7eb86bf865f645042031e4ce7939450dc17569d7f9e245176282fd71587e4521035aa1f6dde8452aa3fc59c4ab54453444682736ba50453de49e0ca8dcc74547849e0c76bd074551246828fbddbf455ac3fc64939a0d4564635ac1992572456e028342678be64577a175e959b1cd45814032b8ca5407458adeb9b31407e945947d0ada913b46459e1b26319c347445a7b90bba8f124945b156bb77c3cc2445baf4356b9431ee45c491799859ec2245ce2e88006e7bc745d7cb60a62b3a7c45e168038be95a7a45eb0470b401e69245f4a0a820cdc23745fe3ca9d4a5a97f4607d875d1e231264611740c1adbc691461b0f6cb1eaafd24624aa9799670bae462e458cd3a8d1994637e04c6307d1c546417ad649dbb51a464b152a8a7bfd404654af49274004a1465e4932227efe6b4667e2e57e8ff69746717c633dc9d1e6467b15ab62834ded4684aebdef130110468e479ae5cf5a8b4697e042490ea27546a178b41b26f9c046ab10f05e6e5a3f46b4a8f7153a96a946be40c841e15a9d46c7d863e6b82aa346d16fca0614643446db06faa24b3db746e49df5bdb1c68c46ee34bb5a9ce70746f7cb4b7b61607c470161a62253cd3a470af7cb51c8a09747148dbb0c1426eb471e2375538a85994727b8fa2a7fbb1247314e4993479ed5473ae3639035e17547447848239e0c9e474e0cf74fd383124757a171172980b6476135b57bf31a8c476ac9c480833ebd47745d9e272cb497477df14272421c97478784b16415f065479117eafefa82de479aaaef4542001147a43dbe393e6d4947add057dd41a90d47b762bc339d6b2047c0f4eb3ea3448b47ca86e500a49f9d47d418a97bf2bfed47ddaa38b2dec26147e73b92a7b99d2e47f0ccb75cd41fdc47fa5da6d47ef34d4803ee61110a99bb480d7ee614c76ebc48170f35e205a74c48209f507b1551c7482a2f35e24655f54833bee619e87505483d4e61244b49964846dda703be47bd48506cb7ba90bcfc4859fb934b11d05648638a39b7908245486d18ab025bacc14876a6e72dc2034c488034ee3c1212e64889c2c02f9a421c4893505d0aa8d107489cddc4cf8bd95148a66af780914e3648aff7f52006fc8948b984bdb03a8ab948c31151337978cd48cc9dafac11207448d629d91c4eb4fa48dfb5cd867f435948e9418cecefb22f48f2cd1751ecc1ce48fc586cb7c30c354905e38d20bf0519490f6e788f2cf9e84918f92f055911ca492283b0858f4da6492c0dfd121b882549359814ad4975b6493f21f75964a4904948aba518b87cb34952351ded903ff3495bbe61da3709f449654770e0f7d030496ed04b041d61fb497858f045f268814981e160a8c166d6498b699c2ed4b9ea4994f1a2da769895499e7974adf1139a49a80111ab8e15a849b18879d597635e49bb0fad2e569b5049c496abb815360749ce1d75751c860749d7a40a67b5b7d149e12a6a9229d1e549eab095f6c1b4cd49f4368c97c61b1149fdbc4e777f994d4a0741db98369e254a10c733fc33724e4a1a4c57a5be38944a23d146971eedda4a2d5600d29d691e4a36da865a815b7a4a405ed73112502e4a49e2f35897ac9a4a5366dad358b0484a5cea8da39c74ef4a666e0bcba9ee744a6ff1554dc7eaea4a79746a2c3d129e4a82f74a694fe8134a8c79f60746c8094a95fc6d0867e97d4a9f7eaf6ef95db14aa900bd3d4110294ab282967584c6b64abc043b1a0a21704ac585ab2d169ac24acf06e6b0ef876a4ad887eda7da16774ae208c0141b51564aeb895df7f81bce4af509c755b534064afe89fc2f9732874b0809fc87e28a424b1189c860db888e4b1b095fbcc655324b2488c29de6f2634b2e07f106813cc84b3786eaf8d8eb814b4105b0773190254b4a844183ce96c94b54029e20f346004b5d80c650e2bee44b66feba15dffd114b707c79722dd6b14b79fa04680efc764b83775af9c5f9a84b8cf47d2995341b4b96716af9beec414b9fee246c853d214ba96aa9842a1c624bb2e6fa42ef5a474bbc6316ab16a1bc4bc5defebee1784f4bcf5ab280913e3a4bd8d631f2672e664be2517d16a45e664bebcc93ef89be894bf547767f5819ce4bfec224c85015f34c083c9eccb2336e4c11b6e48ebecd794c1b30f610b61a124c24aad354d829fb4c2e247c5d64e8c34c379df12c9c1cc34c411731c4bd67284c4a903e280843f04c54091658bc09f04c5d81ba5917eada4c66fa2a2b5af3394c707265d1c40a7c4c79ea6d4e91f2f24c836240a40349d44c8cd9dfd45687444c96514ae1c9fe524c9fc881ce9bdcfc4ca93f849d0a2c364cb2b6534f52cfe84cbc2cede7b386f74cc5a3546869eb454ccf1986d3b371b24cd88f852bcd6a234ce2054f72f4ff824ceb7ae5ab6737c64cf4f047d760f3f24cfe6575f91ef0164d07da7012ddc35a4d114f3626d9dffa4d1ac3c8374f934c4d243826467b05c34d2dac5056983af24d37204669e311904d409408829743784d4a0796a2f065b44d537af0cd29e8744d5cee17037f171d4d666109482b18444d6fd3c79d68edb54d794652057374774d82b8a8828564cd4d8c2acb16d952374d959cb9c4a9ab7a4d9f0e748e30baa24da87ffb75a8a5024db1f14e7d4b6b3c4dbb626da752e93f4dc4d358f5f8d64c4dce44106b76c4fd4dd7b4940a0623434de124e3d3e03a6a4dea94ffcb3e2f1f4df404e7f25901714dfd749c4b698cd44e06e41cd8a888244e1053699c4e85aa4e19c2829893f31e4e233167cfb119a94e2ca01943de1de94e360e96f752fff64e3f7ce0ec479b614e48eaf724f3a73d4e5258d9a38eb61a4e5bc6886a5036114e6534037b6f70c04e6ea14ad9238b534e780e5e85a386814e817b3e83263e964e8ae7ead3e26b6d4e9454637a0ea0804e9dc0a877e14cdc4ea72cb9cf90bb304eb09897835311cc4eba0441955e52a44ec36fb807e85b504eccdafadd26e5174ed6460a174f84e94edfb0e5b897ab694ee91b8dc334a4ed4ef28602395b99814efbf0431d418cee4f055a50711b5eb44f0ec42a371dca184f182dd0717d661e4f219743226ea5964f2b00824c25d7154f34698df0d724fb4f3dd26612b6957c4f473b0ab3f80a9c4f50a37bd6cf42344f5a0bb97d6fd5f74f6373c3aa0d3b734f6cdb9a5edac4164f76433d9e0b9d304f7faaad69d2cff64f8911e9c46341834f9278f2afefb2e14f9bdfc82eaac1064fa5466a42c6e4d94faeacd8ee7673374fb8131433eb9cf54fc1791c15586ee04fcadef094eed1c74fd44491b4e08a754fdda9ff775f39bd4fe70f39de9c5c774ff07440ecc94b844ff9d914a4173bd650033db506b73e6b500ca22216da40575016065bd6b10ac2501f6a62486c42ef5028ce356e3c6a3e503231d54a51de2e503b9541dedcd8605044f87b2e0d6e9b504e5b813a1392ce5057be54051f1316506120f3915f99bb506a835fe104ad3b5073e598f63db047507d479ed339e1c85086a9717a285ce250900b10ed3818f750996c7d2e97e9ab50a2cdb640767ee550ac2ebc250264d450b58f8ede6a03f150bef02e6edba10350c8509ad8855d2050d1b0d41d9535b350db10da4039047c50e470ad429e7f9550edd04d26f3397650f72fb9ef64a0f351008ef39e2001465109edfa3552820e51134ccdb7292751511cab6e25d0d183512609db83763d84512f6815d24604a95138c61d146c9cb8514223f14c1657f2514b81927b6f65125154df00a4a3cf50515e3c3bc9df7e6651679943ed4e368f5170f619111b9892517a52bb377321bd5183af2a62802be9518d0b66946ded815196676fcf677986519fc3461597bf8a51a91ee969298bba51b27a59cc4786e051bbd597411c366251c530a1c9d1fc4d51ce8b796893174e51d7e61e1f89a2bc51e1408ff0df969c51ea9acedebec79c51f3f4daeb50e71d51fd4eb418bf83365206a85a693406b4521001cdded7b91b52195b0e7bd3beb15222b41c42511878522c0cf73478a4385235659f54731c7e523ebe14a469189e5248165726830cbc52516e66dce949c7525ac643c9c3fd8452641dedef3b3288526d75654f76d0475276cca9ec9e9b07528023bbc8da33f452897a9ae65119175292d147472aa55d529c27c0ed8e109b52a57e07dba26f8f52aed41c138eb3e552b829fd9779ac3752c17fac698a041352cad5288be643fd52d42a7200b4d17252dd7f88ca1beee952e6d46cea41bbd952f0291e634c34ba52f97d9d3761330b5302d1e968a66d4e530c2602f9417714531579e9eb57c0f8531ecd9e410e98aa5328211ffc8b28e85331746f1ff27989533ac78bad696f8053441a75a714ccd7534d6d2d0f1930bc5356bfb1e79b177b5360120432beda8953696423f2a8b0825372b611297cad2c537c07cbd95ec17a538559540472bb94538eaaa9acdc46d35397fbccd4beebc853a14cbd7e3e103d53aa9d7bab7cf73953b3ee075e9ec10153bd3e6099c66b2253c68e875f16d06853cfde7bb0b2a8ed53d92e3d90bc8a1353e27dcd0156e68b53ebcd2a04a40e5953f51c549cc62ed553fe6b4ccbdf52ab5407ba12941161e5541108a5f77e21e8541a5706f847357a5423a535988e1cc5542cf331da743555543640fbc01aba23543f8e934ba2c3935448dbf87f2d47745452292b5cdb190a545b762be6cce90d5464c2fa1f2345ad546e0f9607fe9a9254775bffa37f30e45480a836f3c52f4a5489f43bfaf099ed5493400ebb21527c549c8baf3677183254a5d71d6f1187d354af225967101bb254b86d6320922bb454c1b83a9db6ed5354cb02dfe09d73a054d44d52eb64af4654dd9793c02b6e8f54e6e1a261105d6154f02b7ed032054b54f975290faecd7e5502bea121a4fad3550c07e70832afd2551550fac575ecb1551e99dc5b8c8f555527e28bcc94535b55312b091aaad214553a735447ed828d5543bb6d5679b991554d0354486ca9a955564b091fe36322555f928bdefad4105568d9dc87cfc84d557220fb1c7ee97f557b67e79f24bf1d5584aea211ddae6f558df52a76c5fa8d55973b80cff9c46a55a081a51f950ad455a9c79767b3aa7255b30d57aa715dcd55bc52e5e9e9bd5155c5984228383f4d55cedd6c677837fc55d82264a9c4d98355e1672af13933f355eaabbf3ff0355055f3f0219804a99055fd3451fb913aa2560678506cb0706f560fbc1ced7cb0da5618ffb780103fc55622432026853f19562b8656e2f5aebc5634c95bb77b6ca5563e0c2ea63034cf56474ecfb12da1445650913eda8d2a215659d37c246825955663158790d7c7e3566c576121f5236956759908d9d928a4567eda7eba9ca62956881bc2c65848b356915cd4ff249b22569a9db5671a067a56a3de640050d1ec56ad1ee0cce122d456b65f2bcee2fcc056bf9f45086e416f56c8df2c7b9ab0d656d21ee22a7fe92156db5e66173566bb56e49db843d2844a56eddcd8b26e7ab356f71bc76520612257005a845dff2d0b5709990f9f21b2275712d7692a9ea27e571c1591028c8e65572553872901e485572e914ba014f1db5737cede69dbe1ba57410c3f886cbdd3574a496efddd6e305753866ccc43b93d575cc338f5b543c95765ffd37c479109576f3c3c6210029957787873a923d8815781b47953983138578af04d638209a357942befdaf63d1e579d6760bc09857c57a6a2a008d07b0557afddadc35f948257b91889edcb273757c253348a2766ee57cb8dad9a8865f257d4c7f52102151757de020b1fa843ba57e73bef988e9fc857f075a28dc8b5ba57f9af240169f09e5802e873f5859a18580c21926c2eda6158155a7f6778b851581e933ae976195c5827cbc4f439c1975831041d89d653b8583a3c44ac5e511e5843743a5de419d4584cabfea079ec885855e3917631e69f585f1af2e11e042c58685222e3501ff6587189217ed9f37b587abfeeb5cd16f45883f68a8a3b0155588d2cf4fe3508545896632e13cc6064589f9935cd121cc358a8cf0c2c172f7358b204b132ec694158bb3a24e3a279c758c46f674049ef7258cda4784af3377d58d6d95805ae9dfc58e00e06728c4ddb58e94283939c50df58f276cf6aee8fae58fbaae9fa92d1cc5904ded34498bda1590e128b4b0fd87f591746121007869b59207967958f0b185929ac8bddb5880a5932df7eea89fe74593c1240be1b4e4c594544d15a783683594e7730c1af54fe5957a95ef5cf26a15960db5bf8e60752596a0d27cd0231f659733ec27431c073597c702bf082abbe5985a1644402cbcf598ed26b70bfd7b15998034178c7657a59a133e65e26ea5459aa645a22ebba8059b3949cc923095459bcc4ae52d9e94159c5f48ec21d4bd759cf243e18fa01c559d853bc597cbadd59e1830985b2061859eab2259fa6519359f3e110a965ea9d59fd0fcaa4fcfdad5a063e539477966c5a0f6cab79e19fb85a189ad25746e3a45a21c8c82eb30b7b5a2af68d02319fc55a342420d3ce08475a3d5183a5938c085a467eb5798d51515a4fabb651c65db45a58d8863049960b5a6205251721be7b5a6b319308597a775a745dd005fb4cc85a7d89dc121197865a86b5b72ea69c215a8fe1615dc47b645a990cdaa17535765aa23822fbc2a9da5aab633a6eb6977b5ab48e20fc5a9ca15abdb8d6a6b837005ac6e35b6fd8c3b35ad00daf59c57f475ad937d2668785b05ae261c49827d25a5aeb8b85f0af40235af4b516722689635afdde761e9647e95b0707a4f806f5045b1030a30080e97f5b1959703a0c5daa5b22820ca6b169585b2baa78487803e65b34d2b3216804395b3dfabd338920c55b47229680e2ef8c5b504a3f0b7ce6235b5971b6d55e59b45b6298fde08e7f045b6bc0142f146a6c5b74e6f9c2f70fe85b7e0dae9e3d43125b873432c2edb7265b905a86330eff055b9980a8f0a78d3b5ba2a69afdbdb3fb5babcc5c5c57a5275bb4f1ed0e7b72515bbe174d162f0cbe5bc73c7c757845695bd0617b2e5ccd035bd9864942e233f95be2aae6b50dea775bebcf5386e540675bf4f38fba6d65765bfe179b51ab69185c073b764ea43a875c105f20b35ca8cb5c19829a81d962b75c22a5e3bc1ef6ef5c2bc8fc6431d3ea5c34ebe47c1647f45c3e0e9c05d081335c47312303648da55c50537976d65b285c59759f6229b77a5c629794c762503b5c6bb959a883b2f15c74daee07914d0a5c7dfc51e68e6bdf5c871d85477e3cb75c903e882c63cccb5c995f5a974209425ca27ffc8a1bbf3b5caba06e06f39bd15cb4c0af0fcc2c135cbde0bfa6a7dd145cc7009fcd88fbe25cd0204f8671b5915cd93fced364173a5ce25f1db6620dfe5ceb7e3c316d67065cf49d2a4687cf8e5cfdbbe7f7b2d4dd5d06da7546efe44f5d0ff8d236404b565d1916fec7a5377b5d2234fafd1fb6615d2b52c6d8b0b5cb5d3470625c5903975d3d8dcd8a194dcc5d46ab0863f222905d4fc812ebe3f0375d58e4ed23ef053a5d6201970e1390435d6b1e10ac51a0285d743a5a00a923f55d7d56730d19eaeb5d86725bd3a3a4805d8f8e145645e0655d98a99c97000e8b5da1c4f497d17f1f5daae01c5ab962925db3fb13e1b6c9985dbd15db2ec8a52f5dc6307243edc69d5dcf4ad92324df775dd8650fce6c819e5de17f1647c31f485dea98ec91270aff5df3b292ac9677a35dfccc089c0f786d5e05e54e619000f65e0efe63ff15e5335e181749769ed97c5e212ffeca28728c5e2a4883fbb025865e3360d90d3347f75e3c78fe00af0fd75e4590f2d820938b5e4ea8b79584c9ef5e57c04c3ad88a4d5e60d7b0ca188c685e69eee54541687d5e7305e9ae4f97425e7c1cbe073f71f05e853362520d323b5e8e49d690b4f2615e97601ac532ad1f5ea0762ef1823dc25ea98c13179f601c5eb2a1c73985b0925ebbb74b5930ac175ec4cc9f789bb0315ecde1c399c1fafe5ed6f6b7be9eab305ee00b7be92cc01a5ee920101b6719a65ef23474574878645efb48a89ecb7d825f045cacf3eaaad65f0d708158a062dd5f168425cee6e8bf5f1f979a58b860515f28aadef80ece155f31bdf3aee417455f3ad0d87f3201cb5f43e38d6af234475f4cf612741e361a5f5608679caf6f5b5f5f1a8ce69f28e15f682c8253e68c495f713e47e67ea3f05f7a4fdda0605afa5f83614383847d575f8c727991e3b7c15f95837fcd7697c05f9e945638358bb05fa7a4fcd418e2be5fb0b573a318ccee5fb9c5baa72d5b1e5fc2d5d1e24e7f065fcbe5b956740b3c5fd4f5710595b3375fde04f8f1ab0b505fe714511cab88c95ff02379888e81c95ff93272374b2d616002413b2ad8a393600b4fd4652ddd4e60145e3de841b475601d6c77b60ae3df60267a81d080075a602f885c39979bb060389606f347fea76041a381ff876f03604ab0cd604c0c8c6053bde9178bd80b605ccad5273cb3546065d79191546141606ee41e57c885ba6077f07b7c8ea5b46080fca9019c2737608a08a6e8e6515d6093147534624c56609c2013e605216b60a52b82ffc3bb0360ae36c28392e49c60b741d273674add60c04cb2d1357b8860c957639ef1e58b60d261e4de90d8f660db6c369206870760e47658bb47022860ed804b5c463df360f68a0e76f80f3560ff93a20d502beb61089d0621422b4f6111a63ab4c185d1611aaf3fc9c1951f6123b81562359424612cc0bb80109f0d6135c9322545b34b613ed17953c7af966147d9910d8953ee6150e179547d419b6159e9322a95fb3a6162f0bb91c5e4b2616bf8158bff43406174ff401b343d76617e063b4156db3c61870d07005905d6619013a35a2c87e761991a1050c30d6e61a2204de60e23cd61ab265c1bff39ca61b42c3af4879f9461bd31ea719886c161c6376a9523025561cf3cbb611806c061d841dcd76869e761e146cefa04e31e61ea4b91cade0b3461f350254be45c6a61fc54897f083282620558be6639cab9620e5cc4036943cc6217609a58869dfb622064416781bb09622967b9324a5e4562326b01bad02c83623b6e1b0302ac27624471050cd14523624d73bfda2b40f96256764b6cffcac3625f78a7c73def2b62687ad4ead49c7a62717cd2d9b2a292627a7ea195c6b2f36283804120ff60be628c81b17d4b20b6629582f2ac984943629e8404b0d5127862a784e78bef960e62b0859b3fd5cf6e62b9861fce759baf62c2867539bcb99a62cb869b8398c9ae62d48692adf74e1d62dd865abac5aad662e685f3abf1258262ef855d8366e58962f884984313f411630183a3ece53c07630a828082c78a1c6313812e06a78cc7631c7fac7a71d44e63257dfbe012d2c0632e7c1c3976dbfe63377a0d888a25b9634077cfcf38c778634975630f6eba9a635272c74b17da53635b6ffc841fe3b663646d02bc7275b6636d69d9f5fb11246376668232a518b2637f62fb745bd0ff63885f45bd0a608a63915b610e9bcfc2639a574d6afb090163a3530ad412d89063ac4e994bcdecac63b549f8d416d58463be45296ed8054163c7402b1dfbd00263d03afde36c6be263d935a1c113f0fd63e23016b8dc596e63eb2a5cccaf815263f42473fe7726cf63fd1e5c501cea0e64061815c38a4d45640f11a05aa8b4ba64180afc176166be64210428fb9d8bb46429fd2709462e156432f5f642443a71643bee96a8807f6f6444e7083de3add2644ddf4b0456587f6456d75efdc0f474645fcf442c0bd8d96468c6fa911f3ef76471be822ee34240647ab5db073fe0506483ad051c1cf8f0648ca4006f624e1764959acd02f783ef649e916ad8c420d464a787d9f2af8d5a64b07e1a52a1144e64b9742bfa7fe2b564c26a0eec3307d464cb5fc329a1753164d45548b4b1fe9364dd4a9f8f4b5a0564e63fc7bb541fdb64ef34c13ab2cab264f8298c0f4db77265011e283b0b2555650a1295bfd135e0651306d49f85ecf2651bfae4dc0f30bb6524eec67752c9c4652de279733662f36536d5fdd19f8988653fc9539473ad256548bc7abd981fcc6551af734ef215e5655aa23d4a66a63b656394d8b1daca07656c874587335cea65757983cc551cf3657e6b938324aaa365875d74ad8688ee65904f274d5f1d3a659940ab6492af6765a23200f50569cf65ab2328009b594665b4142089386d2165bd04ea90c0773565c5f58619172bdc65cee5f3242021f465d7d631b3bed2e265e0c641c9d69a9a65e9b623684ab79865f2a5d690fe4aec65fb955b45d45835660484b188afc5a8660d73d95b735c0f661662d2c001c6cd661f519db83d93e26628403a460933ea66312ea86b46fa22663a1ce829d91c6a66430af983a1b347664bf8dc7a82b9e36654e691105e0e16665dd4174715705f6666c16f208a83ee666fae989e9ecea566789b93c333b91866818860902a8e90668a74ff07647d0f6693616f2ac2954f669c4db0fc25cacb66a539c47d6ef3bb66ae25a9b07ec91566b711609735e69866bffce93374cac766c8e843871bd6ee66d1d36f940b4f2366dabe6d5c235a4966e3a93ce144021566ec93de254d330d66f57e512a1ebc8b66fe6895f19850bd670752ac7d9984b067103c94d001d0486719264eeab08e4967220fdacf84fc56672af938805e3af56733e267ff1b4d90673ccb694d9b1a7b6745b43c6dbc6af2674e9ce1615deb1a675785582a5e2a0d67606da0ca9b99cf676955bb43f48f5a67723da7984742a0677b2565c971ce8667840cf5d95230ed678cf457c9c64ab46795db8b9cabdfb8679ec29153e096d367a7a968f141f9eb67b0901276ad75e467b9768de6005aae67c25cdb4117db4267cb42fa89d10da767d428ebc208eaf467dd0eaeeb9c4f4e67e5f4440867f9f367eed9ab1a488d3267f7bee4231a8e766800a3ef24ba6644680988cc2104604068126d7b19d4ab27681b51fc110758e26824364f08785e76682d1a74020394126835fe6aff84b50d683ee23402d75feb6847c5cf0dd7165b6850a93c225f3d3e68598c7b424b1ca668626f8c6f75dfda686b526fabba955668743524f8f42ed4687d17ac58fd81456885fa05cdb144da688edc3158ea15036897be2efc82707268a09ffeba54b92268a981a0943b344e68b263148c100a8168bb445aa3ad478f68c42572dcecda9968cd065d39a8961468d5e719bbba2fc368dec7a864fb40c268e7a8093745458268f0883c34719dcf68f968415e598ccf69024818b6d6390b690b27c23fc0ac666914073dfaf1d42a691ce68bea4281066925c5ac0f8b670f692ea49e6ca51dc66937836303682016694061f9d5accc5869494062e54b645a69521e9e341c0d58695afcabc3f6d0056963da8b96b3988d696cb83dae2a3695697595c20c325d3e697e7318b2a3a32669875041a355827069902d3ce01f58be69990a0a6ad8673869a1e6aa4557d29269aac31c7174a30569b39f60f105c45769bc7b77c5e205de69c55760f1e01a8269ce331c76d698bb69d70eaa569bfa9a69dfea0a93069dc369e8c53d2decc37869f1a0422924909869fa7b1986840d9d6a0355c347e126a46a0c303f6f11ab6d6a150a8dfdeb4f5c6a1de4aef643a9806a26bea259f0348f6a2f98682ac64eed6a3872006a9b3aaa6a414b6b1b441d8b6a4a24a83e9601056a52fdb7d665d2436a5bd699e48862276a64af4e6ad2654f6a6d87d56b1874146a76602ee72f0a8f6a7f385ae0ea88956a8810595a1f31c46a90e82a54a12d7b6a99bfcdd24486e46aa29743d4dd2cf16aab6e8c5e3ef25e6ab445a7703d8dbb6abd1c950cac99626ac5f355355f93846acec9e7ec29de286ad7a04d32debf276ae076850b51603d6ae94c8f7754cef76af2226c78bbfcc96afaf81c1159bf036b03cd9e4300ced86b0ca2f30f83c9636b15781a78b52fa26b1e4d148067667e6b2721e1286cb6ce6b2ff68072974d566b38caf260b93ac86b419f36f4a473c96b4a734e302ad0f76b534738151e0ee16b5c1af4a54fce156b64ee83e29193166b6dc1e5ceb4c66c6b76951a6b8ab4996b7f6821bae48e246b883afbbe93679a6b910da87868398b6b99e027ea33e0936ba2b27a15c71d586bab849efcf2948c6bb45696a186cef46bbd2861055439656bc5f9fe2a2b24c96bcecb6e11dbc61f6bd79cb0be3636806be06dc6310a731f6be93eae6c285d4d6bf20f69715fba7a6bfadff7428034376c03b057e159583a6c0c808b4fba985f6c1550918f734aa96c1e206aa252a9466c26f0168a27d2926c2fbf9548c1c9166c388ee6dfef738e6c415e0b517f9ce96c4a2d029f40f44b6c52fbcccb020d106c5bca69d6915ecf6c6498d9c3bd455b6c6d671c945400c36c7635324a23b55c6c7f031ae6fa6bba6c87d0d66ca610b76c909e64dcf475746c996bc639b34f606ca238fa84b0382d6cab0601bfb8ade56cb3d2dbec9a12da6cbc9f890d21adb76cc56c09231ca9786cce385c305815716cd7048236a0e54e6cdfd07b37c3f11a6ce89c47358df5396cf167e631cb92706cfa33582e494de96d02fe9d2cd3912f6d0bc9b52f36aa346d1494a0373ecb556d1d5f5e46b80b556d2629ef5f6e656a6d2ef453832db9336d37be8ab3c1cac66d408894f2f642a96d4952724296adda6d521c22a46e7dce6d5ae5a61a4908746d63aefca5f188376d6c782649331c026d75412305d8c7416d7e09f2ddad71e16d86d295d27be8576d8f9b0be60edb9c6d9863551a30e1366da12b7170ac73356da9f360eb4bf0376db2bb238bd99b6b6dbb82b9541f9c906dc44a2245e7ffff6dcd115e62fcb6a06dd5d86dad2795fb6dde9f502632582f6de76605cfe69bf96df02c8eac0de4b86df8f2eabc719a696e01b91a02db09ae6e0a7f1c811363d16e1344f238e3bec26e1c0a9b2c15151d6e24d0175c7046286e2d9566cbbe15db6e365a897bc72cde6e3f1f7f6e5418896e47e448a52d4aee6e50a8e5221b1ad46e596d54e6e5c3bb6e623197f55565e16e6af5ae4f32063f6e73b997f6438e916e7c7d54ec51cd546e8540e5332475cb6e8e0448cc831ffb6e96c77fba3548b96e9f8a89fe02519f6ea84d6799b181176eb110188f0a02596eb9d29cdfd2e56f6ec294f48dd31f386ecb571f9ad189686ed4191e0894e2896edcdaefd8e3ce026ee59c950d84d4146eee5e0da83e61e06ef71f59aad6c9686effe0791714418f6f08a16beebce61f6f1162323396b7c66f1a22cbe7679c206f22e3390bf55db06f2ba379a305abe86f34638dae5e1b2a6f3d23752fc424cc6f45e33028fd27146f4ea2be9bce653f6f57622089fd07866f602155f54e1b176f68e05edf8692226f719f3b4a6b43d26f7a5deb37c0ec546f831c6ea94c2cd96f8bdac5a0d18b956f9498f0201573c76f9d56ee28dc35b36fa614bfbcea06ab6faed264de0301116fb78fdd8deb24526fc04d29ce6654f16fc90a49a1385c836fd1c73d0824e9b56fda840404ef904b6fe3409e995bc9246febfd0cc72cf23d6ff4b94e90264eaf6ffd7563f60b06b97006314cfa9e27b7700eed099fa2a42e7017a899e6db53cb702063fdd20af36170291f3562f424f47031da409b596faf703a951f7cfd3ff470434fd209a1e752704c0a5843099c8d7054c4b22af67ba3705d7edfc32a85c4706638e10d67a162706ef2b60b6f9a257077ac5ebf0420f8708065db29e6cc0470891f2b4dd916b87091d84f2c9c61c8709a9146c7f1f32b70a34a12219af62870ac02b13b587b4a70b4bb2416eb787070bd736ab614c8c770c62b851a952ccd70cee373462d4a5270d79b353a9dac8170e052caf9a6c3da70e90a348508e63770f1c171de844ecf70fa788307d91e3971032f6802c75a6b710be620d10eeebd71149cad746fabf1711d530deea9482771260942417b5ef1712ebf4a6ea571467137752677e6e58f71402ad65eff07a17148e05a25ad08c2715195b1cdafffaf715a4add58c6e8997162ffdcc8b0a527716bb4b01f2bfc7d717469575df79b3a717d1dd286d213797185d2219b79dcd7718e86449dad547571973a3b8f2abcf4719fee0671b03e8171a8a1a546fbe6cc71b1551810cba91371ba085ed0dd5e2171c2bb7988eec44e71cb6e683abd7f8471d4212ae807194071dcd3c19289009471e5862c3c008a2871ee386ae62af04071f6ea7d92c552b971ff9c64438cb71072084e1efa3e085e7210ffadb89617607219b11080519a7772226247532d2da9722b135232e552a37233c431213670bd723c74e41fdcd4fd7245256b3094b214724dd5c6551a2063725685f58f291e01725f35f8e07d8eb57267e5d04ad33bff7270957bcfe5d517727944fb7170eef07281f44f31300439728aa37710de755f7293527312378893729c014336f669c572a4afe780d62aac72ad5e5ff191c2c572b60cac8ae40f5872bebacd4e87d37572c768c23e37b7fd72d0168b5bae4b9e72d8c428a8a602d772e1719a26d937fc72ea1edfd8022b3572f2cbf9bddb028172fb78e7da1dc9be730425aa2e84729d730cd240bcc8d4b473157eab86a4ad75731e2aea8dd1a0367326d6fdd409362d732f82e55b04de7d73382ea1247dee297340da31322da0247349859585cd154b735230ce21155469735adbdb05bf4a39736386bc3583c96b736c3171b21b8a9d7374dbfb7d3f2c6b737d865998a733677386308c060c0a19738eda92c726010c7397846dddad4ec573a02e1d4b5a0fcc73a8d7a111e446ac73b180f93303dbf373ba2a25b0709e3773c2d3268be2421773cb7bfbc710623b73d424a563b27f5a73dccd236380003a73e57575c83031b073ee1d9c937a46a773f6c597c715581c73ff6d6764b865267408150b6e1a52f27410bc83e4f1eccb741963d0caf5e41874220af221dcd060742ab1e7eb5d2f4a743358b2292d64a2743bff50dd03ba577444a5c408966083744d4c0bad9b6d667455f227cdc8dd6d745e98186ad4933474673ddd86745782746fe377225dd954747888e54046adda74812e27e1e450787489d33f08ec22ca7492782ab7136ca6749b1ceaee0f5c1e74a3c17faf95058174ac65e8fd59635f74b50a26d911568874bdae394471a61274c65220412eff5774cef5dbd0fdf5fa74d7996bf59303e674e03cd0b0a2895474e8e00a03e0ccca74f18317f101fb1d74fa25fa79ba27767502c8b19fbd4b52750b6b3d64bf468075140d9dca73df2b751cafd2d28ec1d6752551dc7ec38163752df3bad0c5970e7536956dca486274753f36f56cff29977547d851ba9d18d975507982b4d5430475591a885d5aa14a7561bb62b5e01348756a5c11c0185f057572fc957db630f8757b9cedf06c1c0675843d1b19ec9988758cdd1cfbea094a75957cf39816b191759e1c9ef024bf1375a6bc1f05c6450975af5b73daad3d2075b7fa9d708b878a75c0999bc912eaf375c9386ee5f5148f75d1d716c8e3981075da7593738fefb575e313e4e7ab7c3e75ebb20b26e784fa75f4500632f537c175fcedd60d85a8fd76058b7ab849d3a3760e28f434f2993d7616c6428530c1ea761f6365aab4fc5c7628005da72fdde076309d2a7c51e25c763939cc2bcb6c507641d642b74cc4dc764a728e20861bc276530eae69278760765baaa392e104bd7664466d9f627785766ce20c905baa0c76757d80677c4d4e767e18c92673f8f37686b3e6cef22b55768f4ed962a649797697e9a0e33f9f1776a0843d526d5e9c76a91eaeb1dea12b76b1b8f50342669e76ba53104847958776c2ed00829cfb3676cb86c5b3f14bba76d4205fddf321dd76dcb9cf0250ff2e76e5531322b94c0076edec2c40da576a76f6851a5e62574a76ff1ddd7cff684b7707b6759e5f8ddf77104ee2c430b2487718e724f020a69777217f3c23dd22ae772a17286113c5437732aee9a97213e0773b467ffea57ae97743ddeb625b4d99774c752bd640c60677550c415c030525775da32bf54f12c8776639eba3d1dda3776ed08069383b4e777766ea472ee845777ffd293f6287ec7788933d537fa48f779129268532af637799bee4d628008e77a25478480bd72377aae9e0dc8a592477b37f1e954f938a77bc143174077a3c77c4a9197a5de81f77cd3dd6a9fe9f0b77d5d269049547d677de66d08bcd725077e6fb0d4152954a77ef8f1f26d00e9377f823063df122fe7800b6c28860fe6178094a5407cab39b7811ddbabdd93c8e781a70f6ac377a2a78230407d490346c782b96ee388e1a5c783429a9d9dbc214783cbc3aba23a8be78454ea0db103299784de0dc3e4baafc785672ece5804451785f04d2d25818207867968e067d27097870281e839958ce7878b9844b567c4b78814abf5f5e47827889dbcfc15a579778926cb572f430d1789afd7075d53ea378a38e00cba6d3a378ac1e667612299878b4aea176c0617278bd3eb1cf5a835378c5ce9781897e8b78ce5e528ef6299f78d6ede2f949424878df7d48c22b6d7578e80c83eb45374e78f09b94763f133678f92a7a64c15bcd7901b935b87452ef790a47c6730021bc7912d62c960cd893791b646823426f187923f2791c48c437792c805f82c79e2279350e1b5866aa54793d9bac9ecd7d967946291357a393ff794eb64f849050f579574361273aff2d795fd048414ad0b479685d04d466deea7970e996e2362a87797975fe6c5f9b9a7982023b748a0192798a8e4dfc5c133679931a36057c6eb1799ba5f39191998a79a43186a24200ae79acbcef3933f86e79b5482d580dbc8179bdd3410075700979c65e2a34111d8f79cee8e8f486b70a79d7737d437c15e179dffde72296fae979e88826937d0e6879f1123b97d3e01d79f99c263140e7387a0225e6616982617a0aaf7c29f2f7be7a1338e78c8274ed7a1bc2288abd0f0b7a244b3f2647c2b37a2cd42b60c774037a355ced3be0ee9c7a3de584b938e5a47a466df1da73f3c77a4ef634a1369b3a7a577e4d0f2545c07a60063b25e444a47a688dfee717d0c47a71159854640a8a7a799d076f6cf9f87a82244c39d68ea07a8aab66b5449fac7a933256e35aebdd7a9bb91cc5bd198d7aa43fb85e0eb6b77aacc629adf338ef7ab54c70b70dfd697abdd28d7b0248fb7ac6587ffb7348227acede483a040efc7ad763e63857994e7adfe959f810ca897ae86ea37ad26dc87af0f3c2c23f35d17af978b7cff9bd1c7b01fd82a5a485d07b0a822344e1f9c57b130699af546a8a7b1b8ae5e69e11627b240f07ec610f4b7b2c92ffc23f6cf97b3516cd69db1ae27b3d9a70e4d5f1337b461dea34d1afdd7b4ea1395b6ffe917b57245e5a526cc47b5fa759331a71b07b682a29e7696c577b70acd078e0a3827b792f4ce92145c77b81b19f39cc69897b8a33c76c830cf77b92b5c582e616127b9b37997e9652b17ba3b943613478787bac3ac32c6124e87bb4bc18e1bcdd577bbd3d4482e80ef27bc5be4611830ec87bce3f1d8f2e19c27bd6bfcafd8954a87bdf404e5e34cc257be7c0a7b2d074c67bf040d6fcfc2afe7bf8c0dc3e57b3267c0140b77882b9817c09c068ad1cd23b7c123fefddc5796f7c1abf4d0c1c13237c233e8039bfeb517c2bbd89685035e27c343c68996c0eb47c3cbb1dceb2799c7c4539a909c262667c4db80a4c3a9cd57c56364197b9e4ac7c5eb44eeddedda87c673232504813857c6fafebc093fa027c782d7b4060ece07c80aae0d14d2fe37c89281c74f6eed77c91a52e2cfc3d917c9a2215fafb17ef7ca29ed3e09161db7cab1b67df5ce74d7cb397d1f8fb5c4e7cbc14122f0a5cf67cc4902883276d757ccd0c14f6effa0a7cd587d78c0157107cde037043f8c0f97ce67edf20735c527ceefa24230e35c57cf7753f4d66421b7cfff030a1185e3c7d086af81fc14f337d10e595cafdc22e7d196009a46a4c827d21da53ada36bac7d2a5473e84585527d32ce6a55ece7447d3b4836f835c7817d43c1d9d0bc44387d4c3b52e11c63c47d54b4a22af214b97d5d2dc7afd92ddc7d65a6c3716d6e287d6e1f95714a7cd17d76983db10be9467d7f10bc324d2b317d878910f6a9a2787d90013bffbc97457d98793d4f2139ff7da0f114e672a3527da968c2c74bd42e7db1e046f347b5cb7dba57a16c0119a97dc2ced23312b9937dcb45d94a1737a17dd3bcb6b2a91e377ddc336a6e62e00a7de4a9f47eded8207ded2054e5b749d67df5968ba48660d97dfe0c98bce631317e06827c3070b73e7e0ef83600bfd7bd7e176dc62f6d5fc37e1fe32cbe1304c87e285869ae4a64a07e30cd7d01ad05877e394266b9d456177e41b726d859ad547e4a2bbd5ed64aa77e52a02a4ee355e37e5b146daa19df497e6388877212df817e6bfc77a86737a77e74703e4eafb1477e7ce3db6684fe5d7e85574ef17fb95b7e8dca98f138652b7e963db967476d2a7e9eb0b0554525327ea7237dbcc9c9997eaf96219f6d7f307eb8089bfec853497ec07aecdc723bb57ec8ed143a0316cb7ed15f121912ab647ed9d0e67b38a8de7ee24291620ca7227eeab412cf2626a27ef3256ac41c905a7efb9699428735d77f04079e4bfd51337f0c7879e21605187f14e92c06685cc67f1d59b4ba8b4c107f25ca140015af5e7f2e3a49d89e4bb47f36aa5645bbcead7f3f1a394904ce807f4789f2e40fca047f4ff983187328ae7f5868e9e7c53a947f60d827539c386f7f69473b5d8e439d7f71b626073166237f7a24e7521b92b17f82937f3fe2a49b7f8b01edd21c5fe57f9370330a5e71427f9bde4eea3e6e147fa44c417351d46a7facba0aa72e0b0c7fb527aa876861737fbd952115960fd27fc6026e534c37117fce6f92421fe0d47fd6dc8ce3a5ff7c7fdf495e39736e277fe7b606451cf0b27ff02285083733bb7ff88eda8456cca78000fb06bb10399b80096709adf7e1858011d2e35ea2141d801a3e93cea309e28022aa1aff8ee421802b1578f2f9acf7803380adaa77574c803bebb9279bbedc8044569b6bfaa837804cc1547927c0c180552be450b69eb3805d964af43ac1228066008865478ffb806e6a9ca5705c088076d487b6485ef0807f3e499962bb398087a7e250527c4b80901151dcaa967380987a983ffde6e180a0e3b57bdf33ab80a94ca991e12bd180b1b5748396673d80ba1e16529166c480c2868f0064942880caeede8ea2421f80d35704fedcac4980dbbf0252a5f74080e426d68b90308d80ec8e81ab2d4eb580f4f603b30f313180fd5d5ca4c7a0768105c48c81e84df4810e2b934c02d4188116927104a8b651811ef925ad6b610d81275fb147dc29bc812fc613d58c4ed481382c4d580cf7d28140925dd0ef353a8148f84541c4009a81515e03ac1c3c8c8159c3991188b4b481622905739a1dcb816a8e48d3e115978172f36333ee22f2817b58549551b5ca8183bd1cf99c2723818c21bc625db91781948632d12696dc819cea804786d4c581a54ea4c70e703e81adb2a0514d4fd481b61672e7d3433381be7a1c8c30032c81c6dd9d3ff331b381cf40f504ac59e181d7a423dbeaeff781e00729c73e515f81e86a06c835c4af81f0ccbae06079a881f92f46114d893c820191a85c8bf58a8209f3e1c3aaa9e7821255f248387ad8821ab7d9ebc4261a82231998afdc52a0822b7b2e960f90968233dc9b9fec5964823c3ddfcf010fab82449efb24dbff50824cffeda30b5d70825560b74b1d4871825dc1581e9fc7f8826621d01f20ccf1826e821f4e2e318e8276e245ad55b949827f42433e2510e88287a2180229ce7b829001c3faf17161829861472a09624882a0c0a190fef33082a91fd3315f5f6a82b17edc0cb7cb9e82b9ddbc249545c782c23c737a84c53c82ca9b0210132aad82d2f967e6cd402282db57a5003fb90582e3b5b95df7321b82ec13a50180318c82f47167ec6726e282fccf0220386b0a83052c739e80405a830d89bc68cad28b8315e6dc80a436c3831e43d3e7986b918326a0a29f3358f2832efd48a900d050833759c6068c8c86833fb61ab96231e183481246c30d4e2183506e4a2519587c8358ca24e111b19f836125d6f881a3af836981606cf4624b8371dcc13ff50a91837a37f9730ea3188382930907cc1bfb838aedefffb84ed3839348ae5c5dfebf839ba3441f47d86283a3fdb14a0071e383ac57f5de124af283b4b211dd07cccb83bd0c05486b4a3583c565d021c6ff8083cdbf726aa5129083d618ec248f92d883de723d5110795d83e6cb65f1b1a8b683ef246607fced1583f77d3d957bfc3d83ffd5ec9bb8758f84082e731c3be205841086d1188fb4358418df06923d4855842137138acde43984298ef803cab7588431e6b3febcdacb843a3e477d2d5150844295b280a5074e844aecf50aacd2d18453440f1ccd7393845b9b00b88f92f58463f1c9df7bc40b846c486a931a839284749ee2d4f437ff847cf532a691317284854b5a0979a9c5848da158ff35c4868495f72f894d8ef8849e4cdda949001d84a6a26360aff8ad84aef7c0b10a431f84b74cf59bdf93a784bfa20222b7883984c7f6e64719a88f84d04ba20a8d661f84d8a0356e9a1c2b84e0f4a074c70fb684e948e31e9b6f9284f19cfd6d9e545384f9f0ef6356c062850244b9014b9fed850a985a4903c8f88512ebd33c05fb52851b3f23dbd8e0a18523924c2a030c5e852be54c280afbd585343823d7771630853c8ad339cdac6c8544dd5a5094f963854d2fb91d5321cf855581efa18e3440855dd3fddecc2930856625e3d692e2f2856e77a18a682dc38576c936fbd1bfc1857f1aa42c5538f285876be91d782344858fbd05d0bff28d85980dfa47b2049485a05ec683d3a10785a8af6a86a9f98885b0ffe651ba29a885b95039e68936e885c1a065469c10c085c9f0687377909d85d240436ea079e285da8ff6399b79ed85e2df80d5ed281585eb2ee3451a05ad85f37e1d88a67e0985fbcd2fa216e67986041c1992ef7e51860c6adb5cb46ee58614b97500e9cb91861d07e6811391b58625562fdeb5a8ba862da4511b53e2128635f24a3871f93b863e401b379393bf86468dc41a3c4137864edb44e1ef7b4d8657289d9030a5ba865f75ce26830e508667c2d6a669ecf086700fb71168639586785c6f69017e538680a8ffaeb833588688f567e40f62ed869141a80a89d77786998dc023aa457d86a1d9b030f34ba686aa257833e772ba86b271182e092da686babc9020dad97c86c307e00ddebd7786cb5307f6970afa86d39e07dc85dd9386dbe8dfc12d3afa86e4338fa60f131986ec7e178cad400686f4c8777689860c86fd12af652593a387055cbf5a03017e870da6a756a352818715f0675c87f3cc871e39ff6d323cb58726836f8a236ece872eccb7b4dcb5e9873715d7eedf2810873f5ed039abc5938747a7a096c37901874ff04907a7172a875838c98dd75f28876081222ad4fa588768c952e0207c608771115baf3a63308779593c99a317038781a0f5a0daea628789e886c6621a2387922ff00bb8cd70879a7731725f15be87a2be4afbd4eedd87ab053ca99a3eef87b34c067d2ed66d87bb92a87812702887c3d9229bc4b14d87cc1f74e9c5296187d4659f6393524c87dcaba20aae904f87e4f17ce096321087ed372fe6c9709587f57cbb1ec76f4a87fdc21e8a0f3bfe8806075a2a1fcee8880e4c6e00780aa88816915a0e96bc4a881ed61e55fa9b4488271abad8224978882f5f2f968c533b8837a37c92b72f51883fe7a1ce213ef088482b9f4a48cdc388506f7508ac11ea8858b3230ac92bfe8860f6a9521e270e88693a07e028f8a888717d3eb66780d18879c04dd6578a0f888203354176c967888a45f4f942de5f8892888cff3952fe889acafd54d79bd388a30d45fb9b17ef88ab4f66f50110ec88b391604286baee88bbd331e5a934a188c414dbdfe5874288cc565e32b8a69788d497b8df9f70f988dcd8ebe816af4f88e519f74d9b151688ed5adb11a9405e88f59b9735bdb9cc88fddc2bbb54f49e89061c98a3eb4eab890e5cddf0fd106389169cfba4066cd5891edcf1be8381ae89271cc041f05737892f5c672fc8e05d89379be68988fab2893fdb3e50ac6e6789481a6e86aeee57895059772d0c180389589858453f73978960d711d0c473e6896915a3d11676748971540e47b0c37189799251360e8dbb8981d06c9daaf2e3898a0e608000fb2e89924c2cde8b9992899a89d1bac5abbe89a2c74f1629fa1789ab04a4f23337bc89b341d3505c028689bb7eda321ee30a89c3bbb998f64c9d89cbf871865c9d5289d43501fbcc1dfd89dc716afabf023589e4adac84af685689ece9c69b17598089f525b93f70c99e89fd61847335975f8a059d2837df8c438a0dd8a48ee85c908a1613f979c9a75d8a1e4f26f9fcf6928a268a2d10fbbee58a2ec50bc03f5fdf8a36ffc3094123df8a3f3a52ed7a40188a4774bb6e63d4948a4faefc8d76ec398a57e9164c2c7cc48a602308abfd66d18a685cd3ae6275d68a70967754d4602c8a78cff3a0cbc70c8a81094893c1368f8a8942762f2d25b58a917b7c7487f6618a99b45b6549f55f8aa1ed1302eb5a648aaa25a34ee4480d8ab25e0c4aaccbe68aba964df7bcde668ac2ce68578c62f38acb065b6b9327e58ad33e273548e6868adb75cbb62543138ae3ad48ef9fccbe8aebe49ee32ffdb28af41bcd924d3b0f8afc52d4fe6ed4f28b0489b5290c06748b0cc06e139bf5a78b14f6ffbf95b3a28b1d2d6a2e703c758b2563ad61a277378b2d99c95aa336038b35cfbe1ae935f58b3e058ba3eb1f338b463b31f71f84e88b4e70b115fce54d8b56a60901f9a9a28b5edb39bc8c26368b671043472a9a668b6f4525a34b309f8b7779e0d263fe608b7fae74d5eb04398b87e2e1af562dd28b901727601b51e78b984b45e9b0324b8ba07f3d4d8a7bed8ba8b30d8d1fc6d48bb0e6b6a9e596268bb91a38a55158258bc14d9380d866338bc980c73df004d48bd1b3d3de0d63ad8bd9e6b962a59d898be21977cd2db8598bea4c0f1f1aa5338bf27e7f59e140578bfab0c87ef651318c02e2ea8fce8a578c0b14e58dde898c8c1346b97a9ad7c48c1b78665777e9238c23a9ec25ea1d008c2bdb4ae765bde38c340c829d5f018c8c3c3d93494a08f18c446e7cec9ae03f8c4c9f3f88c57ee08c54cfdb1f3dc7768c5d004fb17787e28c65309d40e679448c6d60c3cefe3ffb8c7590c35d326ba78c7dc09becf6772d8c85f04d7fbdc8b68c8e1fd816fbb1b08c964f3bb4236ed28c9e7e7858a8281f8ca6ad8e05fcf0df8caedc7cbd94c7ac8cb70b4480e296698cbf39e55159324d8cc7685f306b5bdf8ccf96b21f8bbef68cd7c4de202cf2bf8cdff2e333c179be8ce820c15bbbc1cc8cf04e78998e241b8cf87c08eeaae5398d00a9725c84350e8d08d6b4e48c2ee08d1103d08834d9538d1930c548f0266f8d215d93282ff3988d298a3a2766099c8d31b6ba48041ca78d39e3138b7bcc528d420f45f33ea39b8d4a3b5180be18e98d526736356b8e108d5a92f412b8504e8d62be8b1a1598538d6ae9fb4cf48a3c8d731544acc635978d7b40673afb95678d836b62f90590218d8b9637e854f7b18d93c0e60a5a89798d9beb6d6086ee578da415cdec4abaa08dac4007af166e268db46a1aaa5a743a8dbc9406df8723aa8dc4bdcc500cbec38dcce76afd5b735b8dd510e2e8e35ac28ddd3a34141479d38de5635e805ec0f08ded8c622f320bff8df5b53f21fe22748dfdddf55a32b74a8e060684d93f690c8e0e2eeda093c1d18e16572fb19f37418e1e7f4b0dd12a958e26a73fb698e8978e2ecf0dad65a9a88e36f6b4f3a691bd8e3f1e358acab0628e47458f744100bd8e4f6cc2b178698c8e5793cf43dfbd2b8e5fbab52ce5b9948e67e1746df9085c8e70080d08883ebc8e782e7efe01dd8d8e8054ca4fd4514d8e887aeeff6df21d8e90a0ed0e3d03c38e98c6c47dafb5b28ea0ec754f3423008ea911ff843852748eb137631e2a367c8eb95ca01e77ad388ec181b6868e80748ec9a6a657dc65b08ed1cb6f93cefe1b8ed9f0123bd3d69b8ee2148e515867cb8eea38e3d5ca15fa8ef25d12ca9631338efa811b3129f5378f02a4fd0af289888f0ac8b8595d015e8f12ec4d1dd65bb78f1b0fbb59cb83498f2333030ea94e918f2b56243ddc7fcc8f33791ee8d1c4fe8f3b9bf310f5b7ee8f43bea0b7b4de2d8f4be127de7ba9128f54038886b675c18f5c25c2b1d18d298f6447d6613924058f6c69c396595ae08f748b8a529e3e168f7cad2a9773c5d48f84cea46645d61b8f8ceff7c0803ebe8f951124a78ebb6b8f9d322b1cdcf3a38fa5530b21d67ac58fad73c4b7e6d0078fb59457e0795e7d8fbdb4c49cf97d188fc5d50aeed26ea88fcdf52ad76f61e08fd61524583b71518fde34f772a1a3738fe654a4280ceaa58fee742a79e825268ff6938a699e1d248ffeb2c3f89988b29006d1d7284509d1900ef0c3fa0b2e6c90170f8a6f56705f901f2e2a8991357490274ca44a25cf65902f6af7b27e7be090378924c4056487903fa72b80249eef9047c50be8462caa904fe2c5fdd3fb3b90580059c237e42390601dc736dbacdf90683b0e5d2906e79070582f36898fb190787529c466d0b3908091fe082a3f699088aeac033d3d499090cb33b70917d49098e79524f7089090a103d04e70350690a91fe534ddaecc90b13bd3d9a8738290b9579c3e396cd090c1733e63f9706e90c98eba4c51402290d1aa0ff8a989c290d9c53f6a6ae73590e1e048a2fdde7490e9fb2ba3cae19190f215e86e3a4ead90fa307f03b4700691024aef65a17bf0910a6539956994da91127f5d9474c94d911a995b642b13f49122b33305f45b93912acce47b3873139132e66fc55f197a913affd4e5cff9f491431913ddf2abd2914b322caf2eb28a91534b1f5aeb7db7915b63ebe290692091637c924784bcb7916b95128b2fac969173ad6caef8590a917bc5a0b445ce889183ddae9c7f05bc918bf596690ae37d91940d581b5038da919c24f3b4b5c31691a43c6936a22ba691ac53b8a27c083c91b46ae1f9a9dac091bc81e53d92115491c498c26f9b065691ccaf79912b006591d4c60aa3a8325991dcdc75a878bb4d91e4f2baa102a69e91ed08d98eabebec91f51ed272da6f1c91fd34a54ef4005592054a52245e5c0d920d5fd8f47f2afb92157539c0bc0226921d8a748a7a62de92259f89531fbac1922db4781c1163bb9235c940e6b4a40a923ddde3b46eae3d9245f26086a4a134924e06b75ebb882492561ae83e185a9c925e2ef3261ffc7c926642d818373e03926e569715c2dbc592766a3020277eb4927e7da338c9bc21928690f0610e15b8928ea4179a58f9889296b718e60ec1ff929ec9f44593b5ef92a6dca9ba4c089192aeef39459bd97d92b701a2e8e734ba92bf13e6a59212b292c726047d00583c92cf37fc7095d69a92d749ce81b64b7a92df5b7ab1c560fa92e76d010226ada692ef7e61743db47c92f78f9c096de4ee92ffa0b0c31a9ae09307b19fa2a71ead930fc268a976a5279317d30bd8ec4f96931fe389326b2bc29327f3e0b75633e59330041269104ec09338141e48fc4f8a93402404587cf5fc934833c498f4ee539350435f0bc6d14c935852d3b2552427936062228e0258a99368714ba030cd229370804eea42cc6693788f2c6d9a8dd493809de42b9a35549388ac7625a3d35f9390bae25d1964f69398c928d35cd3b093a0d74989cff5ae93a8e54481d48da793b0f319bccc4ae693b900c93c18c94993c10e53011b914493c91bb70d3617e593d128f561c9bed293d9360e0037d44c93e14300e9e1932f93e94fce202822f793f15c75a46c97bb93f968f7780ff237940175539c731fc59409818a12f6fa6494118d9adcfc48b694199985fbe3be069421a54b710dfa429429b0eb3ddb8a059431bc6563ace6939439c7b9e3e275da9441d2e8bfdc8a779449ddf1f8fb63b49451e8d5909f2d8c9459f393882800ad9461fe2be0f5e271946a089e9c68c4ef947212ebbbe086ed947a1d1340bcf3eb948227152c5dc421948a30f180229c8094923aa83d6b0eb4949a44396596992794a24da4fa04a6ff94aa56eafc14902494b2600b6d25993c94ba69064e96f3b194c271dba1c7bdb094ca7a8b6817022c94d28315a2e3b8dc94da8b7a538cc64194e293b97b70fba494ea9bd31bef171a94f2a3c73665c38494faab95cc33988e9502b33edeb71ab5950abac26f4ebb469512c2207f58d860951ac9591033bcf29522d06c233da0c5952ad759b9d4a8729532de21d556e56e953ae4c4772256039542eb41a094e557954af199530c6b6a9552f7cb8fe6ad1d955afdd858815c28956303bfae3a1728956b0981926e699b95730f1e067bcbdf957b14950bbfa336958319e6a39741c9958b1f12cf5fe6a6959324199076bdc3959b28fae838e00295a32db6d803532b95ab324d613309f695b336be8524e40795bb3b0a4535adf395c33f30a2c2213b95cb43319f26e45595d3470d3bc08aa995db4ac379eb949595e34e545b046f6b95eb51bfe067757595f355060b70edf595fb5826dd7d0d2896035b2257e7f446960b5df87c0db183961360a94b4a4014961b6334c6f9882a9623659af0775ef9962b67dbc91f86b6963369f7524dae9a963b6bed8d5d72e596436dbe7baa5cdd964b6f6a1e8fe2cc965370f07769680a965b725187923cf79663738d50659f02966b74a3d33eb8a1967375951178a161967b76610c6e5dd896837707c57adfb3968b77893df905ac969377e577439b98969b781c72b55a5e96a3782e31a8e7fa96ab781ab578d78596b377e1ff7fa92e96bb77841117ca4196c37700eb9b952696cb76589065516496d3758b00cf339f96db74983e335d9e96e3738049ebde4796eb72432552b1a796f370e0d1c1c0ee96fb6f595092e27097036daca31fd9ae970b6bdacac2574b971369e3c8d3f91a971b67c79eae4a17972365864daac269972b631fd722c769973360943c6faba0973b5de37eeaaec397435b0d9fecfdbe974b5812a0cfb2b0975354f282ebd4ec975b51ad479a58fc97634e42f03420a2976b4ab37e11fadb977346fef28ca3da977b43254efcc51297833f2694baf532978b3b02c51fb829979336b9e1837f23979b324beb3ea89197a32db8e3a9802497ab2900cc1c3ed397b32423a5ef0ad897bb1f217279f7b897c319fa3315063b97cb14ade918247897d30f3c95db2dcc97db09a63ab5eae397e303ead90011b897eafe0a7211459197f2f8050741170697faf1da99e704049802eb8b2b5a77c6980ae516bcf2cade9812de7d50074334981ad7bee5ef14069822d0db80015deb982ac9d31f952ed39832c2a5c601820c983abb53749d403d9842b3dc2cbf3f6d984aac3fefbe43009852a47ebef0fbbf985a9c989bae07cf9862948d874bf2bd986a8c5d8321357a9872840890843659987a7b8eb0cb491a988272efe54caee2988a6a2c2f5e96409892614390571b30989a5836098c471a98a24f039c5410d498aa45ac4a045ca398b23c3013f2fc3c98ba328efb75aeca98c228c901e220e698ca1ede288deca298d214ce70ce998398da0a99dbf99c8898e200406b64582798e9f5c220641c5198f1eb1efc4e267298f9e0570077a1739901d56a2e35a5bb9909ca5886dd39319911bf220bc34f3c9919b3c6be3cc8c69921a8469f9e743d99299ca1b13d0d91993190d7f46d3e3b993984e96a839d3b994178d614d4af1899496c9df4b4e5e6995160410b78a142995953bf5a742e5799614718e2fbc7df99693a4da663962399712d5da5ffaefb99792048e32415d29981130f5f24bbaa998905b11b557f139990f82e190a2c3a9998ea8659967ce099a0dcb9de4e185e99a8cec8a88493aa99b0c0b2b98d715499b8b27812bc218799c0a418b564021099c89594a2d85e5899d086ebdc6c6f6d99d8781e63735bf899e0692c3940384b99e85a155f26065e99f04ad9d677b5ca99f83b79a08823d29a002bf4beaa1b649a081c4b323055149a100c7cfc6d77239a17fc8a1eb415809a1fec729a56b1c69a27dc3670a7bb409a2fcbd5a2f98eeb9a37bb50329e77759a3faaa620e8ad3e9a4799d76f2a565c9a4f88e41eb5869c9a5777cc30dc3f809a5f668fa6f070449a67552e8243f5de9a6f43a8c4289afe9a7731fe6df018119a7f202f80ec13459a870e3bfe6e20819a8efc23e7c7c1719a96e9e73e4a65839a9ed786034769e59aa6c5003810198b9aaeb255ddf5ad319ab69f86f6494b569abe8c93825c08459ac6797b837ee6109ace663efb02d4959ad652ddea38b1809ade3f58527148479ae62bae34fd52329aee17df932d76589af603ec6e5249a19afdefd4c7bc4ec99b05db98a0bbf6619b0dc737faa19ecc9b15b2b2d6bd94489b1d9e09366010e99b25893b1ad93c9b9b2d744885792d279b355f31778fe6329b3d49f5f26d593b9b453495f76165a69b4d1f1187bbd8af9b550968a4cc6d7a9b5cf39b4fe2cd0b9b64dda98a4e8e489b6cc793555f35ff9b74b158b26436e29b7c9af9a2acf18e9b8484762788b4859b8c6dce4246bc369b945701f43632fc9b9c40113ea6311c9ba428fc22e5bcce9bac11c2a243ca359bb3fa64be0f3b659bbbe2e27796e0699bc3cb3bd029773a9bcbb370c915abc99bd39b8163aa17fc9bdb836da13543b09be36b358305a4ba9beb52d90a699eea9bf33a5838af840c9bfb21b30f2593e89c0308e98f19fc429c0aeffbb9dad8de9c12d6e990b633839c1abdb314fa03f59c22a45847f42fff9c2a8ad92af28b6f9c327135bf42d8189c3a576e0632c5d29c423d82010ff2839c4a2371b127ea149c52093d17c8267d9c59eee4363e0fbf9c61d4670dd6fbec9c69b9c59fe02f1f9c719effeda6db8a9c798415f87821699c816907c1a10f0f9c894dd54a6ea0e49c91327e942dc15e9c991703a02b49119ca0fb646fb3fea69ca8dfa1041496db9cb0c3b95e99b48f9cb8a7ad808fe8b69cc08b7d6b43b2669cc86f2920017ecf9cd052b0a015a9439cd83613eccc7b339ce0195307722c339ce7fc6df152e1f89cefdf64abbab05f9cf7c23737f599679cffa4e5974f8d399d07876fcb146a239d0f69d5d48ffca09d174c17b50dff539d1f2e356dda1b0d9d27102f003fe6cb9d2ef2046d8ae7bb9d36d3b5b70691369d3eb542ddfe44cc9d4696abe3bd523c9d4e77f0c98ef77b9d56591190be60af9d5e3a0e3a96a8389d661ae6c862d6ad9d6dfb9b3b6de2dd9d75dc2b9502b1d39d7dbc97d66c16d09d859ce000f4d3599d8d7d0415e7972d9d955d04168f00489d9d3ce004359aec9da51c97e025e1999dacfc2babaa3d129db4db9b680d04609dbcbae716987cd09dc49a0eb896d9f89dcc79124f523db29dd457f1dc14b8269ddc36ad602847c49de41544dcd6d9489debf3b8536a47be9df3d207c52c5c7a9dfbb0333366cf269e038e3a9f6345bb9e0b6c1e0a6b54839e1349dd75c87e1d9e1b2778e2c4337b9e2304f052a7d3e79e2ae243c6bcad029e32bf73404bfac49e3a9c7ec09ee77f9e42796648fe8be29e4a5629dab3eef79e5232c9770806259e5a0f451f43b5329e61eb9cd4afce479e69c7d0989511e99e71a3e06c3c2f049e797fcc50edc2e79e815b9447f259449e89373852926c369e9112b87216643e9e98ee14a7c698479ea0c94cf4eb4da69ea8a4615accb81a9eb07f51dab2f9cf9eb85a1e75e623629ec034c72dae33dc9ec80f4c035318b79ecfe9acf81cadde9ed7c3ea0d52bdb19edf9e03443d01039ee777f89e231f1c9eef51ca1c4cadbb9ef72b77c00131199eff05018a881be49f06de677d28cf489f0eb7a9992a9aeb9f1690c7dfd4bcf19f1e69c2526e61fb9f264298f23ea52b9f2e1b4bc08c90219f35f3dabe9f1b039f3dcc45edbd2c769f45a48d4f2d99a79f4d7cb0e43726459f5554b0ae20848a9f5d2c8cae3055349f650444e5ad278f9f6cdbd955dd796e9f74b34a0007b7309f7c8a96e5723bc49f8461c0076350a49f8c38c567212ddd9f940fa705f1fa0a9f9be664e51bca5a9fa3bcff05e4a28e9fab9375699274fd9fb369c8116b22929fbb3ff6feb47ad29fc3160232b43bd69fcaebe9aeb012569fd2c1ad73ed99a09fda974d83b25ba09fe26cc9df43d0e19fea422287e760889ff217577ee2605e9ff9ec68c57a14cca001c1565cf3b0dca00996204694563ca0116ac683a11540a0193f49155eecdfa02113a7fd12cabba028e7e33c018b1ca030bbfad36ff8f3a0388feec4a2cddea04063bf10deb227a048376bb9683cc2a0500af4bf83f355a057de5a24764a35a05fb19be983a468a06784ba0ff053a7a06f57b49900985ba0772a8b85f8a1a6a07efd3ed81c8d5fa086cfce90b06813a08ea23ab0f82d07a09674833a37c63aa09e46a82db30c6aa0a618a98cadc70aa0adea87586bac4fa0b5bc419230612aa0bd8dd83b3f7950a0c55f4b54dc7733a0cd309ae04acc07a0d501c6decdd7c8a0dcd2cf51a8e931a0e4a3b43a1f3dc6a0ec7475997401d1a0f4451370ea5066a0fc158dc1c53363a103e5e48d47a36da10bb617d4b487f8a1138627994eb745a11b5613dc58f663a12325dc9f15f930a12af581e2c8625ea132c503a8b2c36ca13a9461f2179cb0a142639cc0395d55a14a32b4145a6359a15201a7efbcfb93a159d07853a361b3a1619f25414fc03fa1696daeba04309ba1713c14bf02bb06a1790a57518d569ca180d87672e5e955a188a672244e480da190744a6708367ea19841ff3c556743a1a00f90a5777bdca1a7dcfea3b004aea1afaa4938408102a1b77770646a5f06a1bf4474296efbd4a1c71154888fa36fa1cede11830d90c0a1d6aaab1a29eda0a1de77214f25d2d5a1e643742342480ea1ee0fa397c043efa1f5dbafade0ac0aa1fda79866e454e3a205735dc40c01f0a20d3effc698659da2150a7e6fca214aa21cd5d9c0e1c54ea224a111bb1fd0f8a22c6c265fc4b28ea2343717b010c753a23c01e5ad445b83a243cc90589faa58a24b9717b362de0aa253617bbece0fcfa25b2bbc7c2147dda262f5d9ec9c7d6ca26abfd4117f96b8a27289aaec0a68fda27a535e7d7cb87fa2821ceec7163887a289e65bca168b68a291afa587bd4277a29978cc0149de1da2a141cf37fbcdc3a2a90aaf2d126fe7a2b0d36be1cd120da2b89c05576af0d0a2c0647b8f2b37d2a2c82cce8a4d01cda2cff4fe4a0f5889a2d7bd0acfb134e2a2df84f41c717ecca2e74cba318f0d4aa2ef145d1048a67ea2f6dbdcb9dcff9ca2fea3392f8abcf3a3066a72729071efa30e3188842ca115a315f87b659dbc08a31dbf4b18222389a32585f79cf82777a32d4c80f55e06d5a33512e72291efc4a33cd92a25d1ff89a3449f4a005c428fa34c6546b36eb465a3542b2040473fbfa35bf0d6a823be7ba363b669ec41f99ea36b7bda0ddfa959a37341270e3a7505a37b0650ee8ff32da382cb57b01da984a38a903b54210ceea39254fbdbd78180a39a1999487e5a7ea3a1de139b52da61a3a9a26ad59232d2a3b1669ef87984b3a3b92ab00545e01aa3c0ee9dfd344452a3c8b268e1819fe1a3d07610b36ad087a3d83995742ca33ca3dffcf72503d435a3e7c035c72d0ee5a3ef83515be4edfca3f74649e467fb6aa3ff091f61f2b060a406cbd1d5c17550a40e8e614110a1efa41650cda51c7d35a41e131703213d62a425d53d5c5b07fba42d9740b205f1cda4355921055dfeeca43d1ade579f22baa444dc78aa053fdea44c9deffdcc2854a4545f44542f9d5ca45c2075ae6b4f8da463e1840dbadec9a46ba26f7359da44a4736337e083c083a47b23dd5673ff65a482e45fd665f414a48aa4bf6194eb16a49264fbf93c2048a49a25159e96bedba4a1e50c52dfe15ea4a9a4e0175291b7a4b16490ed29c929a4b9241ed5a07056a4c0e389d1f15f38a4c8a2d1e3575d2fa4d061f70b0d20f7a4d820f94a4d50b0a4dfdfd8a25281daa4e79e951457395aa4ef5d2ea195eb7da4f71ba54b48fbf1a4fed9f912aabdcea5069829f8f57396a50e5637ff634f31a5161423272e71f7a51dd1eb7190eca5a5258f90dfc4bf6da52d4d137303d9e8a5350a732c881b25a53cc7b00d8b519ea54484ca17473b44a54c41c14af58577a553fe95a9cfcd0ea55bbb47350f9e53a56377d5edee7507a56b3441d5a5bc65a572f08aed6ecf1ea57aacb13682f75ea58268b4b21b6ecda58a249561715e8ca591e05345bddf40a5999bee6039f907a5a15766b21ea37fa5a912bc3ca4c5caa5b0cdef0105368aa5b888ff0078bbe5a5c043ec3c380b84a5c7feb6b57bca98a5cfb95e6d7c8dd8a5d773e36572d983a5df2e459e97215ea5e6e8851a21c8bca5eea2a1d94b227aa5f65c9bdd4b7102a5fe1673275ae64ca605d027b8b1a3dda60d89b99287bacca6154328b6152bbfa61cfc752491e6f1a624b59edf35cc2fa62c6ea5e738aad9a634278a3dd241e9a63be04be43a3feca64398eadba84308a64b51672553d8fda65309c0c2747f25a65ac1f7b441a276a6627a0bfbf29f82a66a31fd9abec278a671e9cc91dd4729a679a178e2855903a68159028dee1315a6891069954e8014a690c7adf9dd9a56a6987ecfbcd24bd4a6a035cedf636e32a6a7ecab62c7cab5a6afa36548361a4fa6b759fc90e50598a6bf10713e0b24d5a6c6c6c350defff4a6ce7cf2ca970e94a6d632ffac69b7fca6dde8e9f78d5324a6e59eb1ad3826b9a6ed5456cea06913a6f509d95cfc403fa6fcbf395981c1ffa7047476c566f3c7a70c2991a1e1cac1a713de89f0282bd1a71b935fb16feb90a7234812e6eece53a72afca391da8826a732b111b368bcd5a73a655d4cceffe5a74219865f42d499a749cd8cebf9adf5a7518170f428eebea75935327905e976a760e8d17bc5e064a7689c4dfd9e0595a7704fa7ffc37ad6a77802df836b51bca77fb5f489ca8ba3a78768e7141619b0a78f1bb72382dccfa796ce64b945a5b9a79e80efd69334efa7a633587ca03ac2a7ade59eaca15750a7b597c267cb1a83a7bd49c3af520419a7c4fba2846a83a0a7ccad5ee848f877a7d45ef8dc21b1d1a7dc10706128eeb5a7e3c1c57892de03a7eb72f823939e6ca7f32408635f3e7ea7fad4f63929bc9ea80285c1a627070ba80a366aab8afbe0a811e6f14a896915a819975584560c7da82147975a2493cda828f7b6cd289c97a830a7b3de95b450a838578e8f9f584fa8400746e178f5cca847b6dcd555e9e7a84f66506c6981a1a85715a1a7e6f9e6a85ec4d089017f86a86673dd10ec2f3ca86e22c740da15aea875d18f19fe2f69a87d80349d8b68eca8852eb7ccb49e9da88cdd18a8ac9cd5a8948b5732a61fdba89c39736bd3d3e7a8a3e76d55685522a8ab9544f0962faaa8b342fa3e8fdf8ea8baf08d4087d0d5a8c29dfdf7b05f7ba8ca4b4c653bd772a8d1f8788a5c74a8a8d9a58268446302a8e1526a0025be61a8e8ff2f533292a0a8f0abd2629cdb9ba8f858532f968527a90004b1bb516b1ba907b0ee06ff594fa90f5d0813d20b9ca91708ffe2fb2ddda91eb4d575ac5bf1a9266088cd1721baa92e0c19ea6cfb23a935b788cedf541ea93d62d57b9f88a1a9450dfff1dee4b0a94cb90832cea458a95463ee3f9ff3afa95c0eb21983eedca963b953c1aba20fa96b63d33948098ba9730e30818a119fa97ab86b9ba296b0a982628488c26530a98a0c7b4a1a39a8a991b64fe0dac0b2a99960024e349703a9a1099293584960a9a8b300b17654aaa9b05c4ca9bf25d9a9b805767d631a00a9bfae7e2d927e4ca9c75763bb7d9009a9cf002728547c9aa9d6a8c875476187a9de5147a3864c75a9e5f9a4b4413b28a9eda1dfa8a81b86a9f549f881eacb9ba9fcf1ef41391994aa0499c3e7c2c3c3aa0c417676b778a1aa13e906ef46d6cdaa1b907552a06d10aa2337c1a1f3ba5baa2adeebde702dccaa3285f4094526a7aa3a2cda23a1f463aa41d39e2eb5d6a1aa497a402baffd32aa5120c01bbf8818aa58c71e00138784aa606d59d9dafbdaaa681373aa44d5b2aa6fb96b727ff5d7aa775f4133bb2d4caa7f04f4ef253d49aa86aa86a5ecd73caa8e4ff659409cceaa95f5440a4f1fe2aa9d9a6fba46e295aaa53f796a565740aaace4611babe079aab48926cf75d117aabc2dca86e26c2baac3d24c431fe50caacb76ac055c5f4faad31ae9cec5eecdaadabf05a08a97a3aae262ff7bd84e31aaea06d761dcf71faaf1aa8d53c6675baaf94e2152c2641cab00f1935ffea2e1ab0894e37ca8c973ab103811a9ee6de7ab17db1de8fd16a0ab1f7e083b023a4dab2720d0a12b3fe9ab2ec3771ca57ec6ab3665fbae9e3e7eab3e085e5842b705ab45aa9f1ac0109cab4d4cbdf74363daab54eebaeef9b9abab5c909603100b54ab64324f34b3426eab6bd3e6851038ecab73755bf553b918ab7b16af86aa7d9aab82b7e13a413174ab8a58f111447004ab91f9df0ce0c50aab999aab2e42ac9faba13b557696933faba8dbdde708d5c8abb07c4480c5c178abb81c8944f993f3abbfbcac34d07b3eabc75cad517695c7abcefc8c9c17f25fabd69c4a15e09040abde3be5bffc5f10abe5db5f9b973ed8abed7ab7a9dd0011abf519edebf9639eabfcb90263181ad1ac0457f51064c768ac0bf6c5f50afb90ac139575123639e6ac1b34026911f57bac22d26dfac991d0ac2a70b7c88862daac320edfd379ad01ac39ace61cc8a528ac414acaa5a070a2ac48e88d6f2c253cac50862e7a96c93fac5823adc90b536bac5fc10b5bb4aaf9ac675e4733bda7a3ac6efb615251119cac769859b899a199ac7e353067c200caac85d1e560f4c8e3ac8d6e78a55c8416ac950aea3623ad1aac9ca73a1474af2aaca443684179e604acabdf74be5d9decacb37b5f8c4a13aeacbb1728ac69749dacc2b2d01fe5de94acca4e55e7e95ff9acd1e9ba059df7bdacd984fc7a2d955eace1201d46c218e5ace8bb1c6c8552ecacf055f9eca10499acf7f0b5c83edfa7acff8b500088865ead0725c896a78b99ad0ec01f8bc572caad165a54e10baff5ad1df46897a3a7b5ad258e5ab0b6af3aad2d282b2d6e0c4ead34c1da0ef2f551ad3c5b67566e9141ad43f4d30509f7b4ad4b8e1d1bee30dead5327459c44358ead5ac04c8734ef33ad625931dde937dbad69f1f5a189da35ad718a97d33f918ead792318743309dbad80bb77858cdfb0ad8853b50875a048ad8febd0fe15c982ad9783cb6795c9e6ad9f1ba4461e00a3ada6b35b9ad6bd8eadae4af166e84129adb5e265ab7abca1adbd79b869b651ceadc510e9a2c31335adcca7f957c9040badd43ee789f01830addbd5b43a603438ade36c5f6a412d68adeb02e91abac9b6adf299514cf4bfccadfa2f980216b709ae01c5bd3b484780ae095bc0f9b0f9fcae10f1a33e784800ae1887640ac59bc7ae201d035fc05043ae27b2813e8fb127ae2f47dda85afaddae36dd189e495a8cae3e72322181ee1cae46072a332bc430ae4d9c00d46ddc31ae5530b6066f2643ae5cc549ca56834dae6459bc214ac4feae6bee0d0c72adc2ae73823c8cf4f0d3ae7b164aa3f8322aae82aa3752a3068aae8a3e029a1bf380ae91d1ac7b896f5fae996534f811e148aea0f89c10dba126aea88be1c70cf7b1aeb01f061bcc1e6eaeb7b209103f3fb1aebf44eaa58c76a0aec6d7aadcd9cf2daece6a49b74d4621aed5fcc7360cc914aedd8f235a3e3675aee5215e25075d86aeecb377978dfe61aef4456fb2f7c9f4aefbd746786a6207af0368fbe90b593daf0afa900600330faf128c02d06e63d5af1a1d54497b50c2af21ae84724c4fe6af293f934c06a82faf30d080d7cf916daf38614d16cc344caf3ff1f80a21aa5daf478281b2f4fe13af4f12ea126b2ac6af56a33129a91cadaf5e3356f9d3b0ebaf65c35b840fb587af6d533ec981e970af74e300cb4efc7daf7c72a18a9b8f70af840221088c33f5af8b917f46456ca6af9320bc44ebad06af9aafd805a35989afa23ed28990c792afa9cdabd1d83d71afb15c63df9df26cafb8eafab4060eb7afc079705034ab7bafc807c4b54dd2d5afcf95f7e4757fd5afd72409decf9e86afdeb1faa5800be5afe63fca39aa95ebafedcd789c72fb87aff55b05cefceca8affce871d26c0a32b00475bca7e3e60ab00c02e650880310b0138feecd7bd522b01b1cd61fe2c121b022a99c48e01ce9b02a364149972f5eb031c2c5232b3062b0394f27d6bf48dcb040db69657692b9b0486789d07418e8b04ff38918dad763b0577f673fcdbb29b05f0b24466fa244b06696c02de35bc5b06e223af74ba7cab075ad94a3cb377cb07d38cd3484ad10b084c3e4aa9a9bcbb08c4edb072f8800b093d9b04b65e711b09b646478601f72b0a2eef78f4088a8b0aa796991296b4eb0b203ba7f3d010eb0b98dea5a9d74abb0c117f9246ce1ffb0c8a1e6ddcd55f5b0d02bb387e0ce97b0d7b55f23c93b05b0df3ee9b2a87b7ab0e6c85335a06149b0ee519badd2aee7b0f5dac31c6117e2b0fd63c9826d40e7b104ecaee118bfc2b10c757339851b62b113fe168cd3cbd4b11b8698dc263a49b1230efa289dc116b12a973a735babb0b1321f59bd8136b9b139a758082f8ff1b1412f355487d647b148b6f1a3ab19ccb1503e8cf6ba5bc0b157c6074ed68e89b15f4d60ad2095bcb166d49912b94617b16e5bb080c16588b175e2a6f859ab2bb17d697c7aa2bf4bb184f03108bd3b65b18c76c4a3c9aa26b193fd374ce8876db19b8389053a404fb1a309b9cddf3313b1aa8fc9a7f7af39b1b215b894a3f573b1b99b86950437aeb1c12133aa389910b1c8a6bfd5612df5b1d02c2b179dfbf8b1d7b175720ef9eeb1df369ee5d40fe7b1e6bba7740d1732b1ee408f1dd9da5fb1f5c555e45a1539b1fd49fbc8ad74cfb204ce80cbf39772b20c52e4ef4c0cb4b213d72833d6556bb21b5b4a9ab1e3b2b222df4c24fe1aebb22a632cd3da4fbfb231e6eca865c81ab2396a8ba3bfbb36b240ee09c7075195b2487167135ba504b24ff4a389dbc09bb25777bf2ba6a0c0b25efab9f9db3326b2667d93f59856ceb26e004d1ffcdc0b000000000000000000000000000000000000000000000000";
+ }
+
+ /// @notice Fetches the rate for a given basis points value
+ /// @param bps The basis points value to get the rate for
+ /// @return ray The annual rate value
+ function btor(uint256 bps) public view returns (uint256 ray) {
+ require(bps <= MAX);
+
+ assembly {
+ let offset := mul(bps, 8) // Each rate is 8 bytes
+ let wordPos := div(offset, 32) // Which 32-byte word to read
+ let bytePos := mod(offset, 32) // Position within the word
+
+ let dataSlot := keccak256(RATES.slot, 0x20)
+
+ let value := sload(add(dataSlot, wordPos))
+
+ let shifted := shr(mul(sub(24, bytePos), 8), value)
+
+ ray := add(and(shifted, 0xFFFFFFFFFFFFFFFF), RAY)
+ }
+ }
+
+ /// @notice Fetches the yearly bps rate for a given per second rate
+ /// @param ray The per second rate to get the rate for
+ /// @return bps The annual rate value
+ function rtob(uint256 ray) public pure returns (uint256 bps) {
+ // Convert per-second rate to per-year rate using rpow
+ uint256 yearlyRate = _rpow(ray, 365 days);
+ // Subtract RAY to get the yearly rate delta and convert to basis points
+ // Add RAY/2 for rounding: ensures values are rounded up when >= 0.5 and down when < 0.5
+ return ((yearlyRate - RAY) * BPS + RAY / 2) / RAY;
+ }
+
+ /// @notice Exponentiate `x` to `n` by squaring
+ /// @param x The base (RAY, 27 decimal places)
+ /// @param n The exponent (integer, 0 decimal places)
+ /// @return z The result
+ function _rpow(uint256 x, uint256 n) internal pure returns (uint256 z) {
+ assembly {
+ switch x
+ case 0 {
+ switch n
+ case 0 { z := RAY }
+ default { z := 0 }
+ }
+ default {
+ switch mod(n, 2)
+ case 0 { z := RAY }
+ default { z := x }
+ let half := div(RAY, 2) // for rounding.
+ for { n := div(n, 2) } n { n := div(n, 2) } {
+ let xx := mul(x, x)
+ if iszero(eq(div(xx, x), x)) { revert(0, 0) }
+ let xxRound := add(xx, half)
+ if lt(xxRound, xx) { revert(0, 0) }
+ x := div(xxRound, RAY)
+ if mod(n, 2) {
+ let zx := mul(z, x)
+ if and(iszero(iszero(x)), iszero(eq(div(zx, x), z))) { revert(0, 0) }
+ let zxRound := add(zx, half)
+ if lt(zxRound, zx) { revert(0, 0) }
+ z := div(zxRound, RAY)
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/src/Conv.t.sol b/src/Conv.t.sol
new file mode 100644
index 0000000..aebac24
--- /dev/null
+++ b/src/Conv.t.sol
@@ -0,0 +1,84 @@
+// SPDX-FileCopyrightText: © 2025 Dai Foundation
+// SPDX-License-Identifier: AGPL-3.0-or-later
+//
+// 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 .
+
+pragma solidity ^0.8.24;
+
+import "forge-std/Test.sol";
+import "./Conv.sol";
+import "./mock/RatesMapping.sol";
+
+contract ConvTest is Test {
+ Conv public conv;
+ RatesMapping public ratesMapping;
+ uint256 public maxBps;
+
+ function setUp() public {
+ conv = new Conv();
+ ratesMapping = new RatesMapping();
+ maxBps = conv.MAX();
+ }
+
+ function tesBbtor() public view {
+ for (uint256 bps = 0; bps <= maxBps; bps++) {
+ uint256 mappingRate = ratesMapping.rates(bps);
+ uint256 bytesRate = conv.btor(bps);
+
+ assertEq(bytesRate, mappingRate, string.concat("Rate mismatch at bps=", vm.toString(bps)));
+ }
+ }
+
+ function testBtorRevertsForInvalidBps() public {
+ vm.expectRevert();
+ conv.btor(maxBps + 1);
+
+ vm.expectRevert();
+ conv.btor(maxBps + 100);
+
+ vm.expectRevert();
+ conv.btor(1000 ether);
+ }
+
+ function testGas() public {
+ uint256 gasBefore = gasleft();
+ new Conv();
+ console.log("Deploy: ", gasBefore - gasleft());
+
+ for (uint256 i; i <= maxBps; i += 123) {
+ gasBefore = gasleft();
+ conv.btor(i);
+ console.log("Turn bps", i, ":", gasBefore - gasleft());
+ }
+ }
+
+ function testFuzz(uint256 bps) public view {
+ try conv.btor(bps) returns (uint256 result) {
+ assertTrue(bps <= maxBps, "Bps must be less than or equal to maxBps");
+ assertEq(result, ratesMapping.rates(bps), "Result must match mapping rate");
+ assertEq(bps, conv.rtob(result));
+ } catch {
+ assertTrue(bps > maxBps, "Bps must be greater than maxBps");
+ }
+ }
+
+ function testRtob() public view {
+ for (uint256 bps = 0; bps <= 10000; bps++) {
+ uint256 mappingRate = ratesMapping.rates(bps);
+ uint256 bpsResult = conv.rtob(mappingRate);
+
+ assertEq(bpsResult, bps, "Nrut result must match bps");
+ }
+ }
+}
diff --git a/src/Rates.sol b/src/Rates.sol
deleted file mode 100644
index a37d7ae..0000000
--- a/src/Rates.sol
+++ /dev/null
@@ -1,19 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity 0.8.19;
-
-interface RatesLike {
- function turn(uint256 bps) external view returns (uint256);
-}
-
-contract Rates {
-
- address[] public rates;
-
- constructor(address[] memory _rates) {
- rates = _rates;
- }
-
- function turn(uint256 bps) external view returns (uint256 rate) {
- rate = RatesLike(rates[bps / 800]).turn(bps);
- }
-}
\ No newline at end of file
diff --git a/test/RatesMapping.sol b/src/mock/RatesMapping.sol
similarity index 99%
rename from test/RatesMapping.sol
rename to src/mock/RatesMapping.sol
index d129f7b..03018e6 100644
--- a/test/RatesMapping.sol
+++ b/src/mock/RatesMapping.sol
@@ -1,9 +1,23 @@
-// SPDX-License-Identifier: MIT
-pragma solidity 0.8.19;
+// SPDX-FileCopyrightText: © 2025 Dai Foundation
+// SPDX-License-Identifier: AGPL-3.0-or-later
+//
+// 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 .
-contract RatesMapping {
+pragma solidity ^0.8.24;
- mapping (uint256 => uint256) public rates;
+contract RatesMapping {
+ mapping(uint256 => uint256) public rates;
constructor() {
rates[0] = 1000000000000000000000000000;
@@ -10008,4 +10022,6 @@ contract RatesMapping {
rates[9999] = 1000000021977967621966555560;
rates[10000] = 1000000021979553151239153027;
}
+
+ function test() public {} // Note: added this to exclude this contract from size verification on `forge build --sizes`
}
diff --git a/src/repositories/Rates0To799.sol b/src/repositories/Rates0To799.sol
deleted file mode 100644
index 8a489b0..0000000
--- a/src/repositories/Rates0To799.sol
+++ /dev/null
@@ -1,1065 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity 0.8.19;
-
-contract Rates0To799 {
- uint256 constant public MIN = 0;
- uint256 constant public MAX = 799;
-
- function turn(uint256 bps) external pure returns (uint256 rate) {
- if (bps > MAX) revert();
- if (bps < MIN) revert();
-
- assembly {
- switch gt(bps, 399)
- case 0 { // 0-399
- switch gt(bps, 199)
- case 0 { // 0-199
- switch gt(bps, 99)
- case 0 { // 0-99
- switch gt(bps, 49)
- case 0 { // 0-49
- switch gt(bps, 24)
- case 0 { // 0-24
- switch bps
- case 0 { rate := 1000000000000000000000000000 }
- case 1 { rate := 1000000000003170820659990704 }
- case 2 { rate := 1000000000006341324285480111 }
- case 3 { rate := 1000000000009511510939859271 }
- case 4 { rate := 1000000000012681380686500226 }
- case 5 { rate := 1000000000015850933588756013 }
- case 6 { rate := 1000000000019020169709960675 }
- case 7 { rate := 1000000000022189089113429267 }
- case 8 { rate := 1000000000025357691862457863 }
- case 9 { rate := 1000000000028525978020323563 }
- case 10 { rate := 1000000000031693947650284507 }
- case 11 { rate := 1000000000034861600815579870 }
- case 12 { rate := 1000000000038028937579429884 }
- case 13 { rate := 1000000000041195958005035834 }
- case 14 { rate := 1000000000044362662155580072 }
- case 15 { rate := 1000000000047529050094226024 }
- case 16 { rate := 1000000000050695121884118193 }
- case 17 { rate := 1000000000053860877588382173 }
- case 18 { rate := 1000000000057026317270124651 }
- case 19 { rate := 1000000000060191440992433418 }
- case 20 { rate := 1000000000063356248818377377 }
- case 21 { rate := 1000000000066520740811006546 }
- case 22 { rate := 1000000000069684917033352071 }
- case 23 { rate := 1000000000072848777548426231 }
- case 24 { rate := 1000000000076012322419222442 }
- default { revert(0, 0) }
- }
- case 1 { // 25-49
- switch bps
- case 25 { rate := 1000000000079175551708715274 }
- case 26 { rate := 1000000000082338465479860449 }
- case 27 { rate := 1000000000085501063795594852 }
- case 28 { rate := 1000000000088663346718836541 }
- case 29 { rate := 1000000000091825314312484750 }
- case 30 { rate := 1000000000094986966639419899 }
- case 31 { rate := 1000000000098148303762503603 }
- case 32 { rate := 1000000000101309325744578677 }
- case 33 { rate := 1000000000104470032648469142 }
- case 34 { rate := 1000000000107630424536980239 }
- case 35 { rate := 1000000000110790501472898427 }
- case 36 { rate := 1000000000113950263518991400 }
- case 37 { rate := 1000000000117109710738008089 }
- case 38 { rate := 1000000000120268843192678669 }
- case 39 { rate := 1000000000123427660945714570 }
- case 40 { rate := 1000000000126586164059808482 }
- case 41 { rate := 1000000000129744352597634363 }
- case 42 { rate := 1000000000132902226621847447 }
- case 43 { rate := 1000000000136059786195084249 }
- case 44 { rate := 1000000000139217031379962578 }
- case 45 { rate := 1000000000142373962239081538 }
- case 46 { rate := 1000000000145530578835021538 }
- case 47 { rate := 1000000000148686881230344303 }
- case 48 { rate := 1000000000151842869487592874 }
- case 49 { rate := 1000000000154998543669291624 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 50-99
- switch gt(bps, 74)
- case 0 { // 50-74
- switch bps
- case 50 { rate := 1000000000158153903837946257 }
- case 51 { rate := 1000000000161308950056043822 }
- case 52 { rate := 1000000000164463682386052718 }
- case 53 { rate := 1000000000167618100890422700 }
- case 54 { rate := 1000000000170772205631584889 }
- case 55 { rate := 1000000000173925996671951777 }
- case 56 { rate := 1000000000177079474073917237 }
- case 57 { rate := 1000000000180232637899856526 }
- case 58 { rate := 1000000000183385488212126301 }
- case 59 { rate := 1000000000186538025073064615 }
- case 60 { rate := 1000000000189690248544990934 }
- case 61 { rate := 1000000000192842158690206138 }
- case 62 { rate := 1000000000195993755570992533 }
- case 63 { rate := 1000000000199145039249613856 }
- case 64 { rate := 1000000000202296009788315281 }
- case 65 { rate := 1000000000205446667249323430 }
- case 66 { rate := 1000000000208597011694846379 }
- case 67 { rate := 1000000000211747043187073663 }
- case 68 { rate := 1000000000214896761788176285 }
- case 69 { rate := 1000000000218046167560306726 }
- case 70 { rate := 1000000000221195260565598948 }
- case 71 { rate := 1000000000224344040866168404 }
- case 72 { rate := 1000000000227492508524112044 }
- case 73 { rate := 1000000000230640663601508324 }
- case 74 { rate := 1000000000233788506160417212 }
- default { revert(0, 0) }
- }
- case 1 { // 75-99
- switch bps
- case 75 { rate := 1000000000236936036262880196 }
- case 76 { rate := 1000000000240083253970920290 }
- case 77 { rate := 1000000000243230159346542043 }
- case 78 { rate := 1000000000246376752451731545 }
- case 79 { rate := 1000000000249523033348456436 }
- case 80 { rate := 1000000000252669002098665913 }
- case 81 { rate := 1000000000255814658764290734 }
- case 82 { rate := 1000000000258960003407243230 }
- case 83 { rate := 1000000000262105036089417311 }
- case 84 { rate := 1000000000265249756872688471 }
- case 85 { rate := 1000000000268394165818913798 }
- case 86 { rate := 1000000000271538262989931978 }
- case 87 { rate := 1000000000274682048447563305 }
- case 88 { rate := 1000000000277825522253609693 }
- case 89 { rate := 1000000000280968684469854670 }
- case 90 { rate := 1000000000284111535158063399 }
- case 91 { rate := 1000000000287254074379982678 }
- case 92 { rate := 1000000000290396302197340948 }
- case 93 { rate := 1000000000293538218671848302 }
- case 94 { rate := 1000000000296679823865196492 }
- case 95 { rate := 1000000000299821117839058936 }
- case 96 { rate := 1000000000302962100655090723 }
- case 97 { rate := 1000000000306102772374928623 }
- case 98 { rate := 1000000000309243133060191095 }
- case 99 { rate := 1000000000312383182772478292 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 100-199
- switch gt(bps, 149)
- case 0 { // 100-149
- switch gt(bps, 124)
- case 0 { // 100-124
- switch bps
- case 100 { rate := 1000000000315522921573372069 }
- case 101 { rate := 1000000000318662349524435988 }
- case 102 { rate := 1000000000321801466687215330 }
- case 103 { rate := 1000000000324940273123237102 }
- case 104 { rate := 1000000000328078768894010037 }
- case 105 { rate := 1000000000331216954061024608 }
- case 106 { rate := 1000000000334354828685753035 }
- case 107 { rate := 1000000000337492392829649290 }
- case 108 { rate := 1000000000340629646554149104 }
- case 109 { rate := 1000000000343766589920669975 }
- case 110 { rate := 1000000000346903222990611176 }
- case 111 { rate := 1000000000350039545825353762 }
- case 112 { rate := 1000000000353175558486260576 }
- case 113 { rate := 1000000000356311261034676258 }
- case 114 { rate := 1000000000359446653531927249 }
- case 115 { rate := 1000000000362581736039321802 }
- case 116 { rate := 1000000000365716508618149987 }
- case 117 { rate := 1000000000368850971329683699 }
- case 118 { rate := 1000000000371985124235176666 }
- case 119 { rate := 1000000000375118967395864451 }
- case 120 { rate := 1000000000378252500872964469 }
- case 121 { rate := 1000000000381385724727675984 }
- case 122 { rate := 1000000000384518639021180123 }
- case 123 { rate := 1000000000387651243814639879 }
- case 124 { rate := 1000000000390783539169200122 }
- default { revert(0, 0) }
- }
- case 1 { // 125-149
- switch bps
- case 125 { rate := 1000000000393915525145987602 }
- case 126 { rate := 1000000000397047201806110961 }
- case 127 { rate := 1000000000400178569210660733 }
- case 128 { rate := 1000000000403309627420709360 }
- case 129 { rate := 1000000000406440376497311193 }
- case 130 { rate := 1000000000409570816501502501 }
- case 131 { rate := 1000000000412700947494301478 }
- case 132 { rate := 1000000000415830769536708248 }
- case 133 { rate := 1000000000418960282689704878 }
- case 134 { rate := 1000000000422089487014255380 }
- case 135 { rate := 1000000000425218382571305718 }
- case 136 { rate := 1000000000428346969421783819 }
- case 137 { rate := 1000000000431475247626599574 }
- case 138 { rate := 1000000000434603217246644855 }
- case 139 { rate := 1000000000437730878342793510 }
- case 140 { rate := 1000000000440858230975901380 }
- case 141 { rate := 1000000000443985275206806300 }
- case 142 { rate := 1000000000447112011096328109 }
- case 143 { rate := 1000000000450238438705268656 }
- case 144 { rate := 1000000000453364558094411809 }
- case 145 { rate := 1000000000456490369324523458 }
- case 146 { rate := 1000000000459615872456351529 }
- case 147 { rate := 1000000000462741067550625980 }
- case 148 { rate := 1000000000465865954668058822 }
- case 149 { rate := 1000000000468990533869344115 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 150-199
- switch gt(bps, 174)
- case 0 { // 150-174
- switch bps
- case 150 { rate := 1000000000472114805215157978 }
- case 151 { rate := 1000000000475238768766158601 }
- case 152 { rate := 1000000000478362424582986244 }
- case 153 { rate := 1000000000481485772726263252 }
- case 154 { rate := 1000000000484608813256594054 }
- case 155 { rate := 1000000000487731546234565179 }
- case 156 { rate := 1000000000490853971720745253 }
- case 157 { rate := 1000000000493976089775685018 }
- case 158 { rate := 1000000000497097900459917326 }
- case 159 { rate := 1000000000500219403833957155 }
- case 160 { rate := 1000000000503340599958301616 }
- case 161 { rate := 1000000000506461488893429953 }
- case 162 { rate := 1000000000509582070699803560 }
- case 163 { rate := 1000000000512702345437865976 }
- case 164 { rate := 1000000000515822313168042905 }
- case 165 { rate := 1000000000518941973950742212 }
- case 166 { rate := 1000000000522061327846353937 }
- case 167 { rate := 1000000000525180374915250300 }
- case 168 { rate := 1000000000528299115217785706 }
- case 169 { rate := 1000000000531417548814296756 }
- case 170 { rate := 1000000000534535675765102249 }
- case 171 { rate := 1000000000537653496130503193 }
- case 172 { rate := 1000000000540771009970782812 }
- case 173 { rate := 1000000000543888217346206550 }
- case 174 { rate := 1000000000547005118317022080 }
- default { revert(0, 0) }
- }
- case 1 { // 175-199
- switch bps
- case 175 { rate := 1000000000550121712943459312 }
- case 176 { rate := 1000000000553238001285730395 }
- case 177 { rate := 1000000000556353983404029733 }
- case 178 { rate := 1000000000559469659358533982 }
- case 179 { rate := 1000000000562585029209402065 }
- case 180 { rate := 1000000000565700093016775172 }
- case 181 { rate := 1000000000568814850840776775 }
- case 182 { rate := 1000000000571929302741512626 }
- case 183 { rate := 1000000000575043448779070771 }
- case 184 { rate := 1000000000578157289013521555 }
- case 185 { rate := 1000000000581270823504917627 }
- case 186 { rate := 1000000000584384052313293946 }
- case 187 { rate := 1000000000587496975498667797 }
- case 188 { rate := 1000000000590609593121038783 }
- case 189 { rate := 1000000000593721905240388847 }
- case 190 { rate := 1000000000596833911916682269 }
- case 191 { rate := 1000000000599945613209865674 }
- case 192 { rate := 1000000000603057009179868046 }
- case 193 { rate := 1000000000606168099886600725 }
- case 194 { rate := 1000000000609278885389957423 }
- case 195 { rate := 1000000000612389365749814222 }
- case 196 { rate := 1000000000615499541026029589 }
- case 197 { rate := 1000000000618609411278444380 }
- case 198 { rate := 1000000000621718976566881844 }
- case 199 { rate := 1000000000624828236951147633 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 200-399
- switch gt(bps, 299)
- case 0 { // 200-299
- switch gt(bps, 249)
- case 0 { // 200-249
- switch gt(bps, 224)
- case 0 { // 200-224
- switch bps
- case 200 { rate := 1000000000627937192491029810 }
- case 201 { rate := 1000000000631045843246298852 }
- case 202 { rate := 1000000000634154189276707659 }
- case 203 { rate := 1000000000637262230641991564 }
- case 204 { rate := 1000000000640369967401868332 }
- case 205 { rate := 1000000000643477399616038176 }
- case 206 { rate := 1000000000646584527344183758 }
- case 207 { rate := 1000000000649691350645970197 }
- case 208 { rate := 1000000000652797869581045076 }
- case 209 { rate := 1000000000655904084209038450 }
- case 210 { rate := 1000000000659009994589562852 }
- case 211 { rate := 1000000000662115600782213301 }
- case 212 { rate := 1000000000665220902846567304 }
- case 213 { rate := 1000000000668325900842184872 }
- case 214 { rate := 1000000000671430594828608518 }
- case 215 { rate := 1000000000674534984865363268 }
- case 216 { rate := 1000000000677639071011956667 }
- case 217 { rate := 1000000000680742853327878787 }
- case 218 { rate := 1000000000683846331872602231 }
- case 219 { rate := 1000000000686949506705582145 }
- case 220 { rate := 1000000000690052377886256219 }
- case 221 { rate := 1000000000693154945474044696 }
- case 222 { rate := 1000000000696257209528350379 }
- case 223 { rate := 1000000000699359170108558644 }
- case 224 { rate := 1000000000702460827274037431 }
- default { revert(0, 0) }
- }
- case 1 { // 225-249
- switch bps
- case 225 { rate := 1000000000705562181084137268 }
- case 226 { rate := 1000000000708663231598191269 }
- case 227 { rate := 1000000000711763978875515140 }
- case 228 { rate := 1000000000714864422975407191 }
- case 229 { rate := 1000000000717964563957148338 }
- case 230 { rate := 1000000000721064401880002111 }
- case 231 { rate := 1000000000724163936803214665 }
- case 232 { rate := 1000000000727263168786014781 }
- case 233 { rate := 1000000000730362097887613873 }
- case 234 { rate := 1000000000733460724167206002 }
- case 235 { rate := 1000000000736559047683967873 }
- case 236 { rate := 1000000000739657068497058849 }
- case 237 { rate := 1000000000742754786665620954 }
- case 238 { rate := 1000000000745852202248778881 }
- case 239 { rate := 1000000000748949315305640001 }
- case 240 { rate := 1000000000752046125895294364 }
- case 241 { rate := 1000000000755142634076814712 }
- case 242 { rate := 1000000000758238839909256483 }
- case 243 { rate := 1000000000761334743451657815 }
- case 244 { rate := 1000000000764430344763039558 }
- case 245 { rate := 1000000000767525643902405280 }
- case 246 { rate := 1000000000770620640928741268 }
- case 247 { rate := 1000000000773715335901016542 }
- case 248 { rate := 1000000000776809728878182856 }
- case 249 { rate := 1000000000779903819919174710 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 250-299
- switch gt(bps, 274)
- case 0 { // 250-274
- switch bps
- case 250 { rate := 1000000000782997609082909351 }
- case 251 { rate := 1000000000786091096428286786 }
- case 252 { rate := 1000000000789184282014189785 }
- case 253 { rate := 1000000000792277165899483884 }
- case 254 { rate := 1000000000795369748143017402 }
- case 255 { rate := 1000000000798462028803621438 }
- case 256 { rate := 1000000000801554007940109881 }
- case 257 { rate := 1000000000804645685611279421 }
- case 258 { rate := 1000000000807737061875909546 }
- case 259 { rate := 1000000000810828136792762559 }
- case 260 { rate := 1000000000813918910420583580 }
- case 261 { rate := 1000000000817009382818100549 }
- case 262 { rate := 1000000000820099554044024241 }
- case 263 { rate := 1000000000823189424157048266 }
- case 264 { rate := 1000000000826278993215849080 }
- case 265 { rate := 1000000000829368261279085986 }
- case 266 { rate := 1000000000832457228405401147 }
- case 267 { rate := 1000000000835545894653419590 }
- case 268 { rate := 1000000000838634260081749213 }
- case 269 { rate := 1000000000841722324748980791 }
- case 270 { rate := 1000000000844810088713687981 }
- case 271 { rate := 1000000000847897552034427333 }
- case 272 { rate := 1000000000850984714769738294 }
- case 273 { rate := 1000000000854071576978143215 }
- case 274 { rate := 1000000000857158138718147357 }
- default { revert(0, 0) }
- }
- case 1 { // 275-299
- switch bps
- case 275 { rate := 1000000000860244400048238898 }
- case 276 { rate := 1000000000863330361026888943 }
- case 277 { rate := 1000000000866416021712551525 }
- case 278 { rate := 1000000000869501382163663613 }
- case 279 { rate := 1000000000872586442438645123 }
- case 280 { rate := 1000000000875671202595898921 }
- case 281 { rate := 1000000000878755662693810828 }
- case 282 { rate := 1000000000881839822790749630 }
- case 283 { rate := 1000000000884923682945067084 }
- case 284 { rate := 1000000000888007243215097924 }
- case 285 { rate := 1000000000891090503659159869 }
- case 286 { rate := 1000000000894173464335553624 }
- case 287 { rate := 1000000000897256125302562895 }
- case 288 { rate := 1000000000900338486618454391 }
- case 289 { rate := 1000000000903420548341477830 }
- case 290 { rate := 1000000000906502310529865946 }
- case 291 { rate := 1000000000909583773241834499 }
- case 292 { rate := 1000000000912664936535582274 }
- case 293 { rate := 1000000000915745800469291101 }
- case 294 { rate := 1000000000918826365101125845 }
- case 295 { rate := 1000000000921906630489234425 }
- case 296 { rate := 1000000000924986596691747814 }
- case 297 { rate := 1000000000928066263766780050 }
- case 298 { rate := 1000000000931145631772428239 }
- case 299 { rate := 1000000000934224700766772564 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 300-399
- switch gt(bps, 349)
- case 0 { // 300-349
- switch gt(bps, 324)
- case 0 { // 300-324
- switch bps
- case 300 { rate := 1000000000937303470807876289 }
- case 301 { rate := 1000000000940381941953785771 }
- case 302 { rate := 1000000000943460114262530457 }
- case 303 { rate := 1000000000946537987792122901 }
- case 304 { rate := 1000000000949615562600558765 }
- case 305 { rate := 1000000000952692838745816824 }
- case 306 { rate := 1000000000955769816285858978 }
- case 307 { rate := 1000000000958846495278630254 }
- case 308 { rate := 1000000000961922875782058814 }
- case 309 { rate := 1000000000964998957854055963 }
- case 310 { rate := 1000000000968074741552516152 }
- case 311 { rate := 1000000000971150226935316988 }
- case 312 { rate := 1000000000974225414060319240 }
- case 313 { rate := 1000000000977300302985366843 }
- case 314 { rate := 1000000000980374893768286908 }
- case 315 { rate := 1000000000983449186466889726 }
- case 316 { rate := 1000000000986523181138968776 }
- case 317 { rate := 1000000000989596877842300728 }
- case 318 { rate := 1000000000992670276634645456 }
- case 319 { rate := 1000000000995743377573746041 }
- case 320 { rate := 1000000000998816180717328774 }
- case 321 { rate := 1000000001001888686123103168 }
- case 322 { rate := 1000000001004960893848761962 }
- case 323 { rate := 1000000001008032803951981130 }
- case 324 { rate := 1000000001011104416490419883 }
- default { revert(0, 0) }
- }
- case 1 { // 325-349
- switch bps
- case 325 { rate := 1000000001014175731521720677 }
- case 326 { rate := 1000000001017246749103509223 }
- case 327 { rate := 1000000001020317469293394491 }
- case 328 { rate := 1000000001023387892148968714 }
- case 329 { rate := 1000000001026458017727807397 }
- case 330 { rate := 1000000001029527846087469327 }
- case 331 { rate := 1000000001032597377285496570 }
- case 332 { rate := 1000000001035666611379414489 }
- case 333 { rate := 1000000001038735548426731741 }
- case 334 { rate := 1000000001041804188484940289 }
- case 335 { rate := 1000000001044872531611515405 }
- case 336 { rate := 1000000001047940577863915679 }
- case 337 { rate := 1000000001051008327299583027 }
- case 338 { rate := 1000000001054075779975942691 }
- case 339 { rate := 1000000001057142935950403252 }
- case 340 { rate := 1000000001060209795280356633 }
- case 341 { rate := 1000000001063276358023178106 }
- case 342 { rate := 1000000001066342624236226300 }
- case 343 { rate := 1000000001069408593976843206 }
- case 344 { rate := 1000000001072474267302354182 }
- case 345 { rate := 1000000001075539644270067964 }
- case 346 { rate := 1000000001078604724937276668 }
- case 347 { rate := 1000000001081669509361255798 }
- case 348 { rate := 1000000001084733997599264251 }
- case 349 { rate := 1000000001087798189708544327 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 350-399
- switch gt(bps, 374)
- case 0 { // 350-374
- switch bps
- case 350 { rate := 1000000001090862085746321732 }
- case 351 { rate := 1000000001093925685769805588 }
- case 352 { rate := 1000000001096988989836188433 }
- case 353 { rate := 1000000001100051998002646234 }
- case 354 { rate := 1000000001103114710326338391 }
- case 355 { rate := 1000000001106177126864407743 }
- case 356 { rate := 1000000001109239247673980573 }
- case 357 { rate := 1000000001112301072812166619 }
- case 358 { rate := 1000000001115362602336059074 }
- case 359 { rate := 1000000001118423836302734600 }
- case 360 { rate := 1000000001121484774769253326 }
- case 361 { rate := 1000000001124545417792658861 }
- case 362 { rate := 1000000001127605765429978297 }
- case 363 { rate := 1000000001130665817738222219 }
- case 364 { rate := 1000000001133725574774384703 }
- case 365 { rate := 1000000001136785036595443334 }
- case 366 { rate := 1000000001139844203258359204 }
- case 367 { rate := 1000000001142903074820076919 }
- case 368 { rate := 1000000001145961651337524612 }
- case 369 { rate := 1000000001149019932867613939 }
- case 370 { rate := 1000000001152077919467240095 }
- case 371 { rate := 1000000001155135611193281814 }
- case 372 { rate := 1000000001158193008102601379 }
- case 373 { rate := 1000000001161250110252044625 }
- case 374 { rate := 1000000001164306917698440949 }
- default { revert(0, 0) }
- }
- case 1 { // 375-399
- switch bps
- case 375 { rate := 1000000001167363430498603315 }
- case 376 { rate := 1000000001170419648709328258 }
- case 377 { rate := 1000000001173475572387395894 }
- case 378 { rate := 1000000001176531201589569924 }
- case 379 { rate := 1000000001179586536372597640 }
- case 380 { rate := 1000000001182641576793209935 }
- case 381 { rate := 1000000001185696322908121302 }
- case 382 { rate := 1000000001188750774774029849 }
- case 383 { rate := 1000000001191804932447617301 }
- case 384 { rate := 1000000001194858795985549004 }
- case 385 { rate := 1000000001197912365444473936 }
- case 386 { rate := 1000000001200965640881024708 }
- case 387 { rate := 1000000001204018622351817579 }
- case 388 { rate := 1000000001207071309913452452 }
- case 389 { rate := 1000000001210123703622512886 }
- case 390 { rate := 1000000001213175803535566102 }
- case 391 { rate := 1000000001216227609709162989 }
- case 392 { rate := 1000000001219279122199838110 }
- case 393 { rate := 1000000001222330341064109706 }
- case 394 { rate := 1000000001225381266358479708 }
- case 395 { rate := 1000000001228431898139433735 }
- case 396 { rate := 1000000001231482236463441109 }
- case 397 { rate := 1000000001234532281386954858 }
- case 398 { rate := 1000000001237582032966411716 }
- case 399 { rate := 1000000001240631491258232141 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 400-799
- switch gt(bps, 599)
- case 0 { // 400-599
- switch gt(bps, 499)
- case 0 { // 400-499
- switch gt(bps, 449)
- case 0 { // 400-449
- switch gt(bps, 424)
- case 0 { // 400-424
- switch bps
- case 400 { rate := 1000000001243680656318820312 }
- case 401 { rate := 1000000001246729528204564139 }
- case 402 { rate := 1000000001249778106971835268 }
- case 403 { rate := 1000000001252826392676989088 }
- case 404 { rate := 1000000001255874385376364739 }
- case 405 { rate := 1000000001258922085126285113 }
- case 406 { rate := 1000000001261969491983056866 }
- case 407 { rate := 1000000001265016606002970422 }
- case 408 { rate := 1000000001268063427242299977 }
- case 409 { rate := 1000000001271109955757303509 }
- case 410 { rate := 1000000001274156191604222783 }
- case 411 { rate := 1000000001277202134839283355 }
- case 412 { rate := 1000000001280247785518694582 }
- case 413 { rate := 1000000001283293143698649624 }
- case 414 { rate := 1000000001286338209435325454 }
- case 415 { rate := 1000000001289382982784882863 }
- case 416 { rate := 1000000001292427463803466464 }
- case 417 { rate := 1000000001295471652547204702 }
- case 418 { rate := 1000000001298515549072209857 }
- case 419 { rate := 1000000001301559153434578054 }
- case 420 { rate := 1000000001304602465690389263 }
- case 421 { rate := 1000000001307645485895707309 }
- case 422 { rate := 1000000001310688214106579884 }
- case 423 { rate := 1000000001313730650379038540 }
- case 424 { rate := 1000000001316772794769098706 }
- default { revert(0, 0) }
- }
- case 1 { // 425-449
- switch bps
- case 425 { rate := 1000000001319814647332759691 }
- case 426 { rate := 1000000001322856208126004689 }
- case 427 { rate := 1000000001325897477204800787 }
- case 428 { rate := 1000000001328938454625098968 }
- case 429 { rate := 1000000001331979140442834120 }
- case 430 { rate := 1000000001335019534713925045 }
- case 431 { rate := 1000000001338059637494274457 }
- case 432 { rate := 1000000001341099448839768997 }
- case 433 { rate := 1000000001344138968806279230 }
- case 434 { rate := 1000000001347178197449659663 }
- case 435 { rate := 1000000001350217134825748738 }
- case 436 { rate := 1000000001353255780990368849 }
- case 437 { rate := 1000000001356294135999326341 }
- case 438 { rate := 1000000001359332199908411521 }
- case 439 { rate := 1000000001362369972773398659 }
- case 440 { rate := 1000000001365407454650046000 }
- case 441 { rate := 1000000001368444645594095767 }
- case 442 { rate := 1000000001371481545661274166 }
- case 443 { rate := 1000000001374518154907291394 }
- case 444 { rate := 1000000001377554473387841645 }
- case 445 { rate := 1000000001380590501158603116 }
- case 446 { rate := 1000000001383626238275238013 }
- case 447 { rate := 1000000001386661684793392556 }
- case 448 { rate := 1000000001389696840768696987 }
- case 449 { rate := 1000000001392731706256765577 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 450-499
- switch gt(bps, 474)
- case 0 { // 450-474
- switch bps
- case 450 { rate := 1000000001395766281313196627 }
- case 451 { rate := 1000000001398800565993572478 }
- case 452 { rate := 1000000001401834560353459521 }
- case 453 { rate := 1000000001404868264448408194 }
- case 454 { rate := 1000000001407901678333952993 }
- case 455 { rate := 1000000001410934802065612482 }
- case 456 { rate := 1000000001413967635698889291 }
- case 457 { rate := 1000000001417000179289270128 }
- case 458 { rate := 1000000001420032432892225782 }
- case 459 { rate := 1000000001423064396563211131 }
- case 460 { rate := 1000000001426096070357665149 }
- case 461 { rate := 1000000001429127454331010908 }
- case 462 { rate := 1000000001432158548538655588 }
- case 463 { rate := 1000000001435189353035990479 }
- case 464 { rate := 1000000001438219867878390995 }
- case 465 { rate := 1000000001441250093121216670 }
- case 466 { rate := 1000000001444280028819811170 }
- case 467 { rate := 1000000001447309675029502300 }
- case 468 { rate := 1000000001450339031805602006 }
- case 469 { rate := 1000000001453368099203406382 }
- case 470 { rate := 1000000001456396877278195681 }
- case 471 { rate := 1000000001459425366085234312 }
- case 472 { rate := 1000000001462453565679770855 }
- case 473 { rate := 1000000001465481476117038063 }
- case 474 { rate := 1000000001468509097452252866 }
- default { revert(0, 0) }
- }
- case 1 { // 475-499
- switch bps
- case 475 { rate := 1000000001471536429740616381 }
- case 476 { rate := 1000000001474563473037313917 }
- case 477 { rate := 1000000001477590227397514978 }
- case 478 { rate := 1000000001480616692876373275 }
- case 479 { rate := 1000000001483642869529026724 }
- case 480 { rate := 1000000001486668757410597461 }
- case 481 { rate := 1000000001489694356576191838 }
- case 482 { rate := 1000000001492719667080900443 }
- case 483 { rate := 1000000001495744688979798088 }
- case 484 { rate := 1000000001498769422327943831 }
- case 485 { rate := 1000000001501793867180380974 }
- case 486 { rate := 1000000001504818023592137069 }
- case 487 { rate := 1000000001507841891618223927 }
- case 488 { rate := 1000000001510865471313637625 }
- case 489 { rate := 1000000001513888762733358503 }
- case 490 { rate := 1000000001516911765932351183 }
- case 491 { rate := 1000000001519934480965564567 }
- case 492 { rate := 1000000001522956907887931841 }
- case 493 { rate := 1000000001525979046754370490 }
- case 494 { rate := 1000000001529000897619782295 }
- case 495 { rate := 1000000001532022460539053343 }
- case 496 { rate := 1000000001535043735567054034 }
- case 497 { rate := 1000000001538064722758639085 }
- case 498 { rate := 1000000001541085422168647535 }
- case 499 { rate := 1000000001544105833851902754 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 500-599
- switch gt(bps, 549)
- case 0 { // 500-549
- switch gt(bps, 524)
- case 0 { // 500-524
- switch bps
- case 500 { rate := 1000000001547125957863212448 }
- case 501 { rate := 1000000001550145794257368662 }
- case 502 { rate := 1000000001553165343089147790 }
- case 503 { rate := 1000000001556184604413310579 }
- case 504 { rate := 1000000001559203578284602136 }
- case 505 { rate := 1000000001562222264757751932 }
- case 506 { rate := 1000000001565240663887473810 }
- case 507 { rate := 1000000001568258775728465991 }
- case 508 { rate := 1000000001571276600335411077 }
- case 509 { rate := 1000000001574294137762976059 }
- case 510 { rate := 1000000001577311388065812327 }
- case 511 { rate := 1000000001580328351298555666 }
- case 512 { rate := 1000000001583345027515826272 }
- case 513 { rate := 1000000001586361416772228753 }
- case 514 { rate := 1000000001589377519122352136 }
- case 515 { rate := 1000000001592393334620769870 }
- case 516 { rate := 1000000001595408863322039839 }
- case 517 { rate := 1000000001598424105280704358 }
- case 518 { rate := 1000000001601439060551290189 }
- case 519 { rate := 1000000001604453729188308543 }
- case 520 { rate := 1000000001607468111246255079 }
- case 521 { rate := 1000000001610482206779609923 }
- case 522 { rate := 1000000001613496015842837664 }
- case 523 { rate := 1000000001616509538490387361 }
- case 524 { rate := 1000000001619522774776692555 }
- default { revert(0, 0) }
- }
- case 1 { // 525-549
- switch bps
- case 525 { rate := 1000000001622535724756171269 }
- case 526 { rate := 1000000001625548388483226015 }
- case 527 { rate := 1000000001628560766012243800 }
- case 528 { rate := 1000000001631572857397596136 }
- case 529 { rate := 1000000001634584662693639037 }
- case 530 { rate := 1000000001637596181954713035 }
- case 531 { rate := 1000000001640607415235143177 }
- case 532 { rate := 1000000001643618362589239040 }
- case 533 { rate := 1000000001646629024071294727 }
- case 534 { rate := 1000000001649639399735588881 }
- case 535 { rate := 1000000001652649489636384685 }
- case 536 { rate := 1000000001655659293827929873 }
- case 537 { rate := 1000000001658668812364456731 }
- case 538 { rate := 1000000001661678045300182106 }
- case 539 { rate := 1000000001664686992689307414 }
- case 540 { rate := 1000000001667695654586018638 }
- case 541 { rate := 1000000001670704031044486342 }
- case 542 { rate := 1000000001673712122118865672 }
- case 543 { rate := 1000000001676719927863296364 }
- case 544 { rate := 1000000001679727448331902751 }
- case 545 { rate := 1000000001682734683578793766 }
- case 546 { rate := 1000000001685741633658062946 }
- case 547 { rate := 1000000001688748298623788446 }
- case 548 { rate := 1000000001691754678530033036 }
- case 549 { rate := 1000000001694760773430844112 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 550-599
- switch gt(bps, 574)
- case 0 { // 550-574
- switch bps
- case 550 { rate := 1000000001697766583380253701 }
- case 551 { rate := 1000000001700772108432278464 }
- case 552 { rate := 1000000001703777348640919706 }
- case 553 { rate := 1000000001706782304060163379 }
- case 554 { rate := 1000000001709786974743980088 }
- case 555 { rate := 1000000001712791360746325100 }
- case 556 { rate := 1000000001715795462121138343 }
- case 557 { rate := 1000000001718799278922344419 }
- case 558 { rate := 1000000001721802811203852608 }
- case 559 { rate := 1000000001724806059019556870 }
- case 560 { rate := 1000000001727809022423335855 }
- case 561 { rate := 1000000001730811701469052906 }
- case 562 { rate := 1000000001733814096210556068 }
- case 563 { rate := 1000000001736816206701678090 }
- case 564 { rate := 1000000001739818032996236434 }
- case 565 { rate := 1000000001742819575148033278 }
- case 566 { rate := 1000000001745820833210855527 }
- case 567 { rate := 1000000001748821807238474808 }
- case 568 { rate := 1000000001751822497284647491 }
- case 569 { rate := 1000000001754822903403114680 }
- case 570 { rate := 1000000001757823025647602229 }
- case 571 { rate := 1000000001760822864071820743 }
- case 572 { rate := 1000000001763822418729465585 }
- case 573 { rate := 1000000001766821689674216882 }
- case 574 { rate := 1000000001769820676959739530 }
- default { revert(0, 0) }
- }
- case 1 { // 575-599
- switch bps
- case 575 { rate := 1000000001772819380639683201 }
- case 576 { rate := 1000000001775817800767682345 }
- case 577 { rate := 1000000001778815937397356203 }
- case 578 { rate := 1000000001781813790582308807 }
- case 579 { rate := 1000000001784811360376128985 }
- case 580 { rate := 1000000001787808646832390371 }
- case 581 { rate := 1000000001790805650004651410 }
- case 582 { rate := 1000000001793802369946455358 }
- case 583 { rate := 1000000001796798806711330296 }
- case 584 { rate := 1000000001799794960352789133 }
- case 585 { rate := 1000000001802790830924329607 }
- case 586 { rate := 1000000001805786418479434295 }
- case 587 { rate := 1000000001808781723071570620 }
- case 588 { rate := 1000000001811776744754190855 }
- case 589 { rate := 1000000001814771483580732126 }
- case 590 { rate := 1000000001817765939604616422 }
- case 591 { rate := 1000000001820760112879250599 }
- case 592 { rate := 1000000001823754003458026386 }
- case 593 { rate := 1000000001826747611394320388 }
- case 594 { rate := 1000000001829740936741494099 }
- case 595 { rate := 1000000001832733979552893898 }
- case 596 { rate := 1000000001835726739881851062 }
- case 597 { rate := 1000000001838719217781681769 }
- case 598 { rate := 1000000001841711413305687103 }
- case 599 { rate := 1000000001844703326507153063 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 600-799
- switch gt(bps, 699)
- case 0 { // 600-699
- switch gt(bps, 649)
- case 0 { // 600-649
- switch gt(bps, 624)
- case 0 { // 600-624
- switch bps
- case 600 { rate := 1000000001847694957439350562 }
- case 601 { rate := 1000000001850686306155535442 }
- case 602 { rate := 1000000001853677372708948472 }
- case 603 { rate := 1000000001856668157152815356 }
- case 604 { rate := 1000000001859658659540346741 }
- case 605 { rate := 1000000001862648879924738219 }
- case 606 { rate := 1000000001865638818359170337 }
- case 607 { rate := 1000000001868628474896808595 }
- case 608 { rate := 1000000001871617849590803463 }
- case 609 { rate := 1000000001874606942494290377 }
- case 610 { rate := 1000000001877595753660389747 }
- case 611 { rate := 1000000001880584283142206967 }
- case 612 { rate := 1000000001883572530992832417 }
- case 613 { rate := 1000000001886560497265341466 }
- case 614 { rate := 1000000001889548182012794484 }
- case 615 { rate := 1000000001892535585288236844 }
- case 616 { rate := 1000000001895522707144698926 }
- case 617 { rate := 1000000001898509547635196126 }
- case 618 { rate := 1000000001901496106812728862 }
- case 619 { rate := 1000000001904482384730282575 }
- case 620 { rate := 1000000001907468381440827740 }
- case 621 { rate := 1000000001910454096997319869 }
- case 622 { rate := 1000000001913439531452699514 }
- case 623 { rate := 1000000001916424684859892282 }
- case 624 { rate := 1000000001919409557271808825 }
- default { revert(0, 0) }
- }
- case 1 { // 625-649
- switch bps
- case 625 { rate := 1000000001922394148741344865 }
- case 626 { rate := 1000000001925378459321381181 }
- case 627 { rate := 1000000001928362489064783628 }
- case 628 { rate := 1000000001931346238024403135 }
- case 629 { rate := 1000000001934329706253075715 }
- case 630 { rate := 1000000001937312893803622469 }
- case 631 { rate := 1000000001940295800728849590 }
- case 632 { rate := 1000000001943278427081548373 }
- case 633 { rate := 1000000001946260772914495212 }
- case 634 { rate := 1000000001949242838280451618 }
- case 635 { rate := 1000000001952224623232164215 }
- case 636 { rate := 1000000001955206127822364746 }
- case 637 { rate := 1000000001958187352103770087 }
- case 638 { rate := 1000000001961168296129082241 }
- case 639 { rate := 1000000001964148959950988353 }
- case 640 { rate := 1000000001967129343622160710 }
- case 641 { rate := 1000000001970109447195256751 }
- case 642 { rate := 1000000001973089270722919065 }
- case 643 { rate := 1000000001976068814257775407 }
- case 644 { rate := 1000000001979048077852438695 }
- case 645 { rate := 1000000001982027061559507021 }
- case 646 { rate := 1000000001985005765431563653 }
- case 647 { rate := 1000000001987984189521177042 }
- case 648 { rate := 1000000001990962333880900827 }
- case 649 { rate := 1000000001993940198563273844 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 650-699
- switch gt(bps, 674)
- case 0 { // 650-674
- switch bps
- case 650 { rate := 1000000001996917783620820123 }
- case 651 { rate := 1000000001999895089106048906 }
- case 652 { rate := 1000000002002872115071454639 }
- case 653 { rate := 1000000002005848861569516991 }
- case 654 { rate := 1000000002008825328652700847 }
- case 655 { rate := 1000000002011801516373456324 }
- case 656 { rate := 1000000002014777424784218768 }
- case 657 { rate := 1000000002017753053937408767 }
- case 658 { rate := 1000000002020728403885432150 }
- case 659 { rate := 1000000002023703474680679997 }
- case 660 { rate := 1000000002026678266375528644 }
- case 661 { rate := 1000000002029652779022339687 }
- case 662 { rate := 1000000002032627012673459986 }
- case 663 { rate := 1000000002035600967381221676 }
- case 664 { rate := 1000000002038574643197942168 }
- case 665 { rate := 1000000002041548040175924154 }
- case 666 { rate := 1000000002044521158367455616 }
- case 667 { rate := 1000000002047493997824809831 }
- case 668 { rate := 1000000002050466558600245373 }
- case 669 { rate := 1000000002053438840746006121 }
- case 670 { rate := 1000000002056410844314321266 }
- case 671 { rate := 1000000002059382569357405313 }
- case 672 { rate := 1000000002062354015927458089 }
- case 673 { rate := 1000000002065325184076664749 }
- case 674 { rate := 1000000002068296073857195778 }
- default { revert(0, 0) }
- }
- case 1 { // 675-699
- switch bps
- case 675 { rate := 1000000002071266685321207000 }
- case 676 { rate := 1000000002074237018520839584 }
- case 677 { rate := 1000000002077207073508220045 }
- case 678 { rate := 1000000002080176850335460252 }
- case 679 { rate := 1000000002083146349054657437 }
- case 680 { rate := 1000000002086115569717894196 }
- case 681 { rate := 1000000002089084512377238493 }
- case 682 { rate := 1000000002092053177084743673 }
- case 683 { rate := 1000000002095021563892448458 }
- case 684 { rate := 1000000002097989672852376961 }
- case 685 { rate := 1000000002100957504016538685 }
- case 686 { rate := 1000000002103925057436928532 }
- case 687 { rate := 1000000002106892333165526808 }
- case 688 { rate := 1000000002109859331254299227 }
- case 689 { rate := 1000000002112826051755196920 }
- case 690 { rate := 1000000002115792494720156434 }
- case 691 { rate := 1000000002118758660201099744 }
- case 692 { rate := 1000000002121724548249934257 }
- case 693 { rate := 1000000002124690158918552812 }
- case 694 { rate := 1000000002127655492258833695 }
- case 695 { rate := 1000000002130620548322640635 }
- case 696 { rate := 1000000002133585327161822816 }
- case 697 { rate := 1000000002136549828828214880 }
- case 698 { rate := 1000000002139514053373636932 }
- case 699 { rate := 1000000002142478000849894543 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 700-799
- switch gt(bps, 749)
- case 0 { // 700-749
- switch gt(bps, 724)
- case 0 { // 700-724
- switch bps
- case 700 { rate := 1000000002145441671308778766 }
- case 701 { rate := 1000000002148405064802066124 }
- case 702 { rate := 1000000002151368181381518635 }
- case 703 { rate := 1000000002154331021098883800 }
- case 704 { rate := 1000000002157293584005894622 }
- case 705 { rate := 1000000002160255870154269599 }
- case 706 { rate := 1000000002163217879595712742 }
- case 707 { rate := 1000000002166179612381913573 }
- case 708 { rate := 1000000002169141068564547128 }
- case 709 { rate := 1000000002172102248195273969 }
- case 710 { rate := 1000000002175063151325740189 }
- case 711 { rate := 1000000002178023778007577411 }
- case 712 { rate := 1000000002180984128292402799 }
- case 713 { rate := 1000000002183944202231819060 }
- case 714 { rate := 1000000002186903999877414455 }
- case 715 { rate := 1000000002189863521280762799 }
- case 716 { rate := 1000000002192822766493423465 }
- case 717 { rate := 1000000002195781735566941395 }
- case 718 { rate := 1000000002198740428552847104 }
- case 719 { rate := 1000000002201698845502656681 }
- case 720 { rate := 1000000002204656986467871801 }
- case 721 { rate := 1000000002207614851499979723 }
- case 722 { rate := 1000000002210572440650453302 }
- case 723 { rate := 1000000002213529753970750991 }
- case 724 { rate := 1000000002216486791512316847 }
- default { revert(0, 0) }
- }
- case 1 { // 725-749
- switch bps
- case 725 { rate := 1000000002219443553326580536 }
- case 726 { rate := 1000000002222400039464957340 }
- case 727 { rate := 1000000002225356249978848158 }
- case 728 { rate := 1000000002228312184919639519 }
- case 729 { rate := 1000000002231267844338703579 }
- case 730 { rate := 1000000002234223228287398132 }
- case 731 { rate := 1000000002237178336817066613 }
- case 732 { rate := 1000000002240133169979038105 }
- case 733 { rate := 1000000002243087727824627342 }
- case 734 { rate := 1000000002246042010405134715 }
- case 735 { rate := 1000000002248996017771846281 }
- case 736 { rate := 1000000002251949749976033760 }
- case 737 { rate := 1000000002254903207068954551 }
- case 738 { rate := 1000000002257856389101851730 }
- case 739 { rate := 1000000002260809296125954056 }
- case 740 { rate := 1000000002263761928192475979 }
- case 741 { rate := 1000000002266714285352617643 }
- case 742 { rate := 1000000002269666367657564895 }
- case 743 { rate := 1000000002272618175158489283 }
- case 744 { rate := 1000000002275569707906548069 }
- case 745 { rate := 1000000002278520965952884232 }
- case 746 { rate := 1000000002281471949348626470 }
- case 747 { rate := 1000000002284422658144889210 }
- case 748 { rate := 1000000002287373092392772609 }
- case 749 { rate := 1000000002290323252143362564 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 750-799
- switch gt(bps, 774)
- case 0 { // 750-774
- switch bps
- case 750 { rate := 1000000002293273137447730714 }
- case 751 { rate := 1000000002296222748356934445 }
- case 752 { rate := 1000000002299172084922016896 }
- case 753 { rate := 1000000002302121147194006968 }
- case 754 { rate := 1000000002305069935223919323 }
- case 755 { rate := 1000000002308018449062754392 }
- case 756 { rate := 1000000002310966688761498383 }
- case 757 { rate := 1000000002313914654371123283 }
- case 758 { rate := 1000000002316862345942586863 }
- case 759 { rate := 1000000002319809763526832687 }
- case 760 { rate := 1000000002322756907174790110 }
- case 761 { rate := 1000000002325703776937374294 }
- case 762 { rate := 1000000002328650372865486203 }
- case 763 { rate := 1000000002331596695010012613 }
- case 764 { rate := 1000000002334542743421826121 }
- case 765 { rate := 1000000002337488518151785139 }
- case 766 { rate := 1000000002340434019250733913 }
- case 767 { rate := 1000000002343379246769502519 }
- case 768 { rate := 1000000002346324200758906870 }
- case 769 { rate := 1000000002349268881269748722 }
- case 770 { rate := 1000000002352213288352815683 }
- case 771 { rate := 1000000002355157422058881210 }
- case 772 { rate := 1000000002358101282438704622 }
- case 773 { rate := 1000000002361044869543031102 }
- case 774 { rate := 1000000002363988183422591701 }
- default { revert(0, 0) }
- }
- case 1 { // 775-799
- switch bps
- case 775 { rate := 1000000002366931224128103346 }
- case 776 { rate := 1000000002369873991710268842 }
- case 777 { rate := 1000000002372816486219776883 }
- case 778 { rate := 1000000002375758707707302048 }
- case 779 { rate := 1000000002378700656223504817 }
- case 780 { rate := 1000000002381642331819031568 }
- case 781 { rate := 1000000002384583734544514586 }
- case 782 { rate := 1000000002387524864450572064 }
- case 783 { rate := 1000000002390465721587808119 }
- case 784 { rate := 1000000002393406306006812783 }
- case 785 { rate := 1000000002396346617758162017 }
- case 786 { rate := 1000000002399286656892417716 }
- case 787 { rate := 1000000002402226423460127711 }
- case 788 { rate := 1000000002405165917511825773 }
- case 789 { rate := 1000000002408105139098031627 }
- case 790 { rate := 1000000002411044088269250946 }
- case 791 { rate := 1000000002413982765075975363 }
- case 792 { rate := 1000000002416921169568682475 }
- case 793 { rate := 1000000002419859301797835847 }
- case 794 { rate := 1000000002422797161813885017 }
- case 795 { rate := 1000000002425734749667265506 }
- case 796 { rate := 1000000002428672065408398813 }
- case 797 { rate := 1000000002431609109087692432 }
- case 798 { rate := 1000000002434545880755539850 }
- case 799 { rate := 1000000002437482380462320552 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- }
-}
\ No newline at end of file
diff --git a/src/repositories/Rates1600To2399.sol b/src/repositories/Rates1600To2399.sol
deleted file mode 100644
index dacbf2a..0000000
--- a/src/repositories/Rates1600To2399.sol
+++ /dev/null
@@ -1,1065 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity 0.8.19;
-
-contract Rates1600To2399 {
- uint256 constant public MIN = 1600;
- uint256 constant public MAX = 2399;
-
- function turn(uint256 bps) external pure returns (uint256 rate) {
- if (bps > MAX) revert();
- if (bps < MIN) revert();
-
- assembly {
- switch gt(bps, 1999)
- case 0 { // 1600-1999
- switch gt(bps, 1799)
- case 0 { // 1600-1799
- switch gt(bps, 1699)
- case 0 { // 1600-1699
- switch gt(bps, 1649)
- case 0 { // 1600-1649
- switch gt(bps, 1624)
- case 0 { // 1600-1624
- switch bps
- case 1600 { rate := 1000000004706367499604668374 }
- case 1601 { rate := 1000000004709100984553824197 }
- case 1602 { rate := 1000000004711834233888200390 }
- case 1603 { rate := 1000000004714567247648411439 }
- case 1604 { rate := 1000000004717300025875061327 }
- case 1605 { rate := 1000000004720032568608743539 }
- case 1606 { rate := 1000000004722764875890041071 }
- case 1607 { rate := 1000000004725496947759526424 }
- case 1608 { rate := 1000000004728228784257761617 }
- case 1609 { rate := 1000000004730960385425298185 }
- case 1610 { rate := 1000000004733691751302677184 }
- case 1611 { rate := 1000000004736422881930429194 }
- case 1612 { rate := 1000000004739153777349074326 }
- case 1613 { rate := 1000000004741884437599122219 }
- case 1614 { rate := 1000000004744614862721072050 }
- case 1615 { rate := 1000000004747345052755412536 }
- case 1616 { rate := 1000000004750075007742621934 }
- case 1617 { rate := 1000000004752804727723168051 }
- case 1618 { rate := 1000000004755534212737508240 }
- case 1619 { rate := 1000000004758263462826089409 }
- case 1620 { rate := 1000000004760992478029348025 }
- case 1621 { rate := 1000000004763721258387710114 }
- case 1622 { rate := 1000000004766449803941591267 }
- case 1623 { rate := 1000000004769178114731396642 }
- case 1624 { rate := 1000000004771906190797520968 }
- default { revert(0, 0) }
- }
- case 1 { // 1625-1649
- switch bps
- case 1625 { rate := 1000000004774634032180348552 }
- case 1626 { rate := 1000000004777361638920253278 }
- case 1627 { rate := 1000000004780089011057598610 }
- case 1628 { rate := 1000000004782816148632737601 }
- case 1629 { rate := 1000000004785543051686012893 }
- case 1630 { rate := 1000000004788269720257756721 }
- case 1631 { rate := 1000000004790996154388290915 }
- case 1632 { rate := 1000000004793722354117926905 }
- case 1633 { rate := 1000000004796448319486965728 }
- case 1634 { rate := 1000000004799174050535698027 }
- case 1635 { rate := 1000000004801899547304404054 }
- case 1636 { rate := 1000000004804624809833353677 }
- case 1637 { rate := 1000000004807349838162806381 }
- case 1638 { rate := 1000000004810074632333011275 }
- case 1639 { rate := 1000000004812799192384207089 }
- case 1640 { rate := 1000000004815523518356622187 }
- case 1641 { rate := 1000000004818247610290474561 }
- case 1642 { rate := 1000000004820971468225971842 }
- case 1643 { rate := 1000000004823695092203311297 }
- case 1644 { rate := 1000000004826418482262679840 }
- case 1645 { rate := 1000000004829141638444254028 }
- case 1646 { rate := 1000000004831864560788200070 }
- case 1647 { rate := 1000000004834587249334673829 }
- case 1648 { rate := 1000000004837309704123820822 }
- case 1649 { rate := 1000000004840031925195776232 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 1650-1699
- switch gt(bps, 1674)
- case 0 { // 1650-1674
- switch bps
- case 1650 { rate := 1000000004842753912590664903 }
- case 1651 { rate := 1000000004845475666348601346 }
- case 1652 { rate := 1000000004848197186509689746 }
- case 1653 { rate := 1000000004850918473114023962 }
- case 1654 { rate := 1000000004853639526201687531 }
- case 1655 { rate := 1000000004856360345812753672 }
- case 1656 { rate := 1000000004859080931987285289 }
- case 1657 { rate := 1000000004861801284765334978 }
- case 1658 { rate := 1000000004864521404186945026 }
- case 1659 { rate := 1000000004867241290292147414 }
- case 1660 { rate := 1000000004869960943120963825 }
- case 1661 { rate := 1000000004872680362713405646 }
- case 1662 { rate := 1000000004875399549109473969 }
- case 1663 { rate := 1000000004878118502349159596 }
- case 1664 { rate := 1000000004880837222472443046 }
- case 1665 { rate := 1000000004883555709519294552 }
- case 1666 { rate := 1000000004886273963529674069 }
- case 1667 { rate := 1000000004888991984543531278 }
- case 1668 { rate := 1000000004891709772600805585 }
- case 1669 { rate := 1000000004894427327741426131 }
- case 1670 { rate := 1000000004897144650005311787 }
- case 1671 { rate := 1000000004899861739432371169 }
- case 1672 { rate := 1000000004902578596062502630 }
- case 1673 { rate := 1000000004905295219935594269 }
- case 1674 { rate := 1000000004908011611091523937 }
- default { revert(0, 0) }
- }
- case 1 { // 1675-1699
- switch bps
- case 1675 { rate := 1000000004910727769570159235 }
- case 1676 { rate := 1000000004913443695411357522 }
- case 1677 { rate := 1000000004916159388654965915 }
- case 1678 { rate := 1000000004918874849340821294 }
- case 1679 { rate := 1000000004921590077508750306 }
- case 1680 { rate := 1000000004924305073198569369 }
- case 1681 { rate := 1000000004927019836450084674 }
- case 1682 { rate := 1000000004929734367303092189 }
- case 1683 { rate := 1000000004932448665797377662 }
- case 1684 { rate := 1000000004935162731972716627 }
- case 1685 { rate := 1000000004937876565868874403 }
- case 1686 { rate := 1000000004940590167525606103 }
- case 1687 { rate := 1000000004943303536982656633 }
- case 1688 { rate := 1000000004946016674279760695 }
- case 1689 { rate := 1000000004948729579456642798 }
- case 1690 { rate := 1000000004951442252553017251 }
- case 1691 { rate := 1000000004954154693608588174 }
- case 1692 { rate := 1000000004956866902663049499 }
- case 1693 { rate := 1000000004959578879756084972 }
- case 1694 { rate := 1000000004962290624927368160 }
- case 1695 { rate := 1000000004965002138216562451 }
- case 1696 { rate := 1000000004967713419663321060 }
- case 1697 { rate := 1000000004970424469307287030 }
- case 1698 { rate := 1000000004973135287188093241 }
- case 1699 { rate := 1000000004975845873345362402 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 1700-1799
- switch gt(bps, 1749)
- case 0 { // 1700-1749
- switch gt(bps, 1724)
- case 0 { // 1700-1724
- switch bps
- case 1700 { rate := 1000000004978556227818707070 }
- case 1701 { rate := 1000000004981266350647729640 }
- case 1702 { rate := 1000000004983976241872022356 }
- case 1703 { rate := 1000000004986685901531167312 }
- case 1704 { rate := 1000000004989395329664736455 }
- case 1705 { rate := 1000000004992104526312291591 }
- case 1706 { rate := 1000000004994813491513384383 }
- case 1707 { rate := 1000000004997522225307556365 }
- case 1708 { rate := 1000000005000230727734338930 }
- case 1709 { rate := 1000000005002938998833253350 }
- case 1710 { rate := 1000000005005647038643810765 }
- case 1711 { rate := 1000000005008354847205512199 }
- case 1712 { rate := 1000000005011062424557848553 }
- case 1713 { rate := 1000000005013769770740300614 }
- case 1714 { rate := 1000000005016476885792339060 }
- case 1715 { rate := 1000000005019183769753424457 }
- case 1716 { rate := 1000000005021890422663007268 }
- case 1717 { rate := 1000000005024596844560527854 }
- case 1718 { rate := 1000000005027303035485416482 }
- case 1719 { rate := 1000000005030008995477093319 }
- case 1720 { rate := 1000000005032714724574968444 }
- case 1721 { rate := 1000000005035420222818441850 }
- case 1722 { rate := 1000000005038125490246903442 }
- case 1723 { rate := 1000000005040830526899733047 }
- case 1724 { rate := 1000000005043535332816300415 }
- default { revert(0, 0) }
- }
- case 1 { // 1725-1749
- switch bps
- case 1725 { rate := 1000000005046239908035965222 }
- case 1726 { rate := 1000000005048944252598077073 }
- case 1727 { rate := 1000000005051648366541975506 }
- case 1728 { rate := 1000000005054352249906989998 }
- case 1729 { rate := 1000000005057055902732439961 }
- case 1730 { rate := 1000000005059759325057634757 }
- case 1731 { rate := 1000000005062462516921873690 }
- case 1732 { rate := 1000000005065165478364446016 }
- case 1733 { rate := 1000000005067868209424630945 }
- case 1734 { rate := 1000000005070570710141697643 }
- case 1735 { rate := 1000000005073272980554905239 }
- case 1736 { rate := 1000000005075975020703502822 }
- case 1737 { rate := 1000000005078676830626729453 }
- case 1738 { rate := 1000000005081378410363814160 }
- case 1739 { rate := 1000000005084079759953975947 }
- case 1740 { rate := 1000000005086780879436423797 }
- case 1741 { rate := 1000000005089481768850356672 }
- case 1742 { rate := 1000000005092182428234963519 }
- case 1743 { rate := 1000000005094882857629423273 }
- case 1744 { rate := 1000000005097583057072904861 }
- case 1745 { rate := 1000000005100283026604567203 }
- case 1746 { rate := 1000000005102982766263559220 }
- case 1747 { rate := 1000000005105682276089019831 }
- case 1748 { rate := 1000000005108381556120077964 }
- case 1749 { rate := 1000000005111080606395852551 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 1750-1799
- switch gt(bps, 1774)
- case 0 { // 1750-1774
- switch bps
- case 1750 { rate := 1000000005113779426955452540 }
- case 1751 { rate := 1000000005116478017837976890 }
- case 1752 { rate := 1000000005119176379082514583 }
- case 1753 { rate := 1000000005121874510728144619 }
- case 1754 { rate := 1000000005124572412813936025 }
- case 1755 { rate := 1000000005127270085378947858 }
- case 1756 { rate := 1000000005129967528462229205 }
- case 1757 { rate := 1000000005132664742102819189 }
- case 1758 { rate := 1000000005135361726339746974 }
- case 1759 { rate := 1000000005138058481212031762 }
- case 1760 { rate := 1000000005140755006758682806 }
- case 1761 { rate := 1000000005143451303018699404 }
- case 1762 { rate := 1000000005146147370031070909 }
- case 1763 { rate := 1000000005148843207834776727 }
- case 1764 { rate := 1000000005151538816468786327 }
- case 1765 { rate := 1000000005154234195972059237 }
- case 1766 { rate := 1000000005156929346383545054 }
- case 1767 { rate := 1000000005159624267742183441 }
- case 1768 { rate := 1000000005162318960086904137 }
- case 1769 { rate := 1000000005165013423456626957 }
- case 1770 { rate := 1000000005167707657890261792 }
- case 1771 { rate := 1000000005170401663426708619 }
- case 1772 { rate := 1000000005173095440104857501 }
- case 1773 { rate := 1000000005175788987963588589 }
- case 1774 { rate := 1000000005178482307041772129 }
- default { revert(0, 0) }
- }
- case 1 { // 1775-1799
- switch bps
- case 1775 { rate := 1000000005181175397378268462 }
- case 1776 { rate := 1000000005183868259011928028 }
- case 1777 { rate := 1000000005186560891981591373 }
- case 1778 { rate := 1000000005189253296326089147 }
- case 1779 { rate := 1000000005191945472084242108 }
- case 1780 { rate := 1000000005194637419294861132 }
- case 1781 { rate := 1000000005197329137996747207 }
- case 1782 { rate := 1000000005200020628228691445 }
- case 1783 { rate := 1000000005202711890029475077 }
- case 1784 { rate := 1000000005205402923437869462 }
- case 1785 { rate := 1000000005208093728492636093 }
- case 1786 { rate := 1000000005210784305232526588 }
- case 1787 { rate := 1000000005213474653696282710 }
- case 1788 { rate := 1000000005216164773922636357 }
- case 1789 { rate := 1000000005218854665950309569 }
- case 1790 { rate := 1000000005221544329818014540 }
- case 1791 { rate := 1000000005224233765564453606 }
- case 1792 { rate := 1000000005226922973228319260 }
- case 1793 { rate := 1000000005229611952848294151 }
- case 1794 { rate := 1000000005232300704463051089 }
- case 1795 { rate := 1000000005234989228111253046 }
- case 1796 { rate := 1000000005237677523831553161 }
- case 1797 { rate := 1000000005240365591662594745 }
- case 1798 { rate := 1000000005243053431643011277 }
- case 1799 { rate := 1000000005245741043811426420 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 1800-1999
- switch gt(bps, 1899)
- case 0 { // 1800-1899
- switch gt(bps, 1849)
- case 0 { // 1800-1849
- switch gt(bps, 1824)
- case 0 { // 1800-1824
- switch bps
- case 1800 { rate := 1000000005248428428206454010 }
- case 1801 { rate := 1000000005251115584866698073 }
- case 1802 { rate := 1000000005253802513830752815 }
- case 1803 { rate := 1000000005256489215137202638 }
- case 1804 { rate := 1000000005259175688824622133 }
- case 1805 { rate := 1000000005261861934931576089 }
- case 1806 { rate := 1000000005264547953496619496 }
- case 1807 { rate := 1000000005267233744558297546 }
- case 1808 { rate := 1000000005269919308155145638 }
- case 1809 { rate := 1000000005272604644325689381 }
- case 1810 { rate := 1000000005275289753108444598 }
- case 1811 { rate := 1000000005277974634541917328 }
- case 1812 { rate := 1000000005280659288664603827 }
- case 1813 { rate := 1000000005283343715514990579 }
- case 1814 { rate := 1000000005286027915131554292 }
- case 1815 { rate := 1000000005288711887552761904 }
- case 1816 { rate := 1000000005291395632817070587 }
- case 1817 { rate := 1000000005294079150962927745 }
- case 1818 { rate := 1000000005296762442028771030 }
- case 1819 { rate := 1000000005299445506053028330 }
- case 1820 { rate := 1000000005302128343074117781 }
- case 1821 { rate := 1000000005304810953130447770 }
- case 1822 { rate := 1000000005307493336260416936 }
- case 1823 { rate := 1000000005310175492502414174 }
- case 1824 { rate := 1000000005312857421894818640 }
- default { revert(0, 0) }
- }
- case 1 { // 1825-1849
- switch bps
- case 1825 { rate := 1000000005315539124475999751 }
- case 1826 { rate := 1000000005318220600284317191 }
- case 1827 { rate := 1000000005320901849358120913 }
- case 1828 { rate := 1000000005323582871735751141 }
- case 1829 { rate := 1000000005326263667455538381 }
- case 1830 { rate := 1000000005328944236555803409 }
- case 1831 { rate := 1000000005331624579074857293 }
- case 1832 { rate := 1000000005334304695051001381 }
- case 1833 { rate := 1000000005336984584522527310 }
- case 1834 { rate := 1000000005339664247527717012 }
- case 1835 { rate := 1000000005342343684104842714 }
- case 1836 { rate := 1000000005345022894292166942 }
- case 1837 { rate := 1000000005347701878127942522 }
- case 1838 { rate := 1000000005350380635650412590 }
- case 1839 { rate := 1000000005353059166897810586 }
- case 1840 { rate := 1000000005355737471908360264 }
- case 1841 { rate := 1000000005358415550720275695 }
- case 1842 { rate := 1000000005361093403371761268 }
- case 1843 { rate := 1000000005363771029901011690 }
- case 1844 { rate := 1000000005366448430346211998 }
- case 1845 { rate := 1000000005369125604745537555 }
- case 1846 { rate := 1000000005371802553137154057 }
- case 1847 { rate := 1000000005374479275559217533 }
- case 1848 { rate := 1000000005377155772049874353 }
- case 1849 { rate := 1000000005379832042647261225 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 1850-1899
- switch gt(bps, 1874)
- case 0 { // 1850-1874
- switch bps
- case 1850 { rate := 1000000005382508087389505206 }
- case 1851 { rate := 1000000005385183906314723696 }
- case 1852 { rate := 1000000005387859499461024450 }
- case 1853 { rate := 1000000005390534866866505578 }
- case 1854 { rate := 1000000005393210008569255543 }
- case 1855 { rate := 1000000005395884924607353174 }
- case 1856 { rate := 1000000005398559615018867662 }
- case 1857 { rate := 1000000005401234079841858566 }
- case 1858 { rate := 1000000005403908319114375815 }
- case 1859 { rate := 1000000005406582332874459714 }
- case 1860 { rate := 1000000005409256121160140942 }
- case 1861 { rate := 1000000005411929684009440562 }
- case 1862 { rate := 1000000005414603021460370019 }
- case 1863 { rate := 1000000005417276133550931144 }
- case 1864 { rate := 1000000005419949020319116161 }
- case 1865 { rate := 1000000005422621681802907685 }
- case 1866 { rate := 1000000005425294118040278729 }
- case 1867 { rate := 1000000005427966329069192704 }
- case 1868 { rate := 1000000005430638314927603428 }
- case 1869 { rate := 1000000005433310075653455121 }
- case 1870 { rate := 1000000005435981611284682417 }
- case 1871 { rate := 1000000005438652921859210358 }
- case 1872 { rate := 1000000005441324007414954408 }
- case 1873 { rate := 1000000005443994867989820443 }
- case 1874 { rate := 1000000005446665503621704769 }
- default { revert(0, 0) }
- }
- case 1 { // 1875-1899
- switch bps
- case 1875 { rate := 1000000005449335914348494113 }
- case 1876 { rate := 1000000005452006100208065634 }
- case 1877 { rate := 1000000005454676061238286919 }
- case 1878 { rate := 1000000005457345797477015996 }
- case 1879 { rate := 1000000005460015308962101327 }
- case 1880 { rate := 1000000005462684595731381818 }
- case 1881 { rate := 1000000005465353657822686822 }
- case 1882 { rate := 1000000005468022495273836134 }
- case 1883 { rate := 1000000005470691108122640009 }
- case 1884 { rate := 1000000005473359496406899150 }
- case 1885 { rate := 1000000005476027660164404723 }
- case 1886 { rate := 1000000005478695599432938350 }
- case 1887 { rate := 1000000005481363314250272121 }
- case 1888 { rate := 1000000005484030804654168594 }
- case 1889 { rate := 1000000005486698070682380795 }
- case 1890 { rate := 1000000005489365112372652227 }
- case 1891 { rate := 1000000005492031929762716867 }
- case 1892 { rate := 1000000005494698522890299176 }
- case 1893 { rate := 1000000005497364891793114096 }
- case 1894 { rate := 1000000005500031036508867056 }
- case 1895 { rate := 1000000005502696957075253978 }
- case 1896 { rate := 1000000005505362653529961273 }
- case 1897 { rate := 1000000005508028125910665852 }
- case 1898 { rate := 1000000005510693374255035122 }
- case 1899 { rate := 1000000005513358398600726996 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 1900-1999
- switch gt(bps, 1949)
- case 0 { // 1900-1949
- switch gt(bps, 1924)
- case 0 { // 1900-1924
- switch bps
- case 1900 { rate := 1000000005516023198985389892 }
- case 1901 { rate := 1000000005518687775446662738 }
- case 1902 { rate := 1000000005521352128022174972 }
- case 1903 { rate := 1000000005524016256749546550 }
- case 1904 { rate := 1000000005526680161666387944 }
- case 1905 { rate := 1000000005529343842810300151 }
- case 1906 { rate := 1000000005532007300218874693 }
- case 1907 { rate := 1000000005534670533929693618 }
- case 1908 { rate := 1000000005537333543980329507 }
- case 1909 { rate := 1000000005539996330408345474 }
- case 1910 { rate := 1000000005542658893251295174 }
- case 1911 { rate := 1000000005545321232546722802 }
- case 1912 { rate := 1000000005547983348332163094 }
- case 1913 { rate := 1000000005550645240645141338 }
- case 1914 { rate := 1000000005553306909523173370 }
- case 1915 { rate := 1000000005555968355003765580 }
- case 1916 { rate := 1000000005558629577124414915 }
- case 1917 { rate := 1000000005561290575922608882 }
- case 1918 { rate := 1000000005563951351435825552 }
- case 1919 { rate := 1000000005566611903701533560 }
- case 1920 { rate := 1000000005569272232757192116 }
- case 1921 { rate := 1000000005571932338640250996 }
- case 1922 { rate := 1000000005574592221388150557 }
- case 1923 { rate := 1000000005577251881038321732 }
- case 1924 { rate := 1000000005579911317628186037 }
- default { revert(0, 0) }
- }
- case 1 { // 1925-1949
- switch bps
- case 1925 { rate := 1000000005582570531195155575 }
- case 1926 { rate := 1000000005585229521776633037 }
- case 1927 { rate := 1000000005587888289410011703 }
- case 1928 { rate := 1000000005590546834132675450 }
- case 1929 { rate := 1000000005593205155981998754 }
- case 1930 { rate := 1000000005595863254995346690 }
- case 1931 { rate := 1000000005598521131210074940 }
- case 1932 { rate := 1000000005601178784663529791 }
- case 1933 { rate := 1000000005603836215393048140 }
- case 1934 { rate := 1000000005606493423435957501 }
- case 1935 { rate := 1000000005609150408829576003 }
- case 1936 { rate := 1000000005611807171611212394 }
- case 1937 { rate := 1000000005614463711818166047 }
- case 1938 { rate := 1000000005617120029487726961 }
- case 1939 { rate := 1000000005619776124657175764 }
- case 1940 { rate := 1000000005622431997363783716 }
- case 1941 { rate := 1000000005625087647644812714 }
- case 1942 { rate := 1000000005627743075537515294 }
- case 1943 { rate := 1000000005630398281079134633 }
- case 1944 { rate := 1000000005633053264306904553 }
- case 1945 { rate := 1000000005635708025258049526 }
- case 1946 { rate := 1000000005638362563969784673 }
- case 1947 { rate := 1000000005641016880479315773 }
- case 1948 { rate := 1000000005643670974823839258 }
- case 1949 { rate := 1000000005646324847040542225 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 1950-1999
- switch gt(bps, 1974)
- case 0 { // 1950-1974
- switch bps
- case 1950 { rate := 1000000005648978497166602432 }
- case 1951 { rate := 1000000005651631925239188307 }
- case 1952 { rate := 1000000005654285131295458945 }
- case 1953 { rate := 1000000005656938115372564118 }
- case 1954 { rate := 1000000005659590877507644269 }
- case 1955 { rate := 1000000005662243417737830528 }
- case 1956 { rate := 1000000005664895736100244700 }
- case 1957 { rate := 1000000005667547832631999280 }
- case 1958 { rate := 1000000005670199707370197452 }
- case 1959 { rate := 1000000005672851360351933092 }
- case 1960 { rate := 1000000005675502791614290768 }
- case 1961 { rate := 1000000005678154001194345751 }
- case 1962 { rate := 1000000005680804989129164009 }
- case 1963 { rate := 1000000005683455755455802217 }
- case 1964 { rate := 1000000005686106300211307757 }
- case 1965 { rate := 1000000005688756623432718721 }
- case 1966 { rate := 1000000005691406725157063918 }
- case 1967 { rate := 1000000005694056605421362868 }
- case 1968 { rate := 1000000005696706264262625816 }
- case 1969 { rate := 1000000005699355701717853726 }
- case 1970 { rate := 1000000005702004917824038294 }
- case 1971 { rate := 1000000005704653912618161941 }
- case 1972 { rate := 1000000005707302686137197819 }
- case 1973 { rate := 1000000005709951238418109820 }
- case 1974 { rate := 1000000005712599569497852572 }
- default { revert(0, 0) }
- }
- case 1 { // 1975-1999
- switch bps
- case 1975 { rate := 1000000005715247679413371444 }
- case 1976 { rate := 1000000005717895568201602551 }
- case 1977 { rate := 1000000005720543235899472755 }
- case 1978 { rate := 1000000005723190682543899670 }
- case 1979 { rate := 1000000005725837908171791664 }
- case 1980 { rate := 1000000005728484912820047862 }
- case 1981 { rate := 1000000005731131696525558147 }
- case 1982 { rate := 1000000005733778259325203169 }
- case 1983 { rate := 1000000005736424601255854342 }
- case 1984 { rate := 1000000005739070722354373849 }
- case 1985 { rate := 1000000005741716622657614647 }
- case 1986 { rate := 1000000005744362302202420469 }
- case 1987 { rate := 1000000005747007761025625824 }
- case 1988 { rate := 1000000005749652999164056007 }
- case 1989 { rate := 1000000005752298016654527093 }
- case 1990 { rate := 1000000005754942813533845949 }
- case 1991 { rate := 1000000005757587389838810231 }
- case 1992 { rate := 1000000005760231745606208388 }
- case 1993 { rate := 1000000005762875880872819670 }
- case 1994 { rate := 1000000005765519795675414123 }
- case 1995 { rate := 1000000005768163490050752599 }
- case 1996 { rate := 1000000005770806964035586754 }
- case 1997 { rate := 1000000005773450217666659055 }
- case 1998 { rate := 1000000005776093250980702782 }
- case 1999 { rate := 1000000005778736064014442030 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 2000-2399
- switch gt(bps, 2199)
- case 0 { // 2000-2199
- switch gt(bps, 2099)
- case 0 { // 2000-2099
- switch gt(bps, 2049)
- case 0 { // 2000-2049
- switch gt(bps, 2024)
- case 0 { // 2000-2024
- switch bps
- case 2000 { rate := 1000000005781378656804591712 }
- case 2001 { rate := 1000000005784021029387857563 }
- case 2002 { rate := 1000000005786663181800936142 }
- case 2003 { rate := 1000000005789305114080514838 }
- case 2004 { rate := 1000000005791946826263271867 }
- case 2005 { rate := 1000000005794588318385876283 }
- case 2006 { rate := 1000000005797229590484987975 }
- case 2007 { rate := 1000000005799870642597257672 }
- case 2008 { rate := 1000000005802511474759326946 }
- case 2009 { rate := 1000000005805152087007828215 }
- case 2010 { rate := 1000000005807792479379384747 }
- case 2011 { rate := 1000000005810432651910610661 }
- case 2012 { rate := 1000000005813072604638110932 }
- case 2013 { rate := 1000000005815712337598481393 }
- case 2014 { rate := 1000000005818351850828308739 }
- case 2015 { rate := 1000000005820991144364170528 }
- case 2016 { rate := 1000000005823630218242635187 }
- case 2017 { rate := 1000000005826269072500262012 }
- case 2018 { rate := 1000000005828907707173601173 }
- case 2019 { rate := 1000000005831546122299193718 }
- case 2020 { rate := 1000000005834184317913571571 }
- case 2021 { rate := 1000000005836822294053257542 }
- case 2022 { rate := 1000000005839460050754765326 }
- case 2023 { rate := 1000000005842097588054599505 }
- case 2024 { rate := 1000000005844734905989255555 }
- default { revert(0, 0) }
- }
- case 1 { // 2025-2049
- switch bps
- case 2025 { rate := 1000000005847372004595219844 }
- case 2026 { rate := 1000000005850008883908969641 }
- case 2027 { rate := 1000000005852645543966973112 }
- case 2028 { rate := 1000000005855281984805689330 }
- case 2029 { rate := 1000000005857918206461568274 }
- case 2030 { rate := 1000000005860554208971050832 }
- case 2031 { rate := 1000000005863189992370568806 }
- case 2032 { rate := 1000000005865825556696544911 }
- case 2033 { rate := 1000000005868460901985392786 }
- case 2034 { rate := 1000000005871096028273516989 }
- case 2035 { rate := 1000000005873730935597313001 }
- case 2036 { rate := 1000000005876365623993167233 }
- case 2037 { rate := 1000000005879000093497457030 }
- case 2038 { rate := 1000000005881634344146550666 }
- case 2039 { rate := 1000000005884268375976807354 }
- case 2040 { rate := 1000000005886902189024577248 }
- case 2041 { rate := 1000000005889535783326201442 }
- case 2042 { rate := 1000000005892169158918011981 }
- case 2043 { rate := 1000000005894802315836331854 }
- case 2044 { rate := 1000000005897435254117475004 }
- case 2045 { rate := 1000000005900067973797746332 }
- case 2046 { rate := 1000000005902700474913441692 }
- case 2047 { rate := 1000000005905332757500847901 }
- case 2048 { rate := 1000000005907964821596242742 }
- case 2049 { rate := 1000000005910596667235894964 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 2050-2099
- switch gt(bps, 2074)
- case 0 { // 2050-2074
- switch bps
- case 2050 { rate := 1000000005913228294456064283 }
- case 2051 { rate := 1000000005915859703293001393 }
- case 2052 { rate := 1000000005918490893782947960 }
- case 2053 { rate := 1000000005921121865962136632 }
- case 2054 { rate := 1000000005923752619866791038 }
- case 2055 { rate := 1000000005926383155533125790 }
- case 2056 { rate := 1000000005929013472997346492 }
- case 2057 { rate := 1000000005931643572295649735 }
- case 2058 { rate := 1000000005934273453464223108 }
- case 2059 { rate := 1000000005936903116539245192 }
- case 2060 { rate := 1000000005939532561556885575 }
- case 2061 { rate := 1000000005942161788553304839 }
- case 2062 { rate := 1000000005944790797564654580 }
- case 2063 { rate := 1000000005947419588627077399 }
- case 2064 { rate := 1000000005950048161776706909 }
- case 2065 { rate := 1000000005952676517049667739 }
- case 2066 { rate := 1000000005955304654482075535 }
- case 2067 { rate := 1000000005957932574110036965 }
- case 2068 { rate := 1000000005960560275969649719 }
- case 2069 { rate := 1000000005963187760097002515 }
- case 2070 { rate := 1000000005965815026528175101 }
- case 2071 { rate := 1000000005968442075299238258 }
- case 2072 { rate := 1000000005971068906446253801 }
- case 2073 { rate := 1000000005973695520005274585 }
- case 2074 { rate := 1000000005976321916012344506 }
- default { revert(0, 0) }
- }
- case 1 { // 2075-2099
- switch bps
- case 2075 { rate := 1000000005978948094503498507 }
- case 2076 { rate := 1000000005981574055514762574 }
- case 2077 { rate := 1000000005984199799082153748 }
- case 2078 { rate := 1000000005986825325241680120 }
- case 2079 { rate := 1000000005989450634029340842 }
- case 2080 { rate := 1000000005992075725481126120 }
- case 2081 { rate := 1000000005994700599633017225 }
- case 2082 { rate := 1000000005997325256520986496 }
- case 2083 { rate := 1000000005999949696180997335 }
- case 2084 { rate := 1000000006002573918649004220 }
- case 2085 { rate := 1000000006005197923960952699 }
- case 2086 { rate := 1000000006007821712152779401 }
- case 2087 { rate := 1000000006010445283260412034 }
- case 2088 { rate := 1000000006013068637319769388 }
- case 2089 { rate := 1000000006015691774366761338 }
- case 2090 { rate := 1000000006018314694437288852 }
- case 2091 { rate := 1000000006020937397567243987 }
- case 2092 { rate := 1000000006023559883792509896 }
- case 2093 { rate := 1000000006026182153148960829 }
- case 2094 { rate := 1000000006028804205672462137 }
- case 2095 { rate := 1000000006031426041398870273 }
- case 2096 { rate := 1000000006034047660364032802 }
- case 2097 { rate := 1000000006036669062603788392 }
- case 2098 { rate := 1000000006039290248153966829 }
- case 2099 { rate := 1000000006041911217050389011 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 2100-2199
- switch gt(bps, 2149)
- case 0 { // 2100-2149
- switch gt(bps, 2124)
- case 0 { // 2100-2124
- switch bps
- case 2100 { rate := 1000000006044531969328866955 }
- case 2101 { rate := 1000000006047152505025203801 }
- case 2102 { rate := 1000000006049772824175193813 }
- case 2103 { rate := 1000000006052392926814622379 }
- case 2104 { rate := 1000000006055012812979266021 }
- case 2105 { rate := 1000000006057632482704892392 }
- case 2106 { rate := 1000000006060251936027260282 }
- case 2107 { rate := 1000000006062871172982119621 }
- case 2108 { rate := 1000000006065490193605211477 }
- case 2109 { rate := 1000000006068108997932268067 }
- case 2110 { rate := 1000000006070727585999012755 }
- case 2111 { rate := 1000000006073345957841160052 }
- case 2112 { rate := 1000000006075964113494415626 }
- case 2113 { rate := 1000000006078582052994476301 }
- case 2114 { rate := 1000000006081199776377030061 }
- case 2115 { rate := 1000000006083817283677756050 }
- case 2116 { rate := 1000000006086434574932324580 }
- case 2117 { rate := 1000000006089051650176397130 }
- case 2118 { rate := 1000000006091668509445626349 }
- case 2119 { rate := 1000000006094285152775656060 }
- case 2120 { rate := 1000000006096901580202121266 }
- case 2121 { rate := 1000000006099517791760648147 }
- case 2122 { rate := 1000000006102133787486854066 }
- case 2123 { rate := 1000000006104749567416347572 }
- case 2124 { rate := 1000000006107365131584728403 }
- default { revert(0, 0) }
- }
- case 1 { // 2125-2149
- switch bps
- case 2125 { rate := 1000000006109980480027587488 }
- case 2126 { rate := 1000000006112595612780506950 }
- case 2127 { rate := 1000000006115210529879060111 }
- case 2128 { rate := 1000000006117825231358811489 }
- case 2129 { rate := 1000000006120439717255316811 }
- case 2130 { rate := 1000000006123053987604123006 }
- case 2131 { rate := 1000000006125668042440768211 }
- case 2132 { rate := 1000000006128281881800781778 }
- case 2133 { rate := 1000000006130895505719684273 }
- case 2134 { rate := 1000000006133508914232987477 }
- case 2135 { rate := 1000000006136122107376194395 }
- case 2136 { rate := 1000000006138735085184799252 }
- case 2137 { rate := 1000000006141347847694287501 }
- case 2138 { rate := 1000000006143960394940135825 }
- case 2139 { rate := 1000000006146572726957812137 }
- case 2140 { rate := 1000000006149184843782775586 }
- case 2141 { rate := 1000000006151796745450476560 }
- case 2142 { rate := 1000000006154408431996356685 }
- case 2143 { rate := 1000000006157019903455848831 }
- case 2144 { rate := 1000000006159631159864377117 }
- case 2145 { rate := 1000000006162242201257356911 }
- case 2146 { rate := 1000000006164853027670194829 }
- case 2147 { rate := 1000000006167463639138288746 }
- case 2148 { rate := 1000000006170074035697027796 }
- case 2149 { rate := 1000000006172684217381792370 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 2150-2199
- switch gt(bps, 2174)
- case 0 { // 2150-2174
- switch bps
- case 2150 { rate := 1000000006175294184227954125 }
- case 2151 { rate := 1000000006177903936270875985 }
- case 2152 { rate := 1000000006180513473545912141 }
- case 2153 { rate := 1000000006183122796088408060 }
- case 2154 { rate := 1000000006185731903933700483 }
- case 2155 { rate := 1000000006188340797117117427 }
- case 2156 { rate := 1000000006190949475673978192 }
- case 2157 { rate := 1000000006193557939639593360 }
- case 2158 { rate := 1000000006196166189049264802 }
- case 2159 { rate := 1000000006198774223938285679 }
- case 2160 { rate := 1000000006201382044341940442 }
- case 2161 { rate := 1000000006203989650295504837 }
- case 2162 { rate := 1000000006206597041834245913 }
- case 2163 { rate := 1000000006209204218993422012 }
- case 2164 { rate := 1000000006211811181808282789 }
- case 2165 { rate := 1000000006214417930314069199 }
- case 2166 { rate := 1000000006217024464546013508 }
- case 2167 { rate := 1000000006219630784539339297 }
- case 2168 { rate := 1000000006222236890329261461 }
- case 2169 { rate := 1000000006224842781950986211 }
- case 2170 { rate := 1000000006227448459439711081 }
- case 2171 { rate := 1000000006230053922830624932 }
- case 2172 { rate := 1000000006232659172158907945 }
- case 2173 { rate := 1000000006235264207459731635 }
- case 2174 { rate := 1000000006237869028768258850 }
- default { revert(0, 0) }
- }
- case 1 { // 2175-2199
- switch bps
- case 2175 { rate := 1000000006240473636119643770 }
- case 2176 { rate := 1000000006243078029549031916 }
- case 2177 { rate := 1000000006245682209091560148 }
- case 2178 { rate := 1000000006248286174782356672 }
- case 2179 { rate := 1000000006250889926656541039 }
- case 2180 { rate := 1000000006253493464749224150 }
- case 2181 { rate := 1000000006256096789095508257 }
- case 2182 { rate := 1000000006258699899730486971 }
- case 2183 { rate := 1000000006261302796689245258 }
- case 2184 { rate := 1000000006263905480006859443 }
- case 2185 { rate := 1000000006266507949718397218 }
- case 2186 { rate := 1000000006269110205858917643 }
- case 2187 { rate := 1000000006271712248463471143 }
- case 2188 { rate := 1000000006274314077567099518 }
- case 2189 { rate := 1000000006276915693204835941 }
- case 2190 { rate := 1000000006279517095411704965 }
- case 2191 { rate := 1000000006282118284222722523 }
- case 2192 { rate := 1000000006284719259672895930 }
- case 2193 { rate := 1000000006287320021797223891 }
- case 2194 { rate := 1000000006289920570630696496 }
- case 2195 { rate := 1000000006292520906208295229 }
- case 2196 { rate := 1000000006295121028564992969 }
- case 2197 { rate := 1000000006297720937735753993 }
- case 2198 { rate := 1000000006300320633755533977 }
- case 2199 { rate := 1000000006302920116659280001 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 2200-2399
- switch gt(bps, 2299)
- case 0 { // 2200-2299
- switch gt(bps, 2249)
- case 0 { // 2200-2249
- switch gt(bps, 2224)
- case 0 { // 2200-2224
- switch bps
- case 2200 { rate := 1000000006305519386481930552 }
- case 2201 { rate := 1000000006308118443258415523 }
- case 2202 { rate := 1000000006310717287023656222 }
- case 2203 { rate := 1000000006313315917812565372 }
- case 2204 { rate := 1000000006315914335660047109 }
- case 2205 { rate := 1000000006318512540600996994 }
- case 2206 { rate := 1000000006321110532670302007 }
- case 2207 { rate := 1000000006323708311902840558 }
- case 2208 { rate := 1000000006326305878333482482 }
- case 2209 { rate := 1000000006328903231997089047 }
- case 2210 { rate := 1000000006331500372928512954 }
- case 2211 { rate := 1000000006334097301162598344 }
- case 2212 { rate := 1000000006336694016734180794 }
- case 2213 { rate := 1000000006339290519678087326 }
- case 2214 { rate := 1000000006341886810029136408 }
- case 2215 { rate := 1000000006344482887822137953 }
- case 2216 { rate := 1000000006347078753091893329 }
- case 2217 { rate := 1000000006349674405873195356 }
- case 2218 { rate := 1000000006352269846200828311 }
- case 2219 { rate := 1000000006354865074109567928 }
- case 2220 { rate := 1000000006357460089634181406 }
- case 2221 { rate := 1000000006360054892809427412 }
- case 2222 { rate := 1000000006362649483670056072 }
- case 2223 { rate := 1000000006365243862250808991 }
- case 2224 { rate := 1000000006367838028586419244 }
- default { revert(0, 0) }
- }
- case 1 { // 2225-2249
- switch bps
- case 2225 { rate := 1000000006370431982711611382 }
- case 2226 { rate := 1000000006373025724661101435 }
- case 2227 { rate := 1000000006375619254469596916 }
- case 2228 { rate := 1000000006378212572171796821 }
- case 2229 { rate := 1000000006380805677802391636 }
- case 2230 { rate := 1000000006383398571396063332 }
- case 2231 { rate := 1000000006385991252987485379 }
- case 2232 { rate := 1000000006388583722611322739 }
- case 2233 { rate := 1000000006391175980302231873 }
- case 2234 { rate := 1000000006393768026094860743 }
- case 2235 { rate := 1000000006396359860023848818 }
- case 2236 { rate := 1000000006398951482123827069 }
- case 2237 { rate := 1000000006401542892429417980 }
- case 2238 { rate := 1000000006404134090975235547 }
- case 2239 { rate := 1000000006406725077795885279 }
- case 2240 { rate := 1000000006409315852925964206 }
- case 2241 { rate := 1000000006411906416400060876 }
- case 2242 { rate := 1000000006414496768252755361 }
- case 2243 { rate := 1000000006417086908518619263 }
- case 2244 { rate := 1000000006419676837232215707 }
- case 2245 { rate := 1000000006422266554428099352 }
- case 2246 { rate := 1000000006424856060140816394 }
- case 2247 { rate := 1000000006427445354404904564 }
- case 2248 { rate := 1000000006430034437254893132 }
- case 2249 { rate := 1000000006432623308725302915 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 2250-2299
- switch gt(bps, 2274)
- case 0 { // 2250-2274
- switch bps
- case 2250 { rate := 1000000006435211968850646270 }
- case 2251 { rate := 1000000006437800417665427105 }
- case 2252 { rate := 1000000006440388655204140882 }
- case 2253 { rate := 1000000006442976681501274614 }
- case 2254 { rate := 1000000006445564496591306867 }
- case 2255 { rate := 1000000006448152100508707774 }
- case 2256 { rate := 1000000006450739493287939023 }
- case 2257 { rate := 1000000006453326674963453873 }
- case 2258 { rate := 1000000006455913645569697146 }
- case 2259 { rate := 1000000006458500405141105236 }
- case 2260 { rate := 1000000006461086953712106112 }
- case 2261 { rate := 1000000006463673291317119316 }
- case 2262 { rate := 1000000006466259417990555969 }
- case 2263 { rate := 1000000006468845333766818775 }
- case 2264 { rate := 1000000006471431038680302021 }
- case 2265 { rate := 1000000006474016532765391581 }
- case 2266 { rate := 1000000006476601816056464920 }
- case 2267 { rate := 1000000006479186888587891091 }
- case 2268 { rate := 1000000006481771750394030749 }
- case 2269 { rate := 1000000006484356401509236141 }
- case 2270 { rate := 1000000006486940841967851116 }
- case 2271 { rate := 1000000006489525071804211128 }
- case 2272 { rate := 1000000006492109091052643236 }
- case 2273 { rate := 1000000006494692899747466107 }
- case 2274 { rate := 1000000006497276497922990021 }
- default { revert(0, 0) }
- }
- case 1 { // 2275-2299
- switch bps
- case 2275 { rate := 1000000006499859885613516871 }
- case 2276 { rate := 1000000006502443062853340168 }
- case 2277 { rate := 1000000006505026029676745041 }
- case 2278 { rate := 1000000006507608786118008244 }
- case 2279 { rate := 1000000006510191332211398155 }
- case 2280 { rate := 1000000006512773667991174779 }
- case 2281 { rate := 1000000006515355793491589751 }
- case 2282 { rate := 1000000006517937708746886344 }
- case 2283 { rate := 1000000006520519413791299462 }
- case 2284 { rate := 1000000006523100908659055649 }
- case 2285 { rate := 1000000006525682193384373092 }
- case 2286 { rate := 1000000006528263268001461622 }
- case 2287 { rate := 1000000006530844132544522714 }
- case 2288 { rate := 1000000006533424787047749499 }
- case 2289 { rate := 1000000006536005231545326753 }
- case 2290 { rate := 1000000006538585466071430912 }
- case 2291 { rate := 1000000006541165490660230067 }
- case 2292 { rate := 1000000006543745305345883975 }
- case 2293 { rate := 1000000006546324910162544048 }
- case 2294 { rate := 1000000006548904305144353370 }
- case 2295 { rate := 1000000006551483490325446691 }
- case 2296 { rate := 1000000006554062465739950435 }
- case 2297 { rate := 1000000006556641231421982697 }
- case 2298 { rate := 1000000006559219787405653252 }
- case 2299 { rate := 1000000006561798133725063551 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 2300-2399
- switch gt(bps, 2349)
- case 0 { // 2300-2349
- switch gt(bps, 2324)
- case 0 { // 2300-2324
- switch bps
- case 2300 { rate := 1000000006564376270414306730 }
- case 2301 { rate := 1000000006566954197507467608 }
- case 2302 { rate := 1000000006569531915038622694 }
- case 2303 { rate := 1000000006572109423041840185 }
- case 2304 { rate := 1000000006574686721551179973 }
- case 2305 { rate := 1000000006577263810600693644 }
- case 2306 { rate := 1000000006579840690224424483 }
- case 2307 { rate := 1000000006582417360456407476 }
- case 2308 { rate := 1000000006584993821330669316 }
- case 2309 { rate := 1000000006587570072881228396 }
- case 2310 { rate := 1000000006590146115142094824 }
- case 2311 { rate := 1000000006592721948147270418 }
- case 2312 { rate := 1000000006595297571930748710 }
- case 2313 { rate := 1000000006597872986526514949 }
- case 2314 { rate := 1000000006600448191968546107 }
- case 2315 { rate := 1000000006603023188290810875 }
- case 2316 { rate := 1000000006605597975527269671 }
- case 2317 { rate := 1000000006608172553711874641 }
- case 2318 { rate := 1000000006610746922878569662 }
- case 2319 { rate := 1000000006613321083061290345 }
- case 2320 { rate := 1000000006615895034293964035 }
- case 2321 { rate := 1000000006618468776610509817 }
- case 2322 { rate := 1000000006621042310044838519 }
- case 2323 { rate := 1000000006623615634630852711 }
- case 2324 { rate := 1000000006626188750402446710 }
- default { revert(0, 0) }
- }
- case 1 { // 2325-2349
- switch bps
- case 2325 { rate := 1000000006628761657393506584 }
- case 2326 { rate := 1000000006631334355637910151 }
- case 2327 { rate := 1000000006633906845169526987 }
- case 2328 { rate := 1000000006636479126022218423 }
- case 2329 { rate := 1000000006639051198229837551 }
- case 2330 { rate := 1000000006641623061826229226 }
- case 2331 { rate := 1000000006644194716845230068 }
- case 2332 { rate := 1000000006646766163320668467 }
- case 2333 { rate := 1000000006649337401286364581 }
- case 2334 { rate := 1000000006651908430776130344 }
- case 2335 { rate := 1000000006654479251823769466 }
- case 2336 { rate := 1000000006657049864463077435 }
- case 2337 { rate := 1000000006659620268727841521 }
- case 2338 { rate := 1000000006662190464651840778 }
- case 2339 { rate := 1000000006664760452268846047 }
- case 2340 { rate := 1000000006667330231612619959 }
- case 2341 { rate := 1000000006669899802716916939 }
- case 2342 { rate := 1000000006672469165615483202 }
- case 2343 { rate := 1000000006675038320342056763 }
- case 2344 { rate := 1000000006677607266930367441 }
- case 2345 { rate := 1000000006680176005414136851 }
- case 2346 { rate := 1000000006682744535827078420 }
- case 2347 { rate := 1000000006685312858202897378 }
- case 2348 { rate := 1000000006687880972575290769 }
- case 2349 { rate := 1000000006690448878977947450 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 2350-2399
- switch gt(bps, 2374)
- case 0 { // 2350-2374
- switch bps
- case 2350 { rate := 1000000006693016577444548094 }
- case 2351 { rate := 1000000006695584068008765190 }
- case 2352 { rate := 1000000006698151350704263054 }
- case 2353 { rate := 1000000006700718425564697821 }
- case 2354 { rate := 1000000006703285292623717455 }
- case 2355 { rate := 1000000006705851951914961750 }
- case 2356 { rate := 1000000006708418403472062331 }
- case 2357 { rate := 1000000006710984647328642657 }
- case 2358 { rate := 1000000006713550683518318027 }
- case 2359 { rate := 1000000006716116512074695575 }
- case 2360 { rate := 1000000006718682133031374284 }
- case 2361 { rate := 1000000006721247546421944976 }
- case 2362 { rate := 1000000006723812752279990327 }
- case 2363 { rate := 1000000006726377750639084858 }
- case 2364 { rate := 1000000006728942541532794947 }
- case 2365 { rate := 1000000006731507124994678824 }
- case 2366 { rate := 1000000006734071501058286581 }
- case 2367 { rate := 1000000006736635669757160171 }
- case 2368 { rate := 1000000006739199631124833408 }
- case 2369 { rate := 1000000006741763385194831973 }
- case 2370 { rate := 1000000006744326932000673419 }
- case 2371 { rate := 1000000006746890271575867167 }
- case 2372 { rate := 1000000006749453403953914514 }
- case 2373 { rate := 1000000006752016329168308632 }
- case 2374 { rate := 1000000006754579047252534575 }
- default { revert(0, 0) }
- }
- case 1 { // 2375-2399
- switch bps
- case 2375 { rate := 1000000006757141558240069277 }
- case 2376 { rate := 1000000006759703862164381559 }
- case 2377 { rate := 1000000006762265959058932126 }
- case 2378 { rate := 1000000006764827848957173576 }
- case 2379 { rate := 1000000006767389531892550399 }
- case 2380 { rate := 1000000006769951007898498979 }
- case 2381 { rate := 1000000006772512277008447597 }
- case 2382 { rate := 1000000006775073339255816438 }
- case 2383 { rate := 1000000006777634194674017587 }
- case 2384 { rate := 1000000006780194843296455036 }
- case 2385 { rate := 1000000006782755285156524684 }
- case 2386 { rate := 1000000006785315520287614342 }
- case 2387 { rate := 1000000006787875548723103735 }
- case 2388 { rate := 1000000006790435370496364503 }
- case 2389 { rate := 1000000006792994985640760203 }
- case 2390 { rate := 1000000006795554394189646319 }
- case 2391 { rate := 1000000006798113596176370253 }
- case 2392 { rate := 1000000006800672591634271336 }
- case 2393 { rate := 1000000006803231380596680829 }
- case 2394 { rate := 1000000006805789963096921922 }
- case 2395 { rate := 1000000006808348339168309744 }
- case 2396 { rate := 1000000006810906508844151355 }
- case 2397 { rate := 1000000006813464472157745761 }
- case 2398 { rate := 1000000006816022229142383903 }
- case 2399 { rate := 1000000006818579779831348674 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- }
-}
\ No newline at end of file
diff --git a/src/repositories/Rates2400To3199.sol b/src/repositories/Rates2400To3199.sol
deleted file mode 100644
index c00a42b..0000000
--- a/src/repositories/Rates2400To3199.sol
+++ /dev/null
@@ -1,1065 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity 0.8.19;
-
-contract Rates2400To3199 {
- uint256 constant public MIN = 2400;
- uint256 constant public MAX = 3199;
-
- function turn(uint256 bps) external pure returns (uint256 rate) {
- if (bps > MAX) revert();
- if (bps < MIN) revert();
-
- assembly {
- switch gt(bps, 2799)
- case 0 { // 2400-2799
- switch gt(bps, 2599)
- case 0 { // 2400-2599
- switch gt(bps, 2499)
- case 0 { // 2400-2499
- switch gt(bps, 2449)
- case 0 { // 2400-2449
- switch gt(bps, 2424)
- case 0 { // 2400-2424
- switch bps
- case 2400 { rate := 1000000006821137124257914908 }
- case 2401 { rate := 1000000006823694262455349394 }
- case 2402 { rate := 1000000006826251194456910871 }
- case 2403 { rate := 1000000006828807920295850033 }
- case 2404 { rate := 1000000006831364440005409534 }
- case 2405 { rate := 1000000006833920753618823984 }
- case 2406 { rate := 1000000006836476861169319962 }
- case 2407 { rate := 1000000006839032762690116006 }
- case 2408 { rate := 1000000006841588458214422628 }
- case 2409 { rate := 1000000006844143947775442306 }
- case 2410 { rate := 1000000006846699231406369494 }
- case 2411 { rate := 1000000006849254309140390621 }
- case 2412 { rate := 1000000006851809181010684095 }
- case 2413 { rate := 1000000006854363847050420305 }
- case 2414 { rate := 1000000006856918307292761621 }
- case 2415 { rate := 1000000006859472561770862405 }
- case 2416 { rate := 1000000006862026610517869003 }
- case 2417 { rate := 1000000006864580453566919751 }
- case 2418 { rate := 1000000006867134090951144986 }
- case 2419 { rate := 1000000006869687522703667035 }
- case 2420 { rate := 1000000006872240748857600225 }
- case 2421 { rate := 1000000006874793769446050889 }
- case 2422 { rate := 1000000006877346584502117360 }
- case 2423 { rate := 1000000006879899194058889978 }
- case 2424 { rate := 1000000006882451598149451095 }
- default { revert(0, 0) }
- }
- case 1 { // 2425-2449
- switch bps
- case 2425 { rate := 1000000006885003796806875073 }
- case 2426 { rate := 1000000006887555790064228288 }
- case 2427 { rate := 1000000006890107577954569136 }
- case 2428 { rate := 1000000006892659160510948030 }
- case 2429 { rate := 1000000006895210537766407406 }
- case 2430 { rate := 1000000006897761709753981726 }
- case 2431 { rate := 1000000006900312676506697478 }
- case 2432 { rate := 1000000006902863438057573180 }
- case 2433 { rate := 1000000006905413994439619383 }
- case 2434 { rate := 1000000006907964345685838672 }
- case 2435 { rate := 1000000006910514491829225673 }
- case 2436 { rate := 1000000006913064432902767049 }
- case 2437 { rate := 1000000006915614168939441505 }
- case 2438 { rate := 1000000006918163699972219795 }
- case 2439 { rate := 1000000006920713026034064718 }
- case 2440 { rate := 1000000006923262147157931125 }
- case 2441 { rate := 1000000006925811063376765919 }
- case 2442 { rate := 1000000006928359774723508058 }
- case 2443 { rate := 1000000006930908281231088560 }
- case 2444 { rate := 1000000006933456582932430503 }
- case 2445 { rate := 1000000006936004679860449027 }
- case 2446 { rate := 1000000006938552572048051340 }
- case 2447 { rate := 1000000006941100259528136715 }
- case 2448 { rate := 1000000006943647742333596500 }
- case 2449 { rate := 1000000006946195020497314113 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 2450-2499
- switch gt(bps, 2474)
- case 0 { // 2450-2474
- switch bps
- case 2450 { rate := 1000000006948742094052165050 }
- case 2451 { rate := 1000000006951288963031016884 }
- case 2452 { rate := 1000000006953835627466729271 }
- case 2453 { rate := 1000000006956382087392153949 }
- case 2454 { rate := 1000000006958928342840134742 }
- case 2455 { rate := 1000000006961474393843507563 }
- case 2456 { rate := 1000000006964020240435100419 }
- case 2457 { rate := 1000000006966565882647733404 }
- case 2458 { rate := 1000000006969111320514218717 }
- case 2459 { rate := 1000000006971656554067360648 }
- case 2460 { rate := 1000000006974201583339955595 }
- case 2461 { rate := 1000000006976746408364792054 }
- case 2462 { rate := 1000000006979291029174650631 }
- case 2463 { rate := 1000000006981835445802304040 }
- case 2464 { rate := 1000000006984379658280517107 }
- case 2465 { rate := 1000000006986923666642046773 }
- case 2466 { rate := 1000000006989467470919642091 }
- case 2467 { rate := 1000000006992011071146044239 }
- case 2468 { rate := 1000000006994554467353986513 }
- case 2469 { rate := 1000000006997097659576194335 }
- case 2470 { rate := 1000000006999640647845385252 }
- case 2471 { rate := 1000000007002183432194268941 }
- case 2472 { rate := 1000000007004726012655547211 }
- case 2473 { rate := 1000000007007268389261914006 }
- case 2474 { rate := 1000000007009810562046055406 }
- default { revert(0, 0) }
- }
- case 1 { // 2475-2499
- switch bps
- case 2475 { rate := 1000000007012352531040649627 }
- case 2476 { rate := 1000000007014894296278367034 }
- case 2477 { rate := 1000000007017435857791870130 }
- case 2478 { rate := 1000000007019977215613813568 }
- case 2479 { rate := 1000000007022518369776844150 }
- case 2480 { rate := 1000000007025059320313600828 }
- case 2481 { rate := 1000000007027600067256714710 }
- case 2482 { rate := 1000000007030140610638809063 }
- case 2483 { rate := 1000000007032680950492499310 }
- case 2484 { rate := 1000000007035221086850393037 }
- case 2485 { rate := 1000000007037761019745089994 }
- case 2486 { rate := 1000000007040300749209182100 }
- case 2487 { rate := 1000000007042840275275253441 }
- case 2488 { rate := 1000000007045379597975880277 }
- case 2489 { rate := 1000000007047918717343631040 }
- case 2490 { rate := 1000000007050457633411066343 }
- case 2491 { rate := 1000000007052996346210738974 }
- case 2492 { rate := 1000000007055534855775193908 }
- case 2493 { rate := 1000000007058073162136968298 }
- case 2494 { rate := 1000000007060611265328591490 }
- case 2495 { rate := 1000000007063149165382585017 }
- case 2496 { rate := 1000000007065686862331462604 }
- case 2497 { rate := 1000000007068224356207730171 }
- case 2498 { rate := 1000000007070761647043885833 }
- case 2499 { rate := 1000000007073298734872419909 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 2500-2599
- switch gt(bps, 2549)
- case 0 { // 2500-2549
- switch gt(bps, 2524)
- case 0 { // 2500-2524
- switch bps
- case 2500 { rate := 1000000007075835619725814915 }
- case 2501 { rate := 1000000007078372301636545575 }
- case 2502 { rate := 1000000007080908780637078819 }
- case 2503 { rate := 1000000007083445056759873785 }
- case 2504 { rate := 1000000007085981130037381827 }
- case 2505 { rate := 1000000007088517000502046507 }
- case 2506 { rate := 1000000007091052668186303610 }
- case 2507 { rate := 1000000007093588133122581138 }
- case 2508 { rate := 1000000007096123395343299315 }
- case 2509 { rate := 1000000007098658454880870590 }
- case 2510 { rate := 1000000007101193311767699638 }
- case 2511 { rate := 1000000007103727966036183363 }
- case 2512 { rate := 1000000007106262417718710904 }
- case 2513 { rate := 1000000007108796666847663630 }
- case 2514 { rate := 1000000007111330713455415150 }
- case 2515 { rate := 1000000007113864557574331311 }
- case 2516 { rate := 1000000007116398199236770202 }
- case 2517 { rate := 1000000007118931638475082158 }
- case 2518 { rate := 1000000007121464875321609757 }
- case 2519 { rate := 1000000007123997909808687830 }
- case 2520 { rate := 1000000007126530741968643458 }
- case 2521 { rate := 1000000007129063371833795977 }
- case 2522 { rate := 1000000007131595799436456977 }
- case 2523 { rate := 1000000007134128024808930311 }
- case 2524 { rate := 1000000007136660047983512092 }
- default { revert(0, 0) }
- }
- case 1 { // 2525-2549
- switch bps
- case 2525 { rate := 1000000007139191868992490695 }
- case 2526 { rate := 1000000007141723487868146766 }
- case 2527 { rate := 1000000007144254904642753216 }
- case 2528 { rate := 1000000007146786119348575230 }
- case 2529 { rate := 1000000007149317132017870265 }
- case 2530 { rate := 1000000007151847942682888056 }
- case 2531 { rate := 1000000007154378551375870618 }
- case 2532 { rate := 1000000007156908958129052243 }
- case 2533 { rate := 1000000007159439162974659510 }
- case 2534 { rate := 1000000007161969165944911286 }
- case 2535 { rate := 1000000007164498967072018724 }
- case 2536 { rate := 1000000007167028566388185266 }
- case 2537 { rate := 1000000007169557963925606655 }
- case 2538 { rate := 1000000007172087159716470922 }
- case 2539 { rate := 1000000007174616153792958402 }
- case 2540 { rate := 1000000007177144946187241729 }
- case 2541 { rate := 1000000007179673536931485840 }
- case 2542 { rate := 1000000007182201926057847980 }
- case 2543 { rate := 1000000007184730113598477700 }
- case 2544 { rate := 1000000007187258099585516865 }
- case 2545 { rate := 1000000007189785884051099650 }
- case 2546 { rate := 1000000007192313467027352546 }
- case 2547 { rate := 1000000007194840848546394365 }
- case 2548 { rate := 1000000007197368028640336238 }
- case 2549 { rate := 1000000007199895007341281618 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 2550-2599
- switch gt(bps, 2574)
- case 0 { // 2550-2574
- switch bps
- case 2550 { rate := 1000000007202421784681326287 }
- case 2551 { rate := 1000000007204948360692558350 }
- case 2552 { rate := 1000000007207474735407058245 }
- case 2553 { rate := 1000000007210000908856898746 }
- case 2554 { rate := 1000000007212526881074144958 }
- case 2555 { rate := 1000000007215052652090854324 }
- case 2556 { rate := 1000000007217578221939076629 }
- case 2557 { rate := 1000000007220103590650854001 }
- case 2558 { rate := 1000000007222628758258220911 }
- case 2559 { rate := 1000000007225153724793204178 }
- case 2560 { rate := 1000000007227678490287822975 }
- case 2561 { rate := 1000000007230203054774088820 }
- case 2562 { rate := 1000000007232727418284005593 }
- case 2563 { rate := 1000000007235251580849569527 }
- case 2564 { rate := 1000000007237775542502769216 }
- case 2565 { rate := 1000000007240299303275585616 }
- case 2566 { rate := 1000000007242822863199992048 }
- case 2567 { rate := 1000000007245346222307954199 }
- case 2568 { rate := 1000000007247869380631430127 }
- case 2569 { rate := 1000000007250392338202370260 }
- case 2570 { rate := 1000000007252915095052717402 }
- case 2571 { rate := 1000000007255437651214406734 }
- case 2572 { rate := 1000000007257960006719365813 }
- case 2573 { rate := 1000000007260482161599514580 }
- case 2574 { rate := 1000000007263004115886765361 }
- default { revert(0, 0) }
- }
- case 1 { // 2575-2599
- switch bps
- case 2575 { rate := 1000000007265525869613022867 }
- case 2576 { rate := 1000000007268047422810184197 }
- case 2577 { rate := 1000000007270568775510138843 }
- case 2578 { rate := 1000000007273089927744768690 }
- case 2579 { rate := 1000000007275610879545948018 }
- case 2580 { rate := 1000000007278131630945543509 }
- case 2581 { rate := 1000000007280652181975414240 }
- case 2582 { rate := 1000000007283172532667411698 }
- case 2583 { rate := 1000000007285692683053379771 }
- case 2584 { rate := 1000000007288212633165154756 }
- case 2585 { rate := 1000000007290732383034565363 }
- case 2586 { rate := 1000000007293251932693432712 }
- case 2587 { rate := 1000000007295771282173570341 }
- case 2588 { rate := 1000000007298290431506784204 }
- case 2589 { rate := 1000000007300809380724872677 }
- case 2590 { rate := 1000000007303328129859626555 }
- case 2591 { rate := 1000000007305846678942829063 }
- case 2592 { rate := 1000000007308365028006255850 }
- case 2593 { rate := 1000000007310883177081674995 }
- case 2594 { rate := 1000000007313401126200847011 }
- case 2595 { rate := 1000000007315918875395524846 }
- case 2596 { rate := 1000000007318436424697453882 }
- case 2597 { rate := 1000000007320953774138371943 }
- case 2598 { rate := 1000000007323470923750009295 }
- case 2599 { rate := 1000000007325987873564088646 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 2600-2799
- switch gt(bps, 2699)
- case 0 { // 2600-2699
- switch gt(bps, 2649)
- case 0 { // 2600-2649
- switch gt(bps, 2624)
- case 0 { // 2600-2624
- switch bps
- case 2600 { rate := 1000000007328504623612325153 }
- case 2601 { rate := 1000000007331021173926426421 }
- case 2602 { rate := 1000000007333537524538092508 }
- case 2603 { rate := 1000000007336053675479015924 }
- case 2604 { rate := 1000000007338569626780881634 }
- case 2605 { rate := 1000000007341085378475367066 }
- case 2606 { rate := 1000000007343600930594142104 }
- case 2607 { rate := 1000000007346116283168869100 }
- case 2608 { rate := 1000000007348631436231202869 }
- case 2609 { rate := 1000000007351146389812790696 }
- case 2610 { rate := 1000000007353661143945272335 }
- case 2611 { rate := 1000000007356175698660280013 }
- case 2612 { rate := 1000000007358690053989438434 }
- case 2613 { rate := 1000000007361204209964364778 }
- case 2614 { rate := 1000000007363718166616668706 }
- case 2615 { rate := 1000000007366231923977952362 }
- case 2616 { rate := 1000000007368745482079810375 }
- case 2617 { rate := 1000000007371258840953829859 }
- case 2618 { rate := 1000000007373772000631590422 }
- case 2619 { rate := 1000000007376284961144664159 }
- case 2620 { rate := 1000000007378797722524615662 }
- case 2621 { rate := 1000000007381310284803002021 }
- case 2622 { rate := 1000000007383822648011372824 }
- case 2623 { rate := 1000000007386334812181270160 }
- case 2624 { rate := 1000000007388846777344228623 }
- default { revert(0, 0) }
- }
- case 1 { // 2625-2649
- switch bps
- case 2625 { rate := 1000000007391358543531775311 }
- case 2626 { rate := 1000000007393870110775429835 }
- case 2627 { rate := 1000000007396381479106704315 }
- case 2628 { rate := 1000000007398892648557103381 }
- case 2629 { rate := 1000000007401403619158124184 }
- case 2630 { rate := 1000000007403914390941256391 }
- case 2631 { rate := 1000000007406424963937982190 }
- case 2632 { rate := 1000000007408935338179776291 }
- case 2633 { rate := 1000000007411445513698105929 }
- case 2634 { rate := 1000000007413955490524430869 }
- case 2635 { rate := 1000000007416465268690203405 }
- case 2636 { rate := 1000000007418974848226868363 }
- case 2637 { rate := 1000000007421484229165863101 }
- case 2638 { rate := 1000000007423993411538617520 }
- case 2639 { rate := 1000000007426502395376554056 }
- case 2640 { rate := 1000000007429011180711087689 }
- case 2641 { rate := 1000000007431519767573625942 }
- case 2642 { rate := 1000000007434028155995568885 }
- case 2643 { rate := 1000000007436536346008309136 }
- case 2644 { rate := 1000000007439044337643231867 }
- case 2645 { rate := 1000000007441552130931714802 }
- case 2646 { rate := 1000000007444059725905128218 }
- case 2647 { rate := 1000000007446567122594834957 }
- case 2648 { rate := 1000000007449074321032190415 }
- case 2649 { rate := 1000000007451581321248542554 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 2650-2699
- switch gt(bps, 2674)
- case 0 { // 2650-2674
- switch bps
- case 2650 { rate := 1000000007454088123275231904 }
- case 2651 { rate := 1000000007456594727143591558 }
- case 2652 { rate := 1000000007459101132884947181 }
- case 2653 { rate := 1000000007461607340530617012 }
- case 2654 { rate := 1000000007464113350111911864 }
- case 2655 { rate := 1000000007466619161660135123 }
- case 2656 { rate := 1000000007469124775206582763 }
- case 2657 { rate := 1000000007471630190782543332 }
- case 2658 { rate := 1000000007474135408419297966 }
- case 2659 { rate := 1000000007476640428148120386 }
- case 2660 { rate := 1000000007479145250000276903 }
- case 2661 { rate := 1000000007481649874007026420 }
- case 2662 { rate := 1000000007484154300199620430 }
- case 2663 { rate := 1000000007486658528609303027 }
- case 2664 { rate := 1000000007489162559267310898 }
- case 2665 { rate := 1000000007491666392204873334 }
- case 2666 { rate := 1000000007494170027453212228 }
- case 2667 { rate := 1000000007496673465043542080 }
- case 2668 { rate := 1000000007499176705007069991 }
- case 2669 { rate := 1000000007501679747374995682 }
- case 2670 { rate := 1000000007504182592178511478 }
- case 2671 { rate := 1000000007506685239448802322 }
- case 2672 { rate := 1000000007509187689217045773 }
- case 2673 { rate := 1000000007511689941514412011 }
- case 2674 { rate := 1000000007514191996372063835 }
- default { revert(0, 0) }
- }
- case 1 { // 2675-2699
- switch bps
- case 2675 { rate := 1000000007516693853821156670 }
- case 2676 { rate := 1000000007519195513892838566 }
- case 2677 { rate := 1000000007521696976618250202 }
- case 2678 { rate := 1000000007524198242028524886 }
- case 2679 { rate := 1000000007526699310154788564 }
- case 2680 { rate := 1000000007529200181028159813 }
- case 2681 { rate := 1000000007531700854679749850 }
- case 2682 { rate := 1000000007534201331140662531 }
- case 2683 { rate := 1000000007536701610441994354 }
- case 2684 { rate := 1000000007539201692614834466 }
- case 2685 { rate := 1000000007541701577690264654 }
- case 2686 { rate := 1000000007544201265699359361 }
- case 2687 { rate := 1000000007546700756673185679 }
- case 2688 { rate := 1000000007549200050642803353 }
- case 2689 { rate := 1000000007551699147639264788 }
- case 2690 { rate := 1000000007554198047693615043 }
- case 2691 { rate := 1000000007556696750836891842 }
- case 2692 { rate := 1000000007559195257100125570 }
- case 2693 { rate := 1000000007561693566514339279 }
- case 2694 { rate := 1000000007564191679110548687 }
- case 2695 { rate := 1000000007566689594919762187 }
- case 2696 { rate := 1000000007569187313972980838 }
- case 2697 { rate := 1000000007571684836301198378 }
- case 2698 { rate := 1000000007574182161935401222 }
- case 2699 { rate := 1000000007576679290906568463 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 2700-2799
- switch gt(bps, 2749)
- case 0 { // 2700-2749
- switch gt(bps, 2724)
- case 0 { // 2700-2724
- switch bps
- case 2700 { rate := 1000000007579176223245671878 }
- case 2701 { rate := 1000000007581672958983675926 }
- case 2702 { rate := 1000000007584169498151537752 }
- case 2703 { rate := 1000000007586665840780207194 }
- case 2704 { rate := 1000000007589161986900626776 }
- case 2705 { rate := 1000000007591657936543731717 }
- case 2706 { rate := 1000000007594153689740449933 }
- case 2707 { rate := 1000000007596649246521702037 }
- case 2708 { rate := 1000000007599144606918401342 }
- case 2709 { rate := 1000000007601639770961453862 }
- case 2710 { rate := 1000000007604134738681758320 }
- case 2711 { rate := 1000000007606629510110206142 }
- case 2712 { rate := 1000000007609124085277681464 }
- case 2713 { rate := 1000000007611618464215061138 }
- case 2714 { rate := 1000000007614112646953214725 }
- case 2715 { rate := 1000000007616606633523004503 }
- case 2716 { rate := 1000000007619100423955285470 }
- case 2717 { rate := 1000000007621594018280905346 }
- case 2718 { rate := 1000000007624087416530704571 }
- case 2719 { rate := 1000000007626580618735516314 }
- case 2720 { rate := 1000000007629073624926166467 }
- case 2721 { rate := 1000000007631566435133473656 }
- case 2722 { rate := 1000000007634059049388249240 }
- case 2723 { rate := 1000000007636551467721297309 }
- case 2724 { rate := 1000000007639043690163414692 }
- default { revert(0, 0) }
- }
- case 1 { // 2725-2749
- switch bps
- case 2725 { rate := 1000000007641535716745390957 }
- case 2726 { rate := 1000000007644027547498008412 }
- case 2727 { rate := 1000000007646519182452042112 }
- case 2728 { rate := 1000000007649010621638259855 }
- case 2729 { rate := 1000000007651501865087422189 }
- case 2730 { rate := 1000000007653992912830282410 }
- case 2731 { rate := 1000000007656483764897586571 }
- case 2732 { rate := 1000000007658974421320073477 }
- case 2733 { rate := 1000000007661464882128474691 }
- case 2734 { rate := 1000000007663955147353514535 }
- case 2735 { rate := 1000000007666445217025910095 }
- case 2736 { rate := 1000000007668935091176371220 }
- case 2737 { rate := 1000000007671424769835600527 }
- case 2738 { rate := 1000000007673914253034293397 }
- case 2739 { rate := 1000000007676403540803137988 }
- case 2740 { rate := 1000000007678892633172815227 }
- case 2741 { rate := 1000000007681381530173998820 }
- case 2742 { rate := 1000000007683870231837355249 }
- case 2743 { rate := 1000000007686358738193543774 }
- case 2744 { rate := 1000000007688847049273216443 }
- case 2745 { rate := 1000000007691335165107018082 }
- case 2746 { rate := 1000000007693823085725586308 }
- case 2747 { rate := 1000000007696310811159551528 }
- case 2748 { rate := 1000000007698798341439536935 }
- case 2749 { rate := 1000000007701285676596158525 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 2750-2799
- switch gt(bps, 2774)
- case 0 { // 2750-2774
- switch bps
- case 2750 { rate := 1000000007703772816660025079 }
- case 2751 { rate := 1000000007706259761661738185 }
- case 2752 { rate := 1000000007708746511631892227 }
- case 2753 { rate := 1000000007711233066601074392 }
- case 2754 { rate := 1000000007713719426599864675 }
- case 2755 { rate := 1000000007716205591658835874 }
- case 2756 { rate := 1000000007718691561808553598 }
- case 2757 { rate := 1000000007721177337079576270 }
- case 2758 { rate := 1000000007723662917502455126 }
- case 2759 { rate := 1000000007726148303107734216 }
- case 2760 { rate := 1000000007728633493925950409 }
- case 2761 { rate := 1000000007731118489987633399 }
- case 2762 { rate := 1000000007733603291323305697 }
- case 2763 { rate := 1000000007736087897963482645 }
- case 2764 { rate := 1000000007738572309938672406 }
- case 2765 { rate := 1000000007741056527279375980 }
- case 2766 { rate := 1000000007743540550016087193 }
- case 2767 { rate := 1000000007746024378179292708 }
- case 2768 { rate := 1000000007748508011799472026 }
- case 2769 { rate := 1000000007750991450907097483 }
- case 2770 { rate := 1000000007753474695532634259 }
- case 2771 { rate := 1000000007755957745706540376 }
- case 2772 { rate := 1000000007758440601459266700 }
- case 2773 { rate := 1000000007760923262821256948 }
- case 2774 { rate := 1000000007763405729822947685 }
- default { revert(0, 0) }
- }
- case 1 { // 2775-2799
- switch bps
- case 2775 { rate := 1000000007765888002494768329 }
- case 2776 { rate := 1000000007768370080867141151 }
- case 2777 { rate := 1000000007770851964970481280 }
- case 2778 { rate := 1000000007773333654835196703 }
- case 2779 { rate := 1000000007775815150491688269 }
- case 2780 { rate := 1000000007778296451970349690 }
- case 2781 { rate := 1000000007780777559301567543 }
- case 2782 { rate := 1000000007783258472515721274 }
- case 2783 { rate := 1000000007785739191643183199 }
- case 2784 { rate := 1000000007788219716714318505 }
- case 2785 { rate := 1000000007790700047759485254 }
- case 2786 { rate := 1000000007793180184809034386 }
- case 2787 { rate := 1000000007795660127893309718 }
- case 2788 { rate := 1000000007798139877042647950 }
- case 2789 { rate := 1000000007800619432287378665 }
- case 2790 { rate := 1000000007803098793657824331 }
- case 2791 { rate := 1000000007805577961184300304 }
- case 2792 { rate := 1000000007808056934897114831 }
- case 2793 { rate := 1000000007810535714826569051 }
- case 2794 { rate := 1000000007813014301002956995 }
- case 2795 { rate := 1000000007815492693456565596 }
- case 2796 { rate := 1000000007817970892217674682 }
- case 2797 { rate := 1000000007820448897316556983 }
- case 2798 { rate := 1000000007822926708783478132 }
- case 2799 { rate := 1000000007825404326648696672 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 2800-3199
- switch gt(bps, 2999)
- case 0 { // 2800-2999
- switch gt(bps, 2899)
- case 0 { // 2800-2899
- switch gt(bps, 2849)
- case 0 { // 2800-2849
- switch gt(bps, 2824)
- case 0 { // 2800-2824
- switch bps
- case 2800 { rate := 1000000007827881750942464045 }
- case 2801 { rate := 1000000007830358981695024613 }
- case 2802 { rate := 1000000007832836018936615642 }
- case 2803 { rate := 1000000007835312862697467319 }
- case 2804 { rate := 1000000007837789513007802744 }
- case 2805 { rate := 1000000007840265969897837937 }
- case 2806 { rate := 1000000007842742233397781838 }
- case 2807 { rate := 1000000007845218303537836314 }
- case 2808 { rate := 1000000007847694180348196153 }
- case 2809 { rate := 1000000007850169863859049072 }
- case 2810 { rate := 1000000007852645354100575721 }
- case 2811 { rate := 1000000007855120651102949679 }
- case 2812 { rate := 1000000007857595754896337460 }
- case 2813 { rate := 1000000007860070665510898517 }
- case 2814 { rate := 1000000007862545382976785237 }
- case 2815 { rate := 1000000007865019907324142954 }
- case 2816 { rate := 1000000007867494238583109939 }
- case 2817 { rate := 1000000007869968376783817414 }
- case 2818 { rate := 1000000007872442321956389545 }
- case 2819 { rate := 1000000007874916074130943450 }
- case 2820 { rate := 1000000007877389633337589198 }
- case 2821 { rate := 1000000007879862999606429812 }
- case 2822 { rate := 1000000007882336172967561271 }
- case 2823 { rate := 1000000007884809153451072514 }
- case 2824 { rate := 1000000007887281941087045441 }
- default { revert(0, 0) }
- }
- case 1 { // 2825-2849
- switch bps
- case 2825 { rate := 1000000007889754535905554913 }
- case 2826 { rate := 1000000007892226937936668759 }
- case 2827 { rate := 1000000007894699147210447772 }
- case 2828 { rate := 1000000007897171163756945718 }
- case 2829 { rate := 1000000007899642987606209333 }
- case 2830 { rate := 1000000007902114618788278327 }
- case 2831 { rate := 1000000007904586057333185387 }
- case 2832 { rate := 1000000007907057303270956176 }
- case 2833 { rate := 1000000007909528356631609343 }
- case 2834 { rate := 1000000007911999217445156512 }
- case 2835 { rate := 1000000007914469885741602299 }
- case 2836 { rate := 1000000007916940361550944303 }
- case 2837 { rate := 1000000007919410644903173113 }
- case 2838 { rate := 1000000007921880735828272312 }
- case 2839 { rate := 1000000007924350634356218473 }
- case 2840 { rate := 1000000007926820340516981166 }
- case 2841 { rate := 1000000007929289854340522961 }
- case 2842 { rate := 1000000007931759175856799426 }
- case 2843 { rate := 1000000007934228305095759133 }
- case 2844 { rate := 1000000007936697242087343656 }
- case 2845 { rate := 1000000007939165986861487579 }
- case 2846 { rate := 1000000007941634539448118494 }
- case 2847 { rate := 1000000007944102899877157001 }
- case 2848 { rate := 1000000007946571068178516718 }
- case 2849 { rate := 1000000007949039044382104276 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 2850-2899
- switch gt(bps, 2874)
- case 0 { // 2850-2874
- switch bps
- case 2850 { rate := 1000000007951506828517819323 }
- case 2851 { rate := 1000000007953974420615554529 }
- case 2852 { rate := 1000000007956441820705195583 }
- case 2853 { rate := 1000000007958909028816621201 }
- case 2854 { rate := 1000000007961376044979703124 }
- case 2855 { rate := 1000000007963842869224306123 }
- case 2856 { rate := 1000000007966309501580287995 }
- case 2857 { rate := 1000000007968775942077499577 }
- case 2858 { rate := 1000000007971242190745784735 }
- case 2859 { rate := 1000000007973708247614980375 }
- case 2860 { rate := 1000000007976174112714916441 }
- case 2861 { rate := 1000000007978639786075415919 }
- case 2862 { rate := 1000000007981105267726294840 }
- case 2863 { rate := 1000000007983570557697362280 }
- case 2864 { rate := 1000000007986035656018420361 }
- case 2865 { rate := 1000000007988500562719264258 }
- case 2866 { rate := 1000000007990965277829682196 }
- case 2867 { rate := 1000000007993429801379455456 }
- case 2868 { rate := 1000000007995894133398358376 }
- case 2869 { rate := 1000000007998358273916158351 }
- case 2870 { rate := 1000000008000822222962615839 }
- case 2871 { rate := 1000000008003285980567484358 }
- case 2872 { rate := 1000000008005749546760510496 }
- case 2873 { rate := 1000000008008212921571433904 }
- case 2874 { rate := 1000000008010676105029987304 }
- default { revert(0, 0) }
- }
- case 1 { // 2875-2899
- switch bps
- case 2875 { rate := 1000000008013139097165896490 }
- case 2876 { rate := 1000000008015601898008880332 }
- case 2877 { rate := 1000000008018064507588650772 }
- case 2878 { rate := 1000000008020526925934912831 }
- case 2879 { rate := 1000000008022989153077364614 }
- case 2880 { rate := 1000000008025451189045697303 }
- case 2881 { rate := 1000000008027913033869595170 }
- case 2882 { rate := 1000000008030374687578735570 }
- case 2883 { rate := 1000000008032836150202788948 }
- case 2884 { rate := 1000000008035297421771418841 }
- case 2885 { rate := 1000000008037758502314281877 }
- case 2886 { rate := 1000000008040219391861027783 }
- case 2887 { rate := 1000000008042680090441299379 }
- case 2888 { rate := 1000000008045140598084732587 }
- case 2889 { rate := 1000000008047600914820956433 }
- case 2890 { rate := 1000000008050061040679593042 }
- case 2891 { rate := 1000000008052520975690257649 }
- case 2892 { rate := 1000000008054980719882558595 }
- case 2893 { rate := 1000000008057440273286097333 }
- case 2894 { rate := 1000000008059899635930468427 }
- case 2895 { rate := 1000000008062358807845259556 }
- case 2896 { rate := 1000000008064817789060051517 }
- case 2897 { rate := 1000000008067276579604418223 }
- case 2898 { rate := 1000000008069735179507926713 }
- case 2899 { rate := 1000000008072193588800137143 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 2900-2999
- switch gt(bps, 2949)
- case 0 { // 2900-2949
- switch gt(bps, 2924)
- case 0 { // 2900-2924
- switch bps
- case 2900 { rate := 1000000008074651807510602798 }
- case 2901 { rate := 1000000008077109835668870091 }
- case 2902 { rate := 1000000008079567673304478561 }
- case 2903 { rate := 1000000008082025320446960884 }
- case 2904 { rate := 1000000008084482777125842863 }
- case 2905 { rate := 1000000008086940043370643444 }
- case 2906 { rate := 1000000008089397119210874706 }
- case 2907 { rate := 1000000008091854004676041869 }
- case 2908 { rate := 1000000008094310699795643299 }
- case 2909 { rate := 1000000008096767204599170500 }
- case 2910 { rate := 1000000008099223519116108130 }
- case 2911 { rate := 1000000008101679643375933989 }
- case 2912 { rate := 1000000008104135577408119032 }
- case 2913 { rate := 1000000008106591321242127364 }
- case 2914 { rate := 1000000008109046874907416248 }
- case 2915 { rate := 1000000008111502238433436104 }
- case 2916 { rate := 1000000008113957411849630507 }
- case 2917 { rate := 1000000008116412395185436200 }
- case 2918 { rate := 1000000008118867188470283082 }
- case 2919 { rate := 1000000008121321791733594224 }
- case 2920 { rate := 1000000008123776205004785863 }
- case 2921 { rate := 1000000008126230428313267405 }
- case 2922 { rate := 1000000008128684461688441426 }
- case 2923 { rate := 1000000008131138305159703681 }
- case 2924 { rate := 1000000008133591958756443098 }
- default { revert(0, 0) }
- }
- case 1 { // 2925-2949
- switch bps
- case 2925 { rate := 1000000008136045422508041783 }
- case 2926 { rate := 1000000008138498696443875023 }
- case 2927 { rate := 1000000008140951780593311289 }
- case 2928 { rate := 1000000008143404674985712235 }
- case 2929 { rate := 1000000008145857379650432701 }
- case 2930 { rate := 1000000008148309894616820721 }
- case 2931 { rate := 1000000008150762219914217511 }
- case 2932 { rate := 1000000008153214355571957489 }
- case 2933 { rate := 1000000008155666301619368262 }
- case 2934 { rate := 1000000008158118058085770639 }
- case 2935 { rate := 1000000008160569625000478625 }
- case 2936 { rate := 1000000008163021002392799426 }
- case 2937 { rate := 1000000008165472190292033455 }
- case 2938 { rate := 1000000008167923188727474329 }
- case 2939 { rate := 1000000008170373997728408871 }
- case 2940 { rate := 1000000008172824617324117117 }
- case 2941 { rate := 1000000008175275047543872314 }
- case 2942 { rate := 1000000008177725288416940921 }
- case 2943 { rate := 1000000008180175339972582615 }
- case 2944 { rate := 1000000008182625202240050293 }
- case 2945 { rate := 1000000008185074875248590068 }
- case 2946 { rate := 1000000008187524359027441281 }
- case 2947 { rate := 1000000008189973653605836492 }
- case 2948 { rate := 1000000008192422759013001491 }
- case 2949 { rate := 1000000008194871675278155297 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 2950-2999
- switch gt(bps, 2974)
- case 0 { // 2950-2974
- switch bps
- case 2950 { rate := 1000000008197320402430510158 }
- case 2951 { rate := 1000000008199768940499271556 }
- case 2952 { rate := 1000000008202217289513638208 }
- case 2953 { rate := 1000000008204665449502802068 }
- case 2954 { rate := 1000000008207113420495948328 }
- case 2955 { rate := 1000000008209561202522255424 }
- case 2956 { rate := 1000000008212008795610895033 }
- case 2957 { rate := 1000000008214456199791032080 }
- case 2958 { rate := 1000000008216903415091824734 }
- case 2959 { rate := 1000000008219350441542424416 }
- case 2960 { rate := 1000000008221797279171975799 }
- case 2961 { rate := 1000000008224243928009616809 }
- case 2962 { rate := 1000000008226690388084478627 }
- case 2963 { rate := 1000000008229136659425685693 }
- case 2964 { rate := 1000000008231582742062355709 }
- case 2965 { rate := 1000000008234028636023599636 }
- case 2966 { rate := 1000000008236474341338521699 }
- case 2967 { rate := 1000000008238919858036219393 }
- case 2968 { rate := 1000000008241365186145783477 }
- case 2969 { rate := 1000000008243810325696297983 }
- case 2970 { rate := 1000000008246255276716840215 }
- case 2971 { rate := 1000000008248700039236480752 }
- case 2972 { rate := 1000000008251144613284283449 }
- case 2973 { rate := 1000000008253588998889305439 }
- case 2974 { rate := 1000000008256033196080597139 }
- default { revert(0, 0) }
- }
- case 1 { // 2975-2999
- switch bps
- case 2975 { rate := 1000000008258477204887202245 }
- case 2976 { rate := 1000000008260921025338157740 }
- case 2977 { rate := 1000000008263364657462493893 }
- case 2978 { rate := 1000000008265808101289234264 }
- case 2979 { rate := 1000000008268251356847395701 }
- case 2980 { rate := 1000000008270694424165988349 }
- case 2981 { rate := 1000000008273137303274015646 }
- case 2982 { rate := 1000000008275579994200474327 }
- case 2983 { rate := 1000000008278022496974354428 }
- case 2984 { rate := 1000000008280464811624639285 }
- case 2985 { rate := 1000000008282906938180305537 }
- case 2986 { rate := 1000000008285348876670323134 }
- case 2987 { rate := 1000000008287790627123655325 }
- case 2988 { rate := 1000000008290232189569258676 }
- case 2989 { rate := 1000000008292673564036083061 }
- case 2990 { rate := 1000000008295114750553071670 }
- case 2991 { rate := 1000000008297555749149161005 }
- case 2992 { rate := 1000000008299996559853280893 }
- case 2993 { rate := 1000000008302437182694354473 }
- case 2994 { rate := 1000000008304877617701298212 }
- case 2995 { rate := 1000000008307317864903021899 }
- case 2996 { rate := 1000000008309757924328428649 }
- case 2997 { rate := 1000000008312197796006414905 }
- case 2998 { rate := 1000000008314637479965870443 }
- case 2999 { rate := 1000000008317076976235678365 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 3000-3199
- switch gt(bps, 3099)
- case 0 { // 3000-3099
- switch gt(bps, 3049)
- case 0 { // 3000-3049
- switch gt(bps, 3024)
- case 0 { // 3000-3024
- switch bps
- case 3000 { rate := 1000000008319516284844715115 }
- case 3001 { rate := 1000000008321955405821850471 }
- case 3002 { rate := 1000000008324394339195947545 }
- case 3003 { rate := 1000000008326833084995862796 }
- case 3004 { rate := 1000000008329271643250446021 }
- case 3005 { rate := 1000000008331710013988540364 }
- case 3006 { rate := 1000000008334148197238982316 }
- case 3007 { rate := 1000000008336586193030601715 }
- case 3008 { rate := 1000000008339024001392221751 }
- case 3009 { rate := 1000000008341461622352658967 }
- case 3010 { rate := 1000000008343899055940723259 }
- case 3011 { rate := 1000000008346336302185217882 }
- case 3012 { rate := 1000000008348773361114939450 }
- case 3013 { rate := 1000000008351210232758677936 }
- case 3014 { rate := 1000000008353646917145216679 }
- case 3015 { rate := 1000000008356083414303332380 }
- case 3016 { rate := 1000000008358519724261795110 }
- case 3017 { rate := 1000000008360955847049368306 }
- case 3018 { rate := 1000000008363391782694808779 }
- case 3019 { rate := 1000000008365827531226866712 }
- case 3020 { rate := 1000000008368263092674285664 }
- case 3021 { rate := 1000000008370698467065802570 }
- case 3022 { rate := 1000000008373133654430147746 }
- case 3023 { rate := 1000000008375568654796044887 }
- case 3024 { rate := 1000000008378003468192211075 }
- default { revert(0, 0) }
- }
- case 1 { // 3025-3049
- switch bps
- case 3025 { rate := 1000000008380438094647356774 }
- case 3026 { rate := 1000000008382872534190185837 }
- case 3027 { rate := 1000000008385306786849395508 }
- case 3028 { rate := 1000000008387740852653676418 }
- case 3029 { rate := 1000000008390174731631712596 }
- case 3030 { rate := 1000000008392608423812181466 }
- case 3031 { rate := 1000000008395041929223753848 }
- case 3032 { rate := 1000000008397475247895093962 }
- case 3033 { rate := 1000000008399908379854859430 }
- case 3034 { rate := 1000000008402341325131701278 }
- case 3035 { rate := 1000000008404774083754263937 }
- case 3036 { rate := 1000000008407206655751185247 }
- case 3037 { rate := 1000000008409639041151096456 }
- case 3038 { rate := 1000000008412071239982622226 }
- case 3039 { rate := 1000000008414503252274380631 }
- case 3040 { rate := 1000000008416935078054983162 }
- case 3041 { rate := 1000000008419366717353034726 }
- case 3042 { rate := 1000000008421798170197133652 }
- case 3043 { rate := 1000000008424229436615871690 }
- case 3044 { rate := 1000000008426660516637834013 }
- case 3045 { rate := 1000000008429091410291599222 }
- case 3046 { rate := 1000000008431522117605739346 }
- case 3047 { rate := 1000000008433952638608819840 }
- case 3048 { rate := 1000000008436382973329399595 }
- case 3049 { rate := 1000000008438813121796030934 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 3050-3099
- switch gt(bps, 3074)
- case 0 { // 3050-3074
- switch bps
- case 3050 { rate := 1000000008441243084037259619 }
- case 3051 { rate := 1000000008443672860081624846 }
- case 3052 { rate := 1000000008446102449957659252 }
- case 3053 { rate := 1000000008448531853693888919 }
- case 3054 { rate := 1000000008450961071318833369 }
- case 3055 { rate := 1000000008453390102861005572 }
- case 3056 { rate := 1000000008455818948348911946 }
- case 3057 { rate := 1000000008458247607811052360 }
- case 3058 { rate := 1000000008460676081275920133 }
- case 3059 { rate := 1000000008463104368772002040 }
- case 3060 { rate := 1000000008465532470327778310 }
- case 3061 { rate := 1000000008467960385971722632 }
- case 3062 { rate := 1000000008470388115732302154 }
- case 3063 { rate := 1000000008472815659637977489 }
- case 3064 { rate := 1000000008475243017717202707 }
- case 3065 { rate := 1000000008477670189998425353 }
- case 3066 { rate := 1000000008480097176510086432 }
- case 3067 { rate := 1000000008482523977280620426 }
- case 3068 { rate := 1000000008484950592338455283 }
- case 3069 { rate := 1000000008487377021712012431 }
- case 3070 { rate := 1000000008489803265429706768 }
- case 3071 { rate := 1000000008492229323519946677 }
- case 3072 { rate := 1000000008494655196011134014 }
- case 3073 { rate := 1000000008497080882931664122 }
- case 3074 { rate := 1000000008499506384309925825 }
- default { revert(0, 0) }
- }
- case 1 { // 3075-3099
- switch bps
- case 3075 { rate := 1000000008501931700174301437 }
- case 3076 { rate := 1000000008504356830553166755 }
- case 3077 { rate := 1000000008506781775474891069 }
- case 3078 { rate := 1000000008509206534967837162 }
- case 3079 { rate := 1000000008511631109060361308 }
- case 3080 { rate := 1000000008514055497780813280 }
- case 3081 { rate := 1000000008516479701157536348 }
- case 3082 { rate := 1000000008518903719218867280 }
- case 3083 { rate := 1000000008521327551993136348 }
- case 3084 { rate := 1000000008523751199508667330 }
- case 3085 { rate := 1000000008526174661793777504 }
- case 3086 { rate := 1000000008528597938876777661 }
- case 3087 { rate := 1000000008531021030785972101 }
- case 3088 { rate := 1000000008533443937549658636 }
- case 3089 { rate := 1000000008535866659196128590 }
- case 3090 { rate := 1000000008538289195753666803 }
- case 3091 { rate := 1000000008540711547250551637 }
- case 3092 { rate := 1000000008543133713715054969 }
- case 3093 { rate := 1000000008545555695175442199 }
- case 3094 { rate := 1000000008547977491659972252 }
- case 3095 { rate := 1000000008550399103196897579 }
- case 3096 { rate := 1000000008552820529814464158 }
- case 3097 { rate := 1000000008555241771540911495 }
- case 3098 { rate := 1000000008557662828404472630 }
- case 3099 { rate := 1000000008560083700433374138 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 3100-3199
- switch gt(bps, 3149)
- case 0 { // 3100-3149
- switch gt(bps, 3124)
- case 0 { // 3100-3124
- switch bps
- case 3100 { rate := 1000000008562504387655836125 }
- case 3101 { rate := 1000000008564924890100072238 }
- case 3102 { rate := 1000000008567345207794289664 }
- case 3103 { rate := 1000000008569765340766689130 }
- case 3104 { rate := 1000000008572185289045464906 }
- case 3105 { rate := 1000000008574605052658804811 }
- case 3106 { rate := 1000000008577024631634890207 }
- case 3107 { rate := 1000000008579444026001896008 }
- case 3108 { rate := 1000000008581863235787990679 }
- case 3109 { rate := 1000000008584282261021336238 }
- case 3110 { rate := 1000000008586701101730088259 }
- case 3111 { rate := 1000000008589119757942395872 }
- case 3112 { rate := 1000000008591538229686401769 }
- case 3113 { rate := 1000000008593956516990242201 }
- case 3114 { rate := 1000000008596374619882046982 }
- case 3115 { rate := 1000000008598792538389939493 }
- case 3116 { rate := 1000000008601210272542036680 }
- case 3117 { rate := 1000000008603627822366449059 }
- case 3118 { rate := 1000000008606045187891280718 }
- case 3119 { rate := 1000000008608462369144629317 }
- case 3120 { rate := 1000000008610879366154586092 }
- case 3121 { rate := 1000000008613296178949235855 }
- case 3122 { rate := 1000000008615712807556656995 }
- case 3123 { rate := 1000000008618129252004921486 }
- case 3124 { rate := 1000000008620545512322094883 }
- default { revert(0, 0) }
- }
- case 1 { // 3125-3149
- switch bps
- case 3125 { rate := 1000000008622961588536236324 }
- case 3126 { rate := 1000000008625377480675398538 }
- case 3127 { rate := 1000000008627793188767627836 }
- case 3128 { rate := 1000000008630208712840964127 }
- case 3129 { rate := 1000000008632624052923440907 }
- case 3130 { rate := 1000000008635039209043085270 }
- case 3131 { rate := 1000000008637454181227917904 }
- case 3132 { rate := 1000000008639868969505953098 }
- case 3133 { rate := 1000000008642283573905198739 }
- case 3134 { rate := 1000000008644697994453656318 }
- case 3135 { rate := 1000000008647112231179320929 }
- case 3136 { rate := 1000000008649526284110181275 }
- case 3137 { rate := 1000000008651940153274219662 }
- case 3138 { rate := 1000000008654353838699412010 }
- case 3139 { rate := 1000000008656767340413727852 }
- case 3140 { rate := 1000000008659180658445130332 }
- case 3141 { rate := 1000000008661593792821576212 }
- case 3142 { rate := 1000000008664006743571015870 }
- case 3143 { rate := 1000000008666419510721393305 }
- case 3144 { rate := 1000000008668832094300646140 }
- case 3145 { rate := 1000000008671244494336705617 }
- case 3146 { rate := 1000000008673656710857496608 }
- case 3147 { rate := 1000000008676068743890937609 }
- case 3148 { rate := 1000000008678480593464940750 }
- case 3149 { rate := 1000000008680892259607411787 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 3150-3199
- switch gt(bps, 3174)
- case 0 { // 3150-3174
- switch bps
- case 3150 { rate := 1000000008683303742346250114 }
- case 3151 { rate := 1000000008685715041709348759 }
- case 3152 { rate := 1000000008688126157724594385 }
- case 3153 { rate := 1000000008690537090419867299 }
- case 3154 { rate := 1000000008692947839823041443 }
- case 3155 { rate := 1000000008695358405961984408 }
- case 3156 { rate := 1000000008697768788864557426 }
- case 3157 { rate := 1000000008700178988558615379 }
- case 3158 { rate := 1000000008702589005072006795 }
- case 3159 { rate := 1000000008704998838432573855 }
- case 3160 { rate := 1000000008707408488668152392 }
- case 3161 { rate := 1000000008709817955806571893 }
- case 3162 { rate := 1000000008712227239875655502 }
- case 3163 { rate := 1000000008714636340903220022 }
- case 3164 { rate := 1000000008717045258917075917 }
- case 3165 { rate := 1000000008719453993945027311 }
- case 3166 { rate := 1000000008721862546014871996 }
- case 3167 { rate := 1000000008724270915154401427 }
- case 3168 { rate := 1000000008726679101391400728 }
- case 3169 { rate := 1000000008729087104753648695 }
- case 3170 { rate := 1000000008731494925268917794 }
- case 3171 { rate := 1000000008733902562964974164 }
- case 3172 { rate := 1000000008736310017869577622 }
- case 3173 { rate := 1000000008738717290010481663 }
- case 3174 { rate := 1000000008741124379415433461 }
- default { revert(0, 0) }
- }
- case 1 { // 3175-3199
- switch bps
- case 3175 { rate := 1000000008743531286112173869 }
- case 3176 { rate := 1000000008745938010128437428 }
- case 3177 { rate := 1000000008748344551491952362 }
- case 3178 { rate := 1000000008750750910230440583 }
- case 3179 { rate := 1000000008753157086371617690 }
- case 3180 { rate := 1000000008755563079943192978 }
- case 3181 { rate := 1000000008757968890972869430 }
- case 3182 { rate := 1000000008760374519488343729 }
- case 3183 { rate := 1000000008762779965517306250 }
- case 3184 { rate := 1000000008765185229087441070 }
- case 3185 { rate := 1000000008767590310226425966 }
- case 3186 { rate := 1000000008769995208961932417 }
- case 3187 { rate := 1000000008772399925321625609 }
- case 3188 { rate := 1000000008774804459333164431 }
- case 3189 { rate := 1000000008777208811024201482 }
- case 3190 { rate := 1000000008779612980422383073 }
- case 3191 { rate := 1000000008782016967555349225 }
- case 3192 { rate := 1000000008784420772450733672 }
- case 3193 { rate := 1000000008786824395136163869 }
- case 3194 { rate := 1000000008789227835639260984 }
- case 3195 { rate := 1000000008791631093987639905 }
- case 3196 { rate := 1000000008794034170208909246 }
- case 3197 { rate := 1000000008796437064330671341 }
- case 3198 { rate := 1000000008798839776380522251 }
- case 3199 { rate := 1000000008801242306386051763 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- }
-}
\ No newline at end of file
diff --git a/src/repositories/Rates3200To3999.sol b/src/repositories/Rates3200To3999.sol
deleted file mode 100644
index 9a005ed..0000000
--- a/src/repositories/Rates3200To3999.sol
+++ /dev/null
@@ -1,1065 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity 0.8.19;
-
-contract Rates3200To3999 {
- uint256 constant public MIN = 3200;
- uint256 constant public MAX = 3999;
-
- function turn(uint256 bps) external pure returns (uint256 rate) {
- if (bps > MAX) revert();
- if (bps < MIN) revert();
-
- assembly {
- switch gt(bps, 3599)
- case 0 { // 3200-3599
- switch gt(bps, 3399)
- case 0 { // 3200-3399
- switch gt(bps, 3299)
- case 0 { // 3200-3299
- switch gt(bps, 3249)
- case 0 { // 3200-3249
- switch gt(bps, 3224)
- case 0 { // 3200-3224
- switch bps
- case 3200 { rate := 1000000008803644654374843395 }
- case 3201 { rate := 1000000008806046820374474396 }
- case 3202 { rate := 1000000008808448804412515748 }
- case 3203 { rate := 1000000008810850606516532167 }
- case 3204 { rate := 1000000008813252226714082106 }
- case 3205 { rate := 1000000008815653665032717760 }
- case 3206 { rate := 1000000008818054921499985060 }
- case 3207 { rate := 1000000008820455996143423684 }
- case 3208 { rate := 1000000008822856888990567050 }
- case 3209 { rate := 1000000008825257600068942328 }
- case 3210 { rate := 1000000008827658129406070432 }
- case 3211 { rate := 1000000008830058477029466028 }
- case 3212 { rate := 1000000008832458642966637533 }
- case 3213 { rate := 1000000008834858627245087117 }
- case 3214 { rate := 1000000008837258429892310711 }
- case 3215 { rate := 1000000008839658050935797999 }
- case 3216 { rate := 1000000008842057490403032425 }
- case 3217 { rate := 1000000008844456748321491195 }
- case 3218 { rate := 1000000008846855824718645282 }
- case 3219 { rate := 1000000008849254719621959420 }
- case 3220 { rate := 1000000008851653433058892110 }
- case 3221 { rate := 1000000008854051965056895625 }
- case 3222 { rate := 1000000008856450315643416008 }
- case 3223 { rate := 1000000008858848484845893073 }
- case 3224 { rate := 1000000008861246472691760412 }
- default { revert(0, 0) }
- }
- case 1 { // 3225-3249
- switch bps
- case 3225 { rate := 1000000008863644279208445392 }
- case 3226 { rate := 1000000008866041904423369157 }
- case 3227 { rate := 1000000008868439348363946634 }
- case 3228 { rate := 1000000008870836611057586530 }
- case 3229 { rate := 1000000008873233692531691339 }
- case 3230 { rate := 1000000008875630592813657337 }
- case 3231 { rate := 1000000008878027311930874594 }
- case 3232 { rate := 1000000008880423849910726963 }
- case 3233 { rate := 1000000008882820206780592093 }
- case 3234 { rate := 1000000008885216382567841425 }
- case 3235 { rate := 1000000008887612377299840196 }
- case 3236 { rate := 1000000008890008191003947440 }
- case 3237 { rate := 1000000008892403823707515991 }
- case 3238 { rate := 1000000008894799275437892482 }
- case 3239 { rate := 1000000008897194546222417351 }
- case 3240 { rate := 1000000008899589636088424841 }
- case 3241 { rate := 1000000008901984545063242999 }
- case 3242 { rate := 1000000008904379273174193682 }
- case 3243 { rate := 1000000008906773820448592561 }
- case 3244 { rate := 1000000008909168186913749112 }
- case 3245 { rate := 1000000008911562372596966632 }
- case 3246 { rate := 1000000008913956377525542231 }
- case 3247 { rate := 1000000008916350201726766834 }
- case 3248 { rate := 1000000008918743845227925192 }
- case 3249 { rate := 1000000008921137308056295874 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 3250-3299
- switch gt(bps, 3274)
- case 0 { // 3250-3274
- switch bps
- case 3250 { rate := 1000000008923530590239151272 }
- case 3251 { rate := 1000000008925923691803757605 }
- case 3252 { rate := 1000000008928316612777374918 }
- case 3253 { rate := 1000000008930709353187257086 }
- case 3254 { rate := 1000000008933101913060651814 }
- case 3255 { rate := 1000000008935494292424800641 }
- case 3256 { rate := 1000000008937886491306938939 }
- case 3257 { rate := 1000000008940278509734295919 }
- case 3258 { rate := 1000000008942670347734094627 }
- case 3259 { rate := 1000000008945062005333551953 }
- case 3260 { rate := 1000000008947453482559878626 }
- case 3261 { rate := 1000000008949844779440279220 }
- case 3262 { rate := 1000000008952235896001952156 }
- case 3263 { rate := 1000000008954626832272089702 }
- case 3264 { rate := 1000000008957017588277877973 }
- case 3265 { rate := 1000000008959408164046496940 }
- case 3266 { rate := 1000000008961798559605120424 }
- case 3267 { rate := 1000000008964188774980916101 }
- case 3268 { rate := 1000000008966578810201045506 }
- case 3269 { rate := 1000000008968968665292664032 }
- case 3270 { rate := 1000000008971358340282920931 }
- case 3271 { rate := 1000000008973747835198959319 }
- case 3272 { rate := 1000000008976137150067916177 }
- case 3273 { rate := 1000000008978526284916922351 }
- case 3274 { rate := 1000000008980915239773102555 }
- default { revert(0, 0) }
- }
- case 1 { // 3275-3299
- switch bps
- case 3275 { rate := 1000000008983304014663575373 }
- case 3276 { rate := 1000000008985692609615453262 }
- case 3277 { rate := 1000000008988081024655842550 }
- case 3278 { rate := 1000000008990469259811843445 }
- case 3279 { rate := 1000000008992857315110550026 }
- case 3280 { rate := 1000000008995245190579050256 }
- case 3281 { rate := 1000000008997632886244425977 }
- case 3282 { rate := 1000000009000020402133752914 }
- case 3283 { rate := 1000000009002407738274100677 }
- case 3284 { rate := 1000000009004794894692532763 }
- case 3285 { rate := 1000000009007181871416106556 }
- case 3286 { rate := 1000000009009568668471873331 }
- case 3287 { rate := 1000000009011955285886878254 }
- case 3288 { rate := 1000000009014341723688160386 }
- case 3289 { rate := 1000000009016727981902752684 }
- case 3290 { rate := 1000000009019114060557682002 }
- case 3291 { rate := 1000000009021499959679969092 }
- case 3292 { rate := 1000000009023885679296628609 }
- case 3293 { rate := 1000000009026271219434669112 }
- case 3294 { rate := 1000000009028656580121093060 }
- case 3295 { rate := 1000000009031041761382896825 }
- case 3296 { rate := 1000000009033426763247070684 }
- case 3297 { rate := 1000000009035811585740598824 }
- case 3298 { rate := 1000000009038196228890459345 }
- case 3299 { rate := 1000000009040580692723624262 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 3300-3399
- switch gt(bps, 3349)
- case 0 { // 3300-3349
- switch gt(bps, 3324)
- case 0 { // 3300-3324
- switch bps
- case 3300 { rate := 1000000009042964977267059505 }
- case 3301 { rate := 1000000009045349082547724920 }
- case 3302 { rate := 1000000009047733008592574277 }
- case 3303 { rate := 1000000009050116755428555263 }
- case 3304 { rate := 1000000009052500323082609490 }
- case 3305 { rate := 1000000009054883711581672494 }
- case 3306 { rate := 1000000009057266920952673739 }
- case 3307 { rate := 1000000009059649951222536617 }
- case 3308 { rate := 1000000009062032802418178451 }
- case 3309 { rate := 1000000009064415474566510497 }
- case 3310 { rate := 1000000009066797967694437943 }
- case 3311 { rate := 1000000009069180281828859914 }
- case 3312 { rate := 1000000009071562416996669472 }
- case 3313 { rate := 1000000009073944373224753622 }
- case 3314 { rate := 1000000009076326150539993305 }
- case 3315 { rate := 1000000009078707748969263409 }
- case 3316 { rate := 1000000009081089168539432766 }
- case 3317 { rate := 1000000009083470409277364157 }
- case 3318 { rate := 1000000009085851471209914307 }
- case 3319 { rate := 1000000009088232354363933896 }
- case 3320 { rate := 1000000009090613058766267552 }
- case 3321 { rate := 1000000009092993584443753863 }
- case 3322 { rate := 1000000009095373931423225367 }
- case 3323 { rate := 1000000009097754099731508564 }
- case 3324 { rate := 1000000009100134089395423911 }
- default { revert(0, 0) }
- }
- case 1 { // 3325-3349
- switch bps
- case 3325 { rate := 1000000009102513900441785827 }
- case 3326 { rate := 1000000009104893532897402697 }
- case 3327 { rate := 1000000009107272986789076865 }
- case 3328 { rate := 1000000009109652262143604647 }
- case 3329 { rate := 1000000009112031358987776327 }
- case 3330 { rate := 1000000009114410277348376157 }
- case 3331 { rate := 1000000009116789017252182363 }
- case 3332 { rate := 1000000009119167578725967147 }
- case 3333 { rate := 1000000009121545961796496682 }
- case 3334 { rate := 1000000009123924166490531122 }
- case 3335 { rate := 1000000009126302192834824601 }
- case 3336 { rate := 1000000009128680040856125232 }
- case 3337 { rate := 1000000009131057710581175113 }
- case 3338 { rate := 1000000009133435202036710325 }
- case 3339 { rate := 1000000009135812515249460939 }
- case 3340 { rate := 1000000009138189650246151012 }
- case 3341 { rate := 1000000009140566607053498590 }
- case 3342 { rate := 1000000009142943385698215714 }
- case 3343 { rate := 1000000009145319986207008418 }
- case 3344 { rate := 1000000009147696408606576730 }
- case 3345 { rate := 1000000009150072652923614679 }
- case 3346 { rate := 1000000009152448719184810291 }
- case 3347 { rate := 1000000009154824607416845592 }
- case 3348 { rate := 1000000009157200317646396614 }
- case 3349 { rate := 1000000009159575849900133392 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 3350-3399
- switch gt(bps, 3374)
- case 0 { // 3350-3374
- switch bps
- case 3350 { rate := 1000000009161951204204719966 }
- case 3351 { rate := 1000000009164326380586814388 }
- case 3352 { rate := 1000000009166701379073068717 }
- case 3353 { rate := 1000000009169076199690129024 }
- case 3354 { rate := 1000000009171450842464635396 }
- case 3355 { rate := 1000000009173825307423221934 }
- case 3356 { rate := 1000000009176199594592516756 }
- case 3357 { rate := 1000000009178573703999141999 }
- case 3358 { rate := 1000000009180947635669713821 }
- case 3359 { rate := 1000000009183321389630842403 }
- case 3360 { rate := 1000000009185694965909131953 }
- case 3361 { rate := 1000000009188068364531180699 }
- case 3362 { rate := 1000000009190441585523580901 }
- case 3363 { rate := 1000000009192814628912918850 }
- case 3364 { rate := 1000000009195187494725774868 }
- case 3365 { rate := 1000000009197560182988723306 }
- case 3366 { rate := 1000000009199932693728332556 }
- case 3367 { rate := 1000000009202305026971165043 }
- case 3368 { rate := 1000000009204677182743777234 }
- case 3369 { rate := 1000000009207049161072719633 }
- case 3370 { rate := 1000000009209420961984536788 }
- case 3371 { rate := 1000000009211792585505767292 }
- case 3372 { rate := 1000000009214164031662943783 }
- case 3373 { rate := 1000000009216535300482592946 }
- case 3374 { rate := 1000000009218906391991235515 }
- default { revert(0, 0) }
- }
- case 1 { // 3375-3399
- switch bps
- case 3375 { rate := 1000000009221277306215386279 }
- case 3376 { rate := 1000000009223648043181554075 }
- case 3377 { rate := 1000000009226018602916241797 }
- case 3378 { rate := 1000000009228388985445946397 }
- case 3379 { rate := 1000000009230759190797158882 }
- case 3380 { rate := 1000000009233129218996364321 }
- case 3381 { rate := 1000000009235499070070041847 }
- case 3382 { rate := 1000000009237868744044664652 }
- case 3383 { rate := 1000000009240238240946699996 }
- case 3384 { rate := 1000000009242607560802609207 }
- case 3385 { rate := 1000000009244976703638847681 }
- case 3386 { rate := 1000000009247345669481864883 }
- case 3387 { rate := 1000000009249714458358104354 }
- case 3388 { rate := 1000000009252083070294003707 }
- case 3389 { rate := 1000000009254451505315994632 }
- case 3390 { rate := 1000000009256819763450502896 }
- case 3391 { rate := 1000000009259187844723948345 }
- case 3392 { rate := 1000000009261555749162744907 }
- case 3393 { rate := 1000000009263923476793300595 }
- case 3394 { rate := 1000000009266291027642017505 }
- case 3395 { rate := 1000000009268658401735291819 }
- case 3396 { rate := 1000000009271025599099513809 }
- case 3397 { rate := 1000000009273392619761067837 }
- case 3398 { rate := 1000000009275759463746332356 }
- case 3399 { rate := 1000000009278126131081679912 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 3400-3599
- switch gt(bps, 3499)
- case 0 { // 3400-3499
- switch gt(bps, 3449)
- case 0 { // 3400-3449
- switch gt(bps, 3424)
- case 0 { // 3400-3424
- switch bps
- case 3400 { rate := 1000000009280492621793477151 }
- case 3401 { rate := 1000000009282858935908084809 }
- case 3402 { rate := 1000000009285225073451857728 }
- case 3403 { rate := 1000000009287591034451144845 }
- case 3404 { rate := 1000000009289956818932289205 }
- case 3405 { rate := 1000000009292322426921627953 }
- case 3406 { rate := 1000000009294687858445492342 }
- case 3407 { rate := 1000000009297053113530207732 }
- case 3408 { rate := 1000000009299418192202093592 }
- case 3409 { rate := 1000000009301783094487463505 }
- case 3410 { rate := 1000000009304147820412625165 }
- case 3411 { rate := 1000000009306512370003880380 }
- case 3412 { rate := 1000000009308876743287525076 }
- case 3413 { rate := 1000000009311240940289849298 }
- case 3414 { rate := 1000000009313604961037137210 }
- case 3415 { rate := 1000000009315968805555667098 }
- case 3416 { rate := 1000000009318332473871711372 }
- case 3417 { rate := 1000000009320695966011536564 }
- case 3418 { rate := 1000000009323059282001403339 }
- case 3419 { rate := 1000000009325422421867566487 }
- case 3420 { rate := 1000000009327785385636274930 }
- case 3421 { rate := 1000000009330148173333771722 }
- case 3422 { rate := 1000000009332510784986294051 }
- case 3423 { rate := 1000000009334873220620073239 }
- case 3424 { rate := 1000000009337235480261334748 }
- default { revert(0, 0) }
- }
- case 1 { // 3425-3449
- switch bps
- case 3425 { rate := 1000000009339597563936298181 }
- case 3426 { rate := 1000000009341959471671177278 }
- case 3427 { rate := 1000000009344321203492179924 }
- case 3428 { rate := 1000000009346682759425508147 }
- case 3429 { rate := 1000000009349044139497358124 }
- case 3430 { rate := 1000000009351405343733920179 }
- case 3431 { rate := 1000000009353766372161378785 }
- case 3432 { rate := 1000000009356127224805912567 }
- case 3433 { rate := 1000000009358487901693694303 }
- case 3434 { rate := 1000000009360848402850890927 }
- case 3435 { rate := 1000000009363208728303663528 }
- case 3436 { rate := 1000000009365568878078167356 }
- case 3437 { rate := 1000000009367928852200551818 }
- case 3438 { rate := 1000000009370288650696960487 }
- case 3439 { rate := 1000000009372648273593531096 }
- case 3440 { rate := 1000000009375007720916395546 }
- case 3441 { rate := 1000000009377366992691679904 }
- case 3442 { rate := 1000000009379726088945504406 }
- case 3443 { rate := 1000000009382085009703983460 }
- case 3444 { rate := 1000000009384443754993225643 }
- case 3445 { rate := 1000000009386802324839333712 }
- case 3446 { rate := 1000000009389160719268404592 }
- case 3447 { rate := 1000000009391518938306529393 }
- case 3448 { rate := 1000000009393876981979793400 }
- case 3449 { rate := 1000000009396234850314276081 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 3450-3499
- switch gt(bps, 3474)
- case 0 { // 3450-3474
- switch bps
- case 3450 { rate := 1000000009398592543336051086 }
- case 3451 { rate := 1000000009400950061071186249 }
- case 3452 { rate := 1000000009403307403545743592 }
- case 3453 { rate := 1000000009405664570785779323 }
- case 3454 { rate := 1000000009408021562817343841 }
- case 3455 { rate := 1000000009410378379666481736 }
- case 3456 { rate := 1000000009412735021359231792 }
- case 3457 { rate := 1000000009415091487921626986 }
- case 3458 { rate := 1000000009417447779379694494 }
- case 3459 { rate := 1000000009419803895759455687 }
- case 3460 { rate := 1000000009422159837086926140 }
- case 3461 { rate := 1000000009424515603388115629 }
- case 3462 { rate := 1000000009426871194689028130 }
- case 3463 { rate := 1000000009429226611015661829 }
- case 3464 { rate := 1000000009431581852394009115 }
- case 3465 { rate := 1000000009433936918850056588 }
- case 3466 { rate := 1000000009436291810409785058 }
- case 3467 { rate := 1000000009438646527099169546 }
- case 3468 { rate := 1000000009441001068944179290 }
- case 3469 { rate := 1000000009443355435970777739 }
- case 3470 { rate := 1000000009445709628204922563 }
- case 3471 { rate := 1000000009448063645672565649 }
- case 3472 { rate := 1000000009450417488399653106 }
- case 3473 { rate := 1000000009452771156412125264 }
- case 3474 { rate := 1000000009455124649735916678 }
- default { revert(0, 0) }
- }
- case 1 { // 3475-3499
- switch bps
- case 3475 { rate := 1000000009457477968396956129 }
- case 3476 { rate := 1000000009459831112421166625 }
- case 3477 { rate := 1000000009462184081834465404 }
- case 3478 { rate := 1000000009464536876662763935 }
- case 3479 { rate := 1000000009466889496931967919 }
- case 3480 { rate := 1000000009469241942667977291 }
- case 3481 { rate := 1000000009471594213896686225 }
- case 3482 { rate := 1000000009473946310643983128 }
- case 3483 { rate := 1000000009476298232935750651 }
- case 3484 { rate := 1000000009478649980797865683 }
- case 3485 { rate := 1000000009481001554256199359 }
- case 3486 { rate := 1000000009483352953336617058 }
- case 3487 { rate := 1000000009485704178064978403 }
- case 3488 { rate := 1000000009488055228467137266 }
- case 3489 { rate := 1000000009490406104568941771 }
- case 3490 { rate := 1000000009492756806396234293 }
- case 3491 { rate := 1000000009495107333974851456 }
- case 3492 { rate := 1000000009497457687330624144 }
- case 3493 { rate := 1000000009499807866489377496 }
- case 3494 { rate := 1000000009502157871476930909 }
- case 3495 { rate := 1000000009504507702319098038 }
- case 3496 { rate := 1000000009506857359041686805 }
- case 3497 { rate := 1000000009509206841670499389 }
- case 3498 { rate := 1000000009511556150231332239 }
- case 3499 { rate := 1000000009513905284749976069 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 3500-3599
- switch gt(bps, 3549)
- case 0 { // 3500-3549
- switch gt(bps, 3524)
- case 0 { // 3500-3524
- switch bps
- case 3500 { rate := 1000000009516254245252215861 }
- case 3501 { rate := 1000000009518603031763830869 }
- case 3502 { rate := 1000000009520951644310594617 }
- case 3503 { rate := 1000000009523300082918274904 }
- case 3504 { rate := 1000000009525648347612633803 }
- case 3505 { rate := 1000000009527996438419427664 }
- case 3506 { rate := 1000000009530344355364407118 }
- case 3507 { rate := 1000000009532692098473317073 }
- case 3508 { rate := 1000000009535039667771896723 }
- case 3509 { rate := 1000000009537387063285879541 }
- case 3510 { rate := 1000000009539734285040993291 }
- case 3511 { rate := 1000000009542081333062960018 }
- case 3512 { rate := 1000000009544428207377496063 }
- case 3513 { rate := 1000000009546774908010312050 }
- case 3514 { rate := 1000000009549121434987112901 }
- case 3515 { rate := 1000000009551467788333597830 }
- case 3516 { rate := 1000000009553813968075460344 }
- case 3517 { rate := 1000000009556159974238388253 }
- case 3518 { rate := 1000000009558505806848063661 }
- case 3519 { rate := 1000000009560851465930162975 }
- case 3520 { rate := 1000000009563196951510356903 }
- case 3521 { rate := 1000000009565542263614310457 }
- case 3522 { rate := 1000000009567887402267682959 }
- case 3523 { rate := 1000000009570232367496128031 }
- case 3524 { rate := 1000000009572577159325293611 }
- default { revert(0, 0) }
- }
- case 1 { // 3525-3549
- switch bps
- case 3525 { rate := 1000000009574921777780821942 }
- case 3526 { rate := 1000000009577266222888349586 }
- case 3527 { rate := 1000000009579610494673507411 }
- case 3528 { rate := 1000000009581954593161920610 }
- case 3529 { rate := 1000000009584298518379208685 }
- case 3530 { rate := 1000000009586642270350985464 }
- case 3531 { rate := 1000000009588985849102859090 }
- case 3532 { rate := 1000000009591329254660432033 }
- case 3533 { rate := 1000000009593672487049301086 }
- case 3534 { rate := 1000000009596015546295057365 }
- case 3535 { rate := 1000000009598358432423286320 }
- case 3536 { rate := 1000000009600701145459567724 }
- case 3537 { rate := 1000000009603043685429475683 }
- case 3538 { rate := 1000000009605386052358578639 }
- case 3539 { rate := 1000000009607728246272439360 }
- case 3540 { rate := 1000000009610070267196614960 }
- case 3541 { rate := 1000000009612412115156656882 }
- case 3542 { rate := 1000000009614753790178110915 }
- case 3543 { rate := 1000000009617095292286517185 }
- case 3544 { rate := 1000000009619436621507410162 }
- case 3545 { rate := 1000000009621777777866318660 }
- case 3546 { rate := 1000000009624118761388765837 }
- case 3547 { rate := 1000000009626459572100269204 }
- case 3548 { rate := 1000000009628800210026340615 }
- case 3549 { rate := 1000000009631140675192486280 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 3550-3599
- switch gt(bps, 3574)
- case 0 { // 3550-3574
- switch bps
- case 3550 { rate := 1000000009633480967624206760 }
- case 3551 { rate := 1000000009635821087346996968 }
- case 3552 { rate := 1000000009638161034386346176 }
- case 3553 { rate := 1000000009640500808767738013 }
- case 3554 { rate := 1000000009642840410516650466 }
- case 3555 { rate := 1000000009645179839658555885 }
- case 3556 { rate := 1000000009647519096218920981 }
- case 3557 { rate := 1000000009649858180223206829 }
- case 3558 { rate := 1000000009652197091696868873 }
- case 3559 { rate := 1000000009654535830665356921 }
- case 3560 { rate := 1000000009656874397154115153 }
- case 3561 { rate := 1000000009659212791188582117 }
- case 3562 { rate := 1000000009661551012794190737 }
- case 3563 { rate := 1000000009663889061996368309 }
- case 3564 { rate := 1000000009666226938820536506 }
- case 3565 { rate := 1000000009668564643292111378 }
- case 3566 { rate := 1000000009670902175436503355 }
- case 3567 { rate := 1000000009673239535279117247 }
- case 3568 { rate := 1000000009675576722845352247 }
- case 3569 { rate := 1000000009677913738160601933 }
- case 3570 { rate := 1000000009680250581250254266 }
- case 3571 { rate := 1000000009682587252139691600 }
- case 3572 { rate := 1000000009684923750854290672 }
- case 3573 { rate := 1000000009687260077419422613 }
- case 3574 { rate := 1000000009689596231860452947 }
- default { revert(0, 0) }
- }
- case 1 { // 3575-3599
- switch bps
- case 3575 { rate := 1000000009691932214202741592 }
- case 3576 { rate := 1000000009694268024471642861 }
- case 3577 { rate := 1000000009696603662692505463 }
- case 3578 { rate := 1000000009698939128890672509 }
- case 3579 { rate := 1000000009701274423091481510 }
- case 3580 { rate := 1000000009703609545320264378 }
- case 3581 { rate := 1000000009705944495602347430 }
- case 3582 { rate := 1000000009708279273963051388 }
- case 3583 { rate := 1000000009710613880427691383 }
- case 3584 { rate := 1000000009712948315021576954 }
- case 3585 { rate := 1000000009715282577770012051 }
- case 3586 { rate := 1000000009717616668698295034 }
- case 3587 { rate := 1000000009719950587831718681 }
- case 3588 { rate := 1000000009722284335195570182 }
- case 3589 { rate := 1000000009724617910815131148 }
- case 3590 { rate := 1000000009726951314715677603 }
- case 3591 { rate := 1000000009729284546922479998 }
- case 3592 { rate := 1000000009731617607460803201 }
- case 3593 { rate := 1000000009733950496355906508 }
- case 3594 { rate := 1000000009736283213633043637 }
- case 3595 { rate := 1000000009738615759317462734 }
- case 3596 { rate := 1000000009740948133434406377 }
- case 3597 { rate := 1000000009743280336009111568 }
- case 3598 { rate := 1000000009745612367066809747 }
- case 3599 { rate := 1000000009747944226632726785 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 3600-3999
- switch gt(bps, 3799)
- case 0 { // 3600-3799
- switch gt(bps, 3699)
- case 0 { // 3600-3699
- switch gt(bps, 3649)
- case 0 { // 3600-3649
- switch gt(bps, 3624)
- case 0 { // 3600-3624
- switch bps
- case 3600 { rate := 1000000009750275914732082986 }
- case 3601 { rate := 1000000009752607431390093096 }
- case 3602 { rate := 1000000009754938776631966296 }
- case 3603 { rate := 1000000009757269950482906208 }
- case 3604 { rate := 1000000009759600952968110896 }
- case 3605 { rate := 1000000009761931784112772867 }
- case 3606 { rate := 1000000009764262443942079074 }
- case 3607 { rate := 1000000009766592932481210915 }
- case 3608 { rate := 1000000009768923249755344240 }
- case 3609 { rate := 1000000009771253395789649342 }
- case 3610 { rate := 1000000009773583370609290973 }
- case 3611 { rate := 1000000009775913174239428335 }
- case 3612 { rate := 1000000009778242806705215085 }
- case 3613 { rate := 1000000009780572268031799336 }
- case 3614 { rate := 1000000009782901558244323661 }
- case 3615 { rate := 1000000009785230677367925089 }
- case 3616 { rate := 1000000009787559625427735116 }
- case 3617 { rate := 1000000009789888402448879695 }
- case 3618 { rate := 1000000009792217008456479248 }
- case 3619 { rate := 1000000009794545443475648661 }
- case 3620 { rate := 1000000009796873707531497290 }
- case 3621 { rate := 1000000009799201800649128958 }
- case 3622 { rate := 1000000009801529722853641960 }
- case 3623 { rate := 1000000009803857474170129064 }
- case 3624 { rate := 1000000009806185054623677514 }
- default { revert(0, 0) }
- }
- case 1 { // 3625-3649
- switch bps
- case 3625 { rate := 1000000009808512464239369028 }
- case 3626 { rate := 1000000009810839703042279800 }
- case 3627 { rate := 1000000009813166771057480507 }
- case 3628 { rate := 1000000009815493668310036305 }
- case 3629 { rate := 1000000009817820394825006832 }
- case 3630 { rate := 1000000009820146950627446211 }
- case 3631 { rate := 1000000009822473335742403050 }
- case 3632 { rate := 1000000009824799550194920446 }
- case 3633 { rate := 1000000009827125594010035982 }
- case 3634 { rate := 1000000009829451467212781736 }
- case 3635 { rate := 1000000009831777169828184273 }
- case 3636 { rate := 1000000009834102701881264655 }
- case 3637 { rate := 1000000009836428063397038439 }
- case 3638 { rate := 1000000009838753254400515679 }
- case 3639 { rate := 1000000009841078274916700926 }
- case 3640 { rate := 1000000009843403124970593235 }
- case 3641 { rate := 1000000009845727804587186159 }
- case 3642 { rate := 1000000009848052313791467756 }
- case 3643 { rate := 1000000009850376652608420590 }
- case 3644 { rate := 1000000009852700821063021729 }
- case 3645 { rate := 1000000009855024819180242754 }
- case 3646 { rate := 1000000009857348646985049751 }
- case 3647 { rate := 1000000009859672304502403321 }
- case 3648 { rate := 1000000009861995791757258575 }
- case 3649 { rate := 1000000009864319108774565142 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 3650-3699
- switch gt(bps, 3674)
- case 0 { // 3650-3674
- switch bps
- case 3650 { rate := 1000000009866642255579267166 }
- case 3651 { rate := 1000000009868965232196303308 }
- case 3652 { rate := 1000000009871288038650606750 }
- case 3653 { rate := 1000000009873610674967105195 }
- case 3654 { rate := 1000000009875933141170720867 }
- case 3655 { rate := 1000000009878255437286370517 }
- case 3656 { rate := 1000000009880577563338965422 }
- case 3657 { rate := 1000000009882899519353411383 }
- case 3658 { rate := 1000000009885221305354608733 }
- case 3659 { rate := 1000000009887542921367452338 }
- case 3660 { rate := 1000000009889864367416831591 }
- case 3661 { rate := 1000000009892185643527630423 }
- case 3662 { rate := 1000000009894506749724727299 }
- case 3663 { rate := 1000000009896827686032995223 }
- case 3664 { rate := 1000000009899148452477301734 }
- case 3665 { rate := 1000000009901469049082508916 }
- case 3666 { rate := 1000000009903789475873473393 }
- case 3667 { rate := 1000000009906109732875046331 }
- case 3668 { rate := 1000000009908429820112073443 }
- case 3669 { rate := 1000000009910749737609394990 }
- case 3670 { rate := 1000000009913069485391845778 }
- case 3671 { rate := 1000000009915389063484255166 }
- case 3672 { rate := 1000000009917708471911447063 }
- case 3673 { rate := 1000000009920027710698239932 }
- case 3674 { rate := 1000000009922346779869446790 }
- default { revert(0, 0) }
- }
- case 1 { // 3675-3699
- switch bps
- case 3675 { rate := 1000000009924665679449875210 }
- case 3676 { rate := 1000000009926984409464327325 }
- case 3677 { rate := 1000000009929302969937599826 }
- case 3678 { rate := 1000000009931621360894483965 }
- case 3679 { rate := 1000000009933939582359765557 }
- case 3680 { rate := 1000000009936257634358224982 }
- case 3681 { rate := 1000000009938575516914637184 }
- case 3682 { rate := 1000000009940893230053771678 }
- case 3683 { rate := 1000000009943210773800392543 }
- case 3684 { rate := 1000000009945528148179258435 }
- case 3685 { rate := 1000000009947845353215122576 }
- case 3686 { rate := 1000000009950162388932732765 }
- case 3687 { rate := 1000000009952479255356831378 }
- case 3688 { rate := 1000000009954795952512155365 }
- case 3689 { rate := 1000000009957112480423436255 }
- case 3690 { rate := 1000000009959428839115400159 }
- case 3691 { rate := 1000000009961745028612767768 }
- case 3692 { rate := 1000000009964061048940254356 }
- case 3693 { rate := 1000000009966376900122569785 }
- case 3694 { rate := 1000000009968692582184418500 }
- case 3695 { rate := 1000000009971008095150499537 }
- case 3696 { rate := 1000000009973323439045506518 }
- case 3697 { rate := 1000000009975638613894127660 }
- case 3698 { rate := 1000000009977953619721045772 }
- case 3699 { rate := 1000000009980268456550938255 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 3700-3799
- switch gt(bps, 3749)
- case 0 { // 3700-3749
- switch gt(bps, 3724)
- case 0 { // 3700-3724
- switch bps
- case 3700 { rate := 1000000009982583124408477109 }
- case 3701 { rate := 1000000009984897623318328929 }
- case 3702 { rate := 1000000009987211953305154911 }
- case 3703 { rate := 1000000009989526114393610852 }
- case 3704 { rate := 1000000009991840106608347149 }
- case 3705 { rate := 1000000009994153929974008806 }
- case 3706 { rate := 1000000009996467584515235430 }
- case 3707 { rate := 1000000009998781070256661235 }
- case 3708 { rate := 1000000010001094387222915045 }
- case 3709 { rate := 1000000010003407535438620294 }
- case 3710 { rate := 1000000010005720514928395027 }
- case 3711 { rate := 1000000010008033325716851902 }
- case 3712 { rate := 1000000010010345967828598194 }
- case 3713 { rate := 1000000010012658441288235791 }
- case 3714 { rate := 1000000010014970746120361202 }
- case 3715 { rate := 1000000010017282882349565556 }
- case 3716 { rate := 1000000010019594850000434599 }
- case 3717 { rate := 1000000010021906649097548706 }
- case 3718 { rate := 1000000010024218279665482869 }
- case 3719 { rate := 1000000010026529741728806711 }
- case 3720 { rate := 1000000010028841035312084483 }
- case 3721 { rate := 1000000010031152160439875061 }
- case 3722 { rate := 1000000010033463117136731955 }
- case 3723 { rate := 1000000010035773905427203304 }
- case 3724 { rate := 1000000010038084525335831885 }
- default { revert(0, 0) }
- }
- case 1 { // 3725-3749
- switch bps
- case 3725 { rate := 1000000010040394976887155106 }
- case 3726 { rate := 1000000010042705260105705014 }
- case 3727 { rate := 1000000010045015375016008294 }
- case 3728 { rate := 1000000010047325321642586271 }
- case 3729 { rate := 1000000010049635100009954912 }
- case 3730 { rate := 1000000010051944710142624825 }
- case 3731 { rate := 1000000010054254152065101266 }
- case 3732 { rate := 1000000010056563425801884135 }
- case 3733 { rate := 1000000010058872531377467979 }
- case 3734 { rate := 1000000010061181468816341997 }
- case 3735 { rate := 1000000010063490238142990036 }
- case 3736 { rate := 1000000010065798839381890598 }
- case 3737 { rate := 1000000010068107272557516837 }
- case 3738 { rate := 1000000010070415537694336563 }
- case 3739 { rate := 1000000010072723634816812244 }
- case 3740 { rate := 1000000010075031563949401005 }
- case 3741 { rate := 1000000010077339325116554633 }
- case 3742 { rate := 1000000010079646918342719577 }
- case 3743 { rate := 1000000010081954343652336947 }
- case 3744 { rate := 1000000010084261601069842519 }
- case 3745 { rate := 1000000010086568690619666737 }
- case 3746 { rate := 1000000010088875612326234711 }
- case 3747 { rate := 1000000010091182366213966220 }
- case 3748 { rate := 1000000010093488952307275716 }
- case 3749 { rate := 1000000010095795370630572323 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 3750-3799
- switch gt(bps, 3774)
- case 0 { // 3750-3774
- switch bps
- case 3750 { rate := 1000000010098101621208259840 }
- case 3751 { rate := 1000000010100407704064736739 }
- case 3752 { rate := 1000000010102713619224396172 }
- case 3753 { rate := 1000000010105019366711625969 }
- case 3754 { rate := 1000000010107324946550808639 }
- case 3755 { rate := 1000000010109630358766321376 }
- case 3756 { rate := 1000000010111935603382536054 }
- case 3757 { rate := 1000000010114240680423819234 }
- case 3758 { rate := 1000000010116545589914532164 }
- case 3759 { rate := 1000000010118850331879030779 }
- case 3760 { rate := 1000000010121154906341665703 }
- case 3761 { rate := 1000000010123459313326782253 }
- case 3762 { rate := 1000000010125763552858720438 }
- case 3763 { rate := 1000000010128067624961814960 }
- case 3764 { rate := 1000000010130371529660395218 }
- case 3765 { rate := 1000000010132675266978785311 }
- case 3766 { rate := 1000000010134978836941304031 }
- case 3767 { rate := 1000000010137282239572264876 }
- case 3768 { rate := 1000000010139585474895976041 }
- case 3769 { rate := 1000000010141888542936740429 }
- case 3770 { rate := 1000000010144191443718855647 }
- case 3771 { rate := 1000000010146494177266614006 }
- case 3772 { rate := 1000000010148796743604302527 }
- case 3773 { rate := 1000000010151099142756202942 }
- case 3774 { rate := 1000000010153401374746591692 }
- default { revert(0, 0) }
- }
- case 1 { // 3775-3799
- switch bps
- case 3775 { rate := 1000000010155703439599739931 }
- case 3776 { rate := 1000000010158005337339913529 }
- case 3777 { rate := 1000000010160307067991373070 }
- case 3778 { rate := 1000000010162608631578373856 }
- case 3779 { rate := 1000000010164910028125165907 }
- case 3780 { rate := 1000000010167211257655993967 }
- case 3781 { rate := 1000000010169512320195097496 }
- case 3782 { rate := 1000000010171813215766710684 }
- case 3783 { rate := 1000000010174113944395062439 }
- case 3784 { rate := 1000000010176414506104376402 }
- case 3785 { rate := 1000000010178714900918870939 }
- case 3786 { rate := 1000000010181015128862759145 }
- case 3787 { rate := 1000000010183315189960248848 }
- case 3788 { rate := 1000000010185615084235542606 }
- case 3789 { rate := 1000000010187914811712837715 }
- case 3790 { rate := 1000000010190214372416326204 }
- case 3791 { rate := 1000000010192513766370194839 }
- case 3792 { rate := 1000000010194812993598625127 }
- case 3793 { rate := 1000000010197112054125793313 }
- case 3794 { rate := 1000000010199410947975870385 }
- case 3795 { rate := 1000000010201709675173022073 }
- case 3796 { rate := 1000000010204008235741408855 }
- case 3797 { rate := 1000000010206306629705185952 }
- case 3798 { rate := 1000000010208604857088503334 }
- case 3799 { rate := 1000000010210902917915505722 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 3800-3999
- switch gt(bps, 3899)
- case 0 { // 3800-3899
- switch gt(bps, 3849)
- case 0 { // 3800-3849
- switch gt(bps, 3824)
- case 0 { // 3800-3824
- switch bps
- case 3800 { rate := 1000000010213200812210332586 }
- case 3801 { rate := 1000000010215498539997118147 }
- case 3802 { rate := 1000000010217796101299991387 }
- case 3803 { rate := 1000000010220093496143076034 }
- case 3804 { rate := 1000000010222390724550490579 }
- case 3805 { rate := 1000000010224687786546348272 }
- case 3806 { rate := 1000000010226984682154757119 }
- case 3807 { rate := 1000000010229281411399819892 }
- case 3808 { rate := 1000000010231577974305634122 }
- case 3809 { rate := 1000000010233874370896292108 }
- case 3810 { rate := 1000000010236170601195880913 }
- case 3811 { rate := 1000000010238466665228482369 }
- case 3812 { rate := 1000000010240762563018173077 }
- case 3813 { rate := 1000000010243058294589024407 }
- case 3814 { rate := 1000000010245353859965102504 }
- case 3815 { rate := 1000000010247649259170468285 }
- case 3816 { rate := 1000000010249944492229177442 }
- case 3817 { rate := 1000000010252239559165280445 }
- case 3818 { rate := 1000000010254534460002822540 }
- case 3819 { rate := 1000000010256829194765843755 }
- case 3820 { rate := 1000000010259123763478378900 }
- case 3821 { rate := 1000000010261418166164457564 }
- case 3822 { rate := 1000000010263712402848104124 }
- case 3823 { rate := 1000000010266006473553337741 }
- case 3824 { rate := 1000000010268300378304172365 }
- default { revert(0, 0) }
- }
- case 1 { // 3825-3849
- switch bps
- case 3825 { rate := 1000000010270594117124616733 }
- case 3826 { rate := 1000000010272887690038674371 }
- case 3827 { rate := 1000000010275181097070343602 }
- case 3828 { rate := 1000000010277474338243617536 }
- case 3829 { rate := 1000000010279767413582484084 }
- case 3830 { rate := 1000000010282060323110925948 }
- case 3831 { rate := 1000000010284353066852920632 }
- case 3832 { rate := 1000000010286645644832440436 }
- case 3833 { rate := 1000000010288938057073452464 }
- case 3834 { rate := 1000000010291230303599918619 }
- case 3835 { rate := 1000000010293522384435795611 }
- case 3836 { rate := 1000000010295814299605034955 }
- case 3837 { rate := 1000000010298106049131582970 }
- case 3838 { rate := 1000000010300397633039380787 }
- case 3839 { rate := 1000000010302689051352364343 }
- case 3840 { rate := 1000000010304980304094464392 }
- case 3841 { rate := 1000000010307271391289606494 }
- case 3842 { rate := 1000000010309562312961711031 }
- case 3843 { rate := 1000000010311853069134693193 }
- case 3844 { rate := 1000000010314143659832462993 }
- case 3845 { rate := 1000000010316434085078925260 }
- case 3846 { rate := 1000000010318724344897979646 }
- case 3847 { rate := 1000000010321014439313520622 }
- case 3848 { rate := 1000000010323304368349437485 }
- case 3849 { rate := 1000000010325594132029614354 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 3850-3899
- switch gt(bps, 3874)
- case 0 { // 3850-3874
- switch bps
- case 3850 { rate := 1000000010327883730377930177 }
- case 3851 { rate := 1000000010330173163418258729 }
- case 3852 { rate := 1000000010332462431174468613 }
- case 3853 { rate := 1000000010334751533670423264 }
- case 3854 { rate := 1000000010337040470929980950 }
- case 3855 { rate := 1000000010339329242976994772 }
- case 3856 { rate := 1000000010341617849835312667 }
- case 3857 { rate := 1000000010343906291528777406 }
- case 3858 { rate := 1000000010346194568081226603 }
- case 3859 { rate := 1000000010348482679516492707 }
- case 3860 { rate := 1000000010350770625858403013 }
- case 3861 { rate := 1000000010353058407130779655 }
- case 3862 { rate := 1000000010355346023357439613 }
- case 3863 { rate := 1000000010357633474562194712 }
- case 3864 { rate := 1000000010359920760768851624 }
- case 3865 { rate := 1000000010362207882001211872 }
- case 3866 { rate := 1000000010364494838283071825 }
- case 3867 { rate := 1000000010366781629638222707 }
- case 3868 { rate := 1000000010369068256090450597 }
- case 3869 { rate := 1000000010371354717663536422 }
- case 3870 { rate := 1000000010373641014381255972 }
- case 3871 { rate := 1000000010375927146267379890 }
- case 3872 { rate := 1000000010378213113345673681 }
- case 3873 { rate := 1000000010380498915639897708 }
- case 3874 { rate := 1000000010382784553173807199 }
- default { revert(0, 0) }
- }
- case 1 { // 3875-3899
- switch bps
- case 3875 { rate := 1000000010385070025971152244 }
- case 3876 { rate := 1000000010387355334055677797 }
- case 3877 { rate := 1000000010389640477451123680 }
- case 3878 { rate := 1000000010391925456181224583 }
- case 3879 { rate := 1000000010394210270269710063 }
- case 3880 { rate := 1000000010396494919740304554 }
- case 3881 { rate := 1000000010398779404616727355 }
- case 3882 { rate := 1000000010401063724922692643 }
- case 3883 { rate := 1000000010403347880681909471 }
- case 3884 { rate := 1000000010405631871918081767 }
- case 3885 { rate := 1000000010407915698654908337 }
- case 3886 { rate := 1000000010410199360916082867 }
- case 3887 { rate := 1000000010412482858725293929 }
- case 3888 { rate := 1000000010414766192106224969 }
- case 3889 { rate := 1000000010417049361082554324 }
- case 3890 { rate := 1000000010419332365677955216 }
- case 3891 { rate := 1000000010421615205916095750 }
- case 3892 { rate := 1000000010423897881820638924 }
- case 3893 { rate := 1000000010426180393415242626 }
- case 3894 { rate := 1000000010428462740723559632 }
- case 3895 { rate := 1000000010430744923769237614 }
- case 3896 { rate := 1000000010433026942575919138 }
- case 3897 { rate := 1000000010435308797167241666 }
- case 3898 { rate := 1000000010437590487566837557 }
- case 3899 { rate := 1000000010439872013798334068 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 3900-3999
- switch gt(bps, 3949)
- case 0 { // 3900-3949
- switch gt(bps, 3924)
- case 0 { // 3900-3924
- switch bps
- case 3900 { rate := 1000000010442153375885353361 }
- case 3901 { rate := 1000000010444434573851512493 }
- case 3902 { rate := 1000000010446715607720423430 }
- case 3903 { rate := 1000000010448996477515693040 }
- case 3904 { rate := 1000000010451277183260923098 }
- case 3905 { rate := 1000000010453557724979710285 }
- case 3906 { rate := 1000000010455838102695646196 }
- case 3907 { rate := 1000000010458118316432317331 }
- case 3908 { rate := 1000000010460398366213305107 }
- case 3909 { rate := 1000000010462678252062185850 }
- case 3910 { rate := 1000000010464957974002530804 }
- case 3911 { rate := 1000000010467237532057906130 }
- case 3912 { rate := 1000000010469516926251872906 }
- case 3913 { rate := 1000000010471796156607987127 }
- case 3914 { rate := 1000000010474075223149799712 }
- case 3915 { rate := 1000000010476354125900856503 }
- case 3916 { rate := 1000000010478632864884698262 }
- case 3917 { rate := 1000000010480911440124860682 }
- case 3918 { rate := 1000000010483189851644874376 }
- case 3919 { rate := 1000000010485468099468264892 }
- case 3920 { rate := 1000000010487746183618552701 }
- case 3921 { rate := 1000000010490024104119253210 }
- case 3922 { rate := 1000000010492301860993876758 }
- case 3923 { rate := 1000000010494579454265928614 }
- case 3924 { rate := 1000000010496856883958908988 }
- default { revert(0, 0) }
- }
- case 1 { // 3925-3949
- switch bps
- case 3925 { rate := 1000000010499134150096313024 }
- case 3926 { rate := 1000000010501411252701630804 }
- case 3927 { rate := 1000000010503688191798347350 }
- case 3928 { rate := 1000000010505964967409942629 }
- case 3929 { rate := 1000000010508241579559891545 }
- case 3930 { rate := 1000000010510518028271663949 }
- case 3931 { rate := 1000000010512794313568724638 }
- case 3932 { rate := 1000000010515070435474533356 }
- case 3933 { rate := 1000000010517346394012544796 }
- case 3934 { rate := 1000000010519622189206208597 }
- case 3935 { rate := 1000000010521897821078969357 }
- case 3936 { rate := 1000000010524173289654266619 }
- case 3937 { rate := 1000000010526448594955534886 }
- case 3938 { rate := 1000000010528723737006203614 }
- case 3939 { rate := 1000000010530998715829697217 }
- case 3940 { rate := 1000000010533273531449435067 }
- case 3941 { rate := 1000000010535548183888831498 }
- case 3942 { rate := 1000000010537822673171295805 }
- case 3943 { rate := 1000000010540096999320232244 }
- case 3944 { rate := 1000000010542371162359040036 }
- case 3945 { rate := 1000000010544645162311113372 }
- case 3946 { rate := 1000000010546918999199841404 }
- case 3947 { rate := 1000000010549192673048608259 }
- case 3948 { rate := 1000000010551466183880793029 }
- case 3949 { rate := 1000000010553739531719769780 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 3950-3999
- switch gt(bps, 3974)
- case 0 { // 3950-3974
- switch bps
- case 3950 { rate := 1000000010556012716588907553 }
- case 3951 { rate := 1000000010558285738511570360 }
- case 3952 { rate := 1000000010560558597511117192 }
- case 3953 { rate := 1000000010562831293610902015 }
- case 3954 { rate := 1000000010565103826834273775 }
- case 3955 { rate := 1000000010567376197204576401 }
- case 3956 { rate := 1000000010569648404745148797 }
- case 3957 { rate := 1000000010571920449479324858 }
- case 3958 { rate := 1000000010574192331430433458 }
- case 3959 { rate := 1000000010576464050621798460 }
- case 3960 { rate := 1000000010578735607076738714 }
- case 3961 { rate := 1000000010581007000818568058 }
- case 3962 { rate := 1000000010583278231870595322 }
- case 3963 { rate := 1000000010585549300256124326 }
- case 3964 { rate := 1000000010587820205998453884 }
- case 3965 { rate := 1000000010590090949120877806 }
- case 3966 { rate := 1000000010592361529646684896 }
- case 3967 { rate := 1000000010594631947599158957 }
- case 3968 { rate := 1000000010596902203001578791 }
- case 3969 { rate := 1000000010599172295877218198 }
- case 3970 { rate := 1000000010601442226249345986 }
- case 3971 { rate := 1000000010603711994141225957 }
- case 3972 { rate := 1000000010605981599576116928 }
- case 3973 { rate := 1000000010608251042577272714 }
- case 3974 { rate := 1000000010610520323167942140 }
- default { revert(0, 0) }
- }
- case 1 { // 3975-3999
- switch bps
- case 3975 { rate := 1000000010612789441371369043 }
- case 3976 { rate := 1000000010615058397210792268 }
- case 3977 { rate := 1000000010617327190709445671 }
- case 3978 { rate := 1000000010619595821890558121 }
- case 3979 { rate := 1000000010621864290777353506 }
- case 3980 { rate := 1000000010624132597393050726 }
- case 3981 { rate := 1000000010626400741760863700 }
- case 3982 { rate := 1000000010628668723904001364 }
- case 3983 { rate := 1000000010630936543845667679 }
- case 3984 { rate := 1000000010633204201609061622 }
- case 3985 { rate := 1000000010635471697217377200 }
- case 3986 { rate := 1000000010637739030693803438 }
- case 3987 { rate := 1000000010640006202061524391 }
- case 3988 { rate := 1000000010642273211343719142 }
- case 3989 { rate := 1000000010644540058563561801 }
- case 3990 { rate := 1000000010646806743744221508 }
- case 3991 { rate := 1000000010649073266908862437 }
- case 3992 { rate := 1000000010651339628080643794 }
- case 3993 { rate := 1000000010653605827282719820 }
- case 3994 { rate := 1000000010655871864538239791 }
- case 3995 { rate := 1000000010658137739870348023 }
- case 3996 { rate := 1000000010660403453302183867 }
- case 3997 { rate := 1000000010662669004856881719 }
- case 3998 { rate := 1000000010664934394557571013 }
- case 3999 { rate := 1000000010667199622427376228 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- }
-}
\ No newline at end of file
diff --git a/src/repositories/Rates4000To4799.sol b/src/repositories/Rates4000To4799.sol
deleted file mode 100644
index 7e64477..0000000
--- a/src/repositories/Rates4000To4799.sol
+++ /dev/null
@@ -1,1065 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity 0.8.19;
-
-contract Rates4000To4799 {
- uint256 constant public MIN = 4000;
- uint256 constant public MAX = 4799;
-
- function turn(uint256 bps) external pure returns (uint256 rate) {
- if (bps > MAX) revert();
- if (bps < MIN) revert();
-
- assembly {
- switch gt(bps, 4399)
- case 0 { // 4000-4399
- switch gt(bps, 4199)
- case 0 { // 4000-4199
- switch gt(bps, 4099)
- case 0 { // 4000-4099
- switch gt(bps, 4049)
- case 0 { // 4000-4049
- switch gt(bps, 4024)
- case 0 { // 4000-4024
- switch bps
- case 4000 { rate := 1000000010669464688489416886 }
- case 4001 { rate := 1000000010671729592766807558 }
- case 4002 { rate := 1000000010673994335282657858 }
- case 4003 { rate := 1000000010676258916060072453 }
- case 4004 { rate := 1000000010678523335122151059 }
- case 4005 { rate := 1000000010680787592491988442 }
- case 4006 { rate := 1000000010683051688192674423 }
- case 4007 { rate := 1000000010685315622247293876 }
- case 4008 { rate := 1000000010687579394678926732 }
- case 4009 { rate := 1000000010689843005510647981 }
- case 4010 { rate := 1000000010692106454765527665 }
- case 4011 { rate := 1000000010694369742466630895 }
- case 4012 { rate := 1000000010696632868637017837 }
- case 4013 { rate := 1000000010698895833299743723 }
- case 4014 { rate := 1000000010701158636477858849 }
- case 4015 { rate := 1000000010703421278194408576 }
- case 4016 { rate := 1000000010705683758472433332 }
- case 4017 { rate := 1000000010707946077334968615 }
- case 4018 { rate := 1000000010710208234805044991 }
- case 4019 { rate := 1000000010712470230905688100 }
- case 4020 { rate := 1000000010714732065659918652 }
- case 4021 { rate := 1000000010716993739090752433 }
- case 4022 { rate := 1000000010719255251221200304 }
- case 4023 { rate := 1000000010721516602074268204 }
- case 4024 { rate := 1000000010723777791672957148 }
- default { revert(0, 0) }
- }
- case 1 { // 4025-4049
- switch bps
- case 4025 { rate := 1000000010726038820040263233 }
- case 4026 { rate := 1000000010728299687199177636 }
- case 4027 { rate := 1000000010730560393172686618 }
- case 4028 { rate := 1000000010732820937983771524 }
- case 4029 { rate := 1000000010735081321655408782 }
- case 4030 { rate := 1000000010737341544210569909 }
- case 4031 { rate := 1000000010739601605672221510 }
- case 4032 { rate := 1000000010741861506063325280 }
- case 4033 { rate := 1000000010744121245406838002 }
- case 4034 { rate := 1000000010746380823725711557 }
- case 4035 { rate := 1000000010748640241042892914 }
- case 4036 { rate := 1000000010750899497381324142 }
- case 4037 { rate := 1000000010753158592763942403 }
- case 4038 { rate := 1000000010755417527213679959 }
- case 4039 { rate := 1000000010757676300753464170 }
- case 4040 { rate := 1000000010759934913406217501 }
- case 4041 { rate := 1000000010762193365194857512 }
- case 4042 { rate := 1000000010764451656142296872 }
- case 4043 { rate := 1000000010766709786271443355 }
- case 4044 { rate := 1000000010768967755605199839 }
- case 4045 { rate := 1000000010771225564166464310 }
- case 4046 { rate := 1000000010773483211978129865 }
- case 4047 { rate := 1000000010775740699063084710 }
- case 4048 { rate := 1000000010777998025444212163 }
- case 4049 { rate := 1000000010780255191144390658 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 4050-4099
- switch gt(bps, 4074)
- case 0 { // 4050-4074
- switch bps
- case 4050 { rate := 1000000010782512196186493739 }
- case 4051 { rate := 1000000010784769040593390070 }
- case 4052 { rate := 1000000010787025724387943431 }
- case 4053 { rate := 1000000010789282247593012723 }
- case 4054 { rate := 1000000010791538610231451963 }
- case 4055 { rate := 1000000010793794812326110293 }
- case 4056 { rate := 1000000010796050853899831977 }
- case 4057 { rate := 1000000010798306734975456405 }
- case 4058 { rate := 1000000010800562455575818091 }
- case 4059 { rate := 1000000010802818015723746677 }
- case 4060 { rate := 1000000010805073415442066933 }
- case 4061 { rate := 1000000010807328654753598760 }
- case 4062 { rate := 1000000010809583733681157190 }
- case 4063 { rate := 1000000010811838652247552387 }
- case 4064 { rate := 1000000010814093410475589652 }
- case 4065 { rate := 1000000010816348008388069418 }
- case 4066 { rate := 1000000010818602446007787257 }
- case 4067 { rate := 1000000010820856723357533878 }
- case 4068 { rate := 1000000010823110840460095130 }
- case 4069 { rate := 1000000010825364797338252005 }
- case 4070 { rate := 1000000010827618594014780637 }
- case 4071 { rate := 1000000010829872230512452300 }
- case 4072 { rate := 1000000010832125706854033418 }
- case 4073 { rate := 1000000010834379023062285559 }
- case 4074 { rate := 1000000010836632179159965442 }
- default { revert(0, 0) }
- }
- case 1 { // 4075-4099
- switch bps
- case 4075 { rate := 1000000010838885175169824929 }
- case 4076 { rate := 1000000010841138011114611041 }
- case 4077 { rate := 1000000010843390687017065944 }
- case 4078 { rate := 1000000010845643202899926963 }
- case 4079 { rate := 1000000010847895558785926572 }
- case 4080 { rate := 1000000010850147754697792408 }
- case 4081 { rate := 1000000010852399790658247262 }
- case 4082 { rate := 1000000010854651666690009082 }
- case 4083 { rate := 1000000010856903382815790981 }
- case 4084 { rate := 1000000010859154939058301230 }
- case 4085 { rate := 1000000010861406335440243265 }
- case 4086 { rate := 1000000010863657571984315686 }
- case 4087 { rate := 1000000010865908648713212260 }
- case 4088 { rate := 1000000010868159565649621919 }
- case 4089 { rate := 1000000010870410322816228766 }
- case 4090 { rate := 1000000010872660920235712071 }
- case 4091 { rate := 1000000010874911357930746279 }
- case 4092 { rate := 1000000010877161635924001006 }
- case 4093 { rate := 1000000010879411754238141040 }
- case 4094 { rate := 1000000010881661712895826350 }
- case 4095 { rate := 1000000010883911511919712075 }
- case 4096 { rate := 1000000010886161151332448538 }
- case 4097 { rate := 1000000010888410631156681239 }
- case 4098 { rate := 1000000010890659951415050857 }
- case 4099 { rate := 1000000010892909112130193257 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 4100-4199
- switch gt(bps, 4149)
- case 0 { // 4100-4149
- switch gt(bps, 4124)
- case 0 { // 4100-4124
- switch bps
- case 4100 { rate := 1000000010895158113324739488 }
- case 4101 { rate := 1000000010897406955021315779 }
- case 4102 { rate := 1000000010899655637242543550 }
- case 4103 { rate := 1000000010901904160011039408 }
- case 4104 { rate := 1000000010904152523349415148 }
- case 4105 { rate := 1000000010906400727280277756 }
- case 4106 { rate := 1000000010908648771826229410 }
- case 4107 { rate := 1000000010910896657009867483 }
- case 4108 { rate := 1000000010913144382853784538 }
- case 4109 { rate := 1000000010915391949380568338 }
- case 4110 { rate := 1000000010917639356612801842 }
- case 4111 { rate := 1000000010919886604573063209 }
- case 4112 { rate := 1000000010922133693283925795 }
- case 4113 { rate := 1000000010924380622767958161 }
- case 4114 { rate := 1000000010926627393047724068 }
- case 4115 { rate := 1000000010928874004145782483 }
- case 4116 { rate := 1000000010931120456084687576 }
- case 4117 { rate := 1000000010933366748886988728 }
- case 4118 { rate := 1000000010935612882575230523 }
- case 4119 { rate := 1000000010937858857171952760 }
- case 4120 { rate := 1000000010940104672699690444 }
- case 4121 { rate := 1000000010942350329180973795 }
- case 4122 { rate := 1000000010944595826638328248 }
- case 4123 { rate := 1000000010946841165094274449 }
- case 4124 { rate := 1000000010949086344571328262 }
- default { revert(0, 0) }
- }
- case 1 { // 4125-4149
- switch bps
- case 4125 { rate := 1000000010951331365092000772 }
- case 4126 { rate := 1000000010953576226678798278 }
- case 4127 { rate := 1000000010955820929354222302 }
- case 4128 { rate := 1000000010958065473140769588 }
- case 4129 { rate := 1000000010960309858060932102 }
- case 4130 { rate := 1000000010962554084137197035 }
- case 4131 { rate := 1000000010964798151392046803 }
- case 4132 { rate := 1000000010967042059847959052 }
- case 4133 { rate := 1000000010969285809527406653 }
- case 4134 { rate := 1000000010971529400452857709 }
- case 4135 { rate := 1000000010973772832646775552 }
- case 4136 { rate := 1000000010976016106131618751 }
- case 4137 { rate := 1000000010978259220929841103 }
- case 4138 { rate := 1000000010980502177063891645 }
- case 4139 { rate := 1000000010982744974556214650 }
- case 4140 { rate := 1000000010984987613429249625 }
- case 4141 { rate := 1000000010987230093705431322 }
- case 4142 { rate := 1000000010989472415407189730 }
- case 4143 { rate := 1000000010991714578556950080 }
- case 4144 { rate := 1000000010993956583177132848 }
- case 4145 { rate := 1000000010996198429290153754 }
- case 4146 { rate := 1000000010998440116918423764 }
- case 4147 { rate := 1000000011000681646084349091 }
- case 4148 { rate := 1000000011002923016810331196 }
- case 4149 { rate := 1000000011005164229118766794 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 4150-4199
- switch gt(bps, 4174)
- case 0 { // 4150-4174
- switch bps
- case 4150 { rate := 1000000011007405283032047846 }
- case 4151 { rate := 1000000011009646178572561570 }
- case 4152 { rate := 1000000011011886915762690435 }
- case 4153 { rate := 1000000011014127494624812168 }
- case 4154 { rate := 1000000011016367915181299751 }
- case 4155 { rate := 1000000011018608177454521425 }
- case 4156 { rate := 1000000011020848281466840690 }
- case 4157 { rate := 1000000011023088227240616307 }
- case 4158 { rate := 1000000011025328014798202299 }
- case 4159 { rate := 1000000011027567644161947953 }
- case 4160 { rate := 1000000011029807115354197820 }
- case 4161 { rate := 1000000011032046428397291718 }
- case 4162 { rate := 1000000011034285583313564733 }
- case 4163 { rate := 1000000011036524580125347217 }
- case 4164 { rate := 1000000011038763418854964795 }
- case 4165 { rate := 1000000011041002099524738363 }
- case 4166 { rate := 1000000011043240622156984088 }
- case 4167 { rate := 1000000011045478986774013414 }
- case 4168 { rate := 1000000011047717193398133058 }
- case 4169 { rate := 1000000011049955242051645015 }
- case 4170 { rate := 1000000011052193132756846559 }
- case 4171 { rate := 1000000011054430865536030243 }
- case 4172 { rate := 1000000011056668440411483899 }
- case 4173 { rate := 1000000011058905857405490642 }
- case 4174 { rate := 1000000011061143116540328874 }
- default { revert(0, 0) }
- }
- case 1 { // 4175-4199
- switch bps
- case 4175 { rate := 1000000011063380217838272275 }
- case 4176 { rate := 1000000011065617161321589818 }
- case 4177 { rate := 1000000011067853947012545760 }
- case 4178 { rate := 1000000011070090574933399646 }
- case 4179 { rate := 1000000011072327045106406314 }
- case 4180 { rate := 1000000011074563357553815892 }
- case 4181 { rate := 1000000011076799512297873799 }
- case 4182 { rate := 1000000011079035509360820752 }
- case 4183 { rate := 1000000011081271348764892760 }
- case 4184 { rate := 1000000011083507030532321133 }
- case 4185 { rate := 1000000011085742554685332472 }
- case 4186 { rate := 1000000011087977921246148683 }
- case 4187 { rate := 1000000011090213130236986974 }
- case 4188 { rate := 1000000011092448181680059850 }
- case 4189 { rate := 1000000011094683075597575122 }
- case 4190 { rate := 1000000011096917812011735908 }
- case 4191 { rate := 1000000011099152390944740628 }
- case 4192 { rate := 1000000011101386812418783011 }
- case 4193 { rate := 1000000011103621076456052096 }
- case 4194 { rate := 1000000011105855183078732230 }
- case 4195 { rate := 1000000011108089132309003072 }
- case 4196 { rate := 1000000011110322924169039595 }
- case 4197 { rate := 1000000011112556558681012085 }
- case 4198 { rate := 1000000011114790035867086142 }
- case 4199 { rate := 1000000011117023355749422684 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 4200-4399
- switch gt(bps, 4299)
- case 0 { // 4200-4299
- switch gt(bps, 4249)
- case 0 { // 4200-4249
- switch gt(bps, 4224)
- case 0 { // 4200-4224
- switch bps
- case 4200 { rate := 1000000011119256518350177948 }
- case 4201 { rate := 1000000011121489523691503488 }
- case 4202 { rate := 1000000011123722371795546180 }
- case 4203 { rate := 1000000011125955062684448222 }
- case 4204 { rate := 1000000011128187596380347134 }
- case 4205 { rate := 1000000011130419972905375761 }
- case 4206 { rate := 1000000011132652192281662277 }
- case 4207 { rate := 1000000011134884254531330177 }
- case 4208 { rate := 1000000011137116159676498289 }
- case 4209 { rate := 1000000011139347907739280771 }
- case 4210 { rate := 1000000011141579498741787109 }
- case 4211 { rate := 1000000011143810932706122123 }
- case 4212 { rate := 1000000011146042209654385969 }
- case 4213 { rate := 1000000011148273329608674134 }
- case 4214 { rate := 1000000011150504292591077445 }
- case 4215 { rate := 1000000011152735098623682064 }
- case 4216 { rate := 1000000011154965747728569493 }
- case 4217 { rate := 1000000011157196239927816576 }
- case 4218 { rate := 1000000011159426575243495495 }
- case 4219 { rate := 1000000011161656753697673778 }
- case 4220 { rate := 1000000011163886775312414296 }
- case 4221 { rate := 1000000011166116640109775265 }
- case 4222 { rate := 1000000011168346348111810249 }
- case 4223 { rate := 1000000011170575899340568161 }
- case 4224 { rate := 1000000011172805293818093260 }
- default { revert(0, 0) }
- }
- case 1 { // 4225-4249
- switch bps
- case 4225 { rate := 1000000011175034531566425160 }
- case 4226 { rate := 1000000011177263612607598825 }
- case 4227 { rate := 1000000011179492536963644571 }
- case 4228 { rate := 1000000011181721304656588071 }
- case 4229 { rate := 1000000011183949915708450354 }
- case 4230 { rate := 1000000011186178370141247803 }
- case 4231 { rate := 1000000011188406667976992166 }
- case 4232 { rate := 1000000011190634809237690543 }
- case 4233 { rate := 1000000011192862793945345402 }
- case 4234 { rate := 1000000011195090622121954571 }
- case 4235 { rate := 1000000011197318293789511240 }
- case 4236 { rate := 1000000011199545808970003967 }
- case 4237 { rate := 1000000011201773167685416674 }
- case 4238 { rate := 1000000011204000369957728654 }
- case 4239 { rate := 1000000011206227415808914565 }
- case 4240 { rate := 1000000011208454305260944438 }
- case 4241 { rate := 1000000011210681038335783676 }
- case 4242 { rate := 1000000011212907615055393052 }
- case 4243 { rate := 1000000011215134035441728718 }
- case 4244 { rate := 1000000011217360299516742197 }
- case 4245 { rate := 1000000011219586407302380389 }
- case 4246 { rate := 1000000011221812358820585577 }
- case 4247 { rate := 1000000011224038154093295418 }
- case 4248 { rate := 1000000011226263793142442953 }
- case 4249 { rate := 1000000011228489275989956604 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 4250-4299
- switch gt(bps, 4274)
- case 0 { // 4250-4274
- switch bps
- case 4250 { rate := 1000000011230714602657760176 }
- case 4251 { rate := 1000000011232939773167772858 }
- case 4252 { rate := 1000000011235164787541909226 }
- case 4253 { rate := 1000000011237389645802079244 }
- case 4254 { rate := 1000000011239614347970188264 }
- case 4255 { rate := 1000000011241838894068137026 }
- case 4256 { rate := 1000000011244063284117821662 }
- case 4257 { rate := 1000000011246287518141133699 }
- case 4258 { rate := 1000000011248511596159960053 }
- case 4259 { rate := 1000000011250735518196183039 }
- case 4260 { rate := 1000000011252959284271680367 }
- case 4261 { rate := 1000000011255182894408325144 }
- case 4262 { rate := 1000000011257406348627985874 }
- case 4263 { rate := 1000000011259629646952526467 }
- case 4264 { rate := 1000000011261852789403806228 }
- case 4265 { rate := 1000000011264075776003679869 }
- case 4266 { rate := 1000000011266298606773997503 }
- case 4267 { rate := 1000000011268521281736604652 }
- case 4268 { rate := 1000000011270743800913342239 }
- case 4269 { rate := 1000000011272966164326046602 }
- case 4270 { rate := 1000000011275188371996549481 }
- case 4271 { rate := 1000000011277410423946678031 }
- case 4272 { rate := 1000000011279632320198254820 }
- case 4273 { rate := 1000000011281854060773097822 }
- case 4274 { rate := 1000000011284075645693020433 }
- default { revert(0, 0) }
- }
- case 1 { // 4275-4299
- switch bps
- case 4275 { rate := 1000000011286297074979831462 }
- case 4276 { rate := 1000000011288518348655335131 }
- case 4277 { rate := 1000000011290739466741331087 }
- case 4278 { rate := 1000000011292960429259614390 }
- case 4279 { rate := 1000000011295181236231975526 }
- case 4280 { rate := 1000000011297401887680200399 }
- case 4281 { rate := 1000000011299622383626070339 }
- case 4282 { rate := 1000000011301842724091362099 }
- case 4283 { rate := 1000000011304062909097847859 }
- case 4284 { rate := 1000000011306282938667295224 }
- case 4285 { rate := 1000000011308502812821467231 }
- case 4286 { rate := 1000000011310722531582122343 }
- case 4287 { rate := 1000000011312942094971014457 }
- case 4288 { rate := 1000000011315161503009892899 }
- case 4289 { rate := 1000000011317380755720502432 }
- case 4290 { rate := 1000000011319599853124583251 }
- case 4291 { rate := 1000000011321818795243870989 }
- case 4292 { rate := 1000000011324037582100096715 }
- case 4293 { rate := 1000000011326256213714986939 }
- case 4294 { rate := 1000000011328474690110263606 }
- case 4295 { rate := 1000000011330693011307644108 }
- case 4296 { rate := 1000000011332911177328841276 }
- case 4297 { rate := 1000000011335129188195563387 }
- case 4298 { rate := 1000000011337347043929514159 }
- case 4299 { rate := 1000000011339564744552392760 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 4300-4399
- switch gt(bps, 4349)
- case 0 { // 4300-4349
- switch gt(bps, 4324)
- case 0 { // 4300-4324
- switch bps
- case 4300 { rate := 1000000011341782290085893805 }
- case 4301 { rate := 1000000011343999680551707357 }
- case 4302 { rate := 1000000011346216915971518931 }
- case 4303 { rate := 1000000011348433996367009488 }
- case 4304 { rate := 1000000011350650921759855449 }
- case 4305 { rate := 1000000011352867692171728685 }
- case 4306 { rate := 1000000011355084307624296520 }
- case 4307 { rate := 1000000011357300768139221740 }
- case 4308 { rate := 1000000011359517073738162585 }
- case 4309 { rate := 1000000011361733224442772754 }
- case 4310 { rate := 1000000011363949220274701408 }
- case 4311 { rate := 1000000011366165061255593168 }
- case 4312 { rate := 1000000011368380747407088120 }
- case 4313 { rate := 1000000011370596278750821810 }
- case 4314 { rate := 1000000011372811655308425254 }
- case 4315 { rate := 1000000011375026877101524932 }
- case 4316 { rate := 1000000011377241944151742792 }
- case 4317 { rate := 1000000011379456856480696254 }
- case 4318 { rate := 1000000011381671614109998202 }
- case 4319 { rate := 1000000011383886217061256998 }
- case 4320 { rate := 1000000011386100665356076475 }
- case 4321 { rate := 1000000011388314959016055939 }
- case 4322 { rate := 1000000011390529098062790173 }
- case 4323 { rate := 1000000011392743082517869435 }
- case 4324 { rate := 1000000011394956912402879463 }
- default { revert(0, 0) }
- }
- case 1 { // 4325-4349
- switch bps
- case 4325 { rate := 1000000011397170587739401474 }
- case 4326 { rate := 1000000011399384108549012164 }
- case 4327 { rate := 1000000011401597474853283711 }
- case 4328 { rate := 1000000011403810686673783778 }
- case 4329 { rate := 1000000011406023744032075511 }
- case 4330 { rate := 1000000011408236646949717541 }
- case 4331 { rate := 1000000011410449395448263986 }
- case 4332 { rate := 1000000011412661989549264455 }
- case 4333 { rate := 1000000011414874429274264041 }
- case 4334 { rate := 1000000011417086714644803332 }
- case 4335 { rate := 1000000011419298845682418407 }
- case 4336 { rate := 1000000011421510822408640836 }
- case 4337 { rate := 1000000011423722644844997686 }
- case 4338 { rate := 1000000011425934313013011518 }
- case 4339 { rate := 1000000011428145826934200391 }
- case 4340 { rate := 1000000011430357186630077862 }
- case 4341 { rate := 1000000011432568392122152986 }
- case 4342 { rate := 1000000011434779443431930319 }
- case 4343 { rate := 1000000011436990340580909922 }
- case 4344 { rate := 1000000011439201083590587356 }
- case 4345 { rate := 1000000011441411672482453687 }
- case 4346 { rate := 1000000011443622107277995486 }
- case 4347 { rate := 1000000011445832387998694833 }
- case 4348 { rate := 1000000011448042514666029315 }
- case 4349 { rate := 1000000011450252487301472028 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 4350-4399
- switch gt(bps, 4374)
- case 0 { // 4350-4374
- switch bps
- case 4350 { rate := 1000000011452462305926491579 }
- case 4351 { rate := 1000000011454671970562552089 }
- case 4352 { rate := 1000000011456881481231113188 }
- case 4353 { rate := 1000000011459090837953630024 }
- case 4354 { rate := 1000000011461300040751553259 }
- case 4355 { rate := 1000000011463509089646329073 }
- case 4356 { rate := 1000000011465717984659399163 }
- case 4357 { rate := 1000000011467926725812200747 }
- case 4358 { rate := 1000000011470135313126166561 }
- case 4359 { rate := 1000000011472343746622724867 }
- case 4360 { rate := 1000000011474552026323299446 }
- case 4361 { rate := 1000000011476760152249309607 }
- case 4362 { rate := 1000000011478968124422170181 }
- case 4363 { rate := 1000000011481175942863291530 }
- case 4364 { rate := 1000000011483383607594079540 }
- case 4365 { rate := 1000000011485591118635935631 }
- case 4366 { rate := 1000000011487798476010256750 }
- case 4367 { rate := 1000000011490005679738435376 }
- case 4368 { rate := 1000000011492212729841859524 }
- case 4369 { rate := 1000000011494419626341912740 }
- case 4370 { rate := 1000000011496626369259974109 }
- case 4371 { rate := 1000000011498832958617418250 }
- case 4372 { rate := 1000000011501039394435615322 }
- case 4373 { rate := 1000000011503245676735931022 }
- case 4374 { rate := 1000000011505451805539726589 }
- default { revert(0, 0) }
- }
- case 1 { // 4375-4399
- switch bps
- case 4375 { rate := 1000000011507657780868358802 }
- case 4376 { rate := 1000000011509863602743179986 }
- case 4377 { rate := 1000000011512069271185538006 }
- case 4378 { rate := 1000000011514274786216776278 }
- case 4379 { rate := 1000000011516480147858233760 }
- case 4380 { rate := 1000000011518685356131244960 }
- case 4381 { rate := 1000000011520890411057139937 }
- case 4382 { rate := 1000000011523095312657244296 }
- case 4383 { rate := 1000000011525300060952879198 }
- case 4384 { rate := 1000000011527504655965361356 }
- case 4385 { rate := 1000000011529709097716003036 }
- case 4386 { rate := 1000000011531913386226112060 }
- case 4387 { rate := 1000000011534117521516991808 }
- case 4388 { rate := 1000000011536321503609941215 }
- case 4389 { rate := 1000000011538525332526254779 }
- case 4390 { rate := 1000000011540729008287222556 }
- case 4391 { rate := 1000000011542932530914130163 }
- case 4392 { rate := 1000000011545135900428258782 }
- case 4393 { rate := 1000000011547339116850885159 }
- case 4394 { rate := 1000000011549542180203281602 }
- case 4395 { rate := 1000000011551745090506715989 }
- case 4396 { rate := 1000000011553947847782451765 }
- case 4397 { rate := 1000000011556150452051747944 }
- case 4398 { rate := 1000000011558352903335859111 }
- case 4399 { rate := 1000000011560555201656035419 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 4400-4799
- switch gt(bps, 4599)
- case 0 { // 4400-4599
- switch gt(bps, 4499)
- case 0 { // 4400-4499
- switch gt(bps, 4449)
- case 0 { // 4400-4449
- switch gt(bps, 4424)
- case 0 { // 4400-4424
- switch bps
- case 4400 { rate := 1000000011562757347033522598 }
- case 4401 { rate := 1000000011564959339489561951 }
- case 4402 { rate := 1000000011567161179045390355 }
- case 4403 { rate := 1000000011569362865722240263 }
- case 4404 { rate := 1000000011571564399541339706 }
- case 4405 { rate := 1000000011573765780523912298 }
- case 4406 { rate := 1000000011575967008691177226 }
- case 4407 { rate := 1000000011578168084064349263 }
- case 4408 { rate := 1000000011580369006664638762 }
- case 4409 { rate := 1000000011582569776513251664 }
- case 4410 { rate := 1000000011584770393631389491 }
- case 4411 { rate := 1000000011586970858040249351 }
- case 4412 { rate := 1000000011589171169761023944 }
- case 4413 { rate := 1000000011591371328814901553 }
- case 4414 { rate := 1000000011593571335223066054 }
- case 4415 { rate := 1000000011595771189006696913 }
- case 4416 { rate := 1000000011597970890186969190 }
- case 4417 { rate := 1000000011600170438785053539 }
- case 4418 { rate := 1000000011602369834822116205 }
- case 4419 { rate := 1000000011604569078319319032 }
- case 4420 { rate := 1000000011606768169297819461 }
- case 4421 { rate := 1000000011608967107778770531 }
- case 4422 { rate := 1000000011611165893783320880 }
- case 4423 { rate := 1000000011613364527332614750 }
- case 4424 { rate := 1000000011615563008447791980 }
- default { revert(0, 0) }
- }
- case 1 { // 4425-4449
- switch bps
- case 4425 { rate := 1000000011617761337149988016 }
- case 4426 { rate := 1000000011619959513460333909 }
- case 4427 { rate := 1000000011622157537399956313 }
- case 4428 { rate := 1000000011624355408989977491 }
- case 4429 { rate := 1000000011626553128251515315 }
- case 4430 { rate := 1000000011628750695205683263 }
- case 4431 { rate := 1000000011630948109873590427 }
- case 4432 { rate := 1000000011633145372276341510 }
- case 4433 { rate := 1000000011635342482435036828 }
- case 4434 { rate := 1000000011637539440370772309 }
- case 4435 { rate := 1000000011639736246104639501 }
- case 4436 { rate := 1000000011641932899657725566 }
- case 4437 { rate := 1000000011644129401051113283 }
- case 4438 { rate := 1000000011646325750305881052 }
- case 4439 { rate := 1000000011648521947443102894 }
- case 4440 { rate := 1000000011650717992483848450 }
- case 4441 { rate := 1000000011652913885449182982 }
- case 4442 { rate := 1000000011655109626360167380 }
- case 4443 { rate := 1000000011657305215237858159 }
- case 4444 { rate := 1000000011659500652103307456 }
- case 4445 { rate := 1000000011661695936977563040 }
- case 4446 { rate := 1000000011663891069881668309 }
- case 4447 { rate := 1000000011666086050836662286 }
- case 4448 { rate := 1000000011668280879863579631 }
- case 4449 { rate := 1000000011670475556983450634 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 4450-4499
- switch gt(bps, 4474)
- case 0 { // 4450-4474
- switch bps
- case 4450 { rate := 1000000011672670082217301219 }
- case 4451 { rate := 1000000011674864455586152944 }
- case 4452 { rate := 1000000011677058677111023005 }
- case 4453 { rate := 1000000011679252746812924234 }
- case 4454 { rate := 1000000011681446664712865102 }
- case 4455 { rate := 1000000011683640430831849720 }
- case 4456 { rate := 1000000011685834045190877838 }
- case 4457 { rate := 1000000011688027507810944851 }
- case 4458 { rate := 1000000011690220818713041795 }
- case 4459 { rate := 1000000011692413977918155352 }
- case 4460 { rate := 1000000011694606985447267850 }
- case 4461 { rate := 1000000011696799841321357263 }
- case 4462 { rate := 1000000011698992545561397213 }
- case 4463 { rate := 1000000011701185098188356972 }
- case 4464 { rate := 1000000011703377499223201464 }
- case 4465 { rate := 1000000011705569748686891261 }
- case 4466 { rate := 1000000011707761846600382591 }
- case 4467 { rate := 1000000011709953792984627335 }
- case 4468 { rate := 1000000011712145587860573032 }
- case 4469 { rate := 1000000011714337231249162871 }
- case 4470 { rate := 1000000011716528723171335709 }
- case 4471 { rate := 1000000011718720063648026051 }
- case 4472 { rate := 1000000011720911252700164071 }
- case 4473 { rate := 1000000011723102290348675597 }
- case 4474 { rate := 1000000011725293176614482128 }
- default { revert(0, 0) }
- }
- case 1 { // 4475-4499
- switch bps
- case 4475 { rate := 1000000011727483911518500818 }
- case 4476 { rate := 1000000011729674495081644493 }
- case 4477 { rate := 1000000011731864927324821641 }
- case 4478 { rate := 1000000011734055208268936418 }
- case 4479 { rate := 1000000011736245337934888652 }
- case 4480 { rate := 1000000011738435316343573834 }
- case 4481 { rate := 1000000011740625143515883134 }
- case 4482 { rate := 1000000011742814819472703388 }
- case 4483 { rate := 1000000011745004344234917107 }
- case 4484 { rate := 1000000011747193717823402479 }
- case 4485 { rate := 1000000011749382940259033365 }
- case 4486 { rate := 1000000011751572011562679304 }
- case 4487 { rate := 1000000011753760931755205513 }
- case 4488 { rate := 1000000011755949700857472887 }
- case 4489 { rate := 1000000011758138318890338005 }
- case 4490 { rate := 1000000011760326785874653124 }
- case 4491 { rate := 1000000011762515101831266185 }
- case 4492 { rate := 1000000011764703266781020815 }
- case 4493 { rate := 1000000011766891280744756325 }
- case 4494 { rate := 1000000011769079143743307711 }
- case 4495 { rate := 1000000011771266855797505659 }
- case 4496 { rate := 1000000011773454416928176542 }
- case 4497 { rate := 1000000011775641827156142425 }
- case 4498 { rate := 1000000011777829086502221061 }
- case 4499 { rate := 1000000011780016194987225901 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 4500-4599
- switch gt(bps, 4549)
- case 0 { // 4500-4549
- switch gt(bps, 4524)
- case 0 { // 4500-4524
- switch bps
- case 4500 { rate := 1000000011782203152631966084 }
- case 4501 { rate := 1000000011784389959457246446 }
- case 4502 { rate := 1000000011786576615483867520 }
- case 4503 { rate := 1000000011788763120732625534 }
- case 4504 { rate := 1000000011790949475224312417 }
- case 4505 { rate := 1000000011793135678979715794 }
- case 4506 { rate := 1000000011795321732019618995 }
- case 4507 { rate := 1000000011797507634364801050 }
- case 4508 { rate := 1000000011799693386036036690 }
- case 4509 { rate := 1000000011801878987054096353 }
- case 4510 { rate := 1000000011804064437439746183 }
- case 4511 { rate := 1000000011806249737213748028 }
- case 4512 { rate := 1000000011808434886396859445 }
- case 4513 { rate := 1000000011810619885009833701 }
- case 4514 { rate := 1000000011812804733073419772 }
- case 4515 { rate := 1000000011814989430608362346 }
- case 4516 { rate := 1000000011817173977635401824 }
- case 4517 { rate := 1000000011819358374175274320 }
- case 4518 { rate := 1000000011821542620248711663 }
- case 4519 { rate := 1000000011823726715876441397 }
- case 4520 { rate := 1000000011825910661079186786 }
- case 4521 { rate := 1000000011828094455877666811 }
- case 4522 { rate := 1000000011830278100292596173 }
- case 4523 { rate := 1000000011832461594344685292 }
- case 4524 { rate := 1000000011834644938054640314 }
- default { revert(0, 0) }
- }
- case 1 { // 4525-4549
- switch bps
- case 4525 { rate := 1000000011836828131443163102 }
- case 4526 { rate := 1000000011839011174530951252 }
- case 4527 { rate := 1000000011841194067338698076 }
- case 4528 { rate := 1000000011843376809887092621 }
- case 4529 { rate := 1000000011845559402196819657 }
- case 4530 { rate := 1000000011847741844288559684 }
- case 4531 { rate := 1000000011849924136182988931 }
- case 4532 { rate := 1000000011852106277900779365 }
- case 4533 { rate := 1000000011854288269462598676 }
- case 4534 { rate := 1000000011856470110889110294 }
- case 4535 { rate := 1000000011858651802200973384 }
- case 4536 { rate := 1000000011860833343418842843 }
- case 4537 { rate := 1000000011863014734563369310 }
- case 4538 { rate := 1000000011865195975655199159 }
- case 4539 { rate := 1000000011867377066714974505 }
- case 4540 { rate := 1000000011869558007763333206 }
- case 4541 { rate := 1000000011871738798820908856 }
- case 4542 { rate := 1000000011873919439908330799 }
- case 4543 { rate := 1000000011876099931046224119 }
- case 4544 { rate := 1000000011878280272255209648 }
- case 4545 { rate := 1000000011880460463555903962 }
- case 4546 { rate := 1000000011882640504968919386 }
- case 4547 { rate := 1000000011884820396514863997 }
- case 4548 { rate := 1000000011887000138214341617 }
- case 4549 { rate := 1000000011889179730087951822 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 4550-4599
- switch gt(bps, 4574)
- case 0 { // 4550-4574
- switch bps
- case 4550 { rate := 1000000011891359172156289942 }
- case 4551 { rate := 1000000011893538464439947057 }
- case 4552 { rate := 1000000011895717606959510007 }
- case 4553 { rate := 1000000011897896599735561381 }
- case 4554 { rate := 1000000011900075442788679533 }
- case 4555 { rate := 1000000011902254136139438568 }
- case 4556 { rate := 1000000011904432679808408357 }
- case 4557 { rate := 1000000011906611073816154526 }
- case 4558 { rate := 1000000011908789318183238468 }
- case 4559 { rate := 1000000011910967412930217335 }
- case 4560 { rate := 1000000011913145358077644046 }
- case 4561 { rate := 1000000011915323153646067283 }
- case 4562 { rate := 1000000011917500799656031495 }
- case 4563 { rate := 1000000011919678296128076901 }
- case 4564 { rate := 1000000011921855643082739486 }
- case 4565 { rate := 1000000011924032840540551006 }
- case 4566 { rate := 1000000011926209888522038989 }
- case 4567 { rate := 1000000011928386787047726732 }
- case 4568 { rate := 1000000011930563536138133312 }
- case 4569 { rate := 1000000011932740135813773575 }
- case 4570 { rate := 1000000011934916586095158143 }
- case 4571 { rate := 1000000011937092887002793418 }
- case 4572 { rate := 1000000011939269038557181578 }
- case 4573 { rate := 1000000011941445040778820581 }
- case 4574 { rate := 1000000011943620893688204164 }
- default { revert(0, 0) }
- }
- case 1 { // 4575-4599
- switch bps
- case 4575 { rate := 1000000011945796597305821848 }
- case 4576 { rate := 1000000011947972151652158936 }
- case 4577 { rate := 1000000011950147556747696515 }
- case 4578 { rate := 1000000011952322812612911454 }
- case 4579 { rate := 1000000011954497919268276412 }
- case 4580 { rate := 1000000011956672876734259834 }
- case 4581 { rate := 1000000011958847685031325954 }
- case 4582 { rate := 1000000011961022344179934796 }
- case 4583 { rate := 1000000011963196854200542173 }
- case 4584 { rate := 1000000011965371215113599692 }
- case 4585 { rate := 1000000011967545426939554751 }
- case 4586 { rate := 1000000011969719489698850545 }
- case 4587 { rate := 1000000011971893403411926063 }
- case 4588 { rate := 1000000011974067168099216089 }
- case 4589 { rate := 1000000011976240783781151209 }
- case 4590 { rate := 1000000011978414250478157804 }
- case 4591 { rate := 1000000011980587568210658056 }
- case 4592 { rate := 1000000011982760736999069949 }
- case 4593 { rate := 1000000011984933756863807269 }
- case 4594 { rate := 1000000011987106627825279606 }
- case 4595 { rate := 1000000011989279349903892354 }
- case 4596 { rate := 1000000011991451923120046712 }
- case 4597 { rate := 1000000011993624347494139689 }
- case 4598 { rate := 1000000011995796623046564099 }
- case 4599 { rate := 1000000011997968749797708565 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 4600-4799
- switch gt(bps, 4699)
- case 0 { // 4600-4699
- switch gt(bps, 4649)
- case 0 { // 4600-4649
- switch gt(bps, 4624)
- case 0 { // 4600-4624
- switch bps
- case 4600 { rate := 1000000012000140727767957524 }
- case 4601 { rate := 1000000012002312556977691222 }
- case 4602 { rate := 1000000012004484237447285716 }
- case 4603 { rate := 1000000012006655769197112882 }
- case 4604 { rate := 1000000012008827152247540405 }
- case 4605 { rate := 1000000012010998386618931791 }
- case 4606 { rate := 1000000012013169472331646360 }
- case 4607 { rate := 1000000012015340409406039253 }
- case 4608 { rate := 1000000012017511197862461428 }
- case 4609 { rate := 1000000012019681837721259668 }
- case 4610 { rate := 1000000012021852329002776572 }
- case 4611 { rate := 1000000012024022671727350564 }
- case 4612 { rate := 1000000012026192865915315897 }
- case 4613 { rate := 1000000012028362911587002643 }
- case 4614 { rate := 1000000012030532808762736703 }
- case 4615 { rate := 1000000012032702557462839807 }
- case 4616 { rate := 1000000012034872157707629511 }
- case 4617 { rate := 1000000012037041609517419201 }
- case 4618 { rate := 1000000012039210912912518097 }
- case 4619 { rate := 1000000012041380067913231248 }
- case 4620 { rate := 1000000012043549074539859539 }
- case 4621 { rate := 1000000012045717932812699686 }
- case 4622 { rate := 1000000012047886642752044245 }
- case 4623 { rate := 1000000012050055204378181605 }
- case 4624 { rate := 1000000012052223617711395993 }
- default { revert(0, 0) }
- }
- case 1 { // 4625-4649
- switch bps
- case 4625 { rate := 1000000012054391882771967477 }
- case 4626 { rate := 1000000012056559999580171966 }
- case 4627 { rate := 1000000012058727968156281206 }
- case 4628 { rate := 1000000012060895788520562788 }
- case 4629 { rate := 1000000012063063460693280149 }
- case 4630 { rate := 1000000012065230984694692566 }
- case 4631 { rate := 1000000012067398360545055164 }
- case 4632 { rate := 1000000012069565588264618915 }
- case 4633 { rate := 1000000012071732667873630640 }
- case 4634 { rate := 1000000012073899599392333007 }
- case 4635 { rate := 1000000012076066382840964537 }
- case 4636 { rate := 1000000012078233018239759599 }
- case 4637 { rate := 1000000012080399505608948418 }
- case 4638 { rate := 1000000012082565844968757072 }
- case 4639 { rate := 1000000012084732036339407491 }
- case 4640 { rate := 1000000012086898079741117465 }
- case 4641 { rate := 1000000012089063975194100640 }
- case 4642 { rate := 1000000012091229722718566519 }
- case 4643 { rate := 1000000012093395322334720465 }
- case 4644 { rate := 1000000012095560774062763701 }
- case 4645 { rate := 1000000012097726077922893315 }
- case 4646 { rate := 1000000012099891233935302252 }
- case 4647 { rate := 1000000012102056242120179326 }
- case 4648 { rate := 1000000012104221102497709214 }
- case 4649 { rate := 1000000012106385815088072459 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 4650-4699
- switch gt(bps, 4674)
- case 0 { // 4650-4674
- switch bps
- case 4650 { rate := 1000000012108550379911445472 }
- case 4651 { rate := 1000000012110714796988000533 }
- case 4652 { rate := 1000000012112879066337905789 }
- case 4653 { rate := 1000000012115043187981325261 }
- case 4654 { rate := 1000000012117207161938418839 }
- case 4655 { rate := 1000000012119370988229342288 }
- case 4656 { rate := 1000000012121534666874247247 }
- case 4657 { rate := 1000000012123698197893281228 }
- case 4658 { rate := 1000000012125861581306587623 }
- case 4659 { rate := 1000000012128024817134305697 }
- case 4660 { rate := 1000000012130187905396570598 }
- case 4661 { rate := 1000000012132350846113513350 }
- case 4662 { rate := 1000000012134513639305260860 }
- case 4663 { rate := 1000000012136676284991935918 }
- case 4664 { rate := 1000000012138838783193657193 }
- case 4665 { rate := 1000000012141001133930539244 }
- case 4666 { rate := 1000000012143163337222692509 }
- case 4667 { rate := 1000000012145325393090223317 }
- case 4668 { rate := 1000000012147487301553233883 }
- case 4669 { rate := 1000000012149649062631822311 }
- case 4670 { rate := 1000000012151810676346082594 }
- case 4671 { rate := 1000000012153972142716104618 }
- case 4672 { rate := 1000000012156133461761974158 }
- case 4673 { rate := 1000000012158294633503772885 }
- case 4674 { rate := 1000000012160455657961578363 }
- default { revert(0, 0) }
- }
- case 1 { // 4675-4699
- switch bps
- case 4675 { rate := 1000000012162616535155464050 }
- case 4676 { rate := 1000000012164777265105499304 }
- case 4677 { rate := 1000000012166937847831749378 }
- case 4678 { rate := 1000000012169098283354275425 }
- case 4679 { rate := 1000000012171258571693134496 }
- case 4680 { rate := 1000000012173418712868379547 }
- case 4681 { rate := 1000000012175578706900059431 }
- case 4682 { rate := 1000000012177738553808218907 }
- case 4683 { rate := 1000000012179898253612898639 }
- case 4684 { rate := 1000000012182057806334135196 }
- case 4685 { rate := 1000000012184217211991961053 }
- case 4686 { rate := 1000000012186376470606404593 }
- case 4687 { rate := 1000000012188535582197490106 }
- case 4688 { rate := 1000000012190694546785237795 }
- case 4689 { rate := 1000000012192853364389663774 }
- case 4690 { rate := 1000000012195012035030780065 }
- case 4691 { rate := 1000000012197170558728594608 }
- case 4692 { rate := 1000000012199328935503111256 }
- case 4693 { rate := 1000000012201487165374329775 }
- case 4694 { rate := 1000000012203645248362245852 }
- case 4695 { rate := 1000000012205803184486851087 }
- case 4696 { rate := 1000000012207960973768133003 }
- case 4697 { rate := 1000000012210118616226075039 }
- case 4698 { rate := 1000000012212276111880656560 }
- case 4699 { rate := 1000000012214433460751852848 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 4700-4799
- switch gt(bps, 4749)
- case 0 { // 4700-4749
- switch gt(bps, 4724)
- case 0 { // 4700-4724
- switch bps
- case 4700 { rate := 1000000012216590662859635112 }
- case 4701 { rate := 1000000012218747718223970482 }
- case 4702 { rate := 1000000012220904626864822019 }
- case 4703 { rate := 1000000012223061388802148704 }
- case 4704 { rate := 1000000012225218004055905450 }
- case 4705 { rate := 1000000012227374472646043097 }
- case 4706 { rate := 1000000012229530794592508416 }
- case 4707 { rate := 1000000012231686969915244108 }
- case 4708 { rate := 1000000012233842998634188809 }
- case 4709 { rate := 1000000012235998880769277082 }
- case 4710 { rate := 1000000012238154616340439431 }
- case 4711 { rate := 1000000012240310205367602293 }
- case 4712 { rate := 1000000012242465647870688040 }
- case 4713 { rate := 1000000012244620943869614982 }
- case 4714 { rate := 1000000012246776093384297371 }
- case 4715 { rate := 1000000012248931096434645396 }
- case 4716 { rate := 1000000012251085953040565187 }
- case 4717 { rate := 1000000012253240663221958817 }
- case 4718 { rate := 1000000012255395226998724301 }
- case 4719 { rate := 1000000012257549644390755600 }
- case 4720 { rate := 1000000012259703915417942619 }
- case 4721 { rate := 1000000012261858040100171212 }
- case 4722 { rate := 1000000012264012018457323175 }
- case 4723 { rate := 1000000012266165850509276259 }
- case 4724 { rate := 1000000012268319536275904161 }
- default { revert(0, 0) }
- }
- case 1 { // 4725-4749
- switch bps
- case 4725 { rate := 1000000012270473075777076530 }
- case 4726 { rate := 1000000012272626469032658968 }
- case 4727 { rate := 1000000012274779716062513028 }
- case 4728 { rate := 1000000012276932816886496218 }
- case 4729 { rate := 1000000012279085771524462002 }
- case 4730 { rate := 1000000012281238579996259799 }
- case 4731 { rate := 1000000012283391242321734988 }
- case 4732 { rate := 1000000012285543758520728905 }
- case 4733 { rate := 1000000012287696128613078844 }
- case 4734 { rate := 1000000012289848352618618062 }
- case 4735 { rate := 1000000012292000430557175778 }
- case 4736 { rate := 1000000012294152362448577173 }
- case 4737 { rate := 1000000012296304148312643392 }
- case 4738 { rate := 1000000012298455788169191545 }
- case 4739 { rate := 1000000012300607282038034711 }
- case 4740 { rate := 1000000012302758629938981931 }
- case 4741 { rate := 1000000012304909831891838220 }
- case 4742 { rate := 1000000012307060887916404559 }
- case 4743 { rate := 1000000012309211798032477901 }
- case 4744 { rate := 1000000012311362562259851171 }
- case 4745 { rate := 1000000012313513180618313265 }
- case 4746 { rate := 1000000012315663653127649055 }
- case 4747 { rate := 1000000012317813979807639387 }
- case 4748 { rate := 1000000012319964160678061084 }
- case 4749 { rate := 1000000012322114195758686945 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 4750-4799
- switch gt(bps, 4774)
- case 0 { // 4750-4774
- switch bps
- case 4750 { rate := 1000000012324264085069285747 }
- case 4751 { rate := 1000000012326413828629622247 }
- case 4752 { rate := 1000000012328563426459457184 }
- case 4753 { rate := 1000000012330712878578547277 }
- case 4754 { rate := 1000000012332862185006645225 }
- case 4755 { rate := 1000000012335011345763499718 }
- case 4756 { rate := 1000000012337160360868855422 }
- case 4757 { rate := 1000000012339309230342452997 }
- case 4758 { rate := 1000000012341457954204029084 }
- case 4759 { rate := 1000000012343606532473316314 }
- case 4760 { rate := 1000000012345754965170043307 }
- case 4761 { rate := 1000000012347903252313934676 }
- case 4762 { rate := 1000000012350051393924711022 }
- case 4763 { rate := 1000000012352199390022088940 }
- case 4764 { rate := 1000000012354347240625781016 }
- case 4765 { rate := 1000000012356494945755495834 }
- case 4766 { rate := 1000000012358642505430937972 }
- case 4767 { rate := 1000000012360789919671808004 }
- case 4768 { rate := 1000000012362937188497802506 }
- case 4769 { rate := 1000000012365084311928614047 }
- case 4770 { rate := 1000000012367231289983931199 }
- case 4771 { rate := 1000000012369378122683438536 }
- case 4772 { rate := 1000000012371524810046816632 }
- case 4773 { rate := 1000000012373671352093742067 }
- case 4774 { rate := 1000000012375817748843887422 }
- default { revert(0, 0) }
- }
- case 1 { // 4775-4799
- switch bps
- case 4775 { rate := 1000000012377964000316921287 }
- case 4776 { rate := 1000000012380110106532508255 }
- case 4777 { rate := 1000000012382256067510308928 }
- case 4778 { rate := 1000000012384401883269979920 }
- case 4779 { rate := 1000000012386547553831173848 }
- case 4780 { rate := 1000000012388693079213539345 }
- case 4781 { rate := 1000000012390838459436721054 }
- case 4782 { rate := 1000000012392983694520359633 }
- case 4783 { rate := 1000000012395128784484091752 }
- case 4784 { rate := 1000000012397273729347550096 }
- case 4785 { rate := 1000000012399418529130363366 }
- case 4786 { rate := 1000000012401563183852156283 }
- case 4787 { rate := 1000000012403707693532549584 }
- case 4788 { rate := 1000000012405852058191160026 }
- case 4789 { rate := 1000000012407996277847600385 }
- case 4790 { rate := 1000000012410140352521479464 }
- case 4791 { rate := 1000000012412284282232402082 }
- case 4792 { rate := 1000000012414428066999969084 }
- case 4793 { rate := 1000000012416571706843777343 }
- case 4794 { rate := 1000000012418715201783419755 }
- case 4795 { rate := 1000000012420858551838485241 }
- case 4796 { rate := 1000000012423001757028558755 }
- case 4797 { rate := 1000000012425144817373221276 }
- case 4798 { rate := 1000000012427287732892049817 }
- case 4799 { rate := 1000000012429430503604617418 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- }
-}
\ No newline at end of file
diff --git a/src/repositories/Rates4800To5599.sol b/src/repositories/Rates4800To5599.sol
deleted file mode 100644
index 8fb81f1..0000000
--- a/src/repositories/Rates4800To5599.sol
+++ /dev/null
@@ -1,1065 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity 0.8.19;
-
-contract Rates4800To5599 {
- uint256 constant public MIN = 4800;
- uint256 constant public MAX = 5599;
-
- function turn(uint256 bps) external pure returns (uint256 rate) {
- if (bps > MAX) revert();
- if (bps < MIN) revert();
-
- assembly {
- switch gt(bps, 5199)
- case 0 { // 4800-5199
- switch gt(bps, 4999)
- case 0 { // 4800-4999
- switch gt(bps, 4899)
- case 0 { // 4800-4899
- switch gt(bps, 4849)
- case 0 { // 4800-4849
- switch gt(bps, 4824)
- case 0 { // 4800-4824
- switch bps
- case 4800 { rate := 1000000012431573129530493155 }
- case 4801 { rate := 1000000012433715610689242134 }
- case 4802 { rate := 1000000012435857947100425498 }
- case 4803 { rate := 1000000012438000138783600426 }
- case 4804 { rate := 1000000012440142185758320132 }
- case 4805 { rate := 1000000012442284088044133868 }
- case 4806 { rate := 1000000012444425845660586926 }
- case 4807 { rate := 1000000012446567458627220637 }
- case 4808 { rate := 1000000012448708926963572372 }
- case 4809 { rate := 1000000012450850250689175545 }
- case 4810 { rate := 1000000012452991429823559613 }
- case 4811 { rate := 1000000012455132464386250078 }
- case 4812 { rate := 1000000012457273354396768485 }
- case 4813 { rate := 1000000012459414099874632428 }
- case 4814 { rate := 1000000012461554700839355545 }
- case 4815 { rate := 1000000012463695157310447527 }
- case 4816 { rate := 1000000012465835469307414110 }
- case 4817 { rate := 1000000012467975636849757081 }
- case 4818 { rate := 1000000012470115659956974282 }
- case 4819 { rate := 1000000012472255538648559605 }
- case 4820 { rate := 1000000012474395272944002997 }
- case 4821 { rate := 1000000012476534862862790458 }
- case 4822 { rate := 1000000012478674308424404046 }
- case 4823 { rate := 1000000012480813609648321873 }
- case 4824 { rate := 1000000012482952766554018113 }
- default { revert(0, 0) }
- }
- case 1 { // 4825-4849
- switch bps
- case 4825 { rate := 1000000012485091779160962996 }
- case 4826 { rate := 1000000012487230647488622814 }
- case 4827 { rate := 1000000012489369371556459918 }
- case 4828 { rate := 1000000012491507951383932723 }
- case 4829 { rate := 1000000012493646386990495707 }
- case 4830 { rate := 1000000012495784678395599413 }
- case 4831 { rate := 1000000012497922825618690446 }
- case 4832 { rate := 1000000012500060828679211483 }
- case 4833 { rate := 1000000012502198687596601264 }
- case 4834 { rate := 1000000012504336402390294600 }
- case 4835 { rate := 1000000012506473973079722370 }
- case 4836 { rate := 1000000012508611399684311526 }
- case 4837 { rate := 1000000012510748682223485091 }
- case 4838 { rate := 1000000012512885820716662158 }
- case 4839 { rate := 1000000012515022815183257897 }
- case 4840 { rate := 1000000012517159665642683553 }
- case 4841 { rate := 1000000012519296372114346446 }
- case 4842 { rate := 1000000012521432934617649973 }
- case 4843 { rate := 1000000012523569353171993611 }
- case 4844 { rate := 1000000012525705627796772912 }
- case 4845 { rate := 1000000012527841758511379512 }
- case 4846 { rate := 1000000012529977745335201128 }
- case 4847 { rate := 1000000012532113588287621558 }
- case 4848 { rate := 1000000012534249287388020684 }
- case 4849 { rate := 1000000012536384842655774473 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 4850-4899
- switch gt(bps, 4874)
- case 0 { // 4850-4874
- switch bps
- case 4850 { rate := 1000000012538520254110254976 }
- case 4851 { rate := 1000000012540655521770830332 }
- case 4852 { rate := 1000000012542790645656864768 }
- case 4853 { rate := 1000000012544925625787718599 }
- case 4854 { rate := 1000000012547060462182748227 }
- case 4855 { rate := 1000000012549195154861306151 }
- case 4856 { rate := 1000000012551329703842740957 }
- case 4857 { rate := 1000000012553464109146397324 }
- case 4858 { rate := 1000000012555598370791616028 }
- case 4859 { rate := 1000000012557732488797733936 }
- case 4860 { rate := 1000000012559866463184084017 }
- case 4861 { rate := 1000000012562000293969995331 }
- case 4862 { rate := 1000000012564133981174793037 }
- case 4863 { rate := 1000000012566267524817798398 }
- case 4864 { rate := 1000000012568400924918328770 }
- case 4865 { rate := 1000000012570534181495697619 }
- case 4866 { rate := 1000000012572667294569214506 }
- case 4867 { rate := 1000000012574800264158185098 }
- case 4868 { rate := 1000000012576933090281911168 }
- case 4869 { rate := 1000000012579065772959690591 }
- case 4870 { rate := 1000000012581198312210817352 }
- case 4871 { rate := 1000000012583330708054581542 }
- case 4872 { rate := 1000000012585462960510269361 }
- case 4873 { rate := 1000000012587595069597163118 }
- case 4874 { rate := 1000000012589727035334541233 }
- default { revert(0, 0) }
- }
- case 1 { // 4875-4899
- switch bps
- case 4875 { rate := 1000000012591858857741678240 }
- case 4876 { rate := 1000000012593990536837844781 }
- case 4877 { rate := 1000000012596122072642307617 }
- case 4878 { rate := 1000000012598253465174329620 }
- case 4879 { rate := 1000000012600384714453169781 }
- case 4880 { rate := 1000000012602515820498083206 }
- case 4881 { rate := 1000000012604646783328321121 }
- case 4882 { rate := 1000000012606777602963130868 }
- case 4883 { rate := 1000000012608908279421755911 }
- case 4884 { rate := 1000000012611038812723435837 }
- case 4885 { rate := 1000000012613169202887406351 }
- case 4886 { rate := 1000000012615299449932899285 }
- case 4887 { rate := 1000000012617429553879142594 }
- case 4888 { rate := 1000000012619559514745360358 }
- case 4889 { rate := 1000000012621689332550772783 }
- case 4890 { rate := 1000000012623819007314596205 }
- case 4891 { rate := 1000000012625948539056043084 }
- case 4892 { rate := 1000000012628077927794322013 }
- case 4893 { rate := 1000000012630207173548637715 }
- case 4894 { rate := 1000000012632336276338191046 }
- case 4895 { rate := 1000000012634465236182178989 }
- case 4896 { rate := 1000000012636594053099794667 }
- case 4897 { rate := 1000000012638722727110227335 }
- case 4898 { rate := 1000000012640851258232662384 }
- case 4899 { rate := 1000000012642979646486281341 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 4900-4999
- switch gt(bps, 4949)
- case 0 { // 4900-4949
- switch gt(bps, 4924)
- case 0 { // 4900-4924
- switch bps
- case 4900 { rate := 1000000012645107891890261872 }
- case 4901 { rate := 1000000012647235994463777781 }
- case 4902 { rate := 1000000012649363954225999014 }
- case 4903 { rate := 1000000012651491771196091654 }
- case 4904 { rate := 1000000012653619445393217929 }
- case 4905 { rate := 1000000012655746976836536210 }
- case 4906 { rate := 1000000012657874365545201009 }
- case 4907 { rate := 1000000012660001611538362988 }
- case 4908 { rate := 1000000012662128714835168951 }
- case 4909 { rate := 1000000012664255675454761851 }
- case 4910 { rate := 1000000012666382493416280789 }
- case 4911 { rate := 1000000012668509168738861013 }
- case 4912 { rate := 1000000012670635701441633926 }
- case 4913 { rate := 1000000012672762091543727077 }
- case 4914 { rate := 1000000012674888339064264171 }
- case 4915 { rate := 1000000012677014444022365063 }
- case 4916 { rate := 1000000012679140406437145768 }
- case 4917 { rate := 1000000012681266226327718450 }
- case 4918 { rate := 1000000012683391903713191434 }
- case 4919 { rate := 1000000012685517438612669200 }
- case 4920 { rate := 1000000012687642831045252386 }
- case 4921 { rate := 1000000012689768081030037793 }
- case 4922 { rate := 1000000012691893188586118377 }
- case 4923 { rate := 1000000012694018153732583262 }
- case 4924 { rate := 1000000012696142976488517730 }
- default { revert(0, 0) }
- }
- case 1 { // 4925-4949
- switch bps
- case 4925 { rate := 1000000012698267656873003228 }
- case 4926 { rate := 1000000012700392194905117369 }
- case 4927 { rate := 1000000012702516590603933928 }
- case 4928 { rate := 1000000012704640843988522851 }
- case 4929 { rate := 1000000012706764955077950249 }
- case 4930 { rate := 1000000012708888923891278404 }
- case 4931 { rate := 1000000012711012750447565765 }
- case 4932 { rate := 1000000012713136434765866954 }
- case 4933 { rate := 1000000012715259976865232764 }
- case 4934 { rate := 1000000012717383376764710160 }
- case 4935 { rate := 1000000012719506634483342283 }
- case 4936 { rate := 1000000012721629750040168448 }
- case 4937 { rate := 1000000012723752723454224145 }
- case 4938 { rate := 1000000012725875554744541042 }
- case 4939 { rate := 1000000012727998243930146984 }
- case 4940 { rate := 1000000012730120791030065998 }
- case 4941 { rate := 1000000012732243196063318286 }
- case 4942 { rate := 1000000012734365459048920235 }
- case 4943 { rate := 1000000012736487580005884415 }
- case 4944 { rate := 1000000012738609558953219573 }
- case 4945 { rate := 1000000012740731395909930647 }
- case 4946 { rate := 1000000012742853090895018757 }
- case 4947 { rate := 1000000012744974643927481210 }
- case 4948 { rate := 1000000012747096055026311497 }
- case 4949 { rate := 1000000012749217324210499303 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 4950-4999
- switch gt(bps, 4974)
- case 0 { // 4950-4974
- switch bps
- case 4950 { rate := 1000000012751338451499030498 }
- case 4951 { rate := 1000000012753459436910887143 }
- case 4952 { rate := 1000000012755580280465047490 }
- case 4953 { rate := 1000000012757700982180485986 }
- case 4954 { rate := 1000000012759821542076173268 }
- case 4955 { rate := 1000000012761941960171076169 }
- case 4956 { rate := 1000000012764062236484157718 }
- case 4957 { rate := 1000000012766182371034377136 }
- case 4958 { rate := 1000000012768302363840689849 }
- case 4959 { rate := 1000000012770422214922047473 }
- case 4960 { rate := 1000000012772541924297397831 }
- case 4961 { rate := 1000000012774661491985684940 }
- case 4962 { rate := 1000000012776780918005849024 }
- case 4963 { rate := 1000000012778900202376826505 }
- case 4964 { rate := 1000000012781019345117550012 }
- case 4965 { rate := 1000000012783138346246948375 }
- case 4966 { rate := 1000000012785257205783946632 }
- case 4967 { rate := 1000000012787375923747466027 }
- case 4968 { rate := 1000000012789494500156424011 }
- case 4969 { rate := 1000000012791612935029734245 }
- case 4970 { rate := 1000000012793731228386306598 }
- case 4971 { rate := 1000000012795849380245047149 }
- case 4972 { rate := 1000000012797967390624858191 }
- case 4973 { rate := 1000000012800085259544638227 }
- case 4974 { rate := 1000000012802202987023281977 }
- default { revert(0, 0) }
- }
- case 1 { // 4975-4999
- switch bps
- case 4975 { rate := 1000000012804320573079680371 }
- case 4976 { rate := 1000000012806438017732720558 }
- case 4977 { rate := 1000000012808555321001285904 }
- case 4978 { rate := 1000000012810672482904255989 }
- case 4979 { rate := 1000000012812789503460506616 }
- case 4980 { rate := 1000000012814906382688909806 }
- case 4981 { rate := 1000000012817023120608333799 }
- case 4982 { rate := 1000000012819139717237643058 }
- case 4983 { rate := 1000000012821256172595698271 }
- case 4984 { rate := 1000000012823372486701356345 }
- case 4985 { rate := 1000000012825488659573470415 }
- case 4986 { rate := 1000000012827604691230889842 }
- case 4987 { rate := 1000000012829720581692460212 }
- case 4988 { rate := 1000000012831836330977023339 }
- case 4989 { rate := 1000000012833951939103417266 }
- case 4990 { rate := 1000000012836067406090476267 }
- case 4991 { rate := 1000000012838182731957030847 }
- case 4992 { rate := 1000000012840297916721907738 }
- case 4993 { rate := 1000000012842412960403929910 }
- case 4994 { rate := 1000000012844527863021916565 }
- case 4995 { rate := 1000000012846642624594683140 }
- case 4996 { rate := 1000000012848757245141041307 }
- case 4997 { rate := 1000000012850871724679798976 }
- case 4998 { rate := 1000000012852986063229760294 }
- case 4999 { rate := 1000000012855100260809725646 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 5000-5199
- switch gt(bps, 5099)
- case 0 { // 5000-5099
- switch gt(bps, 5049)
- case 0 { // 5000-5049
- switch gt(bps, 5024)
- case 0 { // 5000-5024
- switch bps
- case 5000 { rate := 1000000012857214317438491659 }
- case 5001 { rate := 1000000012859328233134851198 }
- case 5002 { rate := 1000000012861442007917593374 }
- case 5003 { rate := 1000000012863555641805503536 }
- case 5004 { rate := 1000000012865669134817363279 }
- case 5005 { rate := 1000000012867782486971950443 }
- case 5006 { rate := 1000000012869895698288039115 }
- case 5007 { rate := 1000000012872008768784399625 }
- case 5008 { rate := 1000000012874121698479798555 }
- case 5009 { rate := 1000000012876234487392998733 }
- case 5010 { rate := 1000000012878347135542759238 }
- case 5011 { rate := 1000000012880459642947835401 }
- case 5012 { rate := 1000000012882572009626978801 }
- case 5013 { rate := 1000000012884684235598937274 }
- case 5014 { rate := 1000000012886796320882454907 }
- case 5015 { rate := 1000000012888908265496272044 }
- case 5016 { rate := 1000000012891020069459125282 }
- case 5017 { rate := 1000000012893131732789747478 }
- case 5018 { rate := 1000000012895243255506867744 }
- case 5019 { rate := 1000000012897354637629211454 }
- case 5020 { rate := 1000000012899465879175500237 }
- case 5021 { rate := 1000000012901576980164451988 }
- case 5022 { rate := 1000000012903687940614780860 }
- case 5023 { rate := 1000000012905798760545197270 }
- case 5024 { rate := 1000000012907909439974407900 }
- default { revert(0, 0) }
- }
- case 1 { // 5025-5049
- switch bps
- case 5025 { rate := 1000000012910019978921115695 }
- case 5026 { rate := 1000000012912130377404019867 }
- case 5027 { rate := 1000000012914240635441815894 }
- case 5028 { rate := 1000000012916350753053195521 }
- case 5029 { rate := 1000000012918460730256846763 }
- case 5030 { rate := 1000000012920570567071453907 }
- case 5031 { rate := 1000000012922680263515697504 }
- case 5032 { rate := 1000000012924789819608254383 }
- case 5033 { rate := 1000000012926899235367797644 }
- case 5034 { rate := 1000000012929008510812996659 }
- case 5035 { rate := 1000000012931117645962517078 }
- case 5036 { rate := 1000000012933226640835020822 }
- case 5037 { rate := 1000000012935335495449166093 }
- case 5038 { rate := 1000000012937444209823607369 }
- case 5039 { rate := 1000000012939552783976995406 }
- case 5040 { rate := 1000000012941661217927977241 }
- case 5041 { rate := 1000000012943769511695196190 }
- case 5042 { rate := 1000000012945877665297291852 }
- case 5043 { rate := 1000000012947985678752900108 }
- case 5044 { rate := 1000000012950093552080653122 }
- case 5045 { rate := 1000000012952201285299179347 }
- case 5046 { rate := 1000000012954308878427103514 }
- case 5047 { rate := 1000000012956416331483046645 }
- case 5048 { rate := 1000000012958523644485626051 }
- case 5049 { rate := 1000000012960630817453455327 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 5050-5099
- switch gt(bps, 5074)
- case 0 { // 5050-5074
- switch bps
- case 5050 { rate := 1000000012962737850405144363 }
- case 5051 { rate := 1000000012964844743359299334 }
- case 5052 { rate := 1000000012966951496334522711 }
- case 5053 { rate := 1000000012969058109349413254 }
- case 5054 { rate := 1000000012971164582422566020 }
- case 5055 { rate := 1000000012973270915572572357 }
- case 5056 { rate := 1000000012975377108818019910 }
- case 5057 { rate := 1000000012977483162177492621 }
- case 5058 { rate := 1000000012979589075669570729 }
- case 5059 { rate := 1000000012981694849312830772 }
- case 5060 { rate := 1000000012983800483125845583 }
- case 5061 { rate := 1000000012985905977127184302 }
- case 5062 { rate := 1000000012988011331335412367 }
- case 5063 { rate := 1000000012990116545769091518 }
- case 5064 { rate := 1000000012992221620446779799 }
- case 5065 { rate := 1000000012994326555387031557 }
- case 5066 { rate := 1000000012996431350608397447 }
- case 5067 { rate := 1000000012998536006129424429 }
- case 5068 { rate := 1000000013000640521968655768 }
- case 5069 { rate := 1000000013002744898144631040 }
- case 5070 { rate := 1000000013004849134675886130 }
- case 5071 { rate := 1000000013006953231580953231 }
- case 5072 { rate := 1000000013009057188878360849 }
- case 5073 { rate := 1000000013011161006586633804 }
- case 5074 { rate := 1000000013013264684724293223 }
- default { revert(0, 0) }
- }
- case 1 { // 5075-5099
- switch bps
- case 5075 { rate := 1000000013015368223309856554 }
- case 5076 { rate := 1000000013017471622361837555 }
- case 5077 { rate := 1000000013019574881898746303 }
- case 5078 { rate := 1000000013021678001939089190 }
- case 5079 { rate := 1000000013023780982501368928 }
- case 5080 { rate := 1000000013025883823604084547 }
- case 5081 { rate := 1000000013027986525265731396 }
- case 5082 { rate := 1000000013030089087504801146 }
- case 5083 { rate := 1000000013032191510339781792 }
- case 5084 { rate := 1000000013034293793789157646 }
- case 5085 { rate := 1000000013036395937871409348 }
- case 5086 { rate := 1000000013038497942605013865 }
- case 5087 { rate := 1000000013040599808008444486 }
- case 5088 { rate := 1000000013042701534100170826 }
- case 5089 { rate := 1000000013044803120898658830 }
- case 5090 { rate := 1000000013046904568422370773 }
- case 5091 { rate := 1000000013049005876689765257 }
- case 5092 { rate := 1000000013051107045719297215 }
- case 5093 { rate := 1000000013053208075529417914 }
- case 5094 { rate := 1000000013055308966138574949 }
- case 5095 { rate := 1000000013057409717565212254 }
- case 5096 { rate := 1000000013059510329827770095 }
- case 5097 { rate := 1000000013061610802944685072 }
- case 5098 { rate := 1000000013063711136934390123 }
- case 5099 { rate := 1000000013065811331815314524 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 5100-5199
- switch gt(bps, 5149)
- case 0 { // 5100-5149
- switch gt(bps, 5124)
- case 0 { // 5100-5124
- switch bps
- case 5100 { rate := 1000000013067911387605883890 }
- case 5101 { rate := 1000000013070011304324520173 }
- case 5102 { rate := 1000000013072111081989641667 }
- case 5103 { rate := 1000000013074210720619663007 }
- case 5104 { rate := 1000000013076310220232995171 }
- case 5105 { rate := 1000000013078409580848045479 }
- case 5106 { rate := 1000000013080508802483217595 }
- case 5107 { rate := 1000000013082607885156911531 }
- case 5108 { rate := 1000000013084706828887523642 }
- case 5109 { rate := 1000000013086805633693446631 }
- case 5110 { rate := 1000000013088904299593069551 }
- case 5111 { rate := 1000000013091002826604777801 }
- case 5112 { rate := 1000000013093101214746953133 }
- case 5113 { rate := 1000000013095199464037973648 }
- case 5114 { rate := 1000000013097297574496213800 }
- case 5115 { rate := 1000000013099395546140044395 }
- case 5116 { rate := 1000000013101493378987832595 }
- case 5117 { rate := 1000000013103591073057941913 }
- case 5118 { rate := 1000000013105688628368732223 }
- case 5119 { rate := 1000000013107786044938559751 }
- case 5120 { rate := 1000000013109883322785777084 }
- case 5121 { rate := 1000000013111980461928733165 }
- case 5122 { rate := 1000000013114077462385773300 }
- case 5123 { rate := 1000000013116174324175239154 }
- case 5124 { rate := 1000000013118271047315468752 }
- default { revert(0, 0) }
- }
- case 1 { // 5125-5149
- switch bps
- case 5125 { rate := 1000000013120367631824796485 }
- case 5126 { rate := 1000000013122464077721553103 }
- case 5127 { rate := 1000000013124560385024065726 }
- case 5128 { rate := 1000000013126656553750657835 }
- case 5129 { rate := 1000000013128752583919649280 }
- case 5130 { rate := 1000000013130848475549356277 }
- case 5131 { rate := 1000000013132944228658091410 }
- case 5132 { rate := 1000000013135039843264163635 }
- case 5133 { rate := 1000000013137135319385878275 }
- case 5134 { rate := 1000000013139230657041537026 }
- case 5135 { rate := 1000000013141325856249437956 }
- case 5136 { rate := 1000000013143420917027875507 }
- case 5137 { rate := 1000000013145515839395140491 }
- case 5138 { rate := 1000000013147610623369520102 }
- case 5139 { rate := 1000000013149705268969297904 }
- case 5140 { rate := 1000000013151799776212753840 }
- case 5141 { rate := 1000000013153894145118164231 }
- case 5142 { rate := 1000000013155988375703801779 }
- case 5143 { rate := 1000000013158082467987935562 }
- case 5144 { rate := 1000000013160176421988831041 }
- case 5145 { rate := 1000000013162270237724750059 }
- case 5146 { rate := 1000000013164363915213950840 }
- case 5147 { rate := 1000000013166457454474687994 }
- case 5148 { rate := 1000000013168550855525212514 }
- case 5149 { rate := 1000000013170644118383771778 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 5150-5199
- switch gt(bps, 5174)
- case 0 { // 5150-5174
- switch bps
- case 5150 { rate := 1000000013172737243068609553 }
- case 5151 { rate := 1000000013174830229597965992 }
- case 5152 { rate := 1000000013176923077990077635 }
- case 5153 { rate := 1000000013179015788263177415 }
- case 5154 { rate := 1000000013181108360435494653 }
- case 5155 { rate := 1000000013183200794525255059 }
- case 5156 { rate := 1000000013185293090550680741 }
- case 5157 { rate := 1000000013187385248529990196 }
- case 5158 { rate := 1000000013189477268481398315 }
- case 5159 { rate := 1000000013191569150423116386 }
- case 5160 { rate := 1000000013193660894373352093 }
- case 5161 { rate := 1000000013195752500350309515 }
- case 5162 { rate := 1000000013197843968372189132 }
- case 5163 { rate := 1000000013199935298457187821 }
- case 5164 { rate := 1000000013202026490623498857 }
- case 5165 { rate := 1000000013204117544889311921 }
- case 5166 { rate := 1000000013206208461272813091 }
- case 5167 { rate := 1000000013208299239792184850 }
- case 5168 { rate := 1000000013210389880465606084 }
- case 5169 { rate := 1000000013212480383311252082 }
- case 5170 { rate := 1000000013214570748347294544 }
- case 5171 { rate := 1000000013216660975591901569 }
- case 5172 { rate := 1000000013218751065063237670 }
- case 5173 { rate := 1000000013220841016779463763 }
- case 5174 { rate := 1000000013222930830758737177 }
- default { revert(0, 0) }
- }
- case 1 { // 5175-5199
- switch bps
- case 5175 { rate := 1000000013225020507019211652 }
- case 5176 { rate := 1000000013227110045579037336 }
- case 5177 { rate := 1000000013229199446456360791 }
- case 5178 { rate := 1000000013231288709669324991 }
- case 5179 { rate := 1000000013233377835236069326 }
- case 5180 { rate := 1000000013235466823174729599 }
- case 5181 { rate := 1000000013237555673503438031 }
- case 5182 { rate := 1000000013239644386240323257 }
- case 5183 { rate := 1000000013241732961403510334 }
- case 5184 { rate := 1000000013243821399011120734 }
- case 5185 { rate := 1000000013245909699081272350 }
- case 5186 { rate := 1000000013247997861632079496 }
- case 5187 { rate := 1000000013250085886681652909 }
- case 5188 { rate := 1000000013252173774248099746 }
- case 5189 { rate := 1000000013254261524349523588 }
- case 5190 { rate := 1000000013256349137004024442 }
- case 5191 { rate := 1000000013258436612229698739 }
- case 5192 { rate := 1000000013260523950044639336 }
- case 5193 { rate := 1000000013262611150466935520 }
- case 5194 { rate := 1000000013264698213514673002 }
- case 5195 { rate := 1000000013266785139205933927 }
- case 5196 { rate := 1000000013268871927558796866 }
- case 5197 { rate := 1000000013270958578591336822 }
- case 5198 { rate := 1000000013273045092321625231 }
- case 5199 { rate := 1000000013275131468767729963 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 5200-5599
- switch gt(bps, 5399)
- case 0 { // 5200-5399
- switch gt(bps, 5299)
- case 0 { // 5200-5299
- switch gt(bps, 5249)
- case 0 { // 5200-5249
- switch gt(bps, 5224)
- case 0 { // 5200-5224
- switch bps
- case 5200 { rate := 1000000013277217707947715318 }
- case 5201 { rate := 1000000013279303809879642035 }
- case 5202 { rate := 1000000013281389774581567286 }
- case 5203 { rate := 1000000013283475602071544681 }
- case 5204 { rate := 1000000013285561292367624266 }
- case 5205 { rate := 1000000013287646845487852528 }
- case 5206 { rate := 1000000013289732261450272392 }
- case 5207 { rate := 1000000013291817540272923222 }
- case 5208 { rate := 1000000013293902681973840827 }
- case 5209 { rate := 1000000013295987686571057456 }
- case 5210 { rate := 1000000013298072554082601799 }
- case 5211 { rate := 1000000013300157284526498996 }
- case 5212 { rate := 1000000013302241877920770626 }
- case 5213 { rate := 1000000013304326334283434719 }
- case 5214 { rate := 1000000013306410653632505749 }
- case 5215 { rate := 1000000013308494835985994637 }
- case 5216 { rate := 1000000013310578881361908756 }
- case 5217 { rate := 1000000013312662789778251927 }
- case 5218 { rate := 1000000013314746561253024422 }
- case 5219 { rate := 1000000013316830195804222964 }
- case 5220 { rate := 1000000013318913693449840730 }
- case 5221 { rate := 1000000013320997054207867349 }
- case 5222 { rate := 1000000013323080278096288904 }
- case 5223 { rate := 1000000013325163365133087937 }
- case 5224 { rate := 1000000013327246315336243441 }
- default { revert(0, 0) }
- }
- case 1 { // 5225-5249
- switch bps
- case 5225 { rate := 1000000013329329128723730871 }
- case 5226 { rate := 1000000013331411805313522137 }
- case 5227 { rate := 1000000013333494345123585609 }
- case 5228 { rate := 1000000013335576748171886118 }
- case 5229 { rate := 1000000013337659014476384955 }
- case 5230 { rate := 1000000013339741144055039872 }
- case 5231 { rate := 1000000013341823136925805086 }
- case 5232 { rate := 1000000013343904993106631276 }
- case 5233 { rate := 1000000013345986712615465587 }
- case 5234 { rate := 1000000013348068295470251626 }
- case 5235 { rate := 1000000013350149741688929473 }
- case 5236 { rate := 1000000013352231051289435670 }
- case 5237 { rate := 1000000013354312224289703229 }
- case 5238 { rate := 1000000013356393260707661631 }
- case 5239 { rate := 1000000013358474160561236828 }
- case 5240 { rate := 1000000013360554923868351244 }
- case 5241 { rate := 1000000013362635550646923773 }
- case 5242 { rate := 1000000013364716040914869783 }
- case 5243 { rate := 1000000013366796394690101115 }
- case 5244 { rate := 1000000013368876611990526086 }
- case 5245 { rate := 1000000013370956692834049490 }
- case 5246 { rate := 1000000013373036637238572595 }
- case 5247 { rate := 1000000013375116445221993147 }
- case 5248 { rate := 1000000013377196116802205372 }
- case 5249 { rate := 1000000013379275651997099976 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 5250-5299
- switch gt(bps, 5274)
- case 0 { // 5250-5274
- switch bps
- case 5250 { rate := 1000000013381355050824564143 }
- case 5251 { rate := 1000000013383434313302481540 }
- case 5252 { rate := 1000000013385513439448732314 }
- case 5253 { rate := 1000000013387592429281193100 }
- case 5254 { rate := 1000000013389671282817737012 }
- case 5255 { rate := 1000000013391750000076233652 }
- case 5256 { rate := 1000000013393828581074549107 }
- case 5257 { rate := 1000000013395907025830545951 }
- case 5258 { rate := 1000000013397985334362083244 }
- case 5259 { rate := 1000000013400063506687016538 }
- case 5260 { rate := 1000000013402141542823197873 }
- case 5261 { rate := 1000000013404219442788475779 }
- case 5262 { rate := 1000000013406297206600695278 }
- case 5263 { rate := 1000000013408374834277697885 }
- case 5264 { rate := 1000000013410452325837321606 }
- case 5265 { rate := 1000000013412529681297400945 }
- case 5266 { rate := 1000000013414606900675766898 }
- case 5267 { rate := 1000000013416683983990246957 }
- case 5268 { rate := 1000000013418760931258665113 }
- case 5269 { rate := 1000000013420837742498841855 }
- case 5270 { rate := 1000000013422914417728594168 }
- case 5271 { rate := 1000000013424990956965735539 }
- case 5272 { rate := 1000000013427067360228075956 }
- case 5273 { rate := 1000000013429143627533421906 }
- case 5274 { rate := 1000000013431219758899576381 }
- default { revert(0, 0) }
- }
- case 1 { // 5275-5299
- switch bps
- case 5275 { rate := 1000000013433295754344338876 }
- case 5276 { rate := 1000000013435371613885505389 }
- case 5277 { rate := 1000000013437447337540868424 }
- case 5278 { rate := 1000000013439522925328216993 }
- case 5279 { rate := 1000000013441598377265336611 }
- case 5280 { rate := 1000000013443673693370009304 }
- case 5281 { rate := 1000000013445748873660013605 }
- case 5282 { rate := 1000000013447823918153124560 }
- case 5283 { rate := 1000000013449898826867113722 }
- case 5284 { rate := 1000000013451973599819749157 }
- case 5285 { rate := 1000000013454048237028795446 }
- case 5286 { rate := 1000000013456122738512013678 }
- case 5287 { rate := 1000000013458197104287161462 }
- case 5288 { rate := 1000000013460271334371992918 }
- case 5289 { rate := 1000000013462345428784258685 }
- case 5290 { rate := 1000000013464419387541705919 }
- case 5291 { rate := 1000000013466493210662078291 }
- case 5292 { rate := 1000000013468566898163115994 }
- case 5293 { rate := 1000000013470640450062555739 }
- case 5294 { rate := 1000000013472713866378130761 }
- case 5295 { rate := 1000000013474787147127570811 }
- case 5296 { rate := 1000000013476860292328602168 }
- case 5297 { rate := 1000000013478933301998947631 }
- case 5298 { rate := 1000000013481006176156326525 }
- case 5299 { rate := 1000000013483078914818454700 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 5300-5399
- switch gt(bps, 5349)
- case 0 { // 5300-5349
- switch gt(bps, 5324)
- case 0 { // 5300-5324
- switch bps
- case 5300 { rate := 1000000013485151518003044532 }
- case 5301 { rate := 1000000013487223985727804923 }
- case 5302 { rate := 1000000013489296318010441307 }
- case 5303 { rate := 1000000013491368514868655641 }
- case 5304 { rate := 1000000013493440576320146417 }
- case 5305 { rate := 1000000013495512502382608654 }
- case 5306 { rate := 1000000013497584293073733906 }
- case 5307 { rate := 1000000013499655948411210256 }
- case 5308 { rate := 1000000013501727468412722324 }
- case 5309 { rate := 1000000013503798853095951261 }
- case 5310 { rate := 1000000013505870102478574756 }
- case 5311 { rate := 1000000013507941216578267032 }
- case 5312 { rate := 1000000013510012195412698851 }
- case 5313 { rate := 1000000013512083038999537512 }
- case 5314 { rate := 1000000013514153747356446852 }
- case 5315 { rate := 1000000013516224320501087249 }
- case 5316 { rate := 1000000013518294758451115623 }
- case 5317 { rate := 1000000013520365061224185433 }
- case 5318 { rate := 1000000013522435228837946681 }
- case 5319 { rate := 1000000013524505261310045913 }
- case 5320 { rate := 1000000013526575158658126219 }
- case 5321 { rate := 1000000013528644920899827235 }
- case 5322 { rate := 1000000013530714548052785142 }
- case 5323 { rate := 1000000013532784040134632670 }
- case 5324 { rate := 1000000013534853397162999093 }
- default { revert(0, 0) }
- }
- case 1 { // 5325-5349
- switch bps
- case 5325 { rate := 1000000013536922619155510237 }
- case 5326 { rate := 1000000013538991706129788478 }
- case 5327 { rate := 1000000013541060658103452740 }
- case 5328 { rate := 1000000013543129475094118502 }
- case 5329 { rate := 1000000013545198157119397791 }
- case 5330 { rate := 1000000013547266704196899191 }
- case 5331 { rate := 1000000013549335116344227839 }
- case 5332 { rate := 1000000013551403393578985427 }
- case 5333 { rate := 1000000013553471535918770203 }
- case 5334 { rate := 1000000013555539543381176971 }
- case 5335 { rate := 1000000013557607415983797096 }
- case 5336 { rate := 1000000013559675153744218497 }
- case 5337 { rate := 1000000013561742756680025656 }
- case 5338 { rate := 1000000013563810224808799615 }
- case 5339 { rate := 1000000013565877558148117977 }
- case 5340 { rate := 1000000013567944756715554906 }
- case 5341 { rate := 1000000013570011820528681131 }
- case 5342 { rate := 1000000013572078749605063945 }
- case 5343 { rate := 1000000013574145543962267205 }
- case 5344 { rate := 1000000013576212203617851334 }
- case 5345 { rate := 1000000013578278728589373323 }
- case 5346 { rate := 1000000013580345118894386729 }
- case 5347 { rate := 1000000013582411374550441678 }
- case 5348 { rate := 1000000013584477495575084867 }
- case 5349 { rate := 1000000013586543481985859560 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 5350-5399
- switch gt(bps, 5374)
- case 0 { // 5350-5374
- switch bps
- case 5350 { rate := 1000000013588609333800305597 }
- case 5351 { rate := 1000000013590675051035959386 }
- case 5352 { rate := 1000000013592740633710353909 }
- case 5353 { rate := 1000000013594806081841018723 }
- case 5354 { rate := 1000000013596871395445479960 }
- case 5355 { rate := 1000000013598936574541260325 }
- case 5356 { rate := 1000000013601001619145879103 }
- case 5357 { rate := 1000000013603066529276852154 }
- case 5358 { rate := 1000000013605131304951691920 }
- case 5359 { rate := 1000000013607195946187907415 }
- case 5360 { rate := 1000000013609260453003004241 }
- case 5361 { rate := 1000000013611324825414484577 }
- case 5362 { rate := 1000000013613389063439847186 }
- case 5363 { rate := 1000000013615453167096587411 }
- case 5364 { rate := 1000000013617517136402197181 }
- case 5365 { rate := 1000000013619580971374165008 }
- case 5366 { rate := 1000000013621644672029975992 }
- case 5367 { rate := 1000000013623708238387111817 }
- case 5368 { rate := 1000000013625771670463050755 }
- case 5369 { rate := 1000000013627834968275267666 }
- case 5370 { rate := 1000000013629898131841234000 }
- case 5371 { rate := 1000000013631961161178417796 }
- case 5372 { rate := 1000000013634024056304283684 }
- case 5373 { rate := 1000000013636086817236292885 }
- case 5374 { rate := 1000000013638149443991903215 }
- default { revert(0, 0) }
- }
- case 1 { // 5375-5399
- switch bps
- case 5375 { rate := 1000000013640211936588569081 }
- case 5376 { rate := 1000000013642274295043741485 }
- case 5377 { rate := 1000000013644336519374868025 }
- case 5378 { rate := 1000000013646398609599392894 }
- case 5379 { rate := 1000000013648460565734756883 }
- case 5380 { rate := 1000000013650522387798397382 }
- case 5381 { rate := 1000000013652584075807748376 }
- case 5382 { rate := 1000000013654645629780240453 }
- case 5383 { rate := 1000000013656707049733300801 }
- case 5384 { rate := 1000000013658768335684353209 }
- case 5385 { rate := 1000000013660829487650818068 }
- case 5386 { rate := 1000000013662890505650112373 }
- case 5387 { rate := 1000000013664951389699649722 }
- case 5388 { rate := 1000000013667012139816840321 }
- case 5389 { rate := 1000000013669072756019090977 }
- case 5390 { rate := 1000000013671133238323805108 }
- case 5391 { rate := 1000000013673193586748382737 }
- case 5392 { rate := 1000000013675253801310220496 }
- case 5393 { rate := 1000000013677313882026711628 }
- case 5394 { rate := 1000000013679373828915245986 }
- case 5395 { rate := 1000000013681433641993210032 }
- case 5396 { rate := 1000000013683493321277986841 }
- case 5397 { rate := 1000000013685552866786956102 }
- case 5398 { rate := 1000000013687612278537494116 }
- case 5399 { rate := 1000000013689671556546973802 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 5400-5599
- switch gt(bps, 5499)
- case 0 { // 5400-5499
- switch gt(bps, 5449)
- case 0 { // 5400-5449
- switch gt(bps, 5424)
- case 0 { // 5400-5424
- switch bps
- case 5400 { rate := 1000000013691730700832764691 }
- case 5401 { rate := 1000000013693789711412232932 }
- case 5402 { rate := 1000000013695848588302741289 }
- case 5403 { rate := 1000000013697907331521649149 }
- case 5404 { rate := 1000000013699965941086312515 }
- case 5405 { rate := 1000000013702024417014084009 }
- case 5406 { rate := 1000000013704082759322312876 }
- case 5407 { rate := 1000000013706140968028344981 }
- case 5408 { rate := 1000000013708199043149522812 }
- case 5409 { rate := 1000000013710256984703185483 }
- case 5410 { rate := 1000000013712314792706668728 }
- case 5411 { rate := 1000000013714372467177304910 }
- case 5412 { rate := 1000000013716430008132423015 }
- case 5413 { rate := 1000000013718487415589348659 }
- case 5414 { rate := 1000000013720544689565404082 }
- case 5415 { rate := 1000000013722601830077908157 }
- case 5416 { rate := 1000000013724658837144176384 }
- case 5417 { rate := 1000000013726715710781520893 }
- case 5418 { rate := 1000000013728772451007250448 }
- case 5419 { rate := 1000000013730829057838670442 }
- case 5420 { rate := 1000000013732885531293082904 }
- case 5421 { rate := 1000000013734941871387786495 }
- case 5422 { rate := 1000000013736998078140076511 }
- case 5423 { rate := 1000000013739054151567244885 }
- case 5424 { rate := 1000000013741110091686580185 }
- default { revert(0, 0) }
- }
- case 1 { // 5425-5449
- switch bps
- case 5425 { rate := 1000000013743165898515367617 }
- case 5426 { rate := 1000000013745221572070889027 }
- case 5427 { rate := 1000000013747277112370422896 }
- case 5428 { rate := 1000000013749332519431244349 }
- case 5429 { rate := 1000000013751387793270625152 }
- case 5430 { rate := 1000000013753442933905833710 }
- case 5431 { rate := 1000000013755497941354135072 }
- case 5432 { rate := 1000000013757552815632790932 }
- case 5433 { rate := 1000000013759607556759059626 }
- case 5434 { rate := 1000000013761662164750196136 }
- case 5435 { rate := 1000000013763716639623452091 }
- case 5436 { rate := 1000000013765770981396075767 }
- case 5437 { rate := 1000000013767825190085312088 }
- case 5438 { rate := 1000000013769879265708402624 }
- case 5439 { rate := 1000000013771933208282585599 }
- case 5440 { rate := 1000000013773987017825095883 }
- case 5441 { rate := 1000000013776040694353165002 }
- case 5442 { rate := 1000000013778094237884021131 }
- case 5443 { rate := 1000000013780147648434889099 }
- case 5444 { rate := 1000000013782200926022990388 }
- case 5445 { rate := 1000000013784254070665543138 }
- case 5446 { rate := 1000000013786307082379762141 }
- case 5447 { rate := 1000000013788359961182858847 }
- case 5448 { rate := 1000000013790412707092041364 }
- case 5449 { rate := 1000000013792465320124514458 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 5450-5499
- switch gt(bps, 5474)
- case 0 { // 5450-5474
- switch bps
- case 5450 { rate := 1000000013794517800297479554 }
- case 5451 { rate := 1000000013796570147628134736 }
- case 5452 { rate := 1000000013798622362133674751 }
- case 5453 { rate := 1000000013800674443831291006 }
- case 5454 { rate := 1000000013802726392738171571 }
- case 5455 { rate := 1000000013804778208871501181 }
- case 5456 { rate := 1000000013806829892248461232 }
- case 5457 { rate := 1000000013808881442886229789 }
- case 5458 { rate := 1000000013810932860801981581 }
- case 5459 { rate := 1000000013812984146012888004 }
- case 5460 { rate := 1000000013815035298536117122 }
- case 5461 { rate := 1000000013817086318388833668 }
- case 5462 { rate := 1000000013819137205588199044 }
- case 5463 { rate := 1000000013821187960151371324 }
- case 5464 { rate := 1000000013823238582095505250 }
- case 5465 { rate := 1000000013825289071437752239 }
- case 5466 { rate := 1000000013827339428195260380 }
- case 5467 { rate := 1000000013829389652385174435 }
- case 5468 { rate := 1000000013831439744024635842 }
- case 5469 { rate := 1000000013833489703130782714 }
- case 5470 { rate := 1000000013835539529720749841 }
- case 5471 { rate := 1000000013837589223811668689 }
- case 5472 { rate := 1000000013839638785420667403 }
- case 5473 { rate := 1000000013841688214564870807 }
- case 5474 { rate := 1000000013843737511261400404 }
- default { revert(0, 0) }
- }
- case 1 { // 5475-5499
- switch bps
- case 5475 { rate := 1000000013845786675527374380 }
- case 5476 { rate := 1000000013847835707379907599 }
- case 5477 { rate := 1000000013849884606836111609 }
- case 5478 { rate := 1000000013851933373913094644 }
- case 5479 { rate := 1000000013853982008627961619 }
- case 5480 { rate := 1000000013856030510997814133 }
- case 5481 { rate := 1000000013858078881039750473 }
- case 5482 { rate := 1000000013860127118770865614 }
- case 5483 { rate := 1000000013862175224208251215 }
- case 5484 { rate := 1000000013864223197368995626 }
- case 5485 { rate := 1000000013866271038270183886 }
- case 5486 { rate := 1000000013868318746928897723 }
- case 5487 { rate := 1000000013870366323362215556 }
- case 5488 { rate := 1000000013872413767587212497 }
- case 5489 { rate := 1000000013874461079620960351 }
- case 5490 { rate := 1000000013876508259480527614 }
- case 5491 { rate := 1000000013878555307182979479 }
- case 5492 { rate := 1000000013880602222745377833 }
- case 5493 { rate := 1000000013882649006184781260 }
- case 5494 { rate := 1000000013884695657518245039 }
- case 5495 { rate := 1000000013886742176762821150 }
- case 5496 { rate := 1000000013888788563935558267 }
- case 5497 { rate := 1000000013890834819053501770 }
- case 5498 { rate := 1000000013892880942133693733 }
- case 5499 { rate := 1000000013894926933193172935 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 5500-5599
- switch gt(bps, 5549)
- case 0 { // 5500-5549
- switch gt(bps, 5524)
- case 0 { // 5500-5524
- switch bps
- case 5500 { rate := 1000000013896972792248974855 }
- case 5501 { rate := 1000000013899018519318131677 }
- case 5502 { rate := 1000000013901064114417672287 }
- case 5503 { rate := 1000000013903109577564622276 }
- case 5504 { rate := 1000000013905154908776003941 }
- case 5505 { rate := 1000000013907200108068836286 }
- case 5506 { rate := 1000000013909245175460135020 }
- case 5507 { rate := 1000000013911290110966912561 }
- case 5508 { rate := 1000000013913334914606178038 }
- case 5509 { rate := 1000000013915379586394937285 }
- case 5510 { rate := 1000000013917424126350192852 }
- case 5511 { rate := 1000000013919468534488943996 }
- case 5512 { rate := 1000000013921512810828186689 }
- case 5513 { rate := 1000000013923556955384913616 }
- case 5514 { rate := 1000000013925600968176114173 }
- case 5515 { rate := 1000000013927644849218774474 }
- case 5516 { rate := 1000000013929688598529877347 }
- case 5517 { rate := 1000000013931732216126402338 }
- case 5518 { rate := 1000000013933775702025325709 }
- case 5519 { rate := 1000000013935819056243620441 }
- case 5520 { rate := 1000000013937862278798256232 }
- case 5521 { rate := 1000000013939905369706199504 }
- case 5522 { rate := 1000000013941948328984413395 }
- case 5523 { rate := 1000000013943991156649857768 }
- case 5524 { rate := 1000000013946033852719489207 }
- default { revert(0, 0) }
- }
- case 1 { // 5525-5549
- switch bps
- case 5525 { rate := 1000000013948076417210261020 }
- case 5526 { rate := 1000000013950118850139123237 }
- case 5527 { rate := 1000000013952161151523022616 }
- case 5528 { rate := 1000000013954203321378902639 }
- case 5529 { rate := 1000000013956245359723703515 }
- case 5530 { rate := 1000000013958287266574362180 }
- case 5531 { rate := 1000000013960329041947812299 }
- case 5532 { rate := 1000000013962370685860984266 }
- case 5533 { rate := 1000000013964412198330805204 }
- case 5534 { rate := 1000000013966453579374198970 }
- case 5535 { rate := 1000000013968494829008086149 }
- case 5536 { rate := 1000000013970535947249384059 }
- case 5537 { rate := 1000000013972576934115006754 }
- case 5538 { rate := 1000000013974617789621865021 }
- case 5539 { rate := 1000000013976658513786866380 }
- case 5540 { rate := 1000000013978699106626915089 }
- case 5541 { rate := 1000000013980739568158912143 }
- case 5542 { rate := 1000000013982779898399755273 }
- case 5543 { rate := 1000000013984820097366338950 }
- case 5544 { rate := 1000000013986860165075554382 }
- case 5545 { rate := 1000000013988900101544289521 }
- case 5546 { rate := 1000000013990939906789429055 }
- case 5547 { rate := 1000000013992979580827854418 }
- case 5548 { rate := 1000000013995019123676443785 }
- case 5549 { rate := 1000000013997058535352072073 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 5550-5599
- switch gt(bps, 5574)
- case 0 { // 5550-5574
- switch bps
- case 5550 { rate := 1000000013999097815871610946 }
- case 5551 { rate := 1000000014001136965251928811 }
- case 5552 { rate := 1000000014003175983509890823 }
- case 5553 { rate := 1000000014005214870662358881 }
- case 5554 { rate := 1000000014007253626726191632 }
- case 5555 { rate := 1000000014009292251718244476 }
- case 5556 { rate := 1000000014011330745655369557 }
- case 5557 { rate := 1000000014013369108554415771 }
- case 5558 { rate := 1000000014015407340432228765 }
- case 5559 { rate := 1000000014017445441305650938 }
- case 5560 { rate := 1000000014019483411191521442 }
- case 5561 { rate := 1000000014021521250106676181 }
- case 5562 { rate := 1000000014023558958067947815 }
- case 5563 { rate := 1000000014025596535092165759 }
- case 5564 { rate := 1000000014027633981196156184 }
- case 5565 { rate := 1000000014029671296396742013 }
- case 5566 { rate := 1000000014031708480710742936 }
- case 5567 { rate := 1000000014033745534154975394 }
- case 5568 { rate := 1000000014035782456746252590 }
- case 5569 { rate := 1000000014037819248501384486 }
- case 5570 { rate := 1000000014039855909437177808 }
- case 5571 { rate := 1000000014041892439570436040 }
- case 5572 { rate := 1000000014043928838917959430 }
- case 5573 { rate := 1000000014045965107496544991 }
- case 5574 { rate := 1000000014048001245322986499 }
- default { revert(0, 0) }
- }
- case 1 { // 5575-5599
- switch bps
- case 5575 { rate := 1000000014050037252414074493 }
- case 5576 { rate := 1000000014052073128786596283 }
- case 5577 { rate := 1000000014054108874457335942 }
- case 5578 { rate := 1000000014056144489443074311 }
- case 5579 { rate := 1000000014058179973760589001 }
- case 5580 { rate := 1000000014060215327426654391 }
- case 5581 { rate := 1000000014062250550458041631 }
- case 5582 { rate := 1000000014064285642871518639 }
- case 5583 { rate := 1000000014066320604683850111 }
- case 5584 { rate := 1000000014068355435911797509 }
- case 5585 { rate := 1000000014070390136572119073 }
- case 5586 { rate := 1000000014072424706681569814 }
- case 5587 { rate := 1000000014074459146256901521 }
- case 5588 { rate := 1000000014076493455314862758 }
- case 5589 { rate := 1000000014078527633872198862 }
- case 5590 { rate := 1000000014080561681945651954 }
- case 5591 { rate := 1000000014082595599551960930 }
- case 5592 { rate := 1000000014084629386707861464 }
- case 5593 { rate := 1000000014086663043430086012 }
- case 5594 { rate := 1000000014088696569735363811 }
- case 5595 { rate := 1000000014090729965640420880 }
- case 5596 { rate := 1000000014092763231161980018 }
- case 5597 { rate := 1000000014094796366316760809 }
- case 5598 { rate := 1000000014096829371121479623 }
- case 5599 { rate := 1000000014098862245592849610 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- }
-}
\ No newline at end of file
diff --git a/src/repositories/Rates5600To6399.sol b/src/repositories/Rates5600To6399.sol
deleted file mode 100644
index bc3dfcb..0000000
--- a/src/repositories/Rates5600To6399.sol
+++ /dev/null
@@ -1,1065 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity 0.8.19;
-
-contract Rates5600To6399 {
- uint256 constant public MIN = 5600;
- uint256 constant public MAX = 6399;
-
- function turn(uint256 bps) external pure returns (uint256 rate) {
- if (bps > MAX) revert();
- if (bps < MIN) revert();
-
- assembly {
- switch gt(bps, 5999)
- case 0 { // 5600-5999
- switch gt(bps, 5799)
- case 0 { // 5600-5799
- switch gt(bps, 5699)
- case 0 { // 5600-5699
- switch gt(bps, 5649)
- case 0 { // 5600-5649
- switch gt(bps, 5624)
- case 0 { // 5600-5624
- switch bps
- case 5600 { rate := 1000000014100894989747580713 }
- case 5601 { rate := 1000000014102927603602379655 }
- case 5602 { rate := 1000000014104960087173949949 }
- case 5603 { rate := 1000000014106992440478991899 }
- case 5604 { rate := 1000000014109024663534202592 }
- case 5605 { rate := 1000000014111056756356275911 }
- case 5606 { rate := 1000000014113088718961902527 }
- case 5607 { rate := 1000000014115120551367769903 }
- case 5608 { rate := 1000000014117152253590562293 }
- case 5609 { rate := 1000000014119183825646960746 }
- case 5610 { rate := 1000000014121215267553643106 }
- case 5611 { rate := 1000000014123246579327284009 }
- case 5612 { rate := 1000000014125277760984554889 }
- case 5613 { rate := 1000000014127308812542123975 }
- case 5614 { rate := 1000000014129339734016656294 }
- case 5615 { rate := 1000000014131370525424813672 }
- case 5616 { rate := 1000000014133401186783254733 }
- case 5617 { rate := 1000000014135431718108634901 }
- case 5618 { rate := 1000000014137462119417606400 }
- case 5619 { rate := 1000000014139492390726818256 }
- case 5620 { rate := 1000000014141522532052916298 }
- case 5621 { rate := 1000000014143552543412543158 }
- case 5622 { rate := 1000000014145582424822338270 }
- case 5623 { rate := 1000000014147612176298937873 }
- case 5624 { rate := 1000000014149641797858975016 }
- default { revert(0, 0) }
- }
- case 1 { // 5625-5649
- switch bps
- case 5625 { rate := 1000000014151671289519079548 }
- case 5626 { rate := 1000000014153700651295878130 }
- case 5627 { rate := 1000000014155729883205994226 }
- case 5628 { rate := 1000000014157758985266048116 }
- case 5629 { rate := 1000000014159787957492656883 }
- case 5630 { rate := 1000000014161816799902434423 }
- case 5631 { rate := 1000000014163845512511991443 }
- case 5632 { rate := 1000000014165874095337935463 }
- case 5633 { rate := 1000000014167902548396870816 }
- case 5634 { rate := 1000000014169930871705398646 }
- case 5635 { rate := 1000000014171959065280116914 }
- case 5636 { rate := 1000000014173987129137620396 }
- case 5637 { rate := 1000000014176015063294500683 }
- case 5638 { rate := 1000000014178042867767346186 }
- case 5639 { rate := 1000000014180070542572742128 }
- case 5640 { rate := 1000000014182098087727270558 }
- case 5641 { rate := 1000000014184125503247510337 }
- case 5642 { rate := 1000000014186152789150037153 }
- case 5643 { rate := 1000000014188179945451423510 }
- case 5644 { rate := 1000000014190206972168238736 }
- case 5645 { rate := 1000000014192233869317048980 }
- case 5646 { rate := 1000000014194260636914417219 }
- case 5647 { rate := 1000000014196287274976903248 }
- case 5648 { rate := 1000000014198313783521063691 }
- case 5649 { rate := 1000000014200340162563451997 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 5650-5699
- switch gt(bps, 5674)
- case 0 { // 5650-5674
- switch bps
- case 5650 { rate := 1000000014202366412120618444 }
- case 5651 { rate := 1000000014204392532209110132 }
- case 5652 { rate := 1000000014206418522845470993 }
- case 5653 { rate := 1000000014208444384046241790 }
- case 5654 { rate := 1000000014210470115827960111 }
- case 5655 { rate := 1000000014212495718207160381 }
- case 5656 { rate := 1000000014214521191200373850 }
- case 5657 { rate := 1000000014216546534824128603 }
- case 5658 { rate := 1000000014218571749094949561 }
- case 5659 { rate := 1000000014220596834029358476 }
- case 5660 { rate := 1000000014222621789643873935 }
- case 5661 { rate := 1000000014224646615955011361 }
- case 5662 { rate := 1000000014226671312979283014 }
- case 5663 { rate := 1000000014228695880733197990 }
- case 5664 { rate := 1000000014230720319233262225 }
- case 5665 { rate := 1000000014232744628495978491 }
- case 5666 { rate := 1000000014234768808537846403 }
- case 5667 { rate := 1000000014236792859375362413 }
- case 5668 { rate := 1000000014238816781025019818 }
- case 5669 { rate := 1000000014240840573503308754 }
- case 5670 { rate := 1000000014242864236826716200 }
- case 5671 { rate := 1000000014244887771011725981 }
- case 5672 { rate := 1000000014246911176074818766 }
- case 5673 { rate := 1000000014248934452032472066 }
- case 5674 { rate := 1000000014250957598901160243 }
- default { revert(0, 0) }
- }
- case 1 { // 5675-5699
- switch bps
- case 5675 { rate := 1000000014252980616697354502 }
- case 5676 { rate := 1000000014255003505437522899 }
- case 5677 { rate := 1000000014257026265138130334 }
- case 5678 { rate := 1000000014259048895815638562 }
- case 5679 { rate := 1000000014261071397486506182 }
- case 5680 { rate := 1000000014263093770167188651 }
- case 5681 { rate := 1000000014265116013874138270 }
- case 5682 { rate := 1000000014267138128623804199 }
- case 5683 { rate := 1000000014269160114432632448 }
- case 5684 { rate := 1000000014271181971317065881 }
- case 5685 { rate := 1000000014273203699293544220 }
- case 5686 { rate := 1000000014275225298378504039 }
- case 5687 { rate := 1000000014277246768588378769 }
- case 5688 { rate := 1000000014279268109939598702 }
- case 5689 { rate := 1000000014281289322448590984 }
- case 5690 { rate := 1000000014283310406131779623 }
- case 5691 { rate := 1000000014285331361005585484 }
- case 5692 { rate := 1000000014287352187086426294 }
- case 5693 { rate := 1000000014289372884390716643 }
- case 5694 { rate := 1000000014291393452934867978 }
- case 5695 { rate := 1000000014293413892735288616 }
- case 5696 { rate := 1000000014295434203808383731 }
- case 5697 { rate := 1000000014297454386170555368 }
- case 5698 { rate := 1000000014299474439838202432 }
- case 5699 { rate := 1000000014301494364827720695 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 5700-5799
- switch gt(bps, 5749)
- case 0 { // 5700-5749
- switch gt(bps, 5724)
- case 0 { // 5700-5724
- switch bps
- case 5700 { rate := 1000000014303514161155502800 }
- case 5701 { rate := 1000000014305533828837938253 }
- case 5702 { rate := 1000000014307553367891413431 }
- case 5703 { rate := 1000000014309572778332311579 }
- case 5704 { rate := 1000000014311592060177012815 }
- case 5705 { rate := 1000000014313611213441894123 }
- case 5706 { rate := 1000000014315630238143329364 }
- case 5707 { rate := 1000000014317649134297689268 }
- case 5708 { rate := 1000000014319667901921341438 }
- case 5709 { rate := 1000000014321686541030650356 }
- case 5710 { rate := 1000000014323705051641977373 }
- case 5711 { rate := 1000000014325723433771680719 }
- case 5712 { rate := 1000000014327741687436115500 }
- case 5713 { rate := 1000000014329759812651633698 }
- case 5714 { rate := 1000000014331777809434584175 }
- case 5715 { rate := 1000000014333795677801312670 }
- case 5716 { rate := 1000000014335813417768161804 }
- case 5717 { rate := 1000000014337831029351471077 }
- case 5718 { rate := 1000000014339848512567576870 }
- case 5719 { rate := 1000000014341865867432812447 }
- case 5720 { rate := 1000000014343883093963507953 }
- case 5721 { rate := 1000000014345900192175990420 }
- case 5722 { rate := 1000000014347917162086583762 }
- case 5723 { rate := 1000000014349934003711608778 }
- case 5724 { rate := 1000000014351950717067383155 }
- default { revert(0, 0) }
- }
- case 1 { // 5725-5749
- switch bps
- case 5725 { rate := 1000000014353967302170221464 }
- case 5726 { rate := 1000000014355983759036435166 }
- case 5727 { rate := 1000000014358000087682332611 }
- case 5728 { rate := 1000000014360016288124219035 }
- case 5729 { rate := 1000000014362032360378396567 }
- case 5730 { rate := 1000000014364048304461164225 }
- case 5731 { rate := 1000000014366064120388817920 }
- case 5732 { rate := 1000000014368079808177650454 }
- case 5733 { rate := 1000000014370095367843951523 }
- case 5734 { rate := 1000000014372110799404007716 }
- case 5735 { rate := 1000000014374126102874102518 }
- case 5736 { rate := 1000000014376141278270516310 }
- case 5737 { rate := 1000000014378156325609526367 }
- case 5738 { rate := 1000000014380171244907406862 }
- case 5739 { rate := 1000000014382186036180428868 }
- case 5740 { rate := 1000000014384200699444860352 }
- case 5741 { rate := 1000000014386215234716966187 }
- case 5742 { rate := 1000000014388229642013008140 }
- case 5743 { rate := 1000000014390243921349244884 }
- case 5744 { rate := 1000000014392258072741931989 }
- case 5745 { rate := 1000000014394272096207321932 }
- case 5746 { rate := 1000000014396285991761664091 }
- case 5747 { rate := 1000000014398299759421204750 }
- case 5748 { rate := 1000000014400313399202187095 }
- case 5749 { rate := 1000000014402326911120851219 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 5750-5799
- switch gt(bps, 5774)
- case 0 { // 5750-5774
- switch bps
- case 5750 { rate := 1000000014404340295193434124 }
- case 5751 { rate := 1000000014406353551436169717 }
- case 5752 { rate := 1000000014408366679865288813 }
- case 5753 { rate := 1000000014410379680497019136 }
- case 5754 { rate := 1000000014412392553347585321 }
- case 5755 { rate := 1000000014414405298433208913 }
- case 5756 { rate := 1000000014416417915770108367 }
- case 5757 { rate := 1000000014418430405374499050 }
- case 5758 { rate := 1000000014420442767262593245 }
- case 5759 { rate := 1000000014422455001450600144 }
- case 5760 { rate := 1000000014424467107954725858 }
- case 5761 { rate := 1000000014426479086791173409 }
- case 5762 { rate := 1000000014428490937976142739 }
- case 5763 { rate := 1000000014430502661525830703 }
- case 5764 { rate := 1000000014432514257456431075 }
- case 5765 { rate := 1000000014434525725784134548 }
- case 5766 { rate := 1000000014436537066525128734 }
- case 5767 { rate := 1000000014438548279695598164 }
- case 5768 { rate := 1000000014440559365311724289 }
- case 5769 { rate := 1000000014442570323389685485 }
- case 5770 { rate := 1000000014444581153945657045 }
- case 5771 { rate := 1000000014446591856995811191 }
- case 5772 { rate := 1000000014448602432556317062 }
- case 5773 { rate := 1000000014450612880643340727 }
- case 5774 { rate := 1000000014452623201273045178 }
- default { revert(0, 0) }
- }
- case 1 { // 5775-5799
- switch bps
- case 5775 { rate := 1000000014454633394461590334 }
- case 5776 { rate := 1000000014456643460225133039 }
- case 5777 { rate := 1000000014458653398579827068 }
- case 5778 { rate := 1000000014460663209541823120 }
- case 5779 { rate := 1000000014462672893127268829 }
- case 5780 { rate := 1000000014464682449352308754 }
- case 5781 { rate := 1000000014466691878233084386 }
- case 5782 { rate := 1000000014468701179785734150 }
- case 5783 { rate := 1000000014470710354026393400 }
- case 5784 { rate := 1000000014472719400971194424 }
- case 5785 { rate := 1000000014474728320636266446 }
- case 5786 { rate := 1000000014476737113037735623 }
- case 5787 { rate := 1000000014478745778191725047 }
- case 5788 { rate := 1000000014480754316114354747 }
- case 5789 { rate := 1000000014482762726821741689 }
- case 5790 { rate := 1000000014484771010329999776 }
- case 5791 { rate := 1000000014486779166655239853 }
- case 5792 { rate := 1000000014488787195813569697 }
- case 5793 { rate := 1000000014490795097821094034 }
- case 5794 { rate := 1000000014492802872693914523 }
- case 5795 { rate := 1000000014494810520448129771 }
- case 5796 { rate := 1000000014496818041099835323 }
- case 5797 { rate := 1000000014498825434665123670 }
- case 5798 { rate := 1000000014500832701160084244 }
- case 5799 { rate := 1000000014502839840600803425 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 5800-5999
- switch gt(bps, 5899)
- case 0 { // 5800-5899
- switch gt(bps, 5849)
- case 0 { // 5800-5849
- switch gt(bps, 5824)
- case 0 { // 5800-5824
- switch bps
- case 5800 { rate := 1000000014504846853003364537 }
- case 5801 { rate := 1000000014506853738383847849 }
- case 5802 { rate := 1000000014508860496758330582 }
- case 5803 { rate := 1000000014510867128142886896 }
- case 5804 { rate := 1000000014512873632553587910 }
- case 5805 { rate := 1000000014514880010006501685 }
- case 5806 { rate := 1000000014516886260517693233 }
- case 5807 { rate := 1000000014518892384103224522 }
- case 5808 { rate := 1000000014520898380779154465 }
- case 5809 { rate := 1000000014522904250561538932 }
- case 5810 { rate := 1000000014524909993466430745 }
- case 5811 { rate := 1000000014526915609509879680 }
- case 5812 { rate := 1000000014528921098707932466 }
- case 5813 { rate := 1000000014530926461076632791 }
- case 5814 { rate := 1000000014532931696632021298 }
- case 5815 { rate := 1000000014534936805390135584 }
- case 5816 { rate := 1000000014536941787367010209 }
- case 5817 { rate := 1000000014538946642578676689 }
- case 5818 { rate := 1000000014540951371041163498 }
- case 5819 { rate := 1000000014542955972770496074 }
- case 5820 { rate := 1000000014544960447782696812 }
- case 5821 { rate := 1000000014546964796093785070 }
- case 5822 { rate := 1000000014548969017719777170 }
- case 5823 { rate := 1000000014550973112676686396 }
- case 5824 { rate := 1000000014552977080980522997 }
- default { revert(0, 0) }
- }
- case 1 { // 5825-5849
- switch bps
- case 5825 { rate := 1000000014554980922647294184 }
- case 5826 { rate := 1000000014556984637693004137 }
- case 5827 { rate := 1000000014558988226133654001 }
- case 5828 { rate := 1000000014560991687985241886 }
- case 5829 { rate := 1000000014562995023263762875 }
- case 5830 { rate := 1000000014564998231985209012 }
- case 5831 { rate := 1000000014567001314165569320 }
- case 5832 { rate := 1000000014569004269820829782 }
- case 5833 { rate := 1000000014571007098966973360 }
- case 5834 { rate := 1000000014573009801619979984 }
- case 5835 { rate := 1000000014575012377795826556 }
- case 5836 { rate := 1000000014577014827510486953 }
- case 5837 { rate := 1000000014579017150779932024 }
- case 5838 { rate := 1000000014581019347620129595 }
- case 5839 { rate := 1000000014583021418047044467 }
- case 5840 { rate := 1000000014585023362076638415 }
- case 5841 { rate := 1000000014587025179724870195 }
- case 5842 { rate := 1000000014589026871007695536 }
- case 5843 { rate := 1000000014591028435941067149 }
- case 5844 { rate := 1000000014593029874540934724 }
- case 5845 { rate := 1000000014595031186823244930 }
- case 5846 { rate := 1000000014597032372803941418 }
- case 5847 { rate := 1000000014599033432498964818 }
- case 5848 { rate := 1000000014601034365924252746 }
- case 5849 { rate := 1000000014603035173095739799 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 5850-5899
- switch gt(bps, 5874)
- case 0 { // 5850-5874
- switch bps
- case 5850 { rate := 1000000014605035854029357558 }
- case 5851 { rate := 1000000014607036408741034590 }
- case 5852 { rate := 1000000014609036837246696444 }
- case 5853 { rate := 1000000014611037139562265661 }
- case 5854 { rate := 1000000014613037315703661762 }
- case 5855 { rate := 1000000014615037365686801262 }
- case 5856 { rate := 1000000014617037289527597660 }
- case 5857 { rate := 1000000014619037087241961446 }
- case 5858 { rate := 1000000014621036758845800100 }
- case 5859 { rate := 1000000014623036304355018094 }
- case 5860 { rate := 1000000014625035723785516888 }
- case 5861 { rate := 1000000014627035017153194937 }
- case 5862 { rate := 1000000014629034184473947689 }
- case 5863 { rate := 1000000014631033225763667584 }
- case 5864 { rate := 1000000014633032141038244058 }
- case 5865 { rate := 1000000014635030930313563542 }
- case 5866 { rate := 1000000014637029593605509464 }
- case 5867 { rate := 1000000014639028130929962246 }
- case 5868 { rate := 1000000014641026542302799310 }
- case 5869 { rate := 1000000014643024827739895076 }
- case 5870 { rate := 1000000014645022987257120962 }
- case 5871 { rate := 1000000014647021020870345387 }
- case 5872 { rate := 1000000014649018928595433770 }
- case 5873 { rate := 1000000014651016710448248531 }
- case 5874 { rate := 1000000014653014366444649093 }
- default { revert(0, 0) }
- }
- case 1 { // 5875-5899
- switch bps
- case 5875 { rate := 1000000014655011896600491882 }
- case 5876 { rate := 1000000014657009300931630326 }
- case 5877 { rate := 1000000014659006579453914859 }
- case 5878 { rate := 1000000014661003732183192919 }
- case 5879 { rate := 1000000014663000759135308949 }
- case 5880 { rate := 1000000014664997660326104403 }
- case 5881 { rate := 1000000014666994435771417736 }
- case 5882 { rate := 1000000014668991085487084417 }
- case 5883 { rate := 1000000014670987609488936922 }
- case 5884 { rate := 1000000014672984007792804732 }
- case 5885 { rate := 1000000014674980280414514346 }
- case 5886 { rate := 1000000014676976427369889269 }
- case 5887 { rate := 1000000014678972448674750021 }
- case 5888 { rate := 1000000014680968344344914131 }
- case 5889 { rate := 1000000014682964114396196144 }
- case 5890 { rate := 1000000014684959758844407618 }
- case 5891 { rate := 1000000014686955277705357128 }
- case 5892 { rate := 1000000014688950670994850263 }
- case 5893 { rate := 1000000014690945938728689628 }
- case 5894 { rate := 1000000014692941080922674845 }
- case 5895 { rate := 1000000014694936097592602556 }
- case 5896 { rate := 1000000014696930988754266420 }
- case 5897 { rate := 1000000014698925754423457115 }
- case 5898 { rate := 1000000014700920394615962341 }
- case 5899 { rate := 1000000014702914909347566817 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 5900-5999
- switch gt(bps, 5949)
- case 0 { // 5900-5949
- switch gt(bps, 5924)
- case 0 { // 5900-5924
- switch bps
- case 5900 { rate := 1000000014704909298634052283 }
- case 5901 { rate := 1000000014706903562491197505 }
- case 5902 { rate := 1000000014708897700934778270 }
- case 5903 { rate := 1000000014710891713980567389 }
- case 5904 { rate := 1000000014712885601644334694 }
- case 5905 { rate := 1000000014714879363941847051 }
- case 5906 { rate := 1000000014716873000888868344 }
- case 5907 { rate := 1000000014718866512501159488 }
- case 5908 { rate := 1000000014720859898794478424 }
- case 5909 { rate := 1000000014722853159784580123 }
- case 5910 { rate := 1000000014724846295487216583 }
- case 5911 { rate := 1000000014726839305918136834 }
- case 5912 { rate := 1000000014728832191093086935 }
- case 5913 { rate := 1000000014730824951027809978 }
- case 5914 { rate := 1000000014732817585738046086 }
- case 5915 { rate := 1000000014734810095239532414 }
- case 5916 { rate := 1000000014736802479548003151 }
- case 5917 { rate := 1000000014738794738679189525 }
- case 5918 { rate := 1000000014740786872648819790 }
- case 5919 { rate := 1000000014742778881472619245 }
- case 5920 { rate := 1000000014744770765166310220 }
- case 5921 { rate := 1000000014746762523745612083 }
- case 5922 { rate := 1000000014748754157226241244 }
- case 5923 { rate := 1000000014750745665623911146 }
- case 5924 { rate := 1000000014752737048954332275 }
- default { revert(0, 0) }
- }
- case 1 { // 5925-5949
- switch bps
- case 5925 { rate := 1000000014754728307233212158 }
- case 5926 { rate := 1000000014756719440476255360 }
- case 5927 { rate := 1000000014758710448699163491 }
- case 5928 { rate := 1000000014760701331917635202 }
- case 5929 { rate := 1000000014762692090147366186 }
- case 5930 { rate := 1000000014764682723404049184 }
- case 5931 { rate := 1000000014766673231703373978 }
- case 5932 { rate := 1000000014768663615061027396 }
- case 5933 { rate := 1000000014770653873492693314 }
- case 5934 { rate := 1000000014772644007014052654 }
- case 5935 { rate := 1000000014774634015640783386 }
- case 5936 { rate := 1000000014776623899388560526 }
- case 5937 { rate := 1000000014778613658273056145 }
- case 5938 { rate := 1000000014780603292309939358 }
- case 5939 { rate := 1000000014782592801514876334 }
- case 5940 { rate := 1000000014784582185903530293 }
- case 5941 { rate := 1000000014786571445491561506 }
- case 5942 { rate := 1000000014788560580294627298 }
- case 5943 { rate := 1000000014790549590328382048 }
- case 5944 { rate := 1000000014792538475608477188 }
- case 5945 { rate := 1000000014794527236150561205 }
- case 5946 { rate := 1000000014796515871970279644 }
- case 5947 { rate := 1000000014798504383083275106 }
- case 5948 { rate := 1000000014800492769505187248 }
- case 5949 { rate := 1000000014802481031251652786 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 5950-5999
- switch gt(bps, 5974)
- case 0 { // 5950-5974
- switch bps
- case 5950 { rate := 1000000014804469168338305494 }
- case 5951 { rate := 1000000014806457180780776207 }
- case 5952 { rate := 1000000014808445068594692819 }
- case 5953 { rate := 1000000014810432831795680286 }
- case 5954 { rate := 1000000014812420470399360626 }
- case 5955 { rate := 1000000014814407984421352919 }
- case 5956 { rate := 1000000014816395373877273307 }
- case 5957 { rate := 1000000014818382638782734998 }
- case 5958 { rate := 1000000014820369779153348262 }
- case 5959 { rate := 1000000014822356795004720439 }
- case 5960 { rate := 1000000014824343686352455932 }
- case 5961 { rate := 1000000014826330453212156210 }
- case 5962 { rate := 1000000014828317095599419813 }
- case 5963 { rate := 1000000014830303613529842346 }
- case 5964 { rate := 1000000014832290007019016486 }
- case 5965 { rate := 1000000014834276276082531977 }
- case 5966 { rate := 1000000014836262420735975636 }
- case 5967 { rate := 1000000014838248440994931352 }
- case 5968 { rate := 1000000014840234336874980083 }
- case 5969 { rate := 1000000014842220108391699861 }
- case 5970 { rate := 1000000014844205755560665792 }
- case 5971 { rate := 1000000014846191278397450058 }
- case 5972 { rate := 1000000014848176676917621912 }
- case 5973 { rate := 1000000014850161951136747686 }
- case 5974 { rate := 1000000014852147101070390787 }
- default { revert(0, 0) }
- }
- case 1 { // 5975-5999
- switch bps
- case 5975 { rate := 1000000014854132126734111701 }
- case 5976 { rate := 1000000014856117028143467990 }
- case 5977 { rate := 1000000014858101805314014293 }
- case 5978 { rate := 1000000014860086458261302333 }
- case 5979 { rate := 1000000014862070987000880911 }
- case 5980 { rate := 1000000014864055391548295906 }
- case 5981 { rate := 1000000014866039671919090284 }
- case 5982 { rate := 1000000014868023828128804090 }
- case 5983 { rate := 1000000014870007860192974452 }
- case 5984 { rate := 1000000014871991768127135581 }
- case 5985 { rate := 1000000014873975551946818776 }
- case 5986 { rate := 1000000014875959211667552419 }
- case 5987 { rate := 1000000014877942747304861976 }
- case 5988 { rate := 1000000014879926158874270004 }
- case 5989 { rate := 1000000014881909446391296144 }
- case 5990 { rate := 1000000014883892609871457128 }
- case 5991 { rate := 1000000014885875649330266773 }
- case 5992 { rate := 1000000014887858564783235989 }
- case 5993 { rate := 1000000014889841356245872775 }
- case 5994 { rate := 1000000014891824023733682222 }
- case 5995 { rate := 1000000014893806567262166511 }
- case 5996 { rate := 1000000014895788986846824917 }
- case 5997 { rate := 1000000014897771282503153808 }
- case 5998 { rate := 1000000014899753454246646646 }
- case 5999 { rate := 1000000014901735502092793986 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 6000-6399
- switch gt(bps, 6199)
- case 0 { // 6000-6199
- switch gt(bps, 6099)
- case 0 { // 6000-6099
- switch gt(bps, 6049)
- case 0 { // 6000-6049
- switch gt(bps, 6024)
- case 0 { // 6000-6024
- switch bps
- case 6000 { rate := 1000000014903717426057083481 }
- case 6001 { rate := 1000000014905699226154999880 }
- case 6002 { rate := 1000000014907680902402025027 }
- case 6003 { rate := 1000000014909662454813637865 }
- case 6004 { rate := 1000000014911643883405314435 }
- case 6005 { rate := 1000000014913625188192527876 }
- case 6006 { rate := 1000000014915606369190748429 }
- case 6007 { rate := 1000000014917587426415443433 }
- case 6008 { rate := 1000000014919568359882077330 }
- case 6009 { rate := 1000000014921549169606111665 }
- case 6010 { rate := 1000000014923529855603005082 }
- case 6011 { rate := 1000000014925510417888213331 }
- case 6012 { rate := 1000000014927490856477189267 }
- case 6013 { rate := 1000000014929471171385382847 }
- case 6014 { rate := 1000000014931451362628241136 }
- case 6015 { rate := 1000000014933431430221208304 }
- case 6016 { rate := 1000000014935411374179725629 }
- case 6017 { rate := 1000000014937391194519231495 }
- case 6018 { rate := 1000000014939370891255161396 }
- case 6019 { rate := 1000000014941350464402947936 }
- case 6020 { rate := 1000000014943329913978020826 }
- case 6021 { rate := 1000000014945309239995806891 }
- case 6022 { rate := 1000000014947288442471730065 }
- case 6023 { rate := 1000000014949267521421211394 }
- case 6024 { rate := 1000000014951246476859669038 }
- default { revert(0, 0) }
- }
- case 1 { // 6025-6049
- switch bps
- case 6025 { rate := 1000000014953225308802518272 }
- case 6026 { rate := 1000000014955204017265171481 }
- case 6027 { rate := 1000000014957182602263038168 }
- case 6028 { rate := 1000000014959161063811524950 }
- case 6029 { rate := 1000000014961139401926035563 }
- case 6030 { rate := 1000000014963117616621970858 }
- case 6031 { rate := 1000000014965095707914728804 }
- case 6032 { rate := 1000000014967073675819704489 }
- case 6033 { rate := 1000000014969051520352290120 }
- case 6034 { rate := 1000000014971029241527875024 }
- case 6035 { rate := 1000000014973006839361845649 }
- case 6036 { rate := 1000000014974984313869585565 }
- case 6037 { rate := 1000000014976961665066475462 }
- case 6038 { rate := 1000000014978938892967893156 }
- case 6039 { rate := 1000000014980915997589213583 }
- case 6040 { rate := 1000000014982892978945808807 }
- case 6041 { rate := 1000000014984869837053048013 }
- case 6042 { rate := 1000000014986846571926297515 }
- case 6043 { rate := 1000000014988823183580920752 }
- case 6044 { rate := 1000000014990799672032278292 }
- case 6045 { rate := 1000000014992776037295727828 }
- case 6046 { rate := 1000000014994752279386624184 }
- case 6047 { rate := 1000000014996728398320319311 }
- case 6048 { rate := 1000000014998704394112162292 }
- case 6049 { rate := 1000000015000680266777499339 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 6050-6099
- switch gt(bps, 6074)
- case 0 { // 6050-6074
- switch bps
- case 6050 { rate := 1000000015002656016331673799 }
- case 6051 { rate := 1000000015004631642790026146 }
- case 6052 { rate := 1000000015006607146167893992 }
- case 6053 { rate := 1000000015008582526480612079 }
- case 6054 { rate := 1000000015010557783743512285 }
- case 6055 { rate := 1000000015012532917971923621 }
- case 6056 { rate := 1000000015014507929181172237 }
- case 6057 { rate := 1000000015016482817386581417 }
- case 6058 { rate := 1000000015018457582603471584 }
- case 6059 { rate := 1000000015020432224847160297 }
- case 6060 { rate := 1000000015022406744132962253 }
- case 6061 { rate := 1000000015024381140476189292 }
- case 6062 { rate := 1000000015026355413892150391 }
- case 6063 { rate := 1000000015028329564396151668 }
- case 6064 { rate := 1000000015030303592003496384 }
- case 6065 { rate := 1000000015032277496729484940 }
- case 6066 { rate := 1000000015034251278589414882 }
- case 6067 { rate := 1000000015036224937598580896 }
- case 6068 { rate := 1000000015038198473772274819 }
- case 6069 { rate := 1000000015040171887125785626 }
- case 6070 { rate := 1000000015042145177674399441 }
- case 6071 { rate := 1000000015044118345433399534 }
- case 6072 { rate := 1000000015046091390418066323 }
- case 6073 { rate := 1000000015048064312643677371 }
- case 6074 { rate := 1000000015050037112125507393 }
- default { revert(0, 0) }
- }
- case 1 { // 6075-6099
- switch bps
- case 6075 { rate := 1000000015052009788878828253 }
- case 6076 { rate := 1000000015053982342918908961 }
- case 6077 { rate := 1000000015055954774261015682 }
- case 6078 { rate := 1000000015057927082920411731 }
- case 6079 { rate := 1000000015059899268912357574 }
- case 6080 { rate := 1000000015061871332252110832 }
- case 6081 { rate := 1000000015063843272954926277 }
- case 6082 { rate := 1000000015065815091036055837 }
- case 6083 { rate := 1000000015067786786510748595 }
- case 6084 { rate := 1000000015069758359394250789 }
- case 6085 { rate := 1000000015071729809701805813 }
- case 6086 { rate := 1000000015073701137448654217 }
- case 6087 { rate := 1000000015075672342650033713 }
- case 6088 { rate := 1000000015077643425321179167 }
- case 6089 { rate := 1000000015079614385477322606 }
- case 6090 { rate := 1000000015081585223133693217 }
- case 6091 { rate := 1000000015083555938305517348 }
- case 6092 { rate := 1000000015085526531008018506 }
- case 6093 { rate := 1000000015087497001256417364 }
- case 6094 { rate := 1000000015089467349065931754 }
- case 6095 { rate := 1000000015091437574451776672 }
- case 6096 { rate := 1000000015093407677429164279 }
- case 6097 { rate := 1000000015095377658013303902 }
- case 6098 { rate := 1000000015097347516219402031 }
- case 6099 { rate := 1000000015099317252062662325 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 6100-6199
- switch gt(bps, 6149)
- case 0 { // 6100-6149
- switch gt(bps, 6124)
- case 0 { // 6100-6124
- switch bps
- case 6100 { rate := 1000000015101286865558285606 }
- case 6101 { rate := 1000000015103256356721469870 }
- case 6102 { rate := 1000000015105225725567410272 }
- case 6103 { rate := 1000000015107194972111299145 }
- case 6104 { rate := 1000000015109164096368325987 }
- case 6105 { rate := 1000000015111133098353677468 }
- case 6106 { rate := 1000000015113101978082537430 }
- case 6107 { rate := 1000000015115070735570086883 }
- case 6108 { rate := 1000000015117039370831504013 }
- case 6109 { rate := 1000000015119007883881964179 }
- case 6110 { rate := 1000000015120976274736639914 }
- case 6111 { rate := 1000000015122944543410700923 }
- case 6112 { rate := 1000000015124912689919314090 }
- case 6113 { rate := 1000000015126880714277643473 }
- case 6114 { rate := 1000000015128848616500850307 }
- case 6115 { rate := 1000000015130816396604093005 }
- case 6116 { rate := 1000000015132784054602527158 }
- case 6117 { rate := 1000000015134751590511305536 }
- case 6118 { rate := 1000000015136719004345578088 }
- case 6119 { rate := 1000000015138686296120491942 }
- case 6120 { rate := 1000000015140653465851191411 }
- case 6121 { rate := 1000000015142620513552817987 }
- case 6122 { rate := 1000000015144587439240510342 }
- case 6123 { rate := 1000000015146554242929404336 }
- case 6124 { rate := 1000000015148520924634633011 }
- default { revert(0, 0) }
- }
- case 1 { // 6125-6149
- switch bps
- case 6125 { rate := 1000000015150487484371326590 }
- case 6126 { rate := 1000000015152453922154612487 }
- case 6127 { rate := 1000000015154420237999615297 }
- case 6128 { rate := 1000000015156386431921456805 }
- case 6129 { rate := 1000000015158352503935255979 }
- case 6130 { rate := 1000000015160318454056128981 }
- case 6131 { rate := 1000000015162284282299189156 }
- case 6132 { rate := 1000000015164249988679547042 }
- case 6133 { rate := 1000000015166215573212310364 }
- case 6134 { rate := 1000000015168181035912584041 }
- case 6135 { rate := 1000000015170146376795470181 }
- case 6136 { rate := 1000000015172111595876068086 }
- case 6137 { rate := 1000000015174076693169474249 }
- case 6138 { rate := 1000000015176041668690782357 }
- case 6139 { rate := 1000000015178006522455083294 }
- case 6140 { rate := 1000000015179971254477465133 }
- case 6141 { rate := 1000000015181935864773013148 }
- case 6142 { rate := 1000000015183900353356809808 }
- case 6143 { rate := 1000000015185864720243934777 }
- case 6144 { rate := 1000000015187828965449464919 }
- case 6145 { rate := 1000000015189793088988474295 }
- case 6146 { rate := 1000000015191757090876034166 }
- case 6147 { rate := 1000000015193720971127212993 }
- case 6148 { rate := 1000000015195684729757076435 }
- case 6149 { rate := 1000000015197648366780687356 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 6150-6199
- switch gt(bps, 6174)
- case 0 { // 6150-6174
- switch bps
- case 6150 { rate := 1000000015199611882213105818 }
- case 6151 { rate := 1000000015201575276069389089 }
- case 6152 { rate := 1000000015203538548364591637 }
- case 6153 { rate := 1000000015205501699113765138 }
- case 6154 { rate := 1000000015207464728331958468 }
- case 6155 { rate := 1000000015209427636034217712 }
- case 6156 { rate := 1000000015211390422235586158 }
- case 6157 { rate := 1000000015213353086951104304 }
- case 6158 { rate := 1000000015215315630195809853 }
- case 6159 { rate := 1000000015217278051984737717 }
- case 6160 { rate := 1000000015219240352332920015 }
- case 6161 { rate := 1000000015221202531255386080 }
- case 6162 { rate := 1000000015223164588767162449 }
- case 6163 { rate := 1000000015225126524883272874 }
- case 6164 { rate := 1000000015227088339618738319 }
- case 6165 { rate := 1000000015229050032988576957 }
- case 6166 { rate := 1000000015231011605007804177 }
- case 6167 { rate := 1000000015232973055691432580 }
- case 6168 { rate := 1000000015234934385054471980 }
- case 6169 { rate := 1000000015236895593111929410 }
- case 6170 { rate := 1000000015238856679878809116 }
- case 6171 { rate := 1000000015240817645370112558 }
- case 6172 { rate := 1000000015242778489600838420 }
- case 6173 { rate := 1000000015244739212585982595 }
- case 6174 { rate := 1000000015246699814340538201 }
- default { revert(0, 0) }
- }
- case 1 { // 6175-6199
- switch bps
- case 6175 { rate := 1000000015248660294879495575 }
- case 6176 { rate := 1000000015250620654217842268 }
- case 6177 { rate := 1000000015252580892370563058 }
- case 6178 { rate := 1000000015254541009352639939 }
- case 6179 { rate := 1000000015256501005179052132 }
- case 6180 { rate := 1000000015258460879864776078 }
- case 6181 { rate := 1000000015260420633424785438 }
- case 6182 { rate := 1000000015262380265874051103 }
- case 6183 { rate := 1000000015264339777227541185 }
- case 6184 { rate := 1000000015266299167500221022 }
- case 6185 { rate := 1000000015268258436707053177 }
- case 6186 { rate := 1000000015270217584862997442 }
- case 6187 { rate := 1000000015272176611983010835 }
- case 6188 { rate := 1000000015274135518082047600 }
- case 6189 { rate := 1000000015276094303175059215 }
- case 6190 { rate := 1000000015278052967276994381 }
- case 6191 { rate := 1000000015280011510402799035 }
- case 6192 { rate := 1000000015281969932567416340 }
- case 6193 { rate := 1000000015283928233785786694 }
- case 6194 { rate := 1000000015285886414072847725 }
- case 6195 { rate := 1000000015287844473443534295 }
- case 6196 { rate := 1000000015289802411912778498 }
- case 6197 { rate := 1000000015291760229495509665 }
- case 6198 { rate := 1000000015293717926206654358 }
- case 6199 { rate := 1000000015295675502061136378 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 6200-6399
- switch gt(bps, 6299)
- case 0 { // 6200-6299
- switch gt(bps, 6249)
- case 0 { // 6200-6249
- switch gt(bps, 6224)
- case 0 { // 6200-6224
- switch bps
- case 6200 { rate := 1000000015297632957073876761 }
- case 6201 { rate := 1000000015299590291259793780 }
- case 6202 { rate := 1000000015301547504633802945 }
- case 6203 { rate := 1000000015303504597210817004 }
- case 6204 { rate := 1000000015305461569005745947 }
- case 6205 { rate := 1000000015307418420033496998 }
- case 6206 { rate := 1000000015309375150308974628 }
- case 6207 { rate := 1000000015311331759847080545 }
- case 6208 { rate := 1000000015313288248662713699 }
- case 6209 { rate := 1000000015315244616770770282 }
- case 6210 { rate := 1000000015317200864186143732 }
- case 6211 { rate := 1000000015319156990923724726 }
- case 6212 { rate := 1000000015321112996998401190 }
- case 6213 { rate := 1000000015323068882425058294 }
- case 6214 { rate := 1000000015325024647218578451 }
- case 6215 { rate := 1000000015326980291393841323 }
- case 6216 { rate := 1000000015328935814965723819 }
- case 6217 { rate := 1000000015330891217949100095 }
- case 6218 { rate := 1000000015332846500358841555 }
- case 6219 { rate := 1000000015334801662209816855 }
- case 6220 { rate := 1000000015336756703516891898 }
- case 6221 { rate := 1000000015338711624294929839 }
- case 6222 { rate := 1000000015340666424558791082 }
- case 6223 { rate := 1000000015342621104323333287 }
- case 6224 { rate := 1000000015344575663603411362 }
- default { revert(0, 0) }
- }
- case 1 { // 6225-6249
- switch bps
- case 6225 { rate := 1000000015346530102413877471 }
- case 6226 { rate := 1000000015348484420769581033 }
- case 6227 { rate := 1000000015350438618685368717 }
- case 6228 { rate := 1000000015352392696176084451 }
- case 6229 { rate := 1000000015354346653256569420 }
- case 6230 { rate := 1000000015356300489941662062 }
- case 6231 { rate := 1000000015358254206246198075 }
- case 6232 { rate := 1000000015360207802185010413 }
- case 6233 { rate := 1000000015362161277772929290 }
- case 6234 { rate := 1000000015364114633024782180 }
- case 6235 { rate := 1000000015366067867955393814 }
- case 6236 { rate := 1000000015368020982579586188 }
- case 6237 { rate := 1000000015369973976912178557 }
- case 6238 { rate := 1000000015371926850967987435 }
- case 6239 { rate := 1000000015373879604761826606 }
- case 6240 { rate := 1000000015375832238308507110 }
- case 6241 { rate := 1000000015377784751622837256 }
- case 6242 { rate := 1000000015379737144719622615 }
- case 6243 { rate := 1000000015381689417613666024 }
- case 6244 { rate := 1000000015383641570319767589 }
- case 6245 { rate := 1000000015385593602852724678 }
- case 6246 { rate := 1000000015387545515227331928 }
- case 6247 { rate := 1000000015389497307458381246 }
- case 6248 { rate := 1000000015391448979560661806 }
- case 6249 { rate := 1000000015393400531548960052 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 6250-6299
- switch gt(bps, 6274)
- case 0 { // 6250-6274
- switch bps
- case 6250 { rate := 1000000015395351963438059699 }
- case 6251 { rate := 1000000015397303275242741731 }
- case 6252 { rate := 1000000015399254466977784403 }
- case 6253 { rate := 1000000015401205538657963245 }
- case 6254 { rate := 1000000015403156490298051058 }
- case 6255 { rate := 1000000015405107321912817917 }
- case 6256 { rate := 1000000015407058033517031169 }
- case 6257 { rate := 1000000015409008625125455440 }
- case 6258 { rate := 1000000015410959096752852627 }
- case 6259 { rate := 1000000015412909448413981907 }
- case 6260 { rate := 1000000015414859680123599731 }
- case 6261 { rate := 1000000015416809791896459828 }
- case 6262 { rate := 1000000015418759783747313206 }
- case 6263 { rate := 1000000015420709655690908154 }
- case 6264 { rate := 1000000015422659407741990234 }
- case 6265 { rate := 1000000015424609039915302295 }
- case 6266 { rate := 1000000015426558552225584464 }
- case 6267 { rate := 1000000015428507944687574148 }
- case 6268 { rate := 1000000015430457217316006040 }
- case 6269 { rate := 1000000015432406370125612111 }
- case 6270 { rate := 1000000015434355403131121619 }
- case 6271 { rate := 1000000015436304316347261106 }
- case 6272 { rate := 1000000015438253109788754397 }
- case 6273 { rate := 1000000015440201783470322605 }
- case 6274 { rate := 1000000015442150337406684127 }
- default { revert(0, 0) }
- }
- case 1 { // 6275-6299
- switch bps
- case 6275 { rate := 1000000015444098771612554646 }
- case 6276 { rate := 1000000015446047086102647137 }
- case 6277 { rate := 1000000015447995280891671860 }
- case 6278 { rate := 1000000015449943355994336362 }
- case 6279 { rate := 1000000015451891311425345484 }
- case 6280 { rate := 1000000015453839147199401353 }
- case 6281 { rate := 1000000015455786863331203391 }
- case 6282 { rate := 1000000015457734459835448307 }
- case 6283 { rate := 1000000015459681936726830105 }
- case 6284 { rate := 1000000015461629294020040082 }
- case 6285 { rate := 1000000015463576531729766828 }
- case 6286 { rate := 1000000015465523649870696226 }
- case 6287 { rate := 1000000015467470648457511454 }
- case 6288 { rate := 1000000015469417527504892989 }
- case 6289 { rate := 1000000015471364287027518599 }
- case 6290 { rate := 1000000015473310927040063352 }
- case 6291 { rate := 1000000015475257447557199613 }
- case 6292 { rate := 1000000015477203848593597045 }
- case 6293 { rate := 1000000015479150130163922609 }
- case 6294 { rate := 1000000015481096292282840567 }
- case 6295 { rate := 1000000015483042334965012479 }
- case 6296 { rate := 1000000015484988258225097210 }
- case 6297 { rate := 1000000015486934062077750921 }
- case 6298 { rate := 1000000015488879746537627079 }
- case 6299 { rate := 1000000015490825311619376452 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 6300-6399
- switch gt(bps, 6349)
- case 0 { // 6300-6349
- switch gt(bps, 6324)
- case 0 { // 6300-6324
- switch bps
- case 6300 { rate := 1000000015492770757337647112 }
- case 6301 { rate := 1000000015494716083707084436 }
- case 6302 { rate := 1000000015496661290742331104 }
- case 6303 { rate := 1000000015498606378458027103 }
- case 6304 { rate := 1000000015500551346868809725 }
- case 6305 { rate := 1000000015502496195989313568 }
- case 6306 { rate := 1000000015504440925834170541 }
- case 6307 { rate := 1000000015506385536418009859 }
- case 6308 { rate := 1000000015508330027755458043 }
- case 6309 { rate := 1000000015510274399861138927 }
- case 6310 { rate := 1000000015512218652749673656 }
- case 6311 { rate := 1000000015514162786435680680 }
- case 6312 { rate := 1000000015516106800933775766 }
- case 6313 { rate := 1000000015518050696258571992 }
- case 6314 { rate := 1000000015519994472424679745 }
- case 6315 { rate := 1000000015521938129446706731 }
- case 6316 { rate := 1000000015523881667339257966 }
- case 6317 { rate := 1000000015525825086116935783 }
- case 6318 { rate := 1000000015527768385794339827 }
- case 6319 { rate := 1000000015529711566386067064 }
- case 6320 { rate := 1000000015531654627906711771 }
- case 6321 { rate := 1000000015533597570370865546 }
- case 6322 { rate := 1000000015535540393793117305 }
- case 6323 { rate := 1000000015537483098188053282 }
- case 6324 { rate := 1000000015539425683570257029 }
- default { revert(0, 0) }
- }
- case 1 { // 6325-6349
- switch bps
- case 6325 { rate := 1000000015541368149954309419 }
- case 6326 { rate := 1000000015543310497354788646 }
- case 6327 { rate := 1000000015545252725786270226 }
- case 6328 { rate := 1000000015547194835263326993 }
- case 6329 { rate := 1000000015549136825800529108 }
- case 6330 { rate := 1000000015551078697412444053 }
- case 6331 { rate := 1000000015553020450113636636 }
- case 6332 { rate := 1000000015554962083918668986 }
- case 6333 { rate := 1000000015556903598842100559 }
- case 6334 { rate := 1000000015558844994898488139 }
- case 6335 { rate := 1000000015560786272102385832 }
- case 6336 { rate := 1000000015562727430468345075 }
- case 6337 { rate := 1000000015564668470010914631 }
- case 6338 { rate := 1000000015566609390744640592 }
- case 6339 { rate := 1000000015568550192684066380 }
- case 6340 { rate := 1000000015570490875843732744 }
- case 6341 { rate := 1000000015572431440238177765 }
- case 6342 { rate := 1000000015574371885881936857 }
- case 6343 { rate := 1000000015576312212789542763 }
- case 6344 { rate := 1000000015578252420975525559 }
- case 6345 { rate := 1000000015580192510454412655 }
- case 6346 { rate := 1000000015582132481240728794 }
- case 6347 { rate := 1000000015584072333348996053 }
- case 6348 { rate := 1000000015586012066793733846 }
- case 6349 { rate := 1000000015587951681589458919 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 6350-6399
- switch gt(bps, 6374)
- case 0 { // 6350-6374
- switch bps
- case 6350 { rate := 1000000015589891177750685357 }
- case 6351 { rate := 1000000015591830555291924580 }
- case 6352 { rate := 1000000015593769814227685350 }
- case 6353 { rate := 1000000015595708954572473762 }
- case 6354 { rate := 1000000015597647976340793253 }
- case 6355 { rate := 1000000015599586879547144596 }
- case 6356 { rate := 1000000015601525664206025911 }
- case 6357 { rate := 1000000015603464330331932651 }
- case 6358 { rate := 1000000015605402877939357616 }
- case 6359 { rate := 1000000015607341307042790947 }
- case 6360 { rate := 1000000015609279617656720124 }
- case 6361 { rate := 1000000015611217809795629977 }
- case 6362 { rate := 1000000015613155883474002675 }
- case 6363 { rate := 1000000015615093838706317732 }
- case 6364 { rate := 1000000015617031675507052012 }
- case 6365 { rate := 1000000015618969393890679720 }
- case 6366 { rate := 1000000015620906993871672410 }
- case 6367 { rate := 1000000015622844475464498982 }
- case 6368 { rate := 1000000015624781838683625685 }
- case 6369 { rate := 1000000015626719083543516119 }
- case 6370 { rate := 1000000015628656210058631227 }
- case 6371 { rate := 1000000015630593218243429309 }
- case 6372 { rate := 1000000015632530108112366010 }
- case 6373 { rate := 1000000015634466879679894331 }
- case 6374 { rate := 1000000015636403532960464619 }
- default { revert(0, 0) }
- }
- case 1 { // 6375-6399
- switch bps
- case 6375 { rate := 1000000015638340067968524580 }
- case 6376 { rate := 1000000015640276484718519269 }
- case 6377 { rate := 1000000015642212783224891098 }
- case 6378 { rate := 1000000015644148963502079827 }
- case 6379 { rate := 1000000015646085025564522580 }
- case 6380 { rate := 1000000015648020969426653830 }
- case 6381 { rate := 1000000015649956795102905409 }
- case 6382 { rate := 1000000015651892502607706506 }
- case 6383 { rate := 1000000015653828091955483667 }
- case 6384 { rate := 1000000015655763563160660798 }
- case 6385 { rate := 1000000015657698916237659162 }
- case 6386 { rate := 1000000015659634151200897382 }
- case 6387 { rate := 1000000015661569268064791442 }
- case 6388 { rate := 1000000015663504266843754688 }
- case 6389 { rate := 1000000015665439147552197824 }
- case 6390 { rate := 1000000015667373910204528920 }
- case 6391 { rate := 1000000015669308554815153405 }
- case 6392 { rate := 1000000015671243081398474077 }
- case 6393 { rate := 1000000015673177489968891092 }
- case 6394 { rate := 1000000015675111780540801975 }
- case 6395 { rate := 1000000015677045953128601614 }
- case 6396 { rate := 1000000015678980007746682266 }
- case 6397 { rate := 1000000015680913944409433552 }
- case 6398 { rate := 1000000015682847763131242461 }
- case 6399 { rate := 1000000015684781463926493350 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- }
-}
\ No newline at end of file
diff --git a/src/repositories/Rates6400To7199.sol b/src/repositories/Rates6400To7199.sol
deleted file mode 100644
index 1c2192a..0000000
--- a/src/repositories/Rates6400To7199.sol
+++ /dev/null
@@ -1,1065 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity 0.8.19;
-
-contract Rates6400To7199 {
- uint256 constant public MIN = 6400;
- uint256 constant public MAX = 7199;
-
- function turn(uint256 bps) external pure returns (uint256 rate) {
- if (bps > MAX) revert();
- if (bps < MIN) revert();
-
- assembly {
- switch gt(bps, 6799)
- case 0 { // 6400-6799
- switch gt(bps, 6599)
- case 0 { // 6400-6599
- switch gt(bps, 6499)
- case 0 { // 6400-6499
- switch gt(bps, 6449)
- case 0 { // 6400-6449
- switch gt(bps, 6424)
- case 0 { // 6400-6424
- switch bps
- case 6400 { rate := 1000000015686715046809567945 }
- case 6401 { rate := 1000000015688648511794845341 }
- case 6402 { rate := 1000000015690581858896702002 }
- case 6403 { rate := 1000000015692515088129511766 }
- case 6404 { rate := 1000000015694448199507645837 }
- case 6405 { rate := 1000000015696381193045472797 }
- case 6406 { rate := 1000000015698314068757358594 }
- case 6407 { rate := 1000000015700246826657666553 }
- case 6408 { rate := 1000000015702179466760757373 }
- case 6409 { rate := 1000000015704111989080989125 }
- case 6410 { rate := 1000000015706044393632717258 }
- case 6411 { rate := 1000000015707976680430294594 }
- case 6412 { rate := 1000000015709908849488071333 }
- case 6413 { rate := 1000000015711840900820395051 }
- case 6414 { rate := 1000000015713772834441610701 }
- case 6415 { rate := 1000000015715704650366060617 }
- case 6416 { rate := 1000000015717636348608084511 }
- case 6417 { rate := 1000000015719567929182019470 }
- case 6418 { rate := 1000000015721499392102199968 }
- case 6419 { rate := 1000000015723430737382957855 }
- case 6420 { rate := 1000000015725361965038622365 }
- case 6421 { rate := 1000000015727293075083520113 }
- case 6422 { rate := 1000000015729224067531975096 }
- case 6423 { rate := 1000000015731154942398308695 }
- case 6424 { rate := 1000000015733085699696839676 }
- default { revert(0, 0) }
- }
- case 1 { // 6425-6449
- switch bps
- case 6425 { rate := 1000000015735016339441884188 }
- case 6426 { rate := 1000000015736946861647755768 }
- case 6427 { rate := 1000000015738877266328765334 }
- case 6428 { rate := 1000000015740807553499221196 }
- case 6429 { rate := 1000000015742737723173429047 }
- case 6430 { rate := 1000000015744667775365691970 }
- case 6431 { rate := 1000000015746597710090310436 }
- case 6432 { rate := 1000000015748527527361582305 }
- case 6433 { rate := 1000000015750457227193802825 }
- case 6434 { rate := 1000000015752386809601264637 }
- case 6435 { rate := 1000000015754316274598257774 }
- case 6436 { rate := 1000000015756245622199069656 }
- case 6437 { rate := 1000000015758174852417985099 }
- case 6438 { rate := 1000000015760103965269286310 }
- case 6439 { rate := 1000000015762032960767252891 }
- case 6440 { rate := 1000000015763961838926161836 }
- case 6441 { rate := 1000000015765890599760287538 }
- case 6442 { rate := 1000000015767819243283901779 }
- case 6443 { rate := 1000000015769747769511273744 }
- case 6444 { rate := 1000000015771676178456670009 }
- case 6445 { rate := 1000000015773604470134354550 }
- case 6446 { rate := 1000000015775532644558588743 }
- case 6447 { rate := 1000000015777460701743631357 }
- case 6448 { rate := 1000000015779388641703738565 }
- case 6449 { rate := 1000000015781316464453163938 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 6450-6499
- switch gt(bps, 6474)
- case 0 { // 6450-6474
- switch bps
- case 6450 { rate := 1000000015783244170006158447 }
- case 6451 { rate := 1000000015785171758376970467 }
- case 6452 { rate := 1000000015787099229579845770 }
- case 6453 { rate := 1000000015789026583629027536 }
- case 6454 { rate := 1000000015790953820538756342 }
- case 6455 { rate := 1000000015792880940323270174 }
- case 6456 { rate := 1000000015794807942996804419 }
- case 6457 { rate := 1000000015796734828573591870 }
- case 6458 { rate := 1000000015798661597067862724 }
- case 6459 { rate := 1000000015800588248493844588 }
- case 6460 { rate := 1000000015802514782865762472 }
- case 6461 { rate := 1000000015804441200197838795 }
- case 6462 { rate := 1000000015806367500504293384 }
- case 6463 { rate := 1000000015808293683799343474 }
- case 6464 { rate := 1000000015810219750097203710 }
- case 6465 { rate := 1000000015812145699412086147 }
- case 6466 { rate := 1000000015814071531758200252 }
- case 6467 { rate := 1000000015815997247149752899 }
- case 6468 { rate := 1000000015817922845600948377 }
- case 6469 { rate := 1000000015819848327125988387 }
- case 6470 { rate := 1000000015821773691739072044 }
- case 6471 { rate := 1000000015823698939454395875 }
- case 6472 { rate := 1000000015825624070286153821 }
- case 6473 { rate := 1000000015827549084248537241 }
- case 6474 { rate := 1000000015829473981355734906 }
- default { revert(0, 0) }
- }
- case 1 { // 6475-6499
- switch bps
- case 6475 { rate := 1000000015831398761621933006 }
- case 6476 { rate := 1000000015833323425061315145 }
- case 6477 { rate := 1000000015835247971688062347 }
- case 6478 { rate := 1000000015837172401516353055 }
- case 6479 { rate := 1000000015839096714560363128 }
- case 6480 { rate := 1000000015841020910834265843 }
- case 6481 { rate := 1000000015842944990352231903 }
- case 6482 { rate := 1000000015844868953128429425 }
- case 6483 { rate := 1000000015846792799177023953 }
- case 6484 { rate := 1000000015848716528512178448 }
- case 6485 { rate := 1000000015850640141148053296 }
- case 6486 { rate := 1000000015852563637098806307 }
- case 6487 { rate := 1000000015854487016378592712 }
- case 6488 { rate := 1000000015856410279001565169 }
- case 6489 { rate := 1000000015858333424981873758 }
- case 6490 { rate := 1000000015860256454333665989 }
- case 6491 { rate := 1000000015862179367071086794 }
- case 6492 { rate := 1000000015864102163208278534 }
- case 6493 { rate := 1000000015866024842759380997 }
- case 6494 { rate := 1000000015867947405738531398 }
- case 6495 { rate := 1000000015869869852159864384 }
- case 6496 { rate := 1000000015871792182037512030 }
- case 6497 { rate := 1000000015873714395385603836 }
- case 6498 { rate := 1000000015875636492218266741 }
- case 6499 { rate := 1000000015877558472549625110 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 6500-6599
- switch gt(bps, 6549)
- case 0 { // 6500-6549
- switch gt(bps, 6524)
- case 0 { // 6500-6524
- switch bps
- case 6500 { rate := 1000000015879480336393800741 }
- case 6501 { rate := 1000000015881402083764912862 }
- case 6502 { rate := 1000000015883323714677078140 }
- case 6503 { rate := 1000000015885245229144410671 }
- case 6504 { rate := 1000000015887166627181021987 }
- case 6505 { rate := 1000000015889087908801021053 }
- case 6506 { rate := 1000000015891009074018514273 }
- case 6507 { rate := 1000000015892930122847605485 }
- case 6508 { rate := 1000000015894851055302395963 }
- case 6509 { rate := 1000000015896771871396984421 }
- case 6510 { rate := 1000000015898692571145467010 }
- case 6511 { rate := 1000000015900613154561937317 }
- case 6512 { rate := 1000000015902533621660486374 }
- case 6513 { rate := 1000000015904453972455202647 }
- case 6514 { rate := 1000000015906374206960172047 }
- case 6515 { rate := 1000000015908294325189477924 }
- case 6516 { rate := 1000000015910214327157201069 }
- case 6517 { rate := 1000000015912134212877419719 }
- case 6518 { rate := 1000000015914053982364209549 }
- case 6519 { rate := 1000000015915973635631643682 }
- case 6520 { rate := 1000000015917893172693792683 }
- case 6521 { rate := 1000000015919812593564724562 }
- case 6522 { rate := 1000000015921731898258504776 }
- case 6523 { rate := 1000000015923651086789196227 }
- case 6524 { rate := 1000000015925570159170859262 }
- default { revert(0, 0) }
- }
- case 1 { // 6525-6549
- switch bps
- case 6525 { rate := 1000000015927489115417551681 }
- case 6526 { rate := 1000000015929407955543328724 }
- case 6527 { rate := 1000000015931326679562243086 }
- case 6528 { rate := 1000000015933245287488344910 }
- case 6529 { rate := 1000000015935163779335681785 }
- case 6530 { rate := 1000000015937082155118298755 }
- case 6531 { rate := 1000000015939000414850238313 }
- case 6532 { rate := 1000000015940918558545540404 }
- case 6533 { rate := 1000000015942836586218242426 }
- case 6534 { rate := 1000000015944754497882379228 }
- case 6535 { rate := 1000000015946672293551983115 }
- case 6536 { rate := 1000000015948589973241083845 }
- case 6537 { rate := 1000000015950507536963708629 }
- case 6538 { rate := 1000000015952424984733882136 }
- case 6539 { rate := 1000000015954342316565626492 }
- case 6540 { rate := 1000000015956259532472961274 }
- case 6541 { rate := 1000000015958176632469903523 }
- case 6542 { rate := 1000000015960093616570467734 }
- case 6543 { rate := 1000000015962010484788665860 }
- case 6544 { rate := 1000000015963927237138507317 }
- case 6545 { rate := 1000000015965843873633998974 }
- case 6546 { rate := 1000000015967760394289145167 }
- case 6547 { rate := 1000000015969676799117947690 }
- case 6548 { rate := 1000000015971593088134405798 }
- case 6549 { rate := 1000000015973509261352516209 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 6550-6599
- switch gt(bps, 6574)
- case 0 { // 6550-6574
- switch bps
- case 6550 { rate := 1000000015975425318786273105 }
- case 6551 { rate := 1000000015977341260449668127 }
- case 6552 { rate := 1000000015979257086356690385 }
- case 6553 { rate := 1000000015981172796521326452 }
- case 6554 { rate := 1000000015983088390957560365 }
- case 6555 { rate := 1000000015985003869679373628 }
- case 6556 { rate := 1000000015986919232700745209 }
- case 6557 { rate := 1000000015988834480035651548 }
- case 6558 { rate := 1000000015990749611698066548 }
- case 6559 { rate := 1000000015992664627701961582 }
- case 6560 { rate := 1000000015994579528061305491 }
- case 6561 { rate := 1000000015996494312790064590 }
- case 6562 { rate := 1000000015998408981902202656 }
- case 6563 { rate := 1000000016000323535411680943 }
- case 6564 { rate := 1000000016002237973332458175 }
- case 6565 { rate := 1000000016004152295678490547 }
- case 6566 { rate := 1000000016006066502463731726 }
- case 6567 { rate := 1000000016007980593702132855 }
- case 6568 { rate := 1000000016009894569407642547 }
- case 6569 { rate := 1000000016011808429594206893 }
- case 6570 { rate := 1000000016013722174275769455 }
- case 6571 { rate := 1000000016015635803466271275 }
- case 6572 { rate := 1000000016017549317179650868 }
- case 6573 { rate := 1000000016019462715429844226 }
- case 6574 { rate := 1000000016021375998230784820 }
- default { revert(0, 0) }
- }
- case 1 { // 6575-6599
- switch bps
- case 6575 { rate := 1000000016023289165596403599 }
- case 6576 { rate := 1000000016025202217540628989 }
- case 6577 { rate := 1000000016027115154077386896 }
- case 6578 { rate := 1000000016029027975220600708 }
- case 6579 { rate := 1000000016030940680984191289 }
- case 6580 { rate := 1000000016032853271382076987 }
- case 6581 { rate := 1000000016034765746428173632 }
- case 6582 { rate := 1000000016036678106136394535 }
- case 6583 { rate := 1000000016038590350520650490 }
- case 6584 { rate := 1000000016040502479594849776 }
- case 6585 { rate := 1000000016042414493372898155 }
- case 6586 { rate := 1000000016044326391868698872 }
- case 6587 { rate := 1000000016046238175096152661 }
- case 6588 { rate := 1000000016048149843069157739 }
- case 6589 { rate := 1000000016050061395801609810 }
- case 6590 { rate := 1000000016051972833307402066 }
- case 6591 { rate := 1000000016053884155600425188 }
- case 6592 { rate := 1000000016055795362694567342 }
- case 6593 { rate := 1000000016057706454603714184 }
- case 6594 { rate := 1000000016059617431341748863 }
- case 6595 { rate := 1000000016061528292922552013 }
- case 6596 { rate := 1000000016063439039360001761 }
- case 6597 { rate := 1000000016065349670667973728 }
- case 6598 { rate := 1000000016067260186860341022 }
- case 6599 { rate := 1000000016069170587950974247 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 6600-6799
- switch gt(bps, 6699)
- case 0 { // 6600-6699
- switch gt(bps, 6649)
- case 0 { // 6600-6649
- switch gt(bps, 6624)
- case 0 { // 6600-6624
- switch bps
- case 6600 { rate := 1000000016071080873953741499 }
- case 6601 { rate := 1000000016072991044882508369 }
- case 6602 { rate := 1000000016074901100751137941 }
- case 6603 { rate := 1000000016076811041573490795 }
- case 6604 { rate := 1000000016078720867363425005 }
- case 6605 { rate := 1000000016080630578134796143 }
- case 6606 { rate := 1000000016082540173901457278 }
- case 6607 { rate := 1000000016084449654677258973 }
- case 6608 { rate := 1000000016086359020476049294 }
- case 6609 { rate := 1000000016088268271311673802 }
- case 6610 { rate := 1000000016090177407197975559 }
- case 6611 { rate := 1000000016092086428148795125 }
- case 6612 { rate := 1000000016093995334177970563 }
- case 6613 { rate := 1000000016095904125299337436 }
- case 6614 { rate := 1000000016097812801526728807 }
- case 6615 { rate := 1000000016099721362873975244 }
- case 6616 { rate := 1000000016101629809354904814 }
- case 6617 { rate := 1000000016103538140983343092 }
- case 6618 { rate := 1000000016105446357773113153 }
- case 6619 { rate := 1000000016107354459738035580 }
- case 6620 { rate := 1000000016109262446891928459 }
- case 6621 { rate := 1000000016111170319248607383 }
- case 6622 { rate := 1000000016113078076821885451 }
- case 6623 { rate := 1000000016114985719625573268 }
- case 6624 { rate := 1000000016116893247673478948 }
- default { revert(0, 0) }
- }
- case 1 { // 6625-6649
- switch bps
- case 6625 { rate := 1000000016118800660979408115 }
- case 6626 { rate := 1000000016120707959557163897 }
- case 6627 { rate := 1000000016122615143420546934 }
- case 6628 { rate := 1000000016124522212583355378 }
- case 6629 { rate := 1000000016126429167059384889 }
- case 6630 { rate := 1000000016128336006862428639 }
- case 6631 { rate := 1000000016130242732006277312 }
- case 6632 { rate := 1000000016132149342504719104 }
- case 6633 { rate := 1000000016134055838371539725 }
- case 6634 { rate := 1000000016135962219620522398 }
- case 6635 { rate := 1000000016137868486265447859 }
- case 6636 { rate := 1000000016139774638320094360 }
- case 6637 { rate := 1000000016141680675798237669 }
- case 6638 { rate := 1000000016143586598713651070 }
- case 6639 { rate := 1000000016145492407080105363 }
- case 6640 { rate := 1000000016147398100911368865 }
- case 6641 { rate := 1000000016149303680221207410 }
- case 6642 { rate := 1000000016151209145023384352 }
- case 6643 { rate := 1000000016153114495331660565 }
- case 6644 { rate := 1000000016155019731159794439 }
- case 6645 { rate := 1000000016156924852521541888 }
- case 6646 { rate := 1000000016158829859430656342 }
- case 6647 { rate := 1000000016160734751900888759 }
- case 6648 { rate := 1000000016162639529945987614 }
- case 6649 { rate := 1000000016164544193579698905 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 6650-6699
- switch gt(bps, 6674)
- case 0 { // 6650-6674
- switch bps
- case 6650 { rate := 1000000016166448742815766155 }
- case 6651 { rate := 1000000016168353177667930410 }
- case 6652 { rate := 1000000016170257498149930239 }
- case 6653 { rate := 1000000016172161704275501740 }
- case 6654 { rate := 1000000016174065796058378532 }
- case 6655 { rate := 1000000016175969773512291760 }
- case 6656 { rate := 1000000016177873636650970102 }
- case 6657 { rate := 1000000016179777385488139756 }
- case 6658 { rate := 1000000016181681020037524450 }
- case 6659 { rate := 1000000016183584540312845443 }
- case 6660 { rate := 1000000016185487946327821522 }
- case 6661 { rate := 1000000016187391238096169003 }
- case 6662 { rate := 1000000016189294415631601732 }
- case 6663 { rate := 1000000016191197478947831086 }
- case 6664 { rate := 1000000016193100428058565975 }
- case 6665 { rate := 1000000016195003262977512839 }
- case 6666 { rate := 1000000016196905983718375652 }
- case 6667 { rate := 1000000016198808590294855920 }
- case 6668 { rate := 1000000016200711082720652686 }
- case 6669 { rate := 1000000016202613461009462523 }
- case 6670 { rate := 1000000016204515725174979542 }
- case 6671 { rate := 1000000016206417875230895389 }
- case 6672 { rate := 1000000016208319911190899247 }
- case 6673 { rate := 1000000016210221833068677832 }
- case 6674 { rate := 1000000016212123640877915404 }
- default { revert(0, 0) }
- }
- case 1 { // 6675-6699
- switch bps
- case 6675 { rate := 1000000016214025334632293755 }
- case 6676 { rate := 1000000016215926914345492218 }
- case 6677 { rate := 1000000016217828380031187665 }
- case 6678 { rate := 1000000016219729731703054508 }
- case 6679 { rate := 1000000016221630969374764700 }
- case 6680 { rate := 1000000016223532093059987732 }
- case 6681 { rate := 1000000016225433102772390641 }
- case 6682 { rate := 1000000016227333998525638003 }
- case 6683 { rate := 1000000016229234780333391936 }
- case 6684 { rate := 1000000016231135448209312105 }
- case 6685 { rate := 1000000016233036002167055714 }
- case 6686 { rate := 1000000016234936442220277518 }
- case 6687 { rate := 1000000016236836768382629809 }
- case 6688 { rate := 1000000016238736980667762431 }
- case 6689 { rate := 1000000016240637079089322772 }
- case 6690 { rate := 1000000016242537063660955766 }
- case 6691 { rate := 1000000016244436934396303896 }
- case 6692 { rate := 1000000016246336691309007193 }
- case 6693 { rate := 1000000016248236334412703235 }
- case 6694 { rate := 1000000016250135863721027150 }
- case 6695 { rate := 1000000016252035279247611617 }
- case 6696 { rate := 1000000016253934581006086862 }
- case 6697 { rate := 1000000016255833769010080666 }
- case 6698 { rate := 1000000016257732843273218361 }
- case 6699 { rate := 1000000016259631803809122826 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 6700-6799
- switch gt(bps, 6749)
- case 0 { // 6700-6749
- switch gt(bps, 6724)
- case 0 { // 6700-6724
- switch bps
- case 6700 { rate := 1000000016261530650631414500 }
- case 6701 { rate := 1000000016263429383753711370 }
- case 6702 { rate := 1000000016265328003189628979 }
- case 6703 { rate := 1000000016267226508952780424 }
- case 6704 { rate := 1000000016269124901056776358 }
- case 6705 { rate := 1000000016271023179515224989 }
- case 6706 { rate := 1000000016272921344341732080 }
- case 6707 { rate := 1000000016274819395549900951 }
- case 6708 { rate := 1000000016276717333153332483 }
- case 6709 { rate := 1000000016278615157165625110 }
- case 6710 { rate := 1000000016280512867600374827 }
- case 6711 { rate := 1000000016282410464471175189 }
- case 6712 { rate := 1000000016284307947791617308 }
- case 6713 { rate := 1000000016286205317575289861 }
- case 6714 { rate := 1000000016288102573835779079 }
- case 6715 { rate := 1000000016289999716586668760 }
- case 6716 { rate := 1000000016291896745841540263 }
- case 6717 { rate := 1000000016293793661613972507 }
- case 6718 { rate := 1000000016295690463917541979 }
- case 6719 { rate := 1000000016297587152765822726 }
- case 6720 { rate := 1000000016299483728172386359 }
- case 6721 { rate := 1000000016301380190150802056 }
- case 6722 { rate := 1000000016303276538714636561 }
- case 6723 { rate := 1000000016305172773877454184 }
- case 6724 { rate := 1000000016307068895652816797 }
- default { revert(0, 0) }
- }
- case 1 { // 6725-6749
- switch bps
- case 6725 { rate := 1000000016308964904054283846 }
- case 6726 { rate := 1000000016310860799095412343 }
- case 6727 { rate := 1000000016312756580789756865 }
- case 6728 { rate := 1000000016314652249150869561 }
- case 6729 { rate := 1000000016316547804192300151 }
- case 6730 { rate := 1000000016318443245927595921 }
- case 6731 { rate := 1000000016320338574370301732 }
- case 6732 { rate := 1000000016322233789533960012 }
- case 6733 { rate := 1000000016324128891432110768 }
- case 6734 { rate := 1000000016326023880078291569 }
- case 6735 { rate := 1000000016327918755486037569 }
- case 6736 { rate := 1000000016329813517668881487 }
- case 6737 { rate := 1000000016331708166640353619 }
- case 6738 { rate := 1000000016333602702413981835 }
- case 6739 { rate := 1000000016335497125003291584 }
- case 6740 { rate := 1000000016337391434421805887 }
- case 6741 { rate := 1000000016339285630683045343 }
- case 6742 { rate := 1000000016341179713800528128 }
- case 6743 { rate := 1000000016343073683787769996 }
- case 6744 { rate := 1000000016344967540658284281 }
- case 6745 { rate := 1000000016346861284425581891 }
- case 6746 { rate := 1000000016348754915103171319 }
- case 6747 { rate := 1000000016350648432704558634 }
- case 6748 { rate := 1000000016352541837243247489 }
- case 6749 { rate := 1000000016354435128732739115 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 6750-6799
- switch gt(bps, 6774)
- case 0 { // 6750-6774
- switch bps
- case 6750 { rate := 1000000016356328307186532328 }
- case 6751 { rate := 1000000016358221372618123524 }
- case 6752 { rate := 1000000016360114325041006682 }
- case 6753 { rate := 1000000016362007164468673366 }
- case 6754 { rate := 1000000016363899890914612724 }
- case 6755 { rate := 1000000016365792504392311486 }
- case 6756 { rate := 1000000016367685004915253971 }
- case 6757 { rate := 1000000016369577392496922081 }
- case 6758 { rate := 1000000016371469667150795306 }
- case 6759 { rate := 1000000016373361828890350723 }
- case 6760 { rate := 1000000016375253877729062995 }
- case 6761 { rate := 1000000016377145813680404375 }
- case 6762 { rate := 1000000016379037636757844703 }
- case 6763 { rate := 1000000016380929346974851411 }
- case 6764 { rate := 1000000016382820944344889517 }
- case 6765 { rate := 1000000016384712428881421632 }
- case 6766 { rate := 1000000016386603800597907959 }
- case 6767 { rate := 1000000016388495059507806289 }
- case 6768 { rate := 1000000016390386205624572010 }
- case 6769 { rate := 1000000016392277238961658097 }
- case 6770 { rate := 1000000016394168159532515122 }
- case 6771 { rate := 1000000016396058967350591252 }
- case 6772 { rate := 1000000016397949662429332245 }
- case 6773 { rate := 1000000016399840244782181456 }
- case 6774 { rate := 1000000016401730714422579836 }
- default { revert(0, 0) }
- }
- case 1 { // 6775-6799
- switch bps
- case 6775 { rate := 1000000016403621071363965932 }
- case 6776 { rate := 1000000016405511315619775885 }
- case 6777 { rate := 1000000016407401447203443437 }
- case 6778 { rate := 1000000016409291466128399927 }
- case 6779 { rate := 1000000016411181372408074291 }
- case 6780 { rate := 1000000016413071166055893066 }
- case 6781 { rate := 1000000016414960847085280386 }
- case 6782 { rate := 1000000016416850415509657988 }
- case 6783 { rate := 1000000016418739871342445209 }
- case 6784 { rate := 1000000016420629214597058985 }
- case 6785 { rate := 1000000016422518445286913858 }
- case 6786 { rate := 1000000016424407563425421969 }
- case 6787 { rate := 1000000016426296569025993065 }
- case 6788 { rate := 1000000016428185462102034492 }
- case 6789 { rate := 1000000016430074242666951206 }
- case 6790 { rate := 1000000016431962910734145763 }
- case 6791 { rate := 1000000016433851466317018328 }
- case 6792 { rate := 1000000016435739909428966668 }
- case 6793 { rate := 1000000016437628240083386160 }
- case 6794 { rate := 1000000016439516458293669787 }
- case 6795 { rate := 1000000016441404564073208138 }
- case 6796 { rate := 1000000016443292557435389412 }
- case 6797 { rate := 1000000016445180438393599417 }
- case 6798 { rate := 1000000016447068206961221569 }
- case 6799 { rate := 1000000016448955863151636894 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 6800-7199
- switch gt(bps, 6999)
- case 0 { // 6800-6999
- switch gt(bps, 6899)
- case 0 { // 6800-6899
- switch gt(bps, 6849)
- case 0 { // 6800-6849
- switch gt(bps, 6824)
- case 0 { // 6800-6824
- switch bps
- case 6800 { rate := 1000000016450843406978224029 }
- case 6801 { rate := 1000000016452730838454359222 }
- case 6802 { rate := 1000000016454618157593416334 }
- case 6803 { rate := 1000000016456505364408766833 }
- case 6804 { rate := 1000000016458392458913779807 }
- case 6805 { rate := 1000000016460279441121821953 }
- case 6806 { rate := 1000000016462166311046257581 }
- case 6807 { rate := 1000000016464053068700448618 }
- case 6808 { rate := 1000000016465939714097754606 }
- case 6809 { rate := 1000000016467826247251532699 }
- case 6810 { rate := 1000000016469712668175137672 }
- case 6811 { rate := 1000000016471598976881921914 }
- case 6812 { rate := 1000000016473485173385235432 }
- case 6813 { rate := 1000000016475371257698425850 }
- case 6814 { rate := 1000000016477257229834838411 }
- case 6815 { rate := 1000000016479143089807815977 }
- case 6816 { rate := 1000000016481028837630699030 }
- case 6817 { rate := 1000000016482914473316825670 }
- case 6818 { rate := 1000000016484799996879531621 }
- case 6819 { rate := 1000000016486685408332150226 }
- case 6820 { rate := 1000000016488570707688012450 }
- case 6821 { rate := 1000000016490455894960446883 }
- case 6822 { rate := 1000000016492340970162779731 }
- case 6823 { rate := 1000000016494225933308334832 }
- case 6824 { rate := 1000000016496110784410433643 }
- default { revert(0, 0) }
- }
- case 1 { // 6825-6849
- switch bps
- case 6825 { rate := 1000000016497995523482395247 }
- case 6826 { rate := 1000000016499880150537536351 }
- case 6827 { rate := 1000000016501764665589171290 }
- case 6828 { rate := 1000000016503649068650612025 }
- case 6829 { rate := 1000000016505533359735168140 }
- case 6830 { rate := 1000000016507417538856146852 }
- case 6831 { rate := 1000000016509301606026853003 }
- case 6832 { rate := 1000000016511185561260589063 }
- case 6833 { rate := 1000000016513069404570655134 }
- case 6834 { rate := 1000000016514953135970348945 }
- case 6835 { rate := 1000000016516836755472965855 }
- case 6836 { rate := 1000000016518720263091798857 }
- case 6837 { rate := 1000000016520603658840138572 }
- case 6838 { rate := 1000000016522486942731273255 }
- case 6839 { rate := 1000000016524370114778488794 }
- case 6840 { rate := 1000000016526253174995068707 }
- case 6841 { rate := 1000000016528136123394294149 }
- case 6842 { rate := 1000000016530018959989443907 }
- case 6843 { rate := 1000000016531901684793794404 }
- case 6844 { rate := 1000000016533784297820619698 }
- case 6845 { rate := 1000000016535666799083191483 }
- case 6846 { rate := 1000000016537549188594779088 }
- case 6847 { rate := 1000000016539431466368649483 }
- case 6848 { rate := 1000000016541313632418067271 }
- case 6849 { rate := 1000000016543195686756294694 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 6850-6899
- switch gt(bps, 6874)
- case 0 { // 6850-6874
- switch bps
- case 6850 { rate := 1000000016545077629396591637 }
- case 6851 { rate := 1000000016546959460352215619 }
- case 6852 { rate := 1000000016548841179636421799 }
- case 6853 { rate := 1000000016550722787262462982 }
- case 6854 { rate := 1000000016552604283243589608 }
- case 6855 { rate := 1000000016554485667593049761 }
- case 6856 { rate := 1000000016556366940324089165 }
- case 6857 { rate := 1000000016558248101449951192 }
- case 6858 { rate := 1000000016560129150983876850 }
- case 6859 { rate := 1000000016562010088939104796 }
- case 6860 { rate := 1000000016563890915328871330 }
- case 6861 { rate := 1000000016565771630166410395 }
- case 6862 { rate := 1000000016567652233464953581 }
- case 6863 { rate := 1000000016569532725237730125 }
- case 6864 { rate := 1000000016571413105497966909 }
- case 6865 { rate := 1000000016573293374258888461 }
- case 6866 { rate := 1000000016575173531533716960 }
- case 6867 { rate := 1000000016577053577335672229 }
- case 6868 { rate := 1000000016578933511677971744 }
- case 6869 { rate := 1000000016580813334573830628 }
- case 6870 { rate := 1000000016582693046036461653 }
- case 6871 { rate := 1000000016584572646079075244 }
- case 6872 { rate := 1000000016586452134714879475 }
- case 6873 { rate := 1000000016588331511957080072 }
- case 6874 { rate := 1000000016590210777818880415 }
- default { revert(0, 0) }
- }
- case 1 { // 6875-6899
- switch bps
- case 6875 { rate := 1000000016592089932313481533 }
- case 6876 { rate := 1000000016593968975454082111 }
- case 6877 { rate := 1000000016595847907253878486 }
- case 6878 { rate := 1000000016597726727726064651 }
- case 6879 { rate := 1000000016599605436883832255 }
- case 6880 { rate := 1000000016601484034740370597 }
- case 6881 { rate := 1000000016603362521308866639 }
- case 6882 { rate := 1000000016605240896602504994 }
- case 6883 { rate := 1000000016607119160634467936 }
- case 6884 { rate := 1000000016608997313417935393 }
- case 6885 { rate := 1000000016610875354966084955 }
- case 6886 { rate := 1000000016612753285292091867 }
- case 6887 { rate := 1000000016614631104409129037 }
- case 6888 { rate := 1000000016616508812330367032 }
- case 6889 { rate := 1000000016618386409068974076 }
- case 6890 { rate := 1000000016620263894638116058 }
- case 6891 { rate := 1000000016622141269050956527 }
- case 6892 { rate := 1000000016624018532320656694 }
- case 6893 { rate := 1000000016625895684460375433 }
- case 6894 { rate := 1000000016627772725483269281 }
- case 6895 { rate := 1000000016629649655402492440 }
- case 6896 { rate := 1000000016631526474231196774 }
- case 6897 { rate := 1000000016633403181982531813 }
- case 6898 { rate := 1000000016635279778669644752 }
- case 6899 { rate := 1000000016637156264305680454 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 6900-6999
- switch gt(bps, 6949)
- case 0 { // 6900-6949
- switch gt(bps, 6924)
- case 0 { // 6900-6924
- switch bps
- case 6900 { rate := 1000000016639032638903781446 }
- case 6901 { rate := 1000000016640908902477087924 }
- case 6902 { rate := 1000000016642785055038737748 }
- case 6903 { rate := 1000000016644661096601866452 }
- case 6904 { rate := 1000000016646537027179607234 }
- case 6905 { rate := 1000000016648412846785090963 }
- case 6906 { rate := 1000000016650288555431446177 }
- case 6907 { rate := 1000000016652164153131799087 }
- case 6908 { rate := 1000000016654039639899273571 }
- case 6909 { rate := 1000000016655915015746991182 }
- case 6910 { rate := 1000000016657790280688071142 }
- case 6911 { rate := 1000000016659665434735630349 }
- case 6912 { rate := 1000000016661540477902783371 }
- case 6913 { rate := 1000000016663415410202642451 }
- case 6914 { rate := 1000000016665290231648317506 }
- case 6915 { rate := 1000000016667164942252916129 }
- case 6916 { rate := 1000000016669039542029543587 }
- case 6917 { rate := 1000000016670914030991302822 }
- case 6918 { rate := 1000000016672788409151294456 }
- case 6919 { rate := 1000000016674662676522616783 }
- case 6920 { rate := 1000000016676536833118365780 }
- case 6921 { rate := 1000000016678410878951635096 }
- case 6922 { rate := 1000000016680284814035516064 }
- case 6923 { rate := 1000000016682158638383097695 }
- case 6924 { rate := 1000000016684032352007466677 }
- default { revert(0, 0) }
- }
- case 1 { // 6925-6949
- switch bps
- case 6925 { rate := 1000000016685905954921707380 }
- case 6926 { rate := 1000000016687779447138901857 }
- case 6927 { rate := 1000000016689652828672129838 }
- case 6928 { rate := 1000000016691526099534468738 }
- case 6929 { rate := 1000000016693399259738993654 }
- case 6930 { rate := 1000000016695272309298777366 }
- case 6931 { rate := 1000000016697145248226890337 }
- case 6932 { rate := 1000000016699018076536400715 }
- case 6933 { rate := 1000000016700890794240374330 }
- case 6934 { rate := 1000000016702763401351874702 }
- case 6935 { rate := 1000000016704635897883963033 }
- case 6936 { rate := 1000000016706508283849698211 }
- case 6937 { rate := 1000000016708380559262136815 }
- case 6938 { rate := 1000000016710252724134333106 }
- case 6939 { rate := 1000000016712124778479339037 }
- case 6940 { rate := 1000000016713996722310204248 }
- case 6941 { rate := 1000000016715868555639976067 }
- case 6942 { rate := 1000000016717740278481699513 }
- case 6943 { rate := 1000000016719611890848417297 }
- case 6944 { rate := 1000000016721483392753169815 }
- case 6945 { rate := 1000000016723354784208995160 }
- case 6946 { rate := 1000000016725226065228929112 }
- case 6947 { rate := 1000000016727097235826005150 }
- case 6948 { rate := 1000000016728968296013254437 }
- case 6949 { rate := 1000000016730839245803705837 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 6950-6999
- switch gt(bps, 6974)
- case 0 { // 6950-6974
- switch bps
- case 6950 { rate := 1000000016732710085210385903 }
- case 6951 { rate := 1000000016734580814246318886 }
- case 6952 { rate := 1000000016736451432924526729 }
- case 6953 { rate := 1000000016738321941258029073 }
- case 6954 { rate := 1000000016740192339259843253 }
- case 6955 { rate := 1000000016742062626942984304 }
- case 6956 { rate := 1000000016743932804320464954 }
- case 6957 { rate := 1000000016745802871405295631 }
- case 6958 { rate := 1000000016747672828210484461 }
- case 6959 { rate := 1000000016749542674749037270 }
- case 6960 { rate := 1000000016751412411033957580 }
- case 6961 { rate := 1000000016753282037078246617 }
- case 6962 { rate := 1000000016755151552894903305 }
- case 6963 { rate := 1000000016757020958496924269 }
- case 6964 { rate := 1000000016758890253897303837 }
- case 6965 { rate := 1000000016760759439109034038 }
- case 6966 { rate := 1000000016762628514145104603 }
- case 6967 { rate := 1000000016764497479018502969 }
- case 6968 { rate := 1000000016766366333742214272 }
- case 6969 { rate := 1000000016768235078329221357 }
- case 6970 { rate := 1000000016770103712792504771 }
- case 6971 { rate := 1000000016771972237145042768 }
- case 6972 { rate := 1000000016773840651399811306 }
- case 6973 { rate := 1000000016775708955569784050 }
- case 6974 { rate := 1000000016777577149667932373 }
- default { revert(0, 0) }
- }
- case 1 { // 6975-6999
- switch bps
- case 6975 { rate := 1000000016779445233707225354 }
- case 6976 { rate := 1000000016781313207700629783 }
- case 6977 { rate := 1000000016783181071661110154 }
- case 6978 { rate := 1000000016785048825601628673 }
- case 6979 { rate := 1000000016786916469535145257 }
- case 6980 { rate := 1000000016788784003474617530 }
- case 6981 { rate := 1000000016790651427433000828 }
- case 6982 { rate := 1000000016792518741423248199 }
- case 6983 { rate := 1000000016794385945458310402 }
- case 6984 { rate := 1000000016796253039551135908 }
- case 6985 { rate := 1000000016798120023714670903 }
- case 6986 { rate := 1000000016799986897961859283 }
- case 6987 { rate := 1000000016801853662305642661 }
- case 6988 { rate := 1000000016803720316758960363 }
- case 6989 { rate := 1000000016805586861334749431 }
- case 6990 { rate := 1000000016807453296045944621 }
- case 6991 { rate := 1000000016809319620905478407 }
- case 6992 { rate := 1000000016811185835926280979 }
- case 6993 { rate := 1000000016813051941121280243 }
- case 6994 { rate := 1000000016814917936503401823 }
- case 6995 { rate := 1000000016816783822085569065 }
- case 6996 { rate := 1000000016818649597880703028 }
- case 6997 { rate := 1000000016820515263901722494 }
- case 6998 { rate := 1000000016822380820161543963 }
- case 6999 { rate := 1000000016824246266673081659 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 7000-7199
- switch gt(bps, 7099)
- case 0 { // 7000-7099
- switch gt(bps, 7049)
- case 0 { // 7000-7049
- switch gt(bps, 7024)
- case 0 { // 7000-7024
- switch bps
- case 7000 { rate := 1000000016826111603449247521 }
- case 7001 { rate := 1000000016827976830502951216 }
- case 7002 { rate := 1000000016829841947847100128 }
- case 7003 { rate := 1000000016831706955494599366 }
- case 7004 { rate := 1000000016833571853458351761 }
- case 7005 { rate := 1000000016835436641751257869 }
- case 7006 { rate := 1000000016837301320386215969 }
- case 7007 { rate := 1000000016839165889376122066 }
- case 7008 { rate := 1000000016841030348733869887 }
- case 7009 { rate := 1000000016842894698472350889 }
- case 7010 { rate := 1000000016844758938604454252 }
- case 7011 { rate := 1000000016846623069143066886 }
- case 7012 { rate := 1000000016848487090101073424 }
- case 7013 { rate := 1000000016850351001491356231 }
- case 7014 { rate := 1000000016852214803326795400 }
- case 7015 { rate := 1000000016854078495620268751 }
- case 7016 { rate := 1000000016855942078384651834 }
- case 7017 { rate := 1000000016857805551632817929 }
- case 7018 { rate := 1000000016859668915377638048 }
- case 7019 { rate := 1000000016861532169631980933 }
- case 7020 { rate := 1000000016863395314408713059 }
- case 7021 { rate := 1000000016865258349720698630 }
- case 7022 { rate := 1000000016867121275580799585 }
- case 7023 { rate := 1000000016868984092001875597 }
- case 7024 { rate := 1000000016870846798996784070 }
- default { revert(0, 0) }
- }
- case 1 { // 7025-7049
- switch bps
- case 7025 { rate := 1000000016872709396578380147 }
- case 7026 { rate := 1000000016874571884759516701 }
- case 7027 { rate := 1000000016876434263553044341 }
- case 7028 { rate := 1000000016878296532971811416 }
- case 7029 { rate := 1000000016880158693028664007 }
- case 7030 { rate := 1000000016882020743736445934 }
- case 7031 { rate := 1000000016883882685107998752 }
- case 7032 { rate := 1000000016885744517156161760 }
- case 7033 { rate := 1000000016887606239893771989 }
- case 7034 { rate := 1000000016889467853333664213 }
- case 7035 { rate := 1000000016891329357488670944 }
- case 7036 { rate := 1000000016893190752371622434 }
- case 7037 { rate := 1000000016895052037995346676 }
- case 7038 { rate := 1000000016896913214372669406 }
- case 7039 { rate := 1000000016898774281516414100 }
- case 7040 { rate := 1000000016900635239439401976 }
- case 7041 { rate := 1000000016902496088154451995 }
- case 7042 { rate := 1000000016904356827674380861 }
- case 7043 { rate := 1000000016906217458012003025 }
- case 7044 { rate := 1000000016908077979180130677 }
- case 7045 { rate := 1000000016909938391191573757 }
- case 7046 { rate := 1000000016911798694059139947 }
- case 7047 { rate := 1000000016913658887795634678 }
- case 7048 { rate := 1000000016915518972413861124 }
- case 7049 { rate := 1000000016917378947926620208 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 7050-7099
- switch gt(bps, 7074)
- case 0 { // 7050-7074
- switch bps
- case 7050 { rate := 1000000016919238814346710603 }
- case 7051 { rate := 1000000016921098571686928723 }
- case 7052 { rate := 1000000016922958219960068739 }
- case 7053 { rate := 1000000016924817759178922565 }
- case 7054 { rate := 1000000016926677189356279869 }
- case 7055 { rate := 1000000016928536510504928066 }
- case 7056 { rate := 1000000016930395722637652322 }
- case 7057 { rate := 1000000016932254825767235558 }
- case 7058 { rate := 1000000016934113819906458442 }
- case 7059 { rate := 1000000016935972705068099396 }
- case 7060 { rate := 1000000016937831481264934596 }
- case 7061 { rate := 1000000016939690148509737971 }
- case 7062 { rate := 1000000016941548706815281202 }
- case 7063 { rate := 1000000016943407156194333727 }
- case 7064 { rate := 1000000016945265496659662739 }
- case 7065 { rate := 1000000016947123728224033182 }
- case 7066 { rate := 1000000016948981850900207763 }
- case 7067 { rate := 1000000016950839864700946939 }
- case 7068 { rate := 1000000016952697769639008929 }
- case 7069 { rate := 1000000016954555565727149706 }
- case 7070 { rate := 1000000016956413252978123003 }
- case 7071 { rate := 1000000016958270831404680312 }
- case 7072 { rate := 1000000016960128301019570884 }
- case 7073 { rate := 1000000016961985661835541727 }
- case 7074 { rate := 1000000016963842913865337612 }
- default { revert(0, 0) }
- }
- case 1 { // 7075-7099
- switch bps
- case 7075 { rate := 1000000016965700057121701072 }
- case 7076 { rate := 1000000016967557091617372397 }
- case 7077 { rate := 1000000016969414017365089642 }
- case 7078 { rate := 1000000016971270834377588623 }
- case 7079 { rate := 1000000016973127542667602920 }
- case 7080 { rate := 1000000016974984142247863875 }
- case 7081 { rate := 1000000016976840633131100595 }
- case 7082 { rate := 1000000016978697015330039950 }
- case 7083 { rate := 1000000016980553288857406577 }
- case 7084 { rate := 1000000016982409453725922877 }
- case 7085 { rate := 1000000016984265509948309016 }
- case 7086 { rate := 1000000016986121457537282929 }
- case 7087 { rate := 1000000016987977296505560317 }
- case 7088 { rate := 1000000016989833026865854647 }
- case 7089 { rate := 1000000016991688648630877157 }
- case 7090 { rate := 1000000016993544161813336850 }
- case 7091 { rate := 1000000016995399566425940502 }
- case 7092 { rate := 1000000016997254862481392657 }
- case 7093 { rate := 1000000016999110049992395626 }
- case 7094 { rate := 1000000017000965128971649496 }
- case 7095 { rate := 1000000017002820099431852122 }
- case 7096 { rate := 1000000017004674961385699132 }
- case 7097 { rate := 1000000017006529714845883924 }
- case 7098 { rate := 1000000017008384359825097672 }
- case 7099 { rate := 1000000017010238896336029322 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 7100-7199
- switch gt(bps, 7149)
- case 0 { // 7100-7149
- switch gt(bps, 7124)
- case 0 { // 7100-7124
- switch bps
- case 7100 { rate := 1000000017012093324391365593 }
- case 7101 { rate := 1000000017013947644003790979 }
- case 7102 { rate := 1000000017015801855185987748 }
- case 7103 { rate := 1000000017017655957950635945 }
- case 7104 { rate := 1000000017019509952310413390 }
- case 7105 { rate := 1000000017021363838277995678 }
- case 7106 { rate := 1000000017023217615866056185 }
- case 7107 { rate := 1000000017025071285087266058 }
- case 7108 { rate := 1000000017026924845954294229 }
- case 7109 { rate := 1000000017028778298479807404 }
- case 7110 { rate := 1000000017030631642676470068 }
- case 7111 { rate := 1000000017032484878556944490 }
- case 7112 { rate := 1000000017034338006133890711 }
- case 7113 { rate := 1000000017036191025419966563 }
- case 7114 { rate := 1000000017038043936427827649 }
- case 7115 { rate := 1000000017039896739170127359 }
- case 7116 { rate := 1000000017041749433659516866 }
- case 7117 { rate := 1000000017043602019908645121 }
- case 7118 { rate := 1000000017045454497930158862 }
- case 7119 { rate := 1000000017047306867736702611 }
- case 7120 { rate := 1000000017049159129340918671 }
- case 7121 { rate := 1000000017051011282755447132 }
- case 7122 { rate := 1000000017052863327992925869 }
- case 7123 { rate := 1000000017054715265065990543 }
- case 7124 { rate := 1000000017056567093987274599 }
- default { revert(0, 0) }
- }
- case 1 { // 7125-7149
- switch bps
- case 7125 { rate := 1000000017058418814769409273 }
- case 7126 { rate := 1000000017060270427425023583 }
- case 7127 { rate := 1000000017062121931966744339 }
- case 7128 { rate := 1000000017063973328407196139 }
- case 7129 { rate := 1000000017065824616759001367 }
- case 7130 { rate := 1000000017067675797034780199 }
- case 7131 { rate := 1000000017069526869247150599 }
- case 7132 { rate := 1000000017071377833408728323 }
- case 7133 { rate := 1000000017073228689532126918 }
- case 7134 { rate := 1000000017075079437629957721 }
- case 7135 { rate := 1000000017076930077714829862 }
- case 7136 { rate := 1000000017078780609799350263 }
- case 7137 { rate := 1000000017080631033896123639 }
- case 7138 { rate := 1000000017082481350017752499 }
- case 7139 { rate := 1000000017084331558176837145 }
- case 7140 { rate := 1000000017086181658385975674 }
- case 7141 { rate := 1000000017088031650657763979 }
- case 7142 { rate := 1000000017089881535004795747 }
- case 7143 { rate := 1000000017091731311439662461 }
- case 7144 { rate := 1000000017093580979974953404 }
- case 7145 { rate := 1000000017095430540623255651 }
- case 7146 { rate := 1000000017097279993397154077 }
- case 7147 { rate := 1000000017099129338309231355 }
- case 7148 { rate := 1000000017100978575372067958 }
- case 7149 { rate := 1000000017102827704598242158 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 7150-7199
- switch gt(bps, 7174)
- case 0 { // 7150-7174
- switch bps
- case 7150 { rate := 1000000017104676726000330021 }
- case 7151 { rate := 1000000017106525639590905422 }
- case 7152 { rate := 1000000017108374445382540031 }
- case 7153 { rate := 1000000017110223143387803320 }
- case 7154 { rate := 1000000017112071733619262563 }
- case 7155 { rate := 1000000017113920216089482839 }
- case 7156 { rate := 1000000017115768590811027024 }
- case 7157 { rate := 1000000017117616857796455803 }
- case 7158 { rate := 1000000017119465017058327660 }
- case 7159 { rate := 1000000017121313068609198888 }
- case 7160 { rate := 1000000017123161012461623580 }
- case 7161 { rate := 1000000017125008848628153638 }
- case 7162 { rate := 1000000017126856577121338769 }
- case 7163 { rate := 1000000017128704197953726483 }
- case 7164 { rate := 1000000017130551711137862102 }
- case 7165 { rate := 1000000017132399116686288751 }
- case 7166 { rate := 1000000017134246414611547366 }
- case 7167 { rate := 1000000017136093604926176691 }
- case 7168 { rate := 1000000017137940687642713275 }
- case 7169 { rate := 1000000017139787662773691483 }
- case 7170 { rate := 1000000017141634530331643482 }
- case 7171 { rate := 1000000017143481290329099258 }
- case 7172 { rate := 1000000017145327942778586600 }
- case 7173 { rate := 1000000017147174487692631114 }
- case 7174 { rate := 1000000017149020925083756215 }
- default { revert(0, 0) }
- }
- case 1 { // 7175-7199
- switch bps
- case 7175 { rate := 1000000017150867254964483131 }
- case 7176 { rate := 1000000017152713477347330904 }
- case 7177 { rate := 1000000017154559592244816389 }
- case 7178 { rate := 1000000017156405599669454253 }
- case 7179 { rate := 1000000017158251499633756981 }
- case 7180 { rate := 1000000017160097292150234871 }
- case 7181 { rate := 1000000017161942977231396035 }
- case 7182 { rate := 1000000017163788554889746405 }
- case 7183 { rate := 1000000017165634025137789725 }
- case 7184 { rate := 1000000017167479387988027559 }
- case 7185 { rate := 1000000017169324643452959289 }
- case 7186 { rate := 1000000017171169791545082111 }
- case 7187 { rate := 1000000017173014832276891044 }
- case 7188 { rate := 1000000017174859765660878925 }
- case 7189 { rate := 1000000017176704591709536409 }
- case 7190 { rate := 1000000017178549310435351971 }
- case 7191 { rate := 1000000017180393921850811909 }
- case 7192 { rate := 1000000017182238425968400340 }
- case 7193 { rate := 1000000017184082822800599204 }
- case 7194 { rate := 1000000017185927112359888261 }
- case 7195 { rate := 1000000017187771294658745097 }
- case 7196 { rate := 1000000017189615369709645117 }
- case 7197 { rate := 1000000017191459337525061551 }
- case 7198 { rate := 1000000017193303198117465456 }
- case 7199 { rate := 1000000017195146951499325710 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- }
-}
\ No newline at end of file
diff --git a/src/repositories/Rates7200To7999.sol b/src/repositories/Rates7200To7999.sol
deleted file mode 100644
index 4526207..0000000
--- a/src/repositories/Rates7200To7999.sol
+++ /dev/null
@@ -1,1065 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity 0.8.19;
-
-contract Rates7200To7999 {
- uint256 constant public MIN = 7200;
- uint256 constant public MAX = 7999;
-
- function turn(uint256 bps) external pure returns (uint256 rate) {
- if (bps > MAX) revert();
- if (bps < MIN) revert();
-
- assembly {
- switch gt(bps, 7599)
- case 0 { // 7200-7599
- switch gt(bps, 7399)
- case 0 { // 7200-7399
- switch gt(bps, 7299)
- case 0 { // 7200-7299
- switch gt(bps, 7249)
- case 0 { // 7200-7249
- switch gt(bps, 7224)
- case 0 { // 7200-7224
- switch bps
- case 7200 { rate := 1000000017196990597683109018 }
- case 7201 { rate := 1000000017198834136681279909 }
- case 7202 { rate := 1000000017200677568506300742 }
- case 7203 { rate := 1000000017202520893170631697 }
- case 7204 { rate := 1000000017204364110686730786 }
- case 7205 { rate := 1000000017206207221067053846 }
- case 7206 { rate := 1000000017208050224324054541 }
- case 7207 { rate := 1000000017209893120470184369 }
- case 7208 { rate := 1000000017211735909517892653 }
- case 7209 { rate := 1000000017213578591479626545 }
- case 7210 { rate := 1000000017215421166367831029 }
- case 7211 { rate := 1000000017217263634194948920 }
- case 7212 { rate := 1000000017219105994973420864 }
- case 7213 { rate := 1000000017220948248715685336 }
- case 7214 { rate := 1000000017222790395434178647 }
- case 7215 { rate := 1000000017224632435141334939 }
- case 7216 { rate := 1000000017226474367849586187 }
- case 7217 { rate := 1000000017228316193571362200 }
- case 7218 { rate := 1000000017230157912319090621 }
- case 7219 { rate := 1000000017231999524105196929 }
- case 7220 { rate := 1000000017233841028942104436 }
- case 7221 { rate := 1000000017235682426842234291 }
- case 7222 { rate := 1000000017237523717818005480 }
- case 7223 { rate := 1000000017239364901881834825 }
- case 7224 { rate := 1000000017241205979046136983 }
- default { revert(0, 0) }
- }
- case 1 { // 7225-7249
- switch bps
- case 7225 { rate := 1000000017243046949323324453 }
- case 7226 { rate := 1000000017244887812725807569 }
- case 7227 { rate := 1000000017246728569265994504 }
- case 7228 { rate := 1000000017248569218956291274 }
- case 7229 { rate := 1000000017250409761809101729 }
- case 7230 { rate := 1000000017252250197836827562 }
- case 7231 { rate := 1000000017254090527051868307 }
- case 7232 { rate := 1000000017255930749466621341 }
- case 7233 { rate := 1000000017257770865093481878 }
- case 7234 { rate := 1000000017259610873944842979 }
- case 7235 { rate := 1000000017261450776033095544 }
- case 7236 { rate := 1000000017263290571370628319 }
- case 7237 { rate := 1000000017265130259969827893 }
- case 7238 { rate := 1000000017266969841843078698 }
- case 7239 { rate := 1000000017268809317002763012 }
- case 7240 { rate := 1000000017270648685461260960 }
- case 7241 { rate := 1000000017272487947230950506 }
- case 7242 { rate := 1000000017274327102324207470 }
- case 7243 { rate := 1000000017276166150753405511 }
- case 7244 { rate := 1000000017278005092530916139 }
- case 7245 { rate := 1000000017279843927669108709 }
- case 7246 { rate := 1000000017281682656180350428 }
- case 7247 { rate := 1000000017283521278077006348 }
- case 7248 { rate := 1000000017285359793371439374 }
- case 7249 { rate := 1000000017287198202076010256 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 7250-7299
- switch gt(bps, 7274)
- case 0 { // 7250-7274
- switch bps
- case 7250 { rate := 1000000017289036504203077600 }
- case 7251 { rate := 1000000017290874699764997857 }
- case 7252 { rate := 1000000017292712788774125333 }
- case 7253 { rate := 1000000017294550771242812185 }
- case 7254 { rate := 1000000017296388647183408421 }
- case 7255 { rate := 1000000017298226416608261903 }
- case 7256 { rate := 1000000017300064079529718345 }
- case 7257 { rate := 1000000017301901635960121318 }
- case 7258 { rate := 1000000017303739085911812243 }
- case 7259 { rate := 1000000017305576429397130398 }
- case 7260 { rate := 1000000017307413666428412915 }
- case 7261 { rate := 1000000017309250797017994782 }
- case 7262 { rate := 1000000017311087821178208846 }
- case 7263 { rate := 1000000017312924738921385806 }
- case 7264 { rate := 1000000017314761550259854221 }
- case 7265 { rate := 1000000017316598255205940510 }
- case 7266 { rate := 1000000017318434853771968943 }
- case 7267 { rate := 1000000017320271345970261657 }
- case 7268 { rate := 1000000017322107731813138642 }
- case 7269 { rate := 1000000017323944011312917751 }
- case 7270 { rate := 1000000017325780184481914696 }
- case 7271 { rate := 1000000017327616251332443050 }
- case 7272 { rate := 1000000017329452211876814248 }
- case 7273 { rate := 1000000017331288066127337584 }
- case 7274 { rate := 1000000017333123814096320217 }
- default { revert(0, 0) }
- }
- case 1 { // 7275-7299
- switch bps
- case 7275 { rate := 1000000017334959455796067168 }
- case 7276 { rate := 1000000017336794991238881320 }
- case 7277 { rate := 1000000017338630420437063420 }
- case 7278 { rate := 1000000017340465743402912081 }
- case 7279 { rate := 1000000017342300960148723777 }
- case 7280 { rate := 1000000017344136070686792852 }
- case 7281 { rate := 1000000017345971075029411511 }
- case 7282 { rate := 1000000017347805973188869827 }
- case 7283 { rate := 1000000017349640765177455741 }
- case 7284 { rate := 1000000017351475451007455060 }
- case 7285 { rate := 1000000017353310030691151455 }
- case 7286 { rate := 1000000017355144504240826473 }
- case 7287 { rate := 1000000017356978871668759522 }
- case 7288 { rate := 1000000017358813132987227884 }
- case 7289 { rate := 1000000017360647288208506708 }
- case 7290 { rate := 1000000017362481337344869013 }
- case 7291 { rate := 1000000017364315280408585691 }
- case 7292 { rate := 1000000017366149117411925502 }
- case 7293 { rate := 1000000017367982848367155079 }
- case 7294 { rate := 1000000017369816473286538927 }
- case 7295 { rate := 1000000017371649992182339426 }
- case 7296 { rate := 1000000017373483405066816824 }
- case 7297 { rate := 1000000017375316711952229244 }
- case 7298 { rate := 1000000017377149912850832687 }
- case 7299 { rate := 1000000017378983007774881025 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 7300-7399
- switch gt(bps, 7349)
- case 0 { // 7300-7349
- switch gt(bps, 7324)
- case 0 { // 7300-7324
- switch bps
- case 7300 { rate := 1000000017380815996736626004 }
- case 7301 { rate := 1000000017382648879748317248 }
- case 7302 { rate := 1000000017384481656822202255 }
- case 7303 { rate := 1000000017386314327970526403 }
- case 7304 { rate := 1000000017388146893205532943 }
- case 7305 { rate := 1000000017389979352539463003 }
- case 7306 { rate := 1000000017391811705984555594 }
- case 7307 { rate := 1000000017393643953553047601 }
- case 7308 { rate := 1000000017395476095257173788 }
- case 7309 { rate := 1000000017397308131109166801 }
- case 7310 { rate := 1000000017399140061121257164 }
- case 7311 { rate := 1000000017400971885305673282 }
- case 7312 { rate := 1000000017402803603674641440 }
- case 7313 { rate := 1000000017404635216240385805 }
- case 7314 { rate := 1000000017406466723015128428 }
- case 7315 { rate := 1000000017408298124011089238 }
- case 7316 { rate := 1000000017410129419240486051 }
- case 7317 { rate := 1000000017411960608715534563 }
- case 7318 { rate := 1000000017413791692448448355 }
- case 7319 { rate := 1000000017415622670451438895 }
- case 7320 { rate := 1000000017417453542736715530 }
- case 7321 { rate := 1000000017419284309316485497 }
- case 7322 { rate := 1000000017421114970202953919 }
- case 7323 { rate := 1000000017422945525408323801 }
- case 7324 { rate := 1000000017424775974944796039 }
- default { revert(0, 0) }
- }
- case 1 { // 7325-7349
- switch bps
- case 7325 { rate := 1000000017426606318824569415 }
- case 7326 { rate := 1000000017428436557059840598 }
- case 7327 { rate := 1000000017430266689662804144 }
- case 7328 { rate := 1000000017432096716645652500 }
- case 7329 { rate := 1000000017433926638020576003 }
- case 7330 { rate := 1000000017435756453799762877 }
- case 7331 { rate := 1000000017437586163995399235 }
- case 7332 { rate := 1000000017439415768619669087 }
- case 7333 { rate := 1000000017441245267684754328 }
- case 7334 { rate := 1000000017443074661202834746 }
- case 7335 { rate := 1000000017444903949186088022 }
- case 7336 { rate := 1000000017446733131646689731 }
- case 7337 { rate := 1000000017448562208596813336 }
- case 7338 { rate := 1000000017450391180048630201 }
- case 7339 { rate := 1000000017452220046014309577 }
- case 7340 { rate := 1000000017454048806506018613 }
- case 7341 { rate := 1000000017455877461535922354 }
- case 7342 { rate := 1000000017457706011116183737 }
- case 7343 { rate := 1000000017459534455258963600 }
- case 7344 { rate := 1000000017461362793976420670 }
- case 7345 { rate := 1000000017463191027280711580 }
- case 7346 { rate := 1000000017465019155183990853 }
- case 7347 { rate := 1000000017466847177698410915 }
- case 7348 { rate := 1000000017468675094836122086 }
- case 7349 { rate := 1000000017470502906609272589 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 7350-7399
- switch gt(bps, 7374)
- case 0 { // 7350-7374
- switch bps
- case 7350 { rate := 1000000017472330613030008543 }
- case 7351 { rate := 1000000017474158214110473970 }
- case 7352 { rate := 1000000017475985709862810789 }
- case 7353 { rate := 1000000017477813100299158823 }
- case 7354 { rate := 1000000017479640385431655794 }
- case 7355 { rate := 1000000017481467565272437328 }
- case 7356 { rate := 1000000017483294639833636950 }
- case 7357 { rate := 1000000017485121609127386092 }
- case 7358 { rate := 1000000017486948473165814085 }
- case 7359 { rate := 1000000017488775231961048167 }
- case 7360 { rate := 1000000017490601885525213478 }
- case 7361 { rate := 1000000017492428433870433064 }
- case 7362 { rate := 1000000017494254877008827878 }
- case 7363 { rate := 1000000017496081214952516772 }
- case 7364 { rate := 1000000017497907447713616513 }
- case 7365 { rate := 1000000017499733575304241768 }
- case 7366 { rate := 1000000017501559597736505115 }
- case 7367 { rate := 1000000017503385515022517037 }
- case 7368 { rate := 1000000017505211327174385925 }
- case 7369 { rate := 1000000017507037034204218081 }
- case 7370 { rate := 1000000017508862636124117716 }
- case 7371 { rate := 1000000017510688132946186946 }
- case 7372 { rate := 1000000017512513524682525802 }
- case 7373 { rate := 1000000017514338811345232225 }
- case 7374 { rate := 1000000017516163992946402063 }
- default { revert(0, 0) }
- }
- case 1 { // 7375-7399
- switch bps
- case 7375 { rate := 1000000017517989069498129080 }
- case 7376 { rate := 1000000017519814041012504950 }
- case 7377 { rate := 1000000017521638907501619258 }
- case 7378 { rate := 1000000017523463668977559505 }
- case 7379 { rate := 1000000017525288325452411102 }
- case 7380 { rate := 1000000017527112876938257378 }
- case 7381 { rate := 1000000017528937323447179572 }
- case 7382 { rate := 1000000017530761664991256840 }
- case 7383 { rate := 1000000017532585901582566253 }
- case 7384 { rate := 1000000017534410033233182798 }
- case 7385 { rate := 1000000017536234059955179379 }
- case 7386 { rate := 1000000017538057981760626814 }
- case 7387 { rate := 1000000017539881798661593840 }
- case 7388 { rate := 1000000017541705510670147114 }
- case 7389 { rate := 1000000017543529117798351206 }
- case 7390 { rate := 1000000017545352620058268609 }
- case 7391 { rate := 1000000017547176017461959733 }
- case 7392 { rate := 1000000017548999310021482909 }
- case 7393 { rate := 1000000017550822497748894386 }
- case 7394 { rate := 1000000017552645580656248336 }
- case 7395 { rate := 1000000017554468558755596849 }
- case 7396 { rate := 1000000017556291432058989941 }
- case 7397 { rate := 1000000017558114200578475546 }
- case 7398 { rate := 1000000017559936864326099522 }
- case 7399 { rate := 1000000017561759423313905650 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 7400-7599
- switch gt(bps, 7499)
- case 0 { // 7400-7499
- switch gt(bps, 7449)
- case 0 { // 7400-7449
- switch gt(bps, 7424)
- case 0 { // 7400-7424
- switch bps
- case 7400 { rate := 1000000017563581877553935633 }
- case 7401 { rate := 1000000017565404227058229101 }
- case 7402 { rate := 1000000017567226471838823606 }
- case 7403 { rate := 1000000017569048611907754624 }
- case 7404 { rate := 1000000017570870647277055559 }
- case 7405 { rate := 1000000017572692577958757738 }
- case 7406 { rate := 1000000017574514403964890419 }
- case 7407 { rate := 1000000017576336125307480780 }
- case 7408 { rate := 1000000017578157741998553932 }
- case 7409 { rate := 1000000017579979254050132911 }
- case 7410 { rate := 1000000017581800661474238681 }
- case 7411 { rate := 1000000017583621964282890136 }
- case 7412 { rate := 1000000017585443162488104098 }
- case 7413 { rate := 1000000017587264256101895320 }
- case 7414 { rate := 1000000017589085245136276485 }
- case 7415 { rate := 1000000017590906129603258203 }
- case 7416 { rate := 1000000017592726909514849021 }
- case 7417 { rate := 1000000017594547584883055411 }
- case 7418 { rate := 1000000017596368155719881784 }
- case 7419 { rate := 1000000017598188622037330478 }
- case 7420 { rate := 1000000017600008983847401766 }
- case 7421 { rate := 1000000017601829241162093854 }
- case 7422 { rate := 1000000017603649393993402882 }
- case 7423 { rate := 1000000017605469442353322925 }
- case 7424 { rate := 1000000017607289386253845993 }
- default { revert(0, 0) }
- }
- case 1 { // 7425-7449
- switch bps
- case 7425 { rate := 1000000017609109225706962029 }
- case 7426 { rate := 1000000017610928960724658915 }
- case 7427 { rate := 1000000017612748591318922467 }
- case 7428 { rate := 1000000017614568117501736438 }
- case 7429 { rate := 1000000017616387539285082519 }
- case 7430 { rate := 1000000017618206856680940339 }
- case 7431 { rate := 1000000017620026069701287465 }
- case 7432 { rate := 1000000017621845178358099399 }
- case 7433 { rate := 1000000017623664182663349590 }
- case 7434 { rate := 1000000017625483082629009418 }
- case 7435 { rate := 1000000017627301878267048209 }
- case 7436 { rate := 1000000017629120569589433226 }
- case 7437 { rate := 1000000017630939156608129676 }
- case 7438 { rate := 1000000017632757639335100704 }
- case 7439 { rate := 1000000017634576017782307401 }
- case 7440 { rate := 1000000017636394291961708797 }
- case 7441 { rate := 1000000017638212461885261865 }
- case 7442 { rate := 1000000017640030527564921525 }
- case 7443 { rate := 1000000017641848489012640637 }
- case 7444 { rate := 1000000017643666346240370005 }
- case 7445 { rate := 1000000017645484099260058384 }
- case 7446 { rate := 1000000017647301748083652465 }
- case 7447 { rate := 1000000017649119292723096891 }
- case 7448 { rate := 1000000017650936733190334250 }
- case 7449 { rate := 1000000017652754069497305076 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 7450-7499
- switch gt(bps, 7474)
- case 0 { // 7450-7474
- switch bps
- case 7450 { rate := 1000000017654571301655947851 }
- case 7451 { rate := 1000000017656388429678199002 }
- case 7452 { rate := 1000000017658205453575992908 }
- case 7453 { rate := 1000000017660022373361261892 }
- case 7454 { rate := 1000000017661839189045936232 }
- case 7455 { rate := 1000000017663655900641944150 }
- case 7456 { rate := 1000000017665472508161211819 }
- case 7457 { rate := 1000000017667289011615663365 }
- case 7458 { rate := 1000000017669105411017220864 }
- case 7459 { rate := 1000000017670921706377804340 }
- case 7460 { rate := 1000000017672737897709331773 }
- case 7461 { rate := 1000000017674553985023719095 }
- case 7462 { rate := 1000000017676369968332880187 }
- case 7463 { rate := 1000000017678185847648726887 }
- case 7464 { rate := 1000000017680001622983168986 }
- case 7465 { rate := 1000000017681817294348114228 }
- case 7466 { rate := 1000000017683632861755468312 }
- case 7467 { rate := 1000000017685448325217134893 }
- case 7468 { rate := 1000000017687263684745015581 }
- case 7469 { rate := 1000000017689078940351009940 }
- case 7470 { rate := 1000000017690894092047015496 }
- case 7471 { rate := 1000000017692709139844927726 }
- case 7472 { rate := 1000000017694524083756640068 }
- case 7473 { rate := 1000000017696338923794043916 }
- case 7474 { rate := 1000000017698153659969028624 }
- default { revert(0, 0) }
- }
- case 1 { // 7475-7499
- switch bps
- case 7475 { rate := 1000000017699968292293481503 }
- case 7476 { rate := 1000000017701782820779287826 }
- case 7477 { rate := 1000000017703597245438330823 }
- case 7478 { rate := 1000000017705411566282491686 }
- case 7479 { rate := 1000000017707225783323649568 }
- case 7480 { rate := 1000000017709039896573681579 }
- case 7481 { rate := 1000000017710853906044462798 }
- case 7482 { rate := 1000000017712667811747866261 }
- case 7483 { rate := 1000000017714481613695762967 }
- case 7484 { rate := 1000000017716295311900021878 }
- case 7485 { rate := 1000000017718108906372509921 }
- case 7486 { rate := 1000000017719922397125091988 }
- case 7487 { rate := 1000000017721735784169630931 }
- case 7488 { rate := 1000000017723549067517987571 }
- case 7489 { rate := 1000000017725362247182020693 }
- case 7490 { rate := 1000000017727175323173587048 }
- case 7491 { rate := 1000000017728988295504541353 }
- case 7492 { rate := 1000000017730801164186736290 }
- case 7493 { rate := 1000000017732613929232022514 }
- case 7494 { rate := 1000000017734426590652248641 }
- case 7495 { rate := 1000000017736239148459261259 }
- case 7496 { rate := 1000000017738051602664904924 }
- case 7497 { rate := 1000000017739863953281022159 }
- case 7498 { rate := 1000000017741676200319453460 }
- case 7499 { rate := 1000000017743488343792037292 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 7500-7599
- switch gt(bps, 7549)
- case 0 { // 7500-7549
- switch gt(bps, 7524)
- case 0 { // 7500-7524
- switch bps
- case 7500 { rate := 1000000017745300383710610088 }
- case 7501 { rate := 1000000017747112320087006255 }
- case 7502 { rate := 1000000017748924152933058170 }
- case 7503 { rate := 1000000017750735882260596182 }
- case 7504 { rate := 1000000017752547508081448613 }
- case 7505 { rate := 1000000017754359030407441756 }
- case 7506 { rate := 1000000017756170449250399880 }
- case 7507 { rate := 1000000017757981764622145224 }
- case 7508 { rate := 1000000017759792976534498007 }
- case 7509 { rate := 1000000017761604084999276416 }
- case 7510 { rate := 1000000017763415090028296618 }
- case 7511 { rate := 1000000017765225991633372753 }
- case 7512 { rate := 1000000017767036789826316939 }
- case 7513 { rate := 1000000017768847484618939268 }
- case 7514 { rate := 1000000017770658076023047811 }
- case 7515 { rate := 1000000017772468564050448615 }
- case 7516 { rate := 1000000017774278948712945708 }
- case 7517 { rate := 1000000017776089230022341092 }
- case 7518 { rate := 1000000017777899407990434751 }
- case 7519 { rate := 1000000017779709482629024645 }
- case 7520 { rate := 1000000017781519453949906719 }
- case 7521 { rate := 1000000017783329321964874894 }
- case 7522 { rate := 1000000017785139086685721072 }
- case 7523 { rate := 1000000017786948748124235137 }
- case 7524 { rate := 1000000017788758306292204955 }
- default { revert(0, 0) }
- }
- case 1 { // 7525-7549
- switch bps
- case 7525 { rate := 1000000017790567761201416374 }
- case 7526 { rate := 1000000017792377112863653223 }
- case 7527 { rate := 1000000017794186361290697316 }
- case 7528 { rate := 1000000017795995506494328448 }
- case 7529 { rate := 1000000017797804548486324401 }
- case 7530 { rate := 1000000017799613487278460940 }
- case 7531 { rate := 1000000017801422322882511813 }
- case 7532 { rate := 1000000017803231055310248755 }
- case 7533 { rate := 1000000017805039684573441487 }
- case 7534 { rate := 1000000017806848210683857715 }
- case 7535 { rate := 1000000017808656633653263133 }
- case 7536 { rate := 1000000017810464953493421421 }
- case 7537 { rate := 1000000017812273170216094248 }
- case 7538 { rate := 1000000017814081283833041270 }
- case 7539 { rate := 1000000017815889294356020130 }
- case 7540 { rate := 1000000017817697201796786462 }
- case 7541 { rate := 1000000017819505006167093890 }
- case 7542 { rate := 1000000017821312707478694026 }
- case 7543 { rate := 1000000017823120305743336473 }
- case 7544 { rate := 1000000017824927800972768824 }
- case 7545 { rate := 1000000017826735193178736665 }
- case 7546 { rate := 1000000017828542482372983573 }
- case 7547 { rate := 1000000017830349668567251118 }
- case 7548 { rate := 1000000017832156751773278858 }
- case 7549 { rate := 1000000017833963732002804350 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 7550-7599
- switch gt(bps, 7574)
- case 0 { // 7550-7574
- switch bps
- case 7550 { rate := 1000000017835770609267563142 }
- case 7551 { rate := 1000000017837577383579288776 }
- case 7552 { rate := 1000000017839384054949712789 }
- case 7553 { rate := 1000000017841190623390564711 }
- case 7554 { rate := 1000000017842997088913572069 }
- case 7555 { rate := 1000000017844803451530460387 }
- case 7556 { rate := 1000000017846609711252953183 }
- case 7557 { rate := 1000000017848415868092771972 }
- case 7558 { rate := 1000000017850221922061636268 }
- case 7559 { rate := 1000000017852027873171263580 }
- case 7560 { rate := 1000000017853833721433369417 }
- case 7561 { rate := 1000000017855639466859667286 }
- case 7562 { rate := 1000000017857445109461868694 }
- case 7563 { rate := 1000000017859250649251683144 }
- case 7564 { rate := 1000000017861056086240818144 }
- case 7565 { rate := 1000000017862861420440979199 }
- case 7566 { rate := 1000000017864666651863869815 }
- case 7567 { rate := 1000000017866471780521191500 }
- case 7568 { rate := 1000000017868276806424643763 }
- case 7569 { rate := 1000000017870081729585924118 }
- case 7570 { rate := 1000000017871886550016728077 }
- case 7571 { rate := 1000000017873691267728749159 }
- case 7572 { rate := 1000000017875495882733678884 }
- case 7573 { rate := 1000000017877300395043206778 }
- case 7574 { rate := 1000000017879104804669020371 }
- default { revert(0, 0) }
- }
- case 1 { // 7575-7599
- switch bps
- case 7575 { rate := 1000000017880909111622805195 }
- case 7576 { rate := 1000000017882713315916244793 }
- case 7577 { rate := 1000000017884517417561020708 }
- case 7578 { rate := 1000000017886321416568812494 }
- case 7579 { rate := 1000000017888125312951297708 }
- case 7580 { rate := 1000000017889929106720151917 }
- case 7581 { rate := 1000000017891732797887048694 }
- case 7582 { rate := 1000000017893536386463659622 }
- case 7583 { rate := 1000000017895339872461654288 }
- case 7584 { rate := 1000000017897143255892700294 }
- case 7585 { rate := 1000000017898946536768463247 }
- case 7586 { rate := 1000000017900749715100606767 }
- case 7587 { rate := 1000000017902552790900792481 }
- case 7588 { rate := 1000000017904355764180680030 }
- case 7589 { rate := 1000000017906158634951927065 }
- case 7590 { rate := 1000000017907961403226189248 }
- case 7591 { rate := 1000000017909764069015120253 }
- case 7592 { rate := 1000000017911566632330371770 }
- case 7593 { rate := 1000000017913369093183593497 }
- case 7594 { rate := 1000000017915171451586433149 }
- case 7595 { rate := 1000000017916973707550536454 }
- case 7596 { rate := 1000000017918775861087547154 }
- case 7597 { rate := 1000000017920577912209107007 }
- case 7598 { rate := 1000000017922379860926855785 }
- case 7599 { rate := 1000000017924181707252431276 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 7600-7999
- switch gt(bps, 7799)
- case 0 { // 7600-7799
- switch gt(bps, 7699)
- case 0 { // 7600-7699
- switch gt(bps, 7649)
- case 0 { // 7600-7649
- switch gt(bps, 7624)
- case 0 { // 7600-7624
- switch bps
- case 7600 { rate := 1000000017925983451197469286 }
- case 7601 { rate := 1000000017927785092773603635 }
- case 7602 { rate := 1000000017929586631992466162 }
- case 7603 { rate := 1000000017931388068865686724 }
- case 7604 { rate := 1000000017933189403404893193 }
- case 7605 { rate := 1000000017934990635621711463 }
- case 7606 { rate := 1000000017936791765527765445 }
- case 7607 { rate := 1000000017938592793134677070 }
- case 7608 { rate := 1000000017940393718454066288 }
- case 7609 { rate := 1000000017942194541497551072 }
- case 7610 { rate := 1000000017943995262276747410 }
- case 7611 { rate := 1000000017945795880803269319 }
- case 7612 { rate := 1000000017947596397088728831 }
- case 7613 { rate := 1000000017949396811144736003 }
- case 7614 { rate := 1000000017951197122982898913 }
- case 7615 { rate := 1000000017952997332614823666 }
- case 7616 { rate := 1000000017954797440052114387 }
- case 7617 { rate := 1000000017956597445306373223 }
- case 7618 { rate := 1000000017958397348389200349 }
- case 7619 { rate := 1000000017960197149312193963 }
- case 7620 { rate := 1000000017961996848086950291 }
- case 7621 { rate := 1000000017963796444725063580 }
- case 7622 { rate := 1000000017965595939238126106 }
- case 7623 { rate := 1000000017967395331637728171 }
- case 7624 { rate := 1000000017969194621935458105 }
- default { revert(0, 0) }
- }
- case 1 { // 7625-7649
- switch bps
- case 7625 { rate := 1000000017970993810142902264 }
- case 7626 { rate := 1000000017972792896271645032 }
- case 7627 { rate := 1000000017974591880333268823 }
- case 7628 { rate := 1000000017976390762339354077 }
- case 7629 { rate := 1000000017978189542301479266 }
- case 7630 { rate := 1000000017979988220231220891 }
- case 7631 { rate := 1000000017981786796140153482 }
- case 7632 { rate := 1000000017983585270039849600 }
- case 7633 { rate := 1000000017985383641941879838 }
- case 7634 { rate := 1000000017987181911857812820 }
- case 7635 { rate := 1000000017988980079799215201 }
- case 7636 { rate := 1000000017990778145777651670 }
- case 7637 { rate := 1000000017992576109804684946 }
- case 7638 { rate := 1000000017994373971891875786 }
- case 7639 { rate := 1000000017996171732050782977 }
- case 7640 { rate := 1000000017997969390292963342 }
- case 7641 { rate := 1000000017999766946629971735 }
- case 7642 { rate := 1000000018001564401073361051 }
- case 7643 { rate := 1000000018003361753634682215 }
- case 7644 { rate := 1000000018005159004325484191 }
- case 7645 { rate := 1000000018006956153157313979 }
- case 7646 { rate := 1000000018008753200141716615 }
- case 7647 { rate := 1000000018010550145290235173 }
- case 7648 { rate := 1000000018012346988614410765 }
- case 7649 { rate := 1000000018014143730125782540 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 7650-7699
- switch gt(bps, 7674)
- case 0 { // 7650-7674
- switch bps
- case 7650 { rate := 1000000018015940369835887686 }
- case 7651 { rate := 1000000018017736907756261431 }
- case 7652 { rate := 1000000018019533343898437042 }
- case 7653 { rate := 1000000018021329678273945825 }
- case 7654 { rate := 1000000018023125910894317128 }
- case 7655 { rate := 1000000018024922041771078339 }
- case 7656 { rate := 1000000018026718070915754887 }
- case 7657 { rate := 1000000018028513998339870242 }
- case 7658 { rate := 1000000018030309824054945918 }
- case 7659 { rate := 1000000018032105548072501472 }
- case 7660 { rate := 1000000018033901170404054502 }
- case 7661 { rate := 1000000018035696691061120650 }
- case 7662 { rate := 1000000018037492110055213602 }
- case 7663 { rate := 1000000018039287427397845090 }
- case 7664 { rate := 1000000018041082643100524888 }
- case 7665 { rate := 1000000018042877757174760818 }
- case 7666 { rate := 1000000018044672769632058746 }
- case 7667 { rate := 1000000018046467680483922585 }
- case 7668 { rate := 1000000018048262489741854293 }
- case 7669 { rate := 1000000018050057197417353878 }
- case 7670 { rate := 1000000018051851803521919393 }
- case 7671 { rate := 1000000018053646308067046939 }
- case 7672 { rate := 1000000018055440711064230668 }
- case 7673 { rate := 1000000018057235012524962777 }
- case 7674 { rate := 1000000018059029212460733515 }
- default { revert(0, 0) }
- }
- case 1 { // 7675-7699
- switch bps
- case 7675 { rate := 1000000018060823310883031179 }
- case 7676 { rate := 1000000018062617307803342118 }
- case 7677 { rate := 1000000018064411203233150730 }
- case 7678 { rate := 1000000018066204997183939464 }
- case 7679 { rate := 1000000018067998689667188822 }
- case 7680 { rate := 1000000018069792280694377358 }
- case 7681 { rate := 1000000018071585770276981673 }
- case 7682 { rate := 1000000018073379158426476430 }
- case 7683 { rate := 1000000018075172445154334336 }
- case 7684 { rate := 1000000018076965630472026159 }
- case 7685 { rate := 1000000018078758714391020716 }
- case 7686 { rate := 1000000018080551696922784882 }
- case 7687 { rate := 1000000018082344578078783584 }
- case 7688 { rate := 1000000018084137357870479807 }
- case 7689 { rate := 1000000018085930036309334591 }
- case 7690 { rate := 1000000018087722613406807031 }
- case 7691 { rate := 1000000018089515089174354279 }
- case 7692 { rate := 1000000018091307463623431547 }
- case 7693 { rate := 1000000018093099736765492103 }
- case 7694 { rate := 1000000018094891908611987271 }
- case 7695 { rate := 1000000018096683979174366435 }
- case 7696 { rate := 1000000018098475948464077039 }
- case 7697 { rate := 1000000018100267816492564585 }
- case 7698 { rate := 1000000018102059583271272636 }
- case 7699 { rate := 1000000018103851248811642814 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 7700-7799
- switch gt(bps, 7749)
- case 0 { // 7700-7749
- switch gt(bps, 7724)
- case 0 { // 7700-7724
- switch bps
- case 7700 { rate := 1000000018105642813125114801 }
- case 7701 { rate := 1000000018107434276223126344 }
- case 7702 { rate := 1000000018109225638117113246 }
- case 7703 { rate := 1000000018111016898818509377 }
- case 7704 { rate := 1000000018112808058338746667 }
- case 7705 { rate := 1000000018114599116689255107 }
- case 7706 { rate := 1000000018116390073881462757 }
- case 7707 { rate := 1000000018118180929926795735 }
- case 7708 { rate := 1000000018119971684836678225 }
- case 7709 { rate := 1000000018121762338622532479 }
- case 7710 { rate := 1000000018123552891295778807 }
- case 7711 { rate := 1000000018125343342867835592 }
- case 7712 { rate := 1000000018127133693350119278 }
- case 7713 { rate := 1000000018128923942754044379 }
- case 7714 { rate := 1000000018130714091091023470 }
- case 7715 { rate := 1000000018132504138372467200 }
- case 7716 { rate := 1000000018134294084609784283 }
- case 7717 { rate := 1000000018136083929814381499 }
- case 7718 { rate := 1000000018137873673997663698 }
- case 7719 { rate := 1000000018139663317171033802 }
- case 7720 { rate := 1000000018141452859345892798 }
- case 7721 { rate := 1000000018143242300533639746 }
- case 7722 { rate := 1000000018145031640745671772 }
- case 7723 { rate := 1000000018146820879993384079 }
- case 7724 { rate := 1000000018148610018288169936 }
- default { revert(0, 0) }
- }
- case 1 { // 7725-7749
- switch bps
- case 7725 { rate := 1000000018150399055641420686 }
- case 7726 { rate := 1000000018152187992064525743 }
- case 7727 { rate := 1000000018153976827568872596 }
- case 7728 { rate := 1000000018155765562165846803 }
- case 7729 { rate := 1000000018157554195866831997 }
- case 7730 { rate := 1000000018159342728683209886 }
- case 7731 { rate := 1000000018161131160626360252 }
- case 7732 { rate := 1000000018162919491707660948 }
- case 7733 { rate := 1000000018164707721938487908 }
- case 7734 { rate := 1000000018166495851330215138 }
- case 7735 { rate := 1000000018168283879894214720 }
- case 7736 { rate := 1000000018170071807641856811 }
- case 7737 { rate := 1000000018171859634584509651 }
- case 7738 { rate := 1000000018173647360733539548 }
- case 7739 { rate := 1000000018175434986100310896 }
- case 7740 { rate := 1000000018177222510696186163 }
- case 7741 { rate := 1000000018179009934532525896 }
- case 7742 { rate := 1000000018180797257620688721 }
- case 7743 { rate := 1000000018182584479972031343 }
- case 7744 { rate := 1000000018184371601597908550 }
- case 7745 { rate := 1000000018186158622509673205 }
- case 7746 { rate := 1000000018187945542718676256 }
- case 7747 { rate := 1000000018189732362236266731 }
- case 7748 { rate := 1000000018191519081073791739 }
- case 7749 { rate := 1000000018193305699242596471 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 7750-7799
- switch gt(bps, 7774)
- case 0 { // 7750-7774
- switch bps
- case 7750 { rate := 1000000018195092216754024201 }
- case 7751 { rate := 1000000018196878633619416285 }
- case 7752 { rate := 1000000018198664949850112165 }
- case 7753 { rate := 1000000018200451165457449362 }
- case 7754 { rate := 1000000018202237280452763485 }
- case 7755 { rate := 1000000018204023294847388227 }
- case 7756 { rate := 1000000018205809208652655365 }
- case 7757 { rate := 1000000018207595021879894762 }
- case 7758 { rate := 1000000018209380734540434368 }
- case 7759 { rate := 1000000018211166346645600216 }
- case 7760 { rate := 1000000018212951858206716428 }
- case 7761 { rate := 1000000018214737269235105217 }
- case 7762 { rate := 1000000018216522579742086876 }
- case 7763 { rate := 1000000018218307789738979791 }
- case 7764 { rate := 1000000018220092899237100435 }
- case 7765 { rate := 1000000018221877908247763371 }
- case 7766 { rate := 1000000018223662816782281250 }
- case 7767 { rate := 1000000018225447624851964814 }
- case 7768 { rate := 1000000018227232332468122895 }
- case 7769 { rate := 1000000018229016939642062413 }
- case 7770 { rate := 1000000018230801446385088385 }
- case 7771 { rate := 1000000018232585852708503911 }
- case 7772 { rate := 1000000018234370158623610192 }
- case 7773 { rate := 1000000018236154364141706515 }
- case 7774 { rate := 1000000018237938469274090263 }
- default { revert(0, 0) }
- }
- case 1 { // 7775-7799
- switch bps
- case 7775 { rate := 1000000018239722474032056911 }
- case 7776 { rate := 1000000018241506378426900026 }
- case 7777 { rate := 1000000018243290182469911273 }
- case 7778 { rate := 1000000018245073886172380408 }
- case 7779 { rate := 1000000018246857489545595283 }
- case 7780 { rate := 1000000018248640992600841846 }
- case 7781 { rate := 1000000018250424395349404142 }
- case 7782 { rate := 1000000018252207697802564308 }
- case 7783 { rate := 1000000018253990899971602583 }
- case 7784 { rate := 1000000018255774001867797298 }
- case 7785 { rate := 1000000018257557003502424884 }
- case 7786 { rate := 1000000018259339904886759871 }
- case 7787 { rate := 1000000018261122706032074886 }
- case 7788 { rate := 1000000018262905406949640654 }
- case 7789 { rate := 1000000018264688007650726000 }
- case 7790 { rate := 1000000018266470508146597849 }
- case 7791 { rate := 1000000018268252908448521228 }
- case 7792 { rate := 1000000018270035208567759259 }
- case 7793 { rate := 1000000018271817408515573169 }
- case 7794 { rate := 1000000018273599508303222287 }
- case 7795 { rate := 1000000018275381507941964042 }
- case 7796 { rate := 1000000018277163407443053964 }
- case 7797 { rate := 1000000018278945206817745690 }
- case 7798 { rate := 1000000018280726906077290954 }
- case 7799 { rate := 1000000018282508505232939599 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 7800-7999
- switch gt(bps, 7899)
- case 0 { // 7800-7899
- switch gt(bps, 7849)
- case 0 { // 7800-7849
- switch gt(bps, 7824)
- case 0 { // 7800-7824
- switch bps
- case 7800 { rate := 1000000018284290004295939569 }
- case 7801 { rate := 1000000018286071403277536912 }
- case 7802 { rate := 1000000018287852702188975783 }
- case 7803 { rate := 1000000018289633901041498440 }
- case 7804 { rate := 1000000018291414999846345249 }
- case 7805 { rate := 1000000018293195998614754679 }
- case 7806 { rate := 1000000018294976897357963307 }
- case 7807 { rate := 1000000018296757696087205817 }
- case 7808 { rate := 1000000018298538394813715001 }
- case 7809 { rate := 1000000018300318993548721757 }
- case 7810 { rate := 1000000018302099492303455093 }
- case 7811 { rate := 1000000018303879891089142124 }
- case 7812 { rate := 1000000018305660189917008076 }
- case 7813 { rate := 1000000018307440388798276281 }
- case 7814 { rate := 1000000018309220487744168184 }
- case 7815 { rate := 1000000018311000486765903339 }
- case 7816 { rate := 1000000018312780385874699412 }
- case 7817 { rate := 1000000018314560185081772178 }
- case 7818 { rate := 1000000018316339884398335526 }
- case 7819 { rate := 1000000018318119483835601454 }
- case 7820 { rate := 1000000018319898983404780074 }
- case 7821 { rate := 1000000018321678383117079613 }
- case 7822 { rate := 1000000018323457682983706407 }
- case 7823 { rate := 1000000018325236883015864909 }
- case 7824 { rate := 1000000018327015983224757684 }
- default { revert(0, 0) }
- }
- case 1 { // 7825-7849
- switch bps
- case 7825 { rate := 1000000018328794983621585414 }
- case 7826 { rate := 1000000018330573884217546893 }
- case 7827 { rate := 1000000018332352685023839031 }
- case 7828 { rate := 1000000018334131386051656857 }
- case 7829 { rate := 1000000018335909987312193512 }
- case 7830 { rate := 1000000018337688488816640255 }
- case 7831 { rate := 1000000018339466890576186465 }
- case 7832 { rate := 1000000018341245192602019632 }
- case 7833 { rate := 1000000018343023394905325372 }
- case 7834 { rate := 1000000018344801497497287412 }
- case 7835 { rate := 1000000018346579500389087603 }
- case 7836 { rate := 1000000018348357403591905911 }
- case 7837 { rate := 1000000018350135207116920426 }
- case 7838 { rate := 1000000018351912910975307354 }
- case 7839 { rate := 1000000018353690515178241024 }
- case 7840 { rate := 1000000018355468019736893884 }
- case 7841 { rate := 1000000018357245424662436505 }
- case 7842 { rate := 1000000018359022729966037580 }
- case 7843 { rate := 1000000018360799935658863920 }
- case 7844 { rate := 1000000018362577041752080465 }
- case 7845 { rate := 1000000018364354048256850272 }
- case 7846 { rate := 1000000018366130955184334526 }
- case 7847 { rate := 1000000018367907762545692533 }
- case 7848 { rate := 1000000018369684470352081722 }
- case 7849 { rate := 1000000018371461078614657652 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 7850-7899
- switch gt(bps, 7874)
- case 0 { // 7850-7874
- switch bps
- case 7850 { rate := 1000000018373237587344574003 }
- case 7851 { rate := 1000000018375013996552982578 }
- case 7852 { rate := 1000000018376790306251033313 }
- case 7853 { rate := 1000000018378566516449874264 }
- case 7854 { rate := 1000000018380342627160651618 }
- case 7855 { rate := 1000000018382118638394509685 }
- case 7856 { rate := 1000000018383894550162590906 }
- case 7857 { rate := 1000000018385670362476035850 }
- case 7858 { rate := 1000000018387446075345983212 }
- case 7859 { rate := 1000000018389221688783569817 }
- case 7860 { rate := 1000000018390997202799930621 }
- case 7861 { rate := 1000000018392772617406198706 }
- case 7862 { rate := 1000000018394547932613505288 }
- case 7863 { rate := 1000000018396323148432979711 }
- case 7864 { rate := 1000000018398098264875749451 }
- case 7865 { rate := 1000000018399873281952940114 }
- case 7866 { rate := 1000000018401648199675675439 }
- case 7867 { rate := 1000000018403423018055077298 }
- case 7868 { rate := 1000000018405197737102265694 }
- case 7869 { rate := 1000000018406972356828358763 }
- case 7870 { rate := 1000000018408746877244472776 }
- case 7871 { rate := 1000000018410521298361722136 }
- case 7872 { rate := 1000000018412295620191219382 }
- case 7873 { rate := 1000000018414069842744075188 }
- case 7874 { rate := 1000000018415843966031398359 }
- default { revert(0, 0) }
- }
- case 1 { // 7875-7899
- switch bps
- case 7875 { rate := 1000000018417617990064295840 }
- case 7876 { rate := 1000000018419391914853872712 }
- case 7877 { rate := 1000000018421165740411232189 }
- case 7878 { rate := 1000000018422939466747475623 }
- case 7879 { rate := 1000000018424713093873702506 }
- case 7880 { rate := 1000000018426486621801010465 }
- case 7881 { rate := 1000000018428260050540495264 }
- case 7882 { rate := 1000000018430033380103250808 }
- case 7883 { rate := 1000000018431806610500369140 }
- case 7884 { rate := 1000000018433579741742940441 }
- case 7885 { rate := 1000000018435352773842053034 }
- case 7886 { rate := 1000000018437125706808793381 }
- case 7887 { rate := 1000000018438898540654246083 }
- case 7888 { rate := 1000000018440671275389493885 }
- case 7889 { rate := 1000000018442443911025617670 }
- case 7890 { rate := 1000000018444216447573696466 }
- case 7891 { rate := 1000000018445988885044807442 }
- case 7892 { rate := 1000000018447761223450025908 }
- case 7893 { rate := 1000000018449533462800425319 }
- case 7894 { rate := 1000000018451305603107077273 }
- case 7895 { rate := 1000000018453077644381051511 }
- case 7896 { rate := 1000000018454849586633415920 }
- case 7897 { rate := 1000000018456621429875236530 }
- case 7898 { rate := 1000000018458393174117577515 }
- case 7899 { rate := 1000000018460164819371501200 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 7900-7999
- switch gt(bps, 7949)
- case 0 { // 7900-7949
- switch gt(bps, 7924)
- case 0 { // 7900-7924
- switch bps
- case 7900 { rate := 1000000018461936365648068049 }
- case 7901 { rate := 1000000018463707812958336676 }
- case 7902 { rate := 1000000018465479161313363842 }
- case 7903 { rate := 1000000018467250410724204454 }
- case 7904 { rate := 1000000018469021561201911568 }
- case 7905 { rate := 1000000018470792612757536386 }
- case 7906 { rate := 1000000018472563565402128258 }
- case 7907 { rate := 1000000018474334419146734687 }
- case 7908 { rate := 1000000018476105174002401321 }
- case 7909 { rate := 1000000018477875829980171960 }
- case 7910 { rate := 1000000018479646387091088551 }
- case 7911 { rate := 1000000018481416845346191196 }
- case 7912 { rate := 1000000018483187204756518145 }
- case 7913 { rate := 1000000018484957465333105800 }
- case 7914 { rate := 1000000018486727627086988714 }
- case 7915 { rate := 1000000018488497690029199592 }
- case 7916 { rate := 1000000018490267654170769294 }
- case 7917 { rate := 1000000018492037519522726829 }
- case 7918 { rate := 1000000018493807286096099365 }
- case 7919 { rate := 1000000018495576953901912217 }
- case 7920 { rate := 1000000018497346522951188860 }
- case 7921 { rate := 1000000018499115993254950919 }
- case 7922 { rate := 1000000018500885364824218178 }
- case 7923 { rate := 1000000018502654637670008573 }
- case 7924 { rate := 1000000018504423811803338199 }
- default { revert(0, 0) }
- }
- case 1 { // 7925-7949
- switch bps
- case 7925 { rate := 1000000018506192887235221305 }
- case 7926 { rate := 1000000018507961863976670296 }
- case 7927 { rate := 1000000018509730742038695738 }
- case 7928 { rate := 1000000018511499521432306350 }
- case 7929 { rate := 1000000018513268202168509012 }
- case 7930 { rate := 1000000018515036784258308760 }
- case 7931 { rate := 1000000018516805267712708791 }
- case 7932 { rate := 1000000018518573652542710459 }
- case 7933 { rate := 1000000018520341938759313279 }
- case 7934 { rate := 1000000018522110126373514925 }
- case 7935 { rate := 1000000018523878215396311232 }
- case 7936 { rate := 1000000018525646205838696196 }
- case 7937 { rate := 1000000018527414097711661974 }
- case 7938 { rate := 1000000018529181891026198882 }
- case 7939 { rate := 1000000018530949585793295404 }
- case 7940 { rate := 1000000018532717182023938179 }
- case 7941 { rate := 1000000018534484679729112016 }
- case 7942 { rate := 1000000018536252078919799882 }
- case 7943 { rate := 1000000018538019379606982909 }
- case 7944 { rate := 1000000018539786581801640396 }
- case 7945 { rate := 1000000018541553685514749800 }
- case 7946 { rate := 1000000018543320690757286750 }
- case 7947 { rate := 1000000018545087597540225037 }
- case 7948 { rate := 1000000018546854405874536615 }
- case 7949 { rate := 1000000018548621115771191610 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 7950-7999
- switch gt(bps, 7974)
- case 0 { // 7950-7974
- switch bps
- case 7950 { rate := 1000000018550387727241158310 }
- case 7951 { rate := 1000000018552154240295403172 }
- case 7952 { rate := 1000000018553920654944890818 }
- case 7953 { rate := 1000000018555686971200584040 }
- case 7954 { rate := 1000000018557453189073443800 }
- case 7955 { rate := 1000000018559219308574429223 }
- case 7956 { rate := 1000000018560985329714497605 }
- case 7957 { rate := 1000000018562751252504604416 }
- case 7958 { rate := 1000000018564517076955703290 }
- case 7959 { rate := 1000000018566282803078746033 }
- case 7960 { rate := 1000000018568048430884682622 }
- case 7961 { rate := 1000000018569813960384461207 }
- case 7962 { rate := 1000000018571579391589028103 }
- case 7963 { rate := 1000000018573344724509327805 }
- case 7964 { rate := 1000000018575109959156302976 }
- case 7965 { rate := 1000000018576875095540894448 }
- case 7966 { rate := 1000000018578640133674041234 }
- case 7967 { rate := 1000000018580405073566680515 }
- case 7968 { rate := 1000000018582169915229747647 }
- case 7969 { rate := 1000000018583934658674176160 }
- case 7970 { rate := 1000000018585699303910897760 }
- case 7971 { rate := 1000000018587463850950842326 }
- case 7972 { rate := 1000000018589228299804937915 }
- case 7973 { rate := 1000000018590992650484110758 }
- case 7974 { rate := 1000000018592756902999285262 }
- default { revert(0, 0) }
- }
- case 1 { // 7975-7999
- switch bps
- case 7975 { rate := 1000000018594521057361384012 }
- case 7976 { rate := 1000000018596285113581327769 }
- case 7977 { rate := 1000000018598049071670035472 }
- case 7978 { rate := 1000000018599812931638424240 }
- case 7979 { rate := 1000000018601576693497409365 }
- case 7980 { rate := 1000000018603340357257904322 }
- case 7981 { rate := 1000000018605103922930820766 }
- case 7982 { rate := 1000000018606867390527068528 }
- case 7983 { rate := 1000000018608630760057555620 }
- case 7984 { rate := 1000000018610394031533188235 }
- case 7985 { rate := 1000000018612157204964870748 }
- case 7986 { rate := 1000000018613920280363505711 }
- case 7987 { rate := 1000000018615683257739993862 }
- case 7988 { rate := 1000000018617446137105234120 }
- case 7989 { rate := 1000000018619208918470123584 }
- case 7990 { rate := 1000000018620971601845557538 }
- case 7991 { rate := 1000000018622734187242429447 }
- case 7992 { rate := 1000000018624496674671630963 }
- case 7993 { rate := 1000000018626259064144051920 }
- case 7994 { rate := 1000000018628021355670580334 }
- case 7995 { rate := 1000000018629783549262102411 }
- case 7996 { rate := 1000000018631545644929502537 }
- case 7997 { rate := 1000000018633307642683663287 }
- case 7998 { rate := 1000000018635069542535465422 }
- case 7999 { rate := 1000000018636831344495787885 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- }
-}
\ No newline at end of file
diff --git a/src/repositories/Rates8000To8799.sol b/src/repositories/Rates8000To8799.sol
deleted file mode 100644
index f194de6..0000000
--- a/src/repositories/Rates8000To8799.sol
+++ /dev/null
@@ -1,1065 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity 0.8.19;
-
-contract Rates8000To8799 {
- uint256 constant public MIN = 8000;
- uint256 constant public MAX = 8799;
-
- function turn(uint256 bps) external pure returns (uint256 rate) {
- if (bps > MAX) revert();
- if (bps < MIN) revert();
-
- assembly {
- switch gt(bps, 8399)
- case 0 { // 8000-8399
- switch gt(bps, 8199)
- case 0 { // 8000-8199
- switch gt(bps, 8099)
- case 0 { // 8000-8099
- switch gt(bps, 8049)
- case 0 { // 8000-8049
- switch gt(bps, 8024)
- case 0 { // 8000-8024
- switch bps
- case 8000 { rate := 1000000018638593048575507813 }
- case 8001 { rate := 1000000018640354654785500524 }
- case 8002 { rate := 1000000018642116163136639525 }
- case 8003 { rate := 1000000018643877573639796513 }
- case 8004 { rate := 1000000018645638886305841373 }
- case 8005 { rate := 1000000018647400101145642177 }
- case 8006 { rate := 1000000018649161218170065187 }
- case 8007 { rate := 1000000018650922237389974856 }
- case 8008 { rate := 1000000018652683158816233826 }
- case 8009 { rate := 1000000018654443982459702927 }
- case 8010 { rate := 1000000018656204708331241185 }
- case 8011 { rate := 1000000018657965336441705812 }
- case 8012 { rate := 1000000018659725866801952216 }
- case 8013 { rate := 1000000018661486299422833994 }
- case 8014 { rate := 1000000018663246634315202936 }
- case 8015 { rate := 1000000018665006871489909025 }
- case 8016 { rate := 1000000018666767010957800439 }
- case 8017 { rate := 1000000018668527052729723547 }
- case 8018 { rate := 1000000018670286996816522913 }
- case 8019 { rate := 1000000018672046843229041295 }
- case 8020 { rate := 1000000018673806591978119648 }
- case 8021 { rate := 1000000018675566243074597119 }
- case 8022 { rate := 1000000018677325796529311054 }
- case 8023 { rate := 1000000018679085252353096991 }
- case 8024 { rate := 1000000018680844610556788668 }
- default { revert(0, 0) }
- }
- case 1 { // 8025-8049
- switch bps
- case 8025 { rate := 1000000018682603871151218019 }
- case 8026 { rate := 1000000018684363034147215174 }
- case 8027 { rate := 1000000018686122099555608460 }
- case 8028 { rate := 1000000018687881067387224406 }
- case 8029 { rate := 1000000018689639937652887737 }
- case 8030 { rate := 1000000018691398710363421374 }
- case 8031 { rate := 1000000018693157385529646441 }
- case 8032 { rate := 1000000018694915963162382261 }
- case 8033 { rate := 1000000018696674443272446357 }
- case 8034 { rate := 1000000018698432825870654450 }
- case 8035 { rate := 1000000018700191110967820466 }
- case 8036 { rate := 1000000018701949298574756529 }
- case 8037 { rate := 1000000018703707388702272967 }
- case 8038 { rate := 1000000018705465381361178307 }
- case 8039 { rate := 1000000018707223276562279280 }
- case 8040 { rate := 1000000018708981074316380821 }
- case 8041 { rate := 1000000018710738774634286066 }
- case 8042 { rate := 1000000018712496377526796358 }
- case 8043 { rate := 1000000018714253883004711240 }
- case 8044 { rate := 1000000018716011291078828461 }
- case 8045 { rate := 1000000018717768601759943976 }
- case 8046 { rate := 1000000018719525815058851943 }
- case 8047 { rate := 1000000018721282930986344728 }
- case 8048 { rate := 1000000018723039949553212902 }
- case 8049 { rate := 1000000018724796870770245242 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 8050-8099
- switch gt(bps, 8074)
- case 0 { // 8050-8074
- switch bps
- case 8050 { rate := 1000000018726553694648228732 }
- case 8051 { rate := 1000000018728310421197948562 }
- case 8052 { rate := 1000000018730067050430188132 }
- case 8053 { rate := 1000000018731823582355729050 }
- case 8054 { rate := 1000000018733580016985351129 }
- case 8055 { rate := 1000000018735336354329832394 }
- case 8056 { rate := 1000000018737092594399949079 }
- case 8057 { rate := 1000000018738848737206475625 }
- case 8058 { rate := 1000000018740604782760184687 }
- case 8059 { rate := 1000000018742360731071847127 }
- case 8060 { rate := 1000000018744116582152232018 }
- case 8061 { rate := 1000000018745872336012106646 }
- case 8062 { rate := 1000000018747627992662236508 }
- case 8063 { rate := 1000000018749383552113385312 }
- case 8064 { rate := 1000000018751139014376314979 }
- case 8065 { rate := 1000000018752894379461785643 }
- case 8066 { rate := 1000000018754649647380555651 }
- case 8067 { rate := 1000000018756404818143381562 }
- case 8068 { rate := 1000000018758159891761018152 }
- case 8069 { rate := 1000000018759914868244218410 }
- case 8070 { rate := 1000000018761669747603733537 }
- case 8071 { rate := 1000000018763424529850312954 }
- case 8072 { rate := 1000000018765179214994704293 }
- case 8073 { rate := 1000000018766933803047653406 }
- case 8074 { rate := 1000000018768688294019904359 }
- default { revert(0, 0) }
- }
- case 1 { // 8075-8099
- switch bps
- case 8075 { rate := 1000000018770442687922199432 }
- case 8076 { rate := 1000000018772196984765279129 }
- case 8077 { rate := 1000000018773951184559882166 }
- case 8078 { rate := 1000000018775705287316745477 }
- case 8079 { rate := 1000000018777459293046604218 }
- case 8080 { rate := 1000000018779213201760191760 }
- case 8081 { rate := 1000000018780967013468239695 }
- case 8082 { rate := 1000000018782720728181477833 }
- case 8083 { rate := 1000000018784474345910634206 }
- case 8084 { rate := 1000000018786227866666435065 }
- case 8085 { rate := 1000000018787981290459604881 }
- case 8086 { rate := 1000000018789734617300866347 }
- case 8087 { rate := 1000000018791487847200940377 }
- case 8088 { rate := 1000000018793240980170546107 }
- case 8089 { rate := 1000000018794994016220400896 }
- case 8090 { rate := 1000000018796746955361220324 }
- case 8091 { rate := 1000000018798499797603718194 }
- case 8092 { rate := 1000000018800252542958606535 }
- case 8093 { rate := 1000000018802005191436595596 }
- case 8094 { rate := 1000000018803757743048393855 }
- case 8095 { rate := 1000000018805510197804708009 }
- case 8096 { rate := 1000000018807262555716242984 }
- case 8097 { rate := 1000000018809014816793701930 }
- case 8098 { rate := 1000000018810766981047786222 }
- case 8099 { rate := 1000000018812519048489195463 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 8100-8199
- switch gt(bps, 8149)
- case 0 { // 8100-8149
- switch gt(bps, 8124)
- case 0 { // 8100-8124
- switch bps
- case 8100 { rate := 1000000018814271019128627481 }
- case 8101 { rate := 1000000018816022892976778332 }
- case 8102 { rate := 1000000018817774670044342299 }
- case 8103 { rate := 1000000018819526350342011891 }
- case 8104 { rate := 1000000018821277933880477847 }
- case 8105 { rate := 1000000018823029420670429136 }
- case 8106 { rate := 1000000018824780810722552952 }
- case 8107 { rate := 1000000018826532104047534720 }
- case 8108 { rate := 1000000018828283300656058095 }
- case 8109 { rate := 1000000018830034400558804964 }
- case 8110 { rate := 1000000018831785403766455440 }
- case 8111 { rate := 1000000018833536310289687871 }
- case 8112 { rate := 1000000018835287120139178833 }
- case 8113 { rate := 1000000018837037833325603137 }
- case 8114 { rate := 1000000018838788449859633821 }
- case 8115 { rate := 1000000018840538969751942163 }
- case 8116 { rate := 1000000018842289393013197665 }
- case 8117 { rate := 1000000018844039719654068068 }
- case 8118 { rate := 1000000018845789949685219346 }
- case 8119 { rate := 1000000018847540083117315706 }
- case 8120 { rate := 1000000018849290119961019588 }
- case 8121 { rate := 1000000018851040060226991670 }
- case 8122 { rate := 1000000018852789903925890862 }
- case 8123 { rate := 1000000018854539651068374310 }
- case 8124 { rate := 1000000018856289301665097399 }
- default { revert(0, 0) }
- }
- case 1 { // 8125-8149
- switch bps
- case 8125 { rate := 1000000018858038855726713746 }
- case 8126 { rate := 1000000018859788313263875208 }
- case 8127 { rate := 1000000018861537674287231877 }
- case 8128 { rate := 1000000018863286938807432083 }
- case 8129 { rate := 1000000018865036106835122396 }
- case 8130 { rate := 1000000018866785178380947620 }
- case 8131 { rate := 1000000018868534153455550800 }
- case 8132 { rate := 1000000018870283032069573223 }
- case 8133 { rate := 1000000018872031814233654409 }
- case 8134 { rate := 1000000018873780499958432124 }
- case 8135 { rate := 1000000018875529089254542368 }
- case 8136 { rate := 1000000018877277582132619389 }
- case 8137 { rate := 1000000018879025978603295669 }
- case 8138 { rate := 1000000018880774278677201936 }
- case 8139 { rate := 1000000018882522482364967158 }
- case 8140 { rate := 1000000018884270589677218543 }
- case 8141 { rate := 1000000018886018600624581547 }
- case 8142 { rate := 1000000018887766515217679862 }
- case 8143 { rate := 1000000018889514333467135430 }
- case 8144 { rate := 1000000018891262055383568433 }
- case 8145 { rate := 1000000018893009680977597295 }
- case 8146 { rate := 1000000018894757210259838691 }
- case 8147 { rate := 1000000018896504643240907534 }
- case 8148 { rate := 1000000018898251979931416987 }
- case 8149 { rate := 1000000018899999220341978457 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 8150-8199
- switch gt(bps, 8174)
- case 0 { // 8150-8174
- switch bps
- case 8150 { rate := 1000000018901746364483201594 }
- case 8151 { rate := 1000000018903493412365694300 }
- case 8152 { rate := 1000000018905240364000062719 }
- case 8153 { rate := 1000000018906987219396911245 }
- case 8154 { rate := 1000000018908733978566842519 }
- case 8155 { rate := 1000000018910480641520457429 }
- case 8156 { rate := 1000000018912227208268355112 }
- case 8157 { rate := 1000000018913973678821132954 }
- case 8158 { rate := 1000000018915720053189386589 }
- case 8159 { rate := 1000000018917466331383709901 }
- case 8160 { rate := 1000000018919212513414695026 }
- case 8161 { rate := 1000000018920958599292932347 }
- case 8162 { rate := 1000000018922704589029010497 }
- case 8163 { rate := 1000000018924450482633516364 }
- case 8164 { rate := 1000000018926196280117035085 }
- case 8165 { rate := 1000000018927941981490150050 }
- case 8166 { rate := 1000000018929687586763442899 }
- case 8167 { rate := 1000000018931433095947493526 }
- case 8168 { rate := 1000000018933178509052880078 }
- case 8169 { rate := 1000000018934923826090178954 }
- case 8170 { rate := 1000000018936669047069964810 }
- case 8171 { rate := 1000000018938414172002810552 }
- case 8172 { rate := 1000000018940159200899287344 }
- case 8173 { rate := 1000000018941904133769964603 }
- case 8174 { rate := 1000000018943648970625410000 }
- default { revert(0, 0) }
- }
- case 1 { // 8175-8199
- switch bps
- case 8175 { rate := 1000000018945393711476189463 }
- case 8176 { rate := 1000000018947138356332867178 }
- case 8177 { rate := 1000000018948882905206005585 }
- case 8178 { rate := 1000000018950627358106165381 }
- case 8179 { rate := 1000000018952371715043905520 }
- case 8180 { rate := 1000000018954115976029783215 }
- case 8181 { rate := 1000000018955860141074353935 }
- case 8182 { rate := 1000000018957604210188171410 }
- case 8183 { rate := 1000000018959348183381787625 }
- case 8184 { rate := 1000000018961092060665752828 }
- case 8185 { rate := 1000000018962835842050615522 }
- case 8186 { rate := 1000000018964579527546922474 }
- case 8187 { rate := 1000000018966323117165218711 }
- case 8188 { rate := 1000000018968066610916047517 }
- case 8189 { rate := 1000000018969810008809950439 }
- case 8190 { rate := 1000000018971553310857467288 }
- case 8191 { rate := 1000000018973296517069136132 }
- case 8192 { rate := 1000000018975039627455493305 }
- case 8193 { rate := 1000000018976782642027073402 }
- case 8194 { rate := 1000000018978525560794409280 }
- case 8195 { rate := 1000000018980268383768032061 }
- case 8196 { rate := 1000000018982011110958471130 }
- case 8197 { rate := 1000000018983753742376254135 }
- case 8198 { rate := 1000000018985496278031906990 }
- case 8199 { rate := 1000000018987238717935953874 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 8200-8399
- switch gt(bps, 8299)
- case 0 { // 8200-8299
- switch gt(bps, 8249)
- case 0 { // 8200-8249
- switch gt(bps, 8224)
- case 0 { // 8200-8224
- switch bps
- case 8200 { rate := 1000000018988981062098917230 }
- case 8201 { rate := 1000000018990723310531317765 }
- case 8202 { rate := 1000000018992465463243674457 }
- case 8203 { rate := 1000000018994207520246504546 }
- case 8204 { rate := 1000000018995949481550323540 }
- case 8205 { rate := 1000000018997691347165645214 }
- case 8206 { rate := 1000000018999433117102981611 }
- case 8207 { rate := 1000000019001174791372843041 }
- case 8208 { rate := 1000000019002916369985738082 }
- case 8209 { rate := 1000000019004657852952173583 }
- case 8210 { rate := 1000000019006399240282654660 }
- case 8211 { rate := 1000000019008140531987684699 }
- case 8212 { rate := 1000000019009881728077765354 }
- case 8213 { rate := 1000000019011622828563396552 }
- case 8214 { rate := 1000000019013363833455076488 }
- case 8215 { rate := 1000000019015104742763301630 }
- case 8216 { rate := 1000000019016845556498566716 }
- case 8217 { rate := 1000000019018586274671364757 }
- case 8218 { rate := 1000000019020326897292187034 }
- case 8219 { rate := 1000000019022067424371523101 }
- case 8220 { rate := 1000000019023807855919860787 }
- case 8221 { rate := 1000000019025548191947686191 }
- case 8222 { rate := 1000000019027288432465483687 }
- case 8223 { rate := 1000000019029028577483735925 }
- case 8224 { rate := 1000000019030768627012923824 }
- default { revert(0, 0) }
- }
- case 1 { // 8225-8249
- switch bps
- case 8225 { rate := 1000000019032508581063526585 }
- case 8226 { rate := 1000000019034248439646021677 }
- case 8227 { rate := 1000000019035988202770884848 }
- case 8228 { rate := 1000000019037727870448590123 }
- case 8229 { rate := 1000000019039467442689609800 }
- case 8230 { rate := 1000000019041206919504414455 }
- case 8231 { rate := 1000000019042946300903472942 }
- case 8232 { rate := 1000000019044685586897252392 }
- case 8233 { rate := 1000000019046424777496218212 }
- case 8234 { rate := 1000000019048163872710834089 }
- case 8235 { rate := 1000000019049902872551561987 }
- case 8236 { rate := 1000000019051641777028862150 }
- case 8237 { rate := 1000000019053380586153193101 }
- case 8238 { rate := 1000000019055119299935011644 }
- case 8239 { rate := 1000000019056857918384772859 }
- case 8240 { rate := 1000000019058596441512930110 }
- case 8241 { rate := 1000000019060334869329935041 }
- case 8242 { rate := 1000000019062073201846237576 }
- case 8243 { rate := 1000000019063811439072285921 }
- case 8244 { rate := 1000000019065549581018526566 }
- case 8245 { rate := 1000000019067287627695404278 }
- case 8246 { rate := 1000000019069025579113362113 }
- case 8247 { rate := 1000000019070763435282841406 }
- case 8248 { rate := 1000000019072501196214281776 }
- case 8249 { rate := 1000000019074238861918121125 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 8250-8299
- switch gt(bps, 8274)
- case 0 { // 8250-8274
- switch bps
- case 8250 { rate := 1000000019075976432404795643 }
- case 8251 { rate := 1000000019077713907684739801 }
- case 8252 { rate := 1000000019079451287768386354 }
- case 8253 { rate := 1000000019081188572666166345 }
- case 8254 { rate := 1000000019082925762388509101 }
- case 8255 { rate := 1000000019084662856945842236 }
- case 8256 { rate := 1000000019086399856348591650 }
- case 8257 { rate := 1000000019088136760607181530 }
- case 8258 { rate := 1000000019089873569732034349 }
- case 8259 { rate := 1000000019091610283733570869 }
- case 8260 { rate := 1000000019093346902622210139 }
- case 8261 { rate := 1000000019095083426408369496 }
- case 8262 { rate := 1000000019096819855102464568 }
- case 8263 { rate := 1000000019098556188714909268 }
- case 8264 { rate := 1000000019100292427256115802 }
- case 8265 { rate := 1000000019102028570736494664 }
- case 8266 { rate := 1000000019103764619166454637 }
- case 8267 { rate := 1000000019105500572556402798 }
- case 8268 { rate := 1000000019107236430916744512 }
- case 8269 { rate := 1000000019108972194257883436 }
- case 8270 { rate := 1000000019110707862590221519 }
- case 8271 { rate := 1000000019112443435924159001 }
- case 8272 { rate := 1000000019114178914270094416 }
- case 8273 { rate := 1000000019115914297638424590 }
- case 8274 { rate := 1000000019117649586039544643 }
- default { revert(0, 0) }
- }
- case 1 { // 8275-8299
- switch bps
- case 8275 { rate := 1000000019119384779483847985 }
- case 8276 { rate := 1000000019121119877981726323 }
- case 8277 { rate := 1000000019122854881543569660 }
- case 8278 { rate := 1000000019124589790179766288 }
- case 8279 { rate := 1000000019126324603900702800 }
- case 8280 { rate := 1000000019128059322716764080 }
- case 8281 { rate := 1000000019129793946638333310 }
- case 8282 { rate := 1000000019131528475675791968 }
- case 8283 { rate := 1000000019133262909839519827 }
- case 8284 { rate := 1000000019134997249139894958 }
- case 8285 { rate := 1000000019136731493587293730 }
- case 8286 { rate := 1000000019138465643192090809 }
- case 8287 { rate := 1000000019140199697964659157 }
- case 8288 { rate := 1000000019141933657915370038 }
- case 8289 { rate := 1000000019143667523054593010 }
- case 8290 { rate := 1000000019145401293392695935 }
- case 8291 { rate := 1000000019147134968940044972 }
- case 8292 { rate := 1000000019148868549707004581 }
- case 8293 { rate := 1000000019150602035703937519 }
- case 8294 { rate := 1000000019152335426941204848 }
- case 8295 { rate := 1000000019154068723429165929 }
- case 8296 { rate := 1000000019155801925178178423 }
- case 8297 { rate := 1000000019157535032198598294 }
- case 8298 { rate := 1000000019159268044500779809 }
- case 8299 { rate := 1000000019161000962095075535 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 8300-8399
- switch gt(bps, 8349)
- case 0 { // 8300-8349
- switch gt(bps, 8324)
- case 0 { // 8300-8324
- switch bps
- case 8300 { rate := 1000000019162733784991836346 }
- case 8301 { rate := 1000000019164466513201411414 }
- case 8302 { rate := 1000000019166199146734148217 }
- case 8303 { rate := 1000000019167931685600392538 }
- case 8304 { rate := 1000000019169664129810488463 }
- case 8305 { rate := 1000000019171396479374778382 }
- case 8306 { rate := 1000000019173128734303602993 }
- case 8307 { rate := 1000000019174860894607301295 }
- case 8308 { rate := 1000000019176592960296210597 }
- case 8309 { rate := 1000000019178324931380666510 }
- case 8310 { rate := 1000000019180056807871002956 }
- case 8311 { rate := 1000000019181788589777552160 }
- case 8312 { rate := 1000000019183520277110644657 }
- case 8313 { rate := 1000000019185251869880609289 }
- case 8314 { rate := 1000000019186983368097773204 }
- case 8315 { rate := 1000000019188714771772461861 }
- case 8316 { rate := 1000000019190446080914999025 }
- case 8317 { rate := 1000000019192177295535706774 }
- case 8318 { rate := 1000000019193908415644905492 }
- case 8319 { rate := 1000000019195639441252913873 }
- case 8320 { rate := 1000000019197370372370048924 }
- case 8321 { rate := 1000000019199101209006625961 }
- case 8322 { rate := 1000000019200831951172958609 }
- case 8323 { rate := 1000000019202562598879358809 }
- case 8324 { rate := 1000000019204293152136136807 }
- default { revert(0, 0) }
- }
- case 1 { // 8325-8349
- switch bps
- case 8325 { rate := 1000000019206023610953601168 }
- case 8326 { rate := 1000000019207753975342058765 }
- case 8327 { rate := 1000000019209484245311814785 }
- case 8328 { rate := 1000000019211214420873172728 }
- case 8329 { rate := 1000000019212944502036434409 }
- case 8330 { rate := 1000000019214674488811899953 }
- case 8331 { rate := 1000000019216404381209867805 }
- case 8332 { rate := 1000000019218134179240634720 }
- case 8333 { rate := 1000000019219863882914495771 }
- case 8334 { rate := 1000000019221593492241744342 }
- case 8335 { rate := 1000000019223323007232672138 }
- case 8336 { rate := 1000000019225052427897569177 }
- case 8337 { rate := 1000000019226781754246723793 }
- case 8338 { rate := 1000000019228510986290422641 }
- case 8339 { rate := 1000000019230240124038950687 }
- case 8340 { rate := 1000000019231969167502591220 }
- case 8341 { rate := 1000000019233698116691625845 }
- case 8342 { rate := 1000000019235426971616334484 }
- case 8343 { rate := 1000000019237155732286995379 }
- case 8344 { rate := 1000000019238884398713885090 }
- case 8345 { rate := 1000000019240612970907278498 }
- case 8346 { rate := 1000000019242341448877448803 }
- case 8347 { rate := 1000000019244069832634667526 }
- case 8348 { rate := 1000000019245798122189204505 }
- case 8349 { rate := 1000000019247526317551327904 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 8350-8399
- switch gt(bps, 8374)
- case 0 { // 8350-8374
- switch bps
- case 8350 { rate := 1000000019249254418731304205 }
- case 8351 { rate := 1000000019250982425739398211 }
- case 8352 { rate := 1000000019252710338585873049 }
- case 8353 { rate := 1000000019254438157280990169 }
- case 8354 { rate := 1000000019256165881835009342 }
- case 8355 { rate := 1000000019257893512258188661 }
- case 8356 { rate := 1000000019259621048560784543 }
- case 8357 { rate := 1000000019261348490753051732 }
- case 8358 { rate := 1000000019263075838845243292 }
- case 8359 { rate := 1000000019264803092847610615 }
- case 8360 { rate := 1000000019266530252770403415 }
- case 8361 { rate := 1000000019268257318623869732 }
- case 8362 { rate := 1000000019269984290418255933 }
- case 8363 { rate := 1000000019271711168163806709 }
- case 8364 { rate := 1000000019273437951870765080 }
- case 8365 { rate := 1000000019275164641549372390 }
- case 8366 { rate := 1000000019276891237209868311 }
- case 8367 { rate := 1000000019278617738862490844 }
- case 8368 { rate := 1000000019280344146517476314 }
- case 8369 { rate := 1000000019282070460185059378 }
- case 8370 { rate := 1000000019283796679875473021 }
- case 8371 { rate := 1000000019285522805598948554 }
- case 8372 { rate := 1000000019287248837365715621 }
- case 8373 { rate := 1000000019288974775186002193 }
- case 8374 { rate := 1000000019290700619070034572 }
- default { revert(0, 0) }
- }
- case 1 { // 8375-8399
- switch bps
- case 8375 { rate := 1000000019292426369028037391 }
- case 8376 { rate := 1000000019294152025070233613 }
- case 8377 { rate := 1000000019295877587206844530 }
- case 8378 { rate := 1000000019297603055448089770 }
- case 8379 { rate := 1000000019299328429804187289 }
- case 8380 { rate := 1000000019301053710285353377 }
- case 8381 { rate := 1000000019302778896901802656 }
- case 8382 { rate := 1000000019304503989663748081 }
- case 8383 { rate := 1000000019306228988581400940 }
- case 8384 { rate := 1000000019307953893664970854 }
- case 8385 { rate := 1000000019309678704924665780 }
- case 8386 { rate := 1000000019311403422370692008 }
- case 8387 { rate := 1000000019313128046013254162 }
- case 8388 { rate := 1000000019314852575862555202 }
- case 8389 { rate := 1000000019316577011928796425 }
- case 8390 { rate := 1000000019318301354222177460 }
- case 8391 { rate := 1000000019320025602752896275 }
- case 8392 { rate := 1000000019321749757531149174 }
- case 8393 { rate := 1000000019323473818567130798 }
- case 8394 { rate := 1000000019325197785871034125 }
- case 8395 { rate := 1000000019326921659453050469 }
- case 8396 { rate := 1000000019328645439323369486 }
- case 8397 { rate := 1000000019330369125492179166 }
- case 8398 { rate := 1000000019332092717969665839 }
- case 8399 { rate := 1000000019333816216766014177 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 8400-8799
- switch gt(bps, 8599)
- case 0 { // 8400-8599
- switch gt(bps, 8499)
- case 0 { // 8400-8499
- switch gt(bps, 8449)
- case 0 { // 8400-8449
- switch gt(bps, 8424)
- case 0 { // 8400-8424
- switch bps
- case 8400 { rate := 1000000019335539621891407188 }
- case 8401 { rate := 1000000019337262933356026219 }
- case 8402 { rate := 1000000019338986151170050961 }
- case 8403 { rate := 1000000019340709275343659442 }
- case 8404 { rate := 1000000019342432305887028033 }
- case 8405 { rate := 1000000019344155242810331446 }
- case 8406 { rate := 1000000019345878086123742733 }
- case 8407 { rate := 1000000019347600835837433289 }
- case 8408 { rate := 1000000019349323491961572852 }
- case 8409 { rate := 1000000019351046054506329501 }
- case 8410 { rate := 1000000019352768523481869660 }
- case 8411 { rate := 1000000019354490898898358095 }
- case 8412 { rate := 1000000019356213180765957915 }
- case 8413 { rate := 1000000019357935369094830575 }
- case 8414 { rate := 1000000019359657463895135874 }
- case 8415 { rate := 1000000019361379465177031955 }
- case 8416 { rate := 1000000019363101372950675305 }
- case 8417 { rate := 1000000019364823187226220761 }
- case 8418 { rate := 1000000019366544908013821502 }
- case 8419 { rate := 1000000019368266535323629053 }
- case 8420 { rate := 1000000019369988069165793289 }
- case 8421 { rate := 1000000019371709509550462428 }
- case 8422 { rate := 1000000019373430856487783037 }
- case 8423 { rate := 1000000019375152109987900033 }
- case 8424 { rate := 1000000019376873270060956677 }
- default { revert(0, 0) }
- }
- case 1 { // 8425-8449
- switch bps
- case 8425 { rate := 1000000019378594336717094581 }
- case 8426 { rate := 1000000019380315309966453706 }
- case 8427 { rate := 1000000019382036189819172359 }
- case 8428 { rate := 1000000019383756976285387201 }
- case 8429 { rate := 1000000019385477669375233239 }
- case 8430 { rate := 1000000019387198269098843832 }
- case 8431 { rate := 1000000019388918775466350690 }
- case 8432 { rate := 1000000019390639188487883872 }
- case 8433 { rate := 1000000019392359508173571791 }
- case 8434 { rate := 1000000019394079734533541209 }
- case 8435 { rate := 1000000019395799867577917242 }
- case 8436 { rate := 1000000019397519907316823356 }
- case 8437 { rate := 1000000019399239853760381372 }
- case 8438 { rate := 1000000019400959706918711464 }
- case 8439 { rate := 1000000019402679466801932157 }
- case 8440 { rate := 1000000019404399133420160333 }
- case 8441 { rate := 1000000019406118706783511225 }
- case 8442 { rate := 1000000019407838186902098423 }
- case 8443 { rate := 1000000019409557573786033870 }
- case 8444 { rate := 1000000019411276867445427867 }
- case 8445 { rate := 1000000019412996067890389067 }
- case 8446 { rate := 1000000019414715175131024480 }
- case 8447 { rate := 1000000019416434189177439474 }
- case 8448 { rate := 1000000019418153110039737771 }
- case 8449 { rate := 1000000019419871937728021454 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 8450-8499
- switch gt(bps, 8474)
- case 0 { // 8450-8474
- switch bps
- case 8450 { rate := 1000000019421590672252390959 }
- case 8451 { rate := 1000000019423309313622945081 }
- case 8452 { rate := 1000000019425027861849780974 }
- case 8453 { rate := 1000000019426746316942994151 }
- case 8454 { rate := 1000000019428464678912678481 }
- case 8455 { rate := 1000000019430182947768926195 }
- case 8456 { rate := 1000000019431901123521827882 }
- case 8457 { rate := 1000000019433619206181472490 }
- case 8458 { rate := 1000000019435337195757947331 }
- case 8459 { rate := 1000000019437055092261338072 }
- case 8460 { rate := 1000000019438772895701728744 }
- case 8461 { rate := 1000000019440490606089201741 }
- case 8462 { rate := 1000000019442208223433837815 }
- case 8463 { rate := 1000000019443925747745716082 }
- case 8464 { rate := 1000000019445643179034914020 }
- case 8465 { rate := 1000000019447360517311507470 }
- case 8466 { rate := 1000000019449077762585570634 }
- case 8467 { rate := 1000000019450794914867176081 }
- case 8468 { rate := 1000000019452511974166394739 }
- case 8469 { rate := 1000000019454228940493295906 }
- case 8470 { rate := 1000000019455945813857947238 }
- case 8471 { rate := 1000000019457662594270414762 }
- case 8472 { rate := 1000000019459379281740762866 }
- case 8473 { rate := 1000000019461095876279054304 }
- case 8474 { rate := 1000000019462812377895350198 }
- default { revert(0, 0) }
- }
- case 1 { // 8475-8499
- switch bps
- case 8475 { rate := 1000000019464528786599710033 }
- case 8476 { rate := 1000000019466245102402191663 }
- case 8477 { rate := 1000000019467961325312851309 }
- case 8478 { rate := 1000000019469677455341743557 }
- case 8479 { rate := 1000000019471393492498921365 }
- case 8480 { rate := 1000000019473109436794436053 }
- case 8481 { rate := 1000000019474825288238337314 }
- case 8482 { rate := 1000000019476541046840673208 }
- case 8483 { rate := 1000000019478256712611490164 }
- case 8484 { rate := 1000000019479972285560832982 }
- case 8485 { rate := 1000000019481687765698744828 }
- case 8486 { rate := 1000000019483403153035267242 }
- case 8487 { rate := 1000000019485118447580440132 }
- case 8488 { rate := 1000000019486833649344301778 }
- case 8489 { rate := 1000000019488548758336888832 }
- case 8490 { rate := 1000000019490263774568236316 }
- case 8491 { rate := 1000000019491978698048377623 }
- case 8492 { rate := 1000000019493693528787344519 }
- case 8493 { rate := 1000000019495408266795167146 }
- case 8494 { rate := 1000000019497122912081874013 }
- case 8495 { rate := 1000000019498837464657492007 }
- case 8496 { rate := 1000000019500551924532046386 }
- case 8497 { rate := 1000000019502266291715560784 }
- case 8498 { rate := 1000000019503980566218057206 }
- case 8499 { rate := 1000000019505694748049556036 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 8500-8599
- switch gt(bps, 8549)
- case 0 { // 8500-8549
- switch gt(bps, 8524)
- case 0 { // 8500-8524
- switch bps
- case 8500 { rate := 1000000019507408837220076029 }
- case 8501 { rate := 1000000019509122833739634318 }
- case 8502 { rate := 1000000019510836737618246412 }
- case 8503 { rate := 1000000019512550548865926194 }
- case 8504 { rate := 1000000019514264267492685924 }
- case 8505 { rate := 1000000019515977893508536240 }
- case 8506 { rate := 1000000019517691426923486156 }
- case 8507 { rate := 1000000019519404867747543065 }
- case 8508 { rate := 1000000019521118215990712736 }
- case 8509 { rate := 1000000019522831471662999316 }
- case 8510 { rate := 1000000019524544634774405332 }
- case 8511 { rate := 1000000019526257705334931690 }
- case 8512 { rate := 1000000019527970683354577675 }
- case 8513 { rate := 1000000019529683568843340950 }
- case 8514 { rate := 1000000019531396361811217559 }
- case 8515 { rate := 1000000019533109062268201927 }
- case 8516 { rate := 1000000019534821670224286859 }
- case 8517 { rate := 1000000019536534185689463541 }
- case 8518 { rate := 1000000019538246608673721540 }
- case 8519 { rate := 1000000019539958939187048805 }
- case 8520 { rate := 1000000019541671177239431669 }
- case 8521 { rate := 1000000019543383322840854842 }
- case 8522 { rate := 1000000019545095376001301423 }
- case 8523 { rate := 1000000019546807336730752891 }
- case 8524 { rate := 1000000019548519205039189107 }
- default { revert(0, 0) }
- }
- case 1 { // 8525-8549
- switch bps
- case 8525 { rate := 1000000019550230980936588320 }
- case 8526 { rate := 1000000019551942664432927159 }
- case 8527 { rate := 1000000019553654255538180638 }
- case 8528 { rate := 1000000019555365754262322160 }
- case 8529 { rate := 1000000019557077160615323508 }
- case 8530 { rate := 1000000019558788474607154854 }
- case 8531 { rate := 1000000019560499696247784753 }
- case 8532 { rate := 1000000019562210825547180149 }
- case 8533 { rate := 1000000019563921862515306371 }
- case 8534 { rate := 1000000019565632807162127135 }
- case 8535 { rate := 1000000019567343659497604546 }
- case 8536 { rate := 1000000019569054419531699092 }
- case 8537 { rate := 1000000019570765087274369656 }
- case 8538 { rate := 1000000019572475662735573501 }
- case 8539 { rate := 1000000019574186145925266288 }
- case 8540 { rate := 1000000019575896536853402059 }
- case 8541 { rate := 1000000019577606835529933249 }
- case 8542 { rate := 1000000019579317041964810682 }
- case 8543 { rate := 1000000019581027156167983573 }
- case 8544 { rate := 1000000019582737178149399527 }
- case 8545 { rate := 1000000019584447107919004537 }
- case 8546 { rate := 1000000019586156945486742993 }
- case 8547 { rate := 1000000019587866690862557669 }
- case 8548 { rate := 1000000019589576344056389737 }
- case 8549 { rate := 1000000019591285905078178759 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 8550-8599
- switch gt(bps, 8574)
- case 0 { // 8550-8574
- switch bps
- case 8550 { rate := 1000000019592995373937862689 }
- case 8551 { rate := 1000000019594704750645377873 }
- case 8552 { rate := 1000000019596414035210659053 }
- case 8553 { rate := 1000000019598123227643639361 }
- case 8554 { rate := 1000000019599832327954250327 }
- case 8555 { rate := 1000000019601541336152421872 }
- case 8556 { rate := 1000000019603250252248082310 }
- case 8557 { rate := 1000000019604959076251158355 }
- case 8558 { rate := 1000000019606667808171575114 }
- case 8559 { rate := 1000000019608376448019256087 }
- case 8560 { rate := 1000000019610084995804123174 }
- case 8561 { rate := 1000000019611793451536096669 }
- case 8562 { rate := 1000000019613501815225095263 }
- case 8563 { rate := 1000000019615210086881036044 }
- case 8564 { rate := 1000000019616918266513834497 }
- case 8565 { rate := 1000000019618626354133404505 }
- case 8566 { rate := 1000000019620334349749658350 }
- case 8567 { rate := 1000000019622042253372506711 }
- case 8568 { rate := 1000000019623750065011858666 }
- case 8569 { rate := 1000000019625457784677621692 }
- case 8570 { rate := 1000000019627165412379701666 }
- case 8571 { rate := 1000000019628872948128002863 }
- case 8572 { rate := 1000000019630580391932427962 }
- case 8573 { rate := 1000000019632287743802878037 }
- case 8574 { rate := 1000000019633995003749252568 }
- default { revert(0, 0) }
- }
- case 1 { // 8575-8599
- switch bps
- case 8575 { rate := 1000000019635702171781449432 }
- case 8576 { rate := 1000000019637409247909364910 }
- case 8577 { rate := 1000000019639116232142893683 }
- case 8578 { rate := 1000000019640823124491928838 }
- case 8579 { rate := 1000000019642529924966361858 }
- case 8580 { rate := 1000000019644236633576082635 }
- case 8581 { rate := 1000000019645943250330979460 }
- case 8582 { rate := 1000000019647649775240939030 }
- case 8583 { rate := 1000000019649356208315846444 }
- case 8584 { rate := 1000000019651062549565585208 }
- case 8585 { rate := 1000000019652768799000037231 }
- case 8586 { rate := 1000000019654474956629082825 }
- case 8587 { rate := 1000000019656181022462600710 }
- case 8588 { rate := 1000000019657886996510468009 }
- case 8589 { rate := 1000000019659592878782560255 }
- case 8590 { rate := 1000000019661298669288751384 }
- case 8591 { rate := 1000000019663004368038913738 }
- case 8592 { rate := 1000000019664709975042918068 }
- case 8593 { rate := 1000000019666415490310633533 }
- case 8594 { rate := 1000000019668120913851927696 }
- case 8595 { rate := 1000000019669826245676666531 }
- case 8596 { rate := 1000000019671531485794714421 }
- case 8597 { rate := 1000000019673236634215934155 }
- case 8598 { rate := 1000000019674941690950186933 }
- case 8599 { rate := 1000000019676646656007332363 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 8600-8799
- switch gt(bps, 8699)
- case 0 { // 8600-8699
- switch gt(bps, 8649)
- case 0 { // 8600-8649
- switch gt(bps, 8624)
- case 0 { // 8600-8624
- switch bps
- case 8600 { rate := 1000000019678351529397228463 }
- case 8601 { rate := 1000000019680056311129731662 }
- case 8602 { rate := 1000000019681761001214696799 }
- case 8603 { rate := 1000000019683465599661977123 }
- case 8604 { rate := 1000000019685170106481424294 }
- case 8605 { rate := 1000000019686874521682888385 }
- case 8606 { rate := 1000000019688578845276217880 }
- case 8607 { rate := 1000000019690283077271259672 }
- case 8608 { rate := 1000000019691987217677859074 }
- case 8609 { rate := 1000000019693691266505859802 }
- case 8610 { rate := 1000000019695395223765103993 }
- case 8611 { rate := 1000000019697099089465432194 }
- case 8612 { rate := 1000000019698802863616683367 }
- case 8613 { rate := 1000000019700506546228694886 }
- case 8614 { rate := 1000000019702210137311302542 }
- case 8615 { rate := 1000000019703913636874340539 }
- case 8616 { rate := 1000000019705617044927641498 }
- case 8617 { rate := 1000000019707320361481036453 }
- case 8618 { rate := 1000000019709023586544354858 }
- case 8619 { rate := 1000000019710726720127424577 }
- case 8620 { rate := 1000000019712429762240071896 }
- case 8621 { rate := 1000000019714132712892121515 }
- case 8622 { rate := 1000000019715835572093396554 }
- case 8623 { rate := 1000000019717538339853718546 }
- case 8624 { rate := 1000000019719241016182907446 }
- default { revert(0, 0) }
- }
- case 1 { // 8625-8649
- switch bps
- case 8625 { rate := 1000000019720943601090781625 }
- case 8626 { rate := 1000000019722646094587157873 }
- case 8627 { rate := 1000000019724348496681851400 }
- case 8628 { rate := 1000000019726050807384675834 }
- case 8629 { rate := 1000000019727753026705443223 }
- case 8630 { rate := 1000000019729455154653964034 }
- case 8631 { rate := 1000000019731157191240047158 }
- case 8632 { rate := 1000000019732859136473499900 }
- case 8633 { rate := 1000000019734560990364127992 }
- case 8634 { rate := 1000000019736262752921735584 }
- case 8635 { rate := 1000000019737964424156125249 }
- case 8636 { rate := 1000000019739666004077097982 }
- case 8637 { rate := 1000000019741367492694453198 }
- case 8638 { rate := 1000000019743068890017988738 }
- case 8639 { rate := 1000000019744770196057500864 }
- case 8640 { rate := 1000000019746471410822784262 }
- case 8641 { rate := 1000000019748172534323632041 }
- case 8642 { rate := 1000000019749873566569835734 }
- case 8643 { rate := 1000000019751574507571185299 }
- case 8644 { rate := 1000000019753275357337469119 }
- case 8645 { rate := 1000000019754976115878473999 }
- case 8646 { rate := 1000000019756676783203985175 }
- case 8647 { rate := 1000000019758377359323786302 }
- case 8648 { rate := 1000000019760077844247659467 }
- case 8649 { rate := 1000000019761778237985385179 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 8650-8699
- switch gt(bps, 8674)
- case 0 { // 8650-8674
- switch bps
- case 8650 { rate := 1000000019763478540546742376 }
- case 8651 { rate := 1000000019765178751941508423 }
- case 8652 { rate := 1000000019766878872179459110 }
- case 8653 { rate := 1000000019768578901270368657 }
- case 8654 { rate := 1000000019770278839224009713 }
- case 8655 { rate := 1000000019771978686050153352 }
- case 8656 { rate := 1000000019773678441758569079 }
- case 8657 { rate := 1000000019775378106359024828 }
- case 8658 { rate := 1000000019777077679861286963 }
- case 8659 { rate := 1000000019778777162275120275 }
- case 8660 { rate := 1000000019780476553610287987 }
- case 8661 { rate := 1000000019782175853876551752 }
- case 8662 { rate := 1000000019783875063083671655 }
- case 8663 { rate := 1000000019785574181241406209 }
- case 8664 { rate := 1000000019787273208359512363 }
- case 8665 { rate := 1000000019788972144447745493 }
- case 8666 { rate := 1000000019790670989515859410 }
- case 8667 { rate := 1000000019792369743573606356 }
- case 8668 { rate := 1000000019794068406630737008 }
- case 8669 { rate := 1000000019795766978697000471 }
- case 8670 { rate := 1000000019797465459782144290 }
- case 8671 { rate := 1000000019799163849895914439 }
- case 8672 { rate := 1000000019800862149048055328 }
- case 8673 { rate := 1000000019802560357248309801 }
- case 8674 { rate := 1000000019804258474506419137 }
- default { revert(0, 0) }
- }
- case 1 { // 8675-8699
- switch bps
- case 8675 { rate := 1000000019805956500832123050 }
- case 8676 { rate := 1000000019807654436235159689 }
- case 8677 { rate := 1000000019809352280725265639 }
- case 8678 { rate := 1000000019811050034312175922 }
- case 8679 { rate := 1000000019812747697005623995 }
- case 8680 { rate := 1000000019814445268815341752 }
- case 8681 { rate := 1000000019816142749751059525 }
- case 8682 { rate := 1000000019817840139822506084 }
- case 8683 { rate := 1000000019819537439039408634 }
- case 8684 { rate := 1000000019821234647411492821 }
- case 8685 { rate := 1000000019822931764948482727 }
- case 8686 { rate := 1000000019824628791660100876 }
- case 8687 { rate := 1000000019826325727556068227 }
- case 8688 { rate := 1000000019828022572646104182 }
- case 8689 { rate := 1000000019829719326939926581 }
- case 8690 { rate := 1000000019831415990447251705 }
- case 8691 { rate := 1000000019833112563177794274 }
- case 8692 { rate := 1000000019834809045141267450 }
- case 8693 { rate := 1000000019836505436347382837 }
- case 8694 { rate := 1000000019838201736805850477 }
- case 8695 { rate := 1000000019839897946526378859 }
- case 8696 { rate := 1000000019841594065518674908 }
- case 8697 { rate := 1000000019843290093792443997 }
- case 8698 { rate := 1000000019844986031357389939 }
- case 8699 { rate := 1000000019846681878223214989 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 8700-8799
- switch gt(bps, 8749)
- case 0 { // 8700-8749
- switch gt(bps, 8724)
- case 0 { // 8700-8724
- switch bps
- case 8700 { rate := 1000000019848377634399619849 }
- case 8701 { rate := 1000000019850073299896303661 }
- case 8702 { rate := 1000000019851768874722964014 }
- case 8703 { rate := 1000000019853464358889296941 }
- case 8704 { rate := 1000000019855159752404996917 }
- case 8705 { rate := 1000000019856855055279756866 }
- case 8706 { rate := 1000000019858550267523268155 }
- case 8707 { rate := 1000000019860245389145220596 }
- case 8708 { rate := 1000000019861940420155302451 }
- case 8709 { rate := 1000000019863635360563200425 }
- case 8710 { rate := 1000000019865330210378599670 }
- case 8711 { rate := 1000000019867024969611183786 }
- case 8712 { rate := 1000000019868719638270634821 }
- case 8713 { rate := 1000000019870414216366633269 }
- case 8714 { rate := 1000000019872108703908858076 }
- case 8715 { rate := 1000000019873803100906986629 }
- case 8716 { rate := 1000000019875497407370694772 }
- case 8717 { rate := 1000000019877191623309656793 }
- case 8718 { rate := 1000000019878885748733545431 }
- case 8719 { rate := 1000000019880579783652031874 }
- case 8720 { rate := 1000000019882273728074785762 }
- case 8721 { rate := 1000000019883967582011475183 }
- case 8722 { rate := 1000000019885661345471766678 }
- case 8723 { rate := 1000000019887355018465325236 }
- case 8724 { rate := 1000000019889048601001814301 }
- default { revert(0, 0) }
- }
- case 1 { // 8725-8749
- switch bps
- case 8725 { rate := 1000000019890742093090895767 }
- case 8726 { rate := 1000000019892435494742229981 }
- case 8727 { rate := 1000000019894128805965475739 }
- case 8728 { rate := 1000000019895822026770290295 }
- case 8729 { rate := 1000000019897515157166329351 }
- case 8730 { rate := 1000000019899208197163247067 }
- case 8731 { rate := 1000000019900901146770696053 }
- case 8732 { rate := 1000000019902594005998327375 }
- case 8733 { rate := 1000000019904286774855790554 }
- case 8734 { rate := 1000000019905979453352733562 }
- case 8735 { rate := 1000000019907672041498802832 }
- case 8736 { rate := 1000000019909364539303643246 }
- case 8737 { rate := 1000000019911056946776898148 }
- case 8738 { rate := 1000000019912749263928209333 }
- case 8739 { rate := 1000000019914441490767217054 }
- case 8740 { rate := 1000000019916133627303560021 }
- case 8741 { rate := 1000000019917825673546875400 }
- case 8742 { rate := 1000000019919517629506798819 }
- case 8743 { rate := 1000000019921209495192964356 }
- case 8744 { rate := 1000000019922901270615004553 }
- case 8745 { rate := 1000000019924592955782550408 }
- case 8746 { rate := 1000000019926284550705231377 }
- case 8747 { rate := 1000000019927976055392675377 }
- case 8748 { rate := 1000000019929667469854508782 }
- case 8749 { rate := 1000000019931358794100356430 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 8750-8799
- switch gt(bps, 8774)
- case 0 { // 8750-8774
- switch bps
- case 8750 { rate := 1000000019933050028139841613 }
- case 8751 { rate := 1000000019934741171982586087 }
- case 8752 { rate := 1000000019936432225638210068 }
- case 8753 { rate := 1000000019938123189116332234 }
- case 8754 { rate := 1000000019939814062426569721 }
- case 8755 { rate := 1000000019941504845578538131 }
- case 8756 { rate := 1000000019943195538581851525 }
- case 8757 { rate := 1000000019944886141446122425 }
- case 8758 { rate := 1000000019946576654180961822 }
- case 8759 { rate := 1000000019948267076795979161 }
- case 8760 { rate := 1000000019949957409300782358 }
- case 8761 { rate := 1000000019951647651704977788 }
- case 8762 { rate := 1000000019953337804018170292 }
- case 8763 { rate := 1000000019955027866249963174 }
- case 8764 { rate := 1000000019956717838409958205 }
- case 8765 { rate := 1000000019958407720507755616 }
- case 8766 { rate := 1000000019960097512552954109 }
- case 8767 { rate := 1000000019961787214555150849 }
- case 8768 { rate := 1000000019963476826523941464 }
- case 8769 { rate := 1000000019965166348468920054 }
- case 8770 { rate := 1000000019966855780399679180 }
- case 8771 { rate := 1000000019968545122325809875 }
- case 8772 { rate := 1000000019970234374256901634 }
- case 8773 { rate := 1000000019971923536202542425 }
- case 8774 { rate := 1000000019973612608172318678 }
- default { revert(0, 0) }
- }
- case 1 { // 8775-8799
- switch bps
- case 8775 { rate := 1000000019975301590175815296 }
- case 8776 { rate := 1000000019976990482222615648 }
- case 8777 { rate := 1000000019978679284322301573 }
- case 8778 { rate := 1000000019980367996484453378 }
- case 8779 { rate := 1000000019982056618718649841 }
- case 8780 { rate := 1000000019983745151034468208 }
- case 8781 { rate := 1000000019985433593441484196 }
- case 8782 { rate := 1000000019987121945949271992 }
- case 8783 { rate := 1000000019988810208567404255 }
- case 8784 { rate := 1000000019990498381305452115 }
- case 8785 { rate := 1000000019992186464172985172 }
- case 8786 { rate := 1000000019993874457179571499 }
- case 8787 { rate := 1000000019995562360334777640 }
- case 8788 { rate := 1000000019997250173648168612 }
- case 8789 { rate := 1000000019998937897129307905 }
- case 8790 { rate := 1000000020000625530787757482 }
- case 8791 { rate := 1000000020002313074633077780 }
- case 8792 { rate := 1000000020004000528674827707 }
- case 8793 { rate := 1000000020005687892922564648 }
- case 8794 { rate := 1000000020007375167385844462 }
- case 8795 { rate := 1000000020009062352074221481 }
- case 8796 { rate := 1000000020010749446997248514 }
- case 8797 { rate := 1000000020012436452164476843 }
- case 8798 { rate := 1000000020014123367585456228 }
- case 8799 { rate := 1000000020015810193269734903 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- }
-}
\ No newline at end of file
diff --git a/src/repositories/Rates800To1599.sol b/src/repositories/Rates800To1599.sol
deleted file mode 100644
index e58c69c..0000000
--- a/src/repositories/Rates800To1599.sol
+++ /dev/null
@@ -1,1065 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity 0.8.19;
-
-contract Rates800To1599 {
- uint256 constant public MIN = 800;
- uint256 constant public MAX = 1599;
-
- function turn(uint256 bps) external pure returns (uint256 rate) {
- if (bps > MAX) revert();
- if (bps < MIN) revert();
-
- assembly {
- switch gt(bps, 1199)
- case 0 { // 800-1199
- switch gt(bps, 999)
- case 0 { // 800-999
- switch gt(bps, 899)
- case 0 { // 800-899
- switch gt(bps, 849)
- case 0 { // 800-849
- switch gt(bps, 824)
- case 0 { // 800-824
- switch bps
- case 800 { rate := 1000000002440418608258400030 }
- case 801 { rate := 1000000002443354564194129787 }
- case 802 { rate := 1000000002446290248319847339 }
- case 803 { rate := 1000000002449225660685876223 }
- case 804 { rate := 1000000002452160801342526004 }
- case 805 { rate := 1000000002455095670340092277 }
- case 806 { rate := 1000000002458030267728856671 }
- case 807 { rate := 1000000002460964593559086859 }
- case 808 { rate := 1000000002463898647881036558 }
- case 809 { rate := 1000000002466832430744945540 }
- case 810 { rate := 1000000002469765942201039630 }
- case 811 { rate := 1000000002472699182299530718 }
- case 812 { rate := 1000000002475632151090616757 }
- case 813 { rate := 1000000002478564848624481779 }
- case 814 { rate := 1000000002481497274951295886 }
- case 815 { rate := 1000000002484429430121215269 }
- case 816 { rate := 1000000002487361314184382201 }
- case 817 { rate := 1000000002490292927190925051 }
- case 818 { rate := 1000000002493224269190958287 }
- case 819 { rate := 1000000002496155340234582476 }
- case 820 { rate := 1000000002499086140371884298 }
- case 821 { rate := 1000000002502016669652936543 }
- case 822 { rate := 1000000002504946928127798122 }
- case 823 { rate := 1000000002507876915846514067 }
- case 824 { rate := 1000000002510806632859115540 }
- default { revert(0, 0) }
- }
- case 1 { // 825-849
- switch bps
- case 825 { rate := 1000000002513736079215619839 }
- case 826 { rate := 1000000002516665254966030398 }
- case 827 { rate := 1000000002519594160160336795 }
- case 828 { rate := 1000000002522522794848514761 }
- case 829 { rate := 1000000002525451159080526178 }
- case 830 { rate := 1000000002528379252906319086 }
- case 831 { rate := 1000000002531307076375827697 }
- case 832 { rate := 1000000002534234629538972383 }
- case 833 { rate := 1000000002537161912445659699 }
- case 834 { rate := 1000000002540088925145782374 }
- case 835 { rate := 1000000002543015667689219327 }
- case 836 { rate := 1000000002545942140125835662 }
- case 837 { rate := 1000000002548868342505482685 }
- case 838 { rate := 1000000002551794274877997894 }
- case 839 { rate := 1000000002554719937293204998 }
- case 840 { rate := 1000000002557645329800913916 }
- case 841 { rate := 1000000002560570452450920783 }
- case 842 { rate := 1000000002563495305293007952 }
- case 843 { rate := 1000000002566419888376944003 }
- case 844 { rate := 1000000002569344201752483747 }
- case 845 { rate := 1000000002572268245469368232 }
- case 846 { rate := 1000000002575192019577324747 }
- case 847 { rate := 1000000002578115524126066824 }
- case 848 { rate := 1000000002581038759165294249 }
- case 849 { rate := 1000000002583961724744693064 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 850-899
- switch gt(bps, 874)
- case 0 { // 850-874
- switch bps
- case 850 { rate := 1000000002586884420913935572 }
- case 851 { rate := 1000000002589806847722680342 }
- case 852 { rate := 1000000002592729005220572215 }
- case 853 { rate := 1000000002595650893457242308 }
- case 854 { rate := 1000000002598572512482308019 }
- case 855 { rate := 1000000002601493862345373033 }
- case 856 { rate := 1000000002604414943096027328 }
- case 857 { rate := 1000000002607335754783847177 }
- case 858 { rate := 1000000002610256297458395155 }
- case 859 { rate := 1000000002613176571169220145 }
- case 860 { rate := 1000000002616096575965857340 }
- case 861 { rate := 1000000002619016311897828252 }
- case 862 { rate := 1000000002621935779014640712 }
- case 863 { rate := 1000000002624854977365788881 }
- case 864 { rate := 1000000002627773907000753250 }
- case 865 { rate := 1000000002630692567969000648 }
- case 866 { rate := 1000000002633610960319984247 }
- case 867 { rate := 1000000002636529084103143562 }
- case 868 { rate := 1000000002639446939367904465 }
- case 869 { rate := 1000000002642364526163679182 }
- case 870 { rate := 1000000002645281844539866303 }
- case 871 { rate := 1000000002648198894545850784 }
- case 872 { rate := 1000000002651115676231003954 }
- case 873 { rate := 1000000002654032189644683517 }
- case 874 { rate := 1000000002656948434836233563 }
- default { revert(0, 0) }
- }
- case 1 { // 875-899
- switch bps
- case 875 { rate := 1000000002659864411854984565 }
- case 876 { rate := 1000000002662780120750253393 }
- case 877 { rate := 1000000002665695561571343309 }
- case 878 { rate := 1000000002668610734367543981 }
- case 879 { rate := 1000000002671525639188131484 }
- case 880 { rate := 1000000002674440276082368302 }
- case 881 { rate := 1000000002677354645099503340 }
- case 882 { rate := 1000000002680268746288771923 }
- case 883 { rate := 1000000002683182579699395804 }
- case 884 { rate := 1000000002686096145380583168 }
- case 885 { rate := 1000000002689009443381528638 }
- case 886 { rate := 1000000002691922473751413277 }
- case 887 { rate := 1000000002694835236539404598 }
- case 888 { rate := 1000000002697747731794656564 }
- case 889 { rate := 1000000002700659959566309596 }
- case 890 { rate := 1000000002703571919903490575 }
- case 891 { rate := 1000000002706483612855312853 }
- case 892 { rate := 1000000002709395038470876252 }
- case 893 { rate := 1000000002712306196799267069 }
- case 894 { rate := 1000000002715217087889558088 }
- case 895 { rate := 1000000002718127711790808573 }
- case 896 { rate := 1000000002721038068552064286 }
- case 897 { rate := 1000000002723948158222357482 }
- case 898 { rate := 1000000002726857980850706921 }
- case 899 { rate := 1000000002729767536486117866 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 900-999
- switch gt(bps, 949)
- case 0 { // 900-949
- switch gt(bps, 924)
- case 0 { // 900-924
- switch bps
- case 900 { rate := 1000000002732676825177582095 }
- case 901 { rate := 1000000002735585846974077901 }
- case 902 { rate := 1000000002738494601924570098 }
- case 903 { rate := 1000000002741403090078010029 }
- case 904 { rate := 1000000002744311311483335565 }
- case 905 { rate := 1000000002747219266189471117 }
- case 906 { rate := 1000000002750126954245327636 }
- case 907 { rate := 1000000002753034375699802616 }
- case 908 { rate := 1000000002755941530601780109 }
- case 909 { rate := 1000000002758848419000130717 }
- case 910 { rate := 1000000002761755040943711607 }
- case 911 { rate := 1000000002764661396481366508 }
- case 912 { rate := 1000000002767567485661925724 }
- case 913 { rate := 1000000002770473308534206134 }
- case 914 { rate := 1000000002773378865147011196 }
- case 915 { rate := 1000000002776284155549130955 }
- case 916 { rate := 1000000002779189179789342046 }
- case 917 { rate := 1000000002782093937916407701 }
- case 918 { rate := 1000000002784998429979077750 }
- case 919 { rate := 1000000002787902656026088630 }
- case 920 { rate := 1000000002790806616106163389 }
- case 921 { rate := 1000000002793710310268011687 }
- case 922 { rate := 1000000002796613738560329808 }
- case 923 { rate := 1000000002799516901031800659 }
- case 924 { rate := 1000000002802419797731093776 }
- default { revert(0, 0) }
- }
- case 1 { // 925-949
- switch bps
- case 925 { rate := 1000000002805322428706865331 }
- case 926 { rate := 1000000002808224794007758136 }
- case 927 { rate := 1000000002811126893682401646 }
- case 928 { rate := 1000000002814028727779411968 }
- case 929 { rate := 1000000002816930296347391860 }
- case 930 { rate := 1000000002819831599434930742 }
- case 931 { rate := 1000000002822732637090604696 }
- case 932 { rate := 1000000002825633409362976474 }
- case 933 { rate := 1000000002828533916300595503 }
- case 934 { rate := 1000000002831434157951997885 }
- case 935 { rate := 1000000002834334134365706412 }
- case 936 { rate := 1000000002837233845590230556 }
- case 937 { rate := 1000000002840133291674066490 }
- case 938 { rate := 1000000002843032472665697081 }
- case 939 { rate := 1000000002845931388613591900 }
- case 940 { rate := 1000000002848830039566207226 }
- case 941 { rate := 1000000002851728425571986050 }
- case 942 { rate := 1000000002854626546679358084 }
- case 943 { rate := 1000000002857524402936739757 }
- case 944 { rate := 1000000002860421994392534231 }
- case 945 { rate := 1000000002863319321095131394 }
- case 946 { rate := 1000000002866216383092907878 }
- case 947 { rate := 1000000002869113180434227051 }
- case 948 { rate := 1000000002872009713167439031 }
- case 949 { rate := 1000000002874905981340880687 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 950-999
- switch gt(bps, 974)
- case 0 { // 950-974
- switch bps
- case 950 { rate := 1000000002877801985002875644 }
- case 951 { rate := 1000000002880697724201734289 }
- case 952 { rate := 1000000002883593198985753772 }
- case 953 { rate := 1000000002886488409403218019 }
- case 954 { rate := 1000000002889383355502397729 }
- case 955 { rate := 1000000002892278037331550380 }
- case 956 { rate := 1000000002895172454938920238 }
- case 957 { rate := 1000000002898066608372738360 }
- case 958 { rate := 1000000002900960497681222594 }
- case 959 { rate := 1000000002903854122912577591 }
- case 960 { rate := 1000000002906747484114994807 }
- case 961 { rate := 1000000002909640581336652506 }
- case 962 { rate := 1000000002912533414625715766 }
- case 963 { rate := 1000000002915425984030336485 }
- case 964 { rate := 1000000002918318289598653387 }
- case 965 { rate := 1000000002921210331378792020 }
- case 966 { rate := 1000000002924102109418864770 }
- case 967 { rate := 1000000002926993623766970860 }
- case 968 { rate := 1000000002929884874471196354 }
- case 969 { rate := 1000000002932775861579614167 }
- case 970 { rate := 1000000002935666585140284065 }
- case 971 { rate := 1000000002938557045201252671 }
- case 972 { rate := 1000000002941447241810553473 }
- case 973 { rate := 1000000002944337175016206824 }
- case 974 { rate := 1000000002947226844866219949 }
- default { revert(0, 0) }
- }
- case 1 { // 975-999
- switch bps
- case 975 { rate := 1000000002950116251408586949 }
- case 976 { rate := 1000000002953005394691288810 }
- case 977 { rate := 1000000002955894274762293401 }
- case 978 { rate := 1000000002958782891669555482 }
- case 979 { rate := 1000000002961671245461016710 }
- case 980 { rate := 1000000002964559336184605642 }
- case 981 { rate := 1000000002967447163888237741 }
- case 982 { rate := 1000000002970334728619815381 }
- case 983 { rate := 1000000002973222030427227847 }
- case 984 { rate := 1000000002976109069358351348 }
- case 985 { rate := 1000000002978995845461049016 }
- case 986 { rate := 1000000002981882358783170911 }
- case 987 { rate := 1000000002984768609372554028 }
- case 988 { rate := 1000000002987654597277022302 }
- case 989 { rate := 1000000002990540322544386608 }
- case 990 { rate := 1000000002993425785222444772 }
- case 991 { rate := 1000000002996310985358981573 }
- case 992 { rate := 1000000002999195923001768747 }
- case 993 { rate := 1000000003002080598198564991 }
- case 994 { rate := 1000000003004965010997115971 }
- case 995 { rate := 1000000003007849161445154325 }
- case 996 { rate := 1000000003010733049590399667 }
- case 997 { rate := 1000000003013616675480558594 }
- case 998 { rate := 1000000003016500039163324684 }
- case 999 { rate := 1000000003019383140686378514 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 1000-1199
- switch gt(bps, 1099)
- case 0 { // 1000-1099
- switch gt(bps, 1049)
- case 0 { // 1000-1049
- switch gt(bps, 1024)
- case 0 { // 1000-1024
- switch bps
- case 1000 { rate := 1000000003022265980097387650 }
- case 1001 { rate := 1000000003025148557444006661 }
- case 1002 { rate := 1000000003028030872773877120 }
- case 1003 { rate := 1000000003030912926134627612 }
- case 1004 { rate := 1000000003033794717573873734 }
- case 1005 { rate := 1000000003036676247139218104 }
- case 1006 { rate := 1000000003039557514878250362 }
- case 1007 { rate := 1000000003042438520838547180 }
- case 1008 { rate := 1000000003045319265067672258 }
- case 1009 { rate := 1000000003048199747613176340 }
- case 1010 { rate := 1000000003051079968522597209 }
- case 1011 { rate := 1000000003053959927843459697 }
- case 1012 { rate := 1000000003056839625623275688 }
- case 1013 { rate := 1000000003059719061909544123 }
- case 1014 { rate := 1000000003062598236749751004 }
- case 1015 { rate := 1000000003065477150191369400 }
- case 1016 { rate := 1000000003068355802281859451 }
- case 1017 { rate := 1000000003071234193068668372 }
- case 1018 { rate := 1000000003074112322599230459 }
- case 1019 { rate := 1000000003076990190920967093 }
- case 1020 { rate := 1000000003079867798081286746 }
- case 1021 { rate := 1000000003082745144127584981 }
- case 1022 { rate := 1000000003085622229107244463 }
- case 1023 { rate := 1000000003088499053067634962 }
- case 1024 { rate := 1000000003091375616056113353 }
- default { revert(0, 0) }
- }
- case 1 { // 1025-1049
- switch bps
- case 1025 { rate := 1000000003094251918120023627 }
- case 1026 { rate := 1000000003097127959306696891 }
- case 1027 { rate := 1000000003100003739663451375 }
- case 1028 { rate := 1000000003102879259237592437 }
- case 1029 { rate := 1000000003105754518076412567 }
- case 1030 { rate := 1000000003108629516227191390 }
- case 1031 { rate := 1000000003111504253737195675 }
- case 1032 { rate := 1000000003114378730653679332 }
- case 1033 { rate := 1000000003117252947023883428 }
- case 1034 { rate := 1000000003120126902895036179 }
- case 1035 { rate := 1000000003123000598314352966 }
- case 1036 { rate := 1000000003125874033329036329 }
- case 1037 { rate := 1000000003128747207986275984 }
- case 1038 { rate := 1000000003131620122333248815 }
- case 1039 { rate := 1000000003134492776417118886 }
- case 1040 { rate := 1000000003137365170285037445 }
- case 1041 { rate := 1000000003140237303984142929 }
- case 1042 { rate := 1000000003143109177561560964 }
- case 1043 { rate := 1000000003145980791064404376 }
- case 1044 { rate := 1000000003148852144539773190 }
- case 1045 { rate := 1000000003151723238034754641 }
- case 1046 { rate := 1000000003154594071596423170 }
- case 1047 { rate := 1000000003157464645271840438 }
- case 1048 { rate := 1000000003160334959108055323 }
- case 1049 { rate := 1000000003163205013152103932 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 1050-1099
- switch gt(bps, 1074)
- case 0 { // 1050-1074
- switch bps
- case 1050 { rate := 1000000003166074807451009595 }
- case 1051 { rate := 1000000003168944342051782881 }
- case 1052 { rate := 1000000003171813617001421599 }
- case 1053 { rate := 1000000003174682632346910796 }
- case 1054 { rate := 1000000003177551388135222770 }
- case 1055 { rate := 1000000003180419884413317071 }
- case 1056 { rate := 1000000003183288121228140507 }
- case 1057 { rate := 1000000003186156098626627147 }
- case 1058 { rate := 1000000003189023816655698326 }
- case 1059 { rate := 1000000003191891275362262652 }
- case 1060 { rate := 1000000003194758474793216004 }
- case 1061 { rate := 1000000003197625414995441546 }
- case 1062 { rate := 1000000003200492096015809725 }
- case 1063 { rate := 1000000003203358517901178277 }
- case 1064 { rate := 1000000003206224680698392232 }
- case 1065 { rate := 1000000003209090584454283919 }
- case 1066 { rate := 1000000003211956229215672970 }
- case 1067 { rate := 1000000003214821615029366324 }
- case 1068 { rate := 1000000003217686741942158234 }
- case 1069 { rate := 1000000003220551610000830269 }
- case 1070 { rate := 1000000003223416219252151318 }
- case 1071 { rate := 1000000003226280569742877599 }
- case 1072 { rate := 1000000003229144661519752659 }
- case 1073 { rate := 1000000003232008494629507379 }
- case 1074 { rate := 1000000003234872069118859983 }
- default { revert(0, 0) }
- }
- case 1 { // 1075-1099
- switch bps
- case 1075 { rate := 1000000003237735385034516037 }
- case 1076 { rate := 1000000003240598442423168457 }
- case 1077 { rate := 1000000003243461241331497510 }
- case 1078 { rate := 1000000003246323781806170825 }
- case 1079 { rate := 1000000003249186063893843391 }
- case 1080 { rate := 1000000003252048087641157566 }
- case 1081 { rate := 1000000003254909853094743078 }
- case 1082 { rate := 1000000003257771360301217032 }
- case 1083 { rate := 1000000003260632609307183913 }
- case 1084 { rate := 1000000003263493600159235596 }
- case 1085 { rate := 1000000003266354332903951338 }
- case 1086 { rate := 1000000003269214807587897798 }
- case 1087 { rate := 1000000003272075024257629030 }
- case 1088 { rate := 1000000003274934982959686493 }
- case 1089 { rate := 1000000003277794683740599053 }
- case 1090 { rate := 1000000003280654126646882991 }
- case 1091 { rate := 1000000003283513311725042002 }
- case 1092 { rate := 1000000003286372239021567206 }
- case 1093 { rate := 1000000003289230908582937149 }
- case 1094 { rate := 1000000003292089320455617805 }
- case 1095 { rate := 1000000003294947474686062586 }
- case 1096 { rate := 1000000003297805371320712343 }
- case 1097 { rate := 1000000003300663010405995372 }
- case 1098 { rate := 1000000003303520391988327418 }
- case 1099 { rate := 1000000003306377516114111677 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 1100-1199
- switch gt(bps, 1149)
- case 0 { // 1100-1149
- switch gt(bps, 1124)
- case 0 { // 1100-1124
- switch bps
- case 1100 { rate := 1000000003309234382829738808 }
- case 1101 { rate := 1000000003312090992181586929 }
- case 1102 { rate := 1000000003314947344216021625 }
- case 1103 { rate := 1000000003317803438979395953 }
- case 1104 { rate := 1000000003320659276518050449 }
- case 1105 { rate := 1000000003323514856878313124 }
- case 1106 { rate := 1000000003326370180106499479 }
- case 1107 { rate := 1000000003329225246248912502 }
- case 1108 { rate := 1000000003332080055351842678 }
- case 1109 { rate := 1000000003334934607461567985 }
- case 1110 { rate := 1000000003337788902624353911 }
- case 1111 { rate := 1000000003340642940886453447 }
- case 1112 { rate := 1000000003343496722294107097 }
- case 1113 { rate := 1000000003346350246893542883 }
- case 1114 { rate := 1000000003349203514730976348 }
- case 1115 { rate := 1000000003352056525852610558 }
- case 1116 { rate := 1000000003354909280304636111 }
- case 1117 { rate := 1000000003357761778133231141 }
- case 1118 { rate := 1000000003360614019384561319 }
- case 1119 { rate := 1000000003363466004104779860 }
- case 1120 { rate := 1000000003366317732340027527 }
- case 1121 { rate := 1000000003369169204136432636 }
- case 1122 { rate := 1000000003372020419540111060 }
- case 1123 { rate := 1000000003374871378597166232 }
- case 1124 { rate := 1000000003377722081353689153 }
- default { revert(0, 0) }
- }
- case 1 { // 1125-1149
- switch bps
- case 1125 { rate := 1000000003380572527855758393 }
- case 1126 { rate := 1000000003383422718149440098 }
- case 1127 { rate := 1000000003386272652280787992 }
- case 1128 { rate := 1000000003389122330295843384 }
- case 1129 { rate := 1000000003391971752240635171 }
- case 1130 { rate := 1000000003394820918161179843 }
- case 1131 { rate := 1000000003397669828103481484 }
- case 1132 { rate := 1000000003400518482113531785 }
- case 1133 { rate := 1000000003403366880237310040 }
- case 1134 { rate := 1000000003406215022520783154 }
- case 1135 { rate := 1000000003409062909009905646 }
- case 1136 { rate := 1000000003411910539750619657 }
- case 1137 { rate := 1000000003414757914788854950 }
- case 1138 { rate := 1000000003417605034170528915 }
- case 1139 { rate := 1000000003420451897941546578 }
- case 1140 { rate := 1000000003423298506147800601 }
- case 1141 { rate := 1000000003426144858835171287 }
- case 1142 { rate := 1000000003428990956049526585 }
- case 1143 { rate := 1000000003431836797836722098 }
- case 1144 { rate := 1000000003434682384242601076 }
- case 1145 { rate := 1000000003437527715312994437 }
- case 1146 { rate := 1000000003440372791093720759 }
- case 1147 { rate := 1000000003443217611630586286 }
- case 1148 { rate := 1000000003446062176969384941 }
- case 1149 { rate := 1000000003448906487155898317 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 1150-1199
- switch gt(bps, 1174)
- case 0 { // 1150-1174
- switch bps
- case 1150 { rate := 1000000003451750542235895695 }
- case 1151 { rate := 1000000003454594342255134037 }
- case 1152 { rate := 1000000003457437887259357996 }
- case 1153 { rate := 1000000003460281177294299923 }
- case 1154 { rate := 1000000003463124212405679865 }
- case 1155 { rate := 1000000003465966992639205574 }
- case 1156 { rate := 1000000003468809518040572510 }
- case 1157 { rate := 1000000003471651788655463845 }
- case 1158 { rate := 1000000003474493804529550469 }
- case 1159 { rate := 1000000003477335565708490991 }
- case 1160 { rate := 1000000003480177072237931747 }
- case 1161 { rate := 1000000003483018324163506803 }
- case 1162 { rate := 1000000003485859321530837959 }
- case 1163 { rate := 1000000003488700064385534755 }
- case 1164 { rate := 1000000003491540552773194473 }
- case 1165 { rate := 1000000003494380786739402144 }
- case 1166 { rate := 1000000003497220766329730547 }
- case 1167 { rate := 1000000003500060491589740224 }
- case 1168 { rate := 1000000003502899962564979471 }
- case 1169 { rate := 1000000003505739179300984355 }
- case 1170 { rate := 1000000003508578141843278707 }
- case 1171 { rate := 1000000003511416850237374137 }
- case 1172 { rate := 1000000003514255304528770030 }
- case 1173 { rate := 1000000003517093504762953555 }
- case 1174 { rate := 1000000003519931450985399667 }
- default { revert(0, 0) }
- }
- case 1 { // 1175-1199
- switch bps
- case 1175 { rate := 1000000003522769143241571114 }
- case 1176 { rate := 1000000003525606581576918439 }
- case 1177 { rate := 1000000003528443766036879984 }
- case 1178 { rate := 1000000003531280696666881897 }
- case 1179 { rate := 1000000003534117373512338136 }
- case 1180 { rate := 1000000003536953796618650468 }
- case 1181 { rate := 1000000003539789966031208483 }
- case 1182 { rate := 1000000003542625881795389588 }
- case 1183 { rate := 1000000003545461543956559019 }
- case 1184 { rate := 1000000003548296952560069844 }
- case 1185 { rate := 1000000003551132107651262963 }
- case 1186 { rate := 1000000003553967009275467116 }
- case 1187 { rate := 1000000003556801657477998888 }
- case 1188 { rate := 1000000003559636052304162712 }
- case 1189 { rate := 1000000003562470193799250871 }
- case 1190 { rate := 1000000003565304082008543509 }
- case 1191 { rate := 1000000003568137716977308627 }
- case 1192 { rate := 1000000003570971098750802094 }
- case 1193 { rate := 1000000003573804227374267648 }
- case 1194 { rate := 1000000003576637102892936900 }
- case 1195 { rate := 1000000003579469725352029341 }
- case 1196 { rate := 1000000003582302094796752344 }
- case 1197 { rate := 1000000003585134211272301170 }
- case 1198 { rate := 1000000003587966074823858969 }
- case 1199 { rate := 1000000003590797685496596791 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 1200-1599
- switch gt(bps, 1399)
- case 0 { // 1200-1399
- switch gt(bps, 1299)
- case 0 { // 1200-1299
- switch gt(bps, 1249)
- case 0 { // 1200-1249
- switch gt(bps, 1224)
- case 0 { // 1200-1224
- switch bps
- case 1200 { rate := 1000000003593629043335673582 }
- case 1201 { rate := 1000000003596460148386236193 }
- case 1202 { rate := 1000000003599291000693419387 }
- case 1203 { rate := 1000000003602121600302345836 }
- case 1204 { rate := 1000000003604951947258126131 }
- case 1205 { rate := 1000000003607782041605858785 }
- case 1206 { rate := 1000000003610611883390630237 }
- case 1207 { rate := 1000000003613441472657514856 }
- case 1208 { rate := 1000000003616270809451574945 }
- case 1209 { rate := 1000000003619099893817860747 }
- case 1210 { rate := 1000000003621928725801410447 }
- case 1211 { rate := 1000000003624757305447250178 }
- case 1212 { rate := 1000000003627585632800394025 }
- case 1213 { rate := 1000000003630413707905844031 }
- case 1214 { rate := 1000000003633241530808590194 }
- case 1215 { rate := 1000000003636069101553610482 }
- case 1216 { rate := 1000000003638896420185870830 }
- case 1217 { rate := 1000000003641723486750325145 }
- case 1218 { rate := 1000000003644550301291915316 }
- case 1219 { rate := 1000000003647376863855571208 }
- case 1220 { rate := 1000000003650203174486210676 }
- case 1221 { rate := 1000000003653029233228739563 }
- case 1222 { rate := 1000000003655855040128051709 }
- case 1223 { rate := 1000000003658680595229028953 }
- case 1224 { rate := 1000000003661505898576541135 }
- default { revert(0, 0) }
- }
- case 1 { // 1225-1249
- switch bps
- case 1225 { rate := 1000000003664330950215446102 }
- case 1226 { rate := 1000000003667155750190589718 }
- case 1227 { rate := 1000000003669980298546805858 }
- case 1228 { rate := 1000000003672804595328916419 }
- case 1229 { rate := 1000000003675628640581731322 }
- case 1230 { rate := 1000000003678452434350048518 }
- case 1231 { rate := 1000000003681275976678653990 }
- case 1232 { rate := 1000000003684099267612321761 }
- case 1233 { rate := 1000000003686922307195813890 }
- case 1234 { rate := 1000000003689745095473880490 }
- case 1235 { rate := 1000000003692567632491259715 }
- case 1236 { rate := 1000000003695389918292677782 }
- case 1237 { rate := 1000000003698211952922848960 }
- case 1238 { rate := 1000000003701033736426475586 }
- case 1239 { rate := 1000000003703855268848248061 }
- case 1240 { rate := 1000000003706676550232844859 }
- case 1241 { rate := 1000000003709497580624932527 }
- case 1242 { rate := 1000000003712318360069165696 }
- case 1243 { rate := 1000000003715138888610187078 }
- case 1244 { rate := 1000000003717959166292627475 }
- case 1245 { rate := 1000000003720779193161105781 }
- case 1246 { rate := 1000000003723598969260228987 }
- case 1247 { rate := 1000000003726418494634592186 }
- case 1248 { rate := 1000000003729237769328778574 }
- case 1249 { rate := 1000000003732056793387359459 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 1250-1299
- switch gt(bps, 1274)
- case 0 { // 1250-1274
- switch bps
- case 1250 { rate := 1000000003734875566854894261 }
- case 1251 { rate := 1000000003737694089775930518 }
- case 1252 { rate := 1000000003740512362195003894 }
- case 1253 { rate := 1000000003743330384156638173 }
- case 1254 { rate := 1000000003746148155705345276 }
- case 1255 { rate := 1000000003748965676885625255 }
- case 1256 { rate := 1000000003751782947741966301 }
- case 1257 { rate := 1000000003754599968318844752 }
- case 1258 { rate := 1000000003757416738660725089 }
- case 1259 { rate := 1000000003760233258812059948 }
- case 1260 { rate := 1000000003763049528817290119 }
- case 1261 { rate := 1000000003765865548720844553 }
- case 1262 { rate := 1000000003768681318567140366 }
- case 1263 { rate := 1000000003771496838400582842 }
- case 1264 { rate := 1000000003774312108265565437 }
- case 1265 { rate := 1000000003777127128206469785 }
- case 1266 { rate := 1000000003779941898267665701 }
- case 1267 { rate := 1000000003782756418493511185 }
- case 1268 { rate := 1000000003785570688928352427 }
- case 1269 { rate := 1000000003788384709616523810 }
- case 1270 { rate := 1000000003791198480602347918 }
- case 1271 { rate := 1000000003794012001930135532 }
- case 1272 { rate := 1000000003796825273644185643 }
- case 1273 { rate := 1000000003799638295788785451 }
- case 1274 { rate := 1000000003802451068408210371 }
- default { revert(0, 0) }
- }
- case 1 { // 1275-1299
- switch bps
- case 1275 { rate := 1000000003805263591546724039 }
- case 1276 { rate := 1000000003808075865248578310 }
- case 1277 { rate := 1000000003810887889558013269 }
- case 1278 { rate := 1000000003813699664519257234 }
- case 1279 { rate := 1000000003816511190176526753 }
- case 1280 { rate := 1000000003819322466574026619 }
- case 1281 { rate := 1000000003822133493755949867 }
- case 1282 { rate := 1000000003824944271766477781 }
- case 1283 { rate := 1000000003827754800649779894 }
- case 1284 { rate := 1000000003830565080450014001 }
- case 1285 { rate := 1000000003833375111211326151 }
- case 1286 { rate := 1000000003836184892977850664 }
- case 1287 { rate := 1000000003838994425793710125 }
- case 1288 { rate := 1000000003841803709703015394 }
- case 1289 { rate := 1000000003844612744749865606 }
- case 1290 { rate := 1000000003847421530978348180 }
- case 1291 { rate := 1000000003850230068432538818 }
- case 1292 { rate := 1000000003853038357156501515 }
- case 1293 { rate := 1000000003855846397194288557 }
- case 1294 { rate := 1000000003858654188589940528 }
- case 1295 { rate := 1000000003861461731387486315 }
- case 1296 { rate := 1000000003864269025630943112 }
- case 1297 { rate := 1000000003867076071364316422 }
- case 1298 { rate := 1000000003869882868631600065 }
- case 1299 { rate := 1000000003872689417476776174 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 1300-1399
- switch gt(bps, 1349)
- case 0 { // 1300-1349
- switch gt(bps, 1324)
- case 0 { // 1300-1324
- switch bps
- case 1300 { rate := 1000000003875495717943815211 }
- case 1301 { rate := 1000000003878301770076675963 }
- case 1302 { rate := 1000000003881107573919305546 }
- case 1303 { rate := 1000000003883913129515639415 }
- case 1304 { rate := 1000000003886718436909601359 }
- case 1305 { rate := 1000000003889523496145103516 }
- case 1306 { rate := 1000000003892328307266046370 }
- case 1307 { rate := 1000000003895132870316318753 }
- case 1308 { rate := 1000000003897937185339797857 }
- case 1309 { rate := 1000000003900741252380349234 }
- case 1310 { rate := 1000000003903545071481826796 }
- case 1311 { rate := 1000000003906348642688072829 }
- case 1312 { rate := 1000000003909151966042917985 }
- case 1313 { rate := 1000000003911955041590181299 }
- case 1314 { rate := 1000000003914757869373670180 }
- case 1315 { rate := 1000000003917560449437180427 }
- case 1316 { rate := 1000000003920362781824496225 }
- case 1317 { rate := 1000000003923164866579390151 }
- case 1318 { rate := 1000000003925966703745623181 }
- case 1319 { rate := 1000000003928768293366944691 }
- case 1320 { rate := 1000000003931569635487092463 }
- case 1321 { rate := 1000000003934370730149792686 }
- case 1322 { rate := 1000000003937171577398759967 }
- case 1323 { rate := 1000000003939972177277697324 }
- case 1324 { rate := 1000000003942772529830296202 }
- default { revert(0, 0) }
- }
- case 1 { // 1325-1349
- switch bps
- case 1325 { rate := 1000000003945572635100236468 }
- case 1326 { rate := 1000000003948372493131186422 }
- case 1327 { rate := 1000000003951172103966802794 }
- case 1328 { rate := 1000000003953971467650730754 }
- case 1329 { rate := 1000000003956770584226603915 }
- case 1330 { rate := 1000000003959569453738044333 }
- case 1331 { rate := 1000000003962368076228662518 }
- case 1332 { rate := 1000000003965166451742057429 }
- case 1333 { rate := 1000000003967964580321816489 }
- case 1334 { rate := 1000000003970762462011515578 }
- case 1335 { rate := 1000000003973560096854719047 }
- case 1336 { rate := 1000000003976357484894979715 }
- case 1337 { rate := 1000000003979154626175838876 }
- case 1338 { rate := 1000000003981951520740826302 }
- case 1339 { rate := 1000000003984748168633460248 }
- case 1340 { rate := 1000000003987544569897247457 }
- case 1341 { rate := 1000000003990340724575683160 }
- case 1342 { rate := 1000000003993136632712251086 }
- case 1343 { rate := 1000000003995932294350423462 }
- case 1344 { rate := 1000000003998727709533661015 }
- case 1345 { rate := 1000000004001522878305412984 }
- case 1346 { rate := 1000000004004317800709117115 }
- case 1347 { rate := 1000000004007112476788199671 }
- case 1348 { rate := 1000000004009906906586075434 }
- case 1349 { rate := 1000000004012701090146147709 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 1350-1399
- switch gt(bps, 1374)
- case 0 { // 1350-1374
- switch bps
- case 1350 { rate := 1000000004015495027511808328 }
- case 1351 { rate := 1000000004018288718726437654 }
- case 1352 { rate := 1000000004021082163833404588 }
- case 1353 { rate := 1000000004023875362876066566 }
- case 1354 { rate := 1000000004026668315897769570 }
- case 1355 { rate := 1000000004029461022941848130 }
- case 1356 { rate := 1000000004032253484051625326 }
- case 1357 { rate := 1000000004035045699270412795 }
- case 1358 { rate := 1000000004037837668641510732 }
- case 1359 { rate := 1000000004040629392208207896 }
- case 1360 { rate := 1000000004043420870013781614 }
- case 1361 { rate := 1000000004046212102101497785 }
- case 1362 { rate := 1000000004049003088514610884 }
- case 1363 { rate := 1000000004051793829296363962 }
- case 1364 { rate := 1000000004054584324489988659 }
- case 1365 { rate := 1000000004057374574138705201 }
- case 1366 { rate := 1000000004060164578285722402 }
- case 1367 { rate := 1000000004062954336974237676 }
- case 1368 { rate := 1000000004065743850247437036 }
- case 1369 { rate := 1000000004068533118148495099 }
- case 1370 { rate := 1000000004071322140720575088 }
- case 1371 { rate := 1000000004074110918006828838 }
- case 1372 { rate := 1000000004076899450050396802 }
- case 1373 { rate := 1000000004079687736894408050 }
- case 1374 { rate := 1000000004082475778581980279 }
- default { revert(0, 0) }
- }
- case 1 { // 1375-1399
- switch bps
- case 1375 { rate := 1000000004085263575156219812 }
- case 1376 { rate := 1000000004088051126660221602 }
- case 1377 { rate := 1000000004090838433137069242 }
- case 1378 { rate := 1000000004093625494629834960 }
- case 1379 { rate := 1000000004096412311181579631 }
- case 1380 { rate := 1000000004099198882835352777 }
- case 1381 { rate := 1000000004101985209634192573 }
- case 1382 { rate := 1000000004104771291621125847 }
- case 1383 { rate := 1000000004107557128839168089 }
- case 1384 { rate := 1000000004110342721331323451 }
- case 1385 { rate := 1000000004113128069140584754 }
- case 1386 { rate := 1000000004115913172309933491 }
- case 1387 { rate := 1000000004118698030882339831 }
- case 1388 { rate := 1000000004121482644900762619 }
- case 1389 { rate := 1000000004124267014408149388 }
- case 1390 { rate := 1000000004127051139447436357 }
- case 1391 { rate := 1000000004129835020061548436 }
- case 1392 { rate := 1000000004132618656293399231 }
- case 1393 { rate := 1000000004135402048185891048 }
- case 1394 { rate := 1000000004138185195781914895 }
- case 1395 { rate := 1000000004140968099124350490 }
- case 1396 { rate := 1000000004143750758256066259 }
- case 1397 { rate := 1000000004146533173219919347 }
- case 1398 { rate := 1000000004149315344058755615 }
- case 1399 { rate := 1000000004152097270815409650 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 1400-1599
- switch gt(bps, 1499)
- case 0 { // 1400-1499
- switch gt(bps, 1449)
- case 0 { // 1400-1449
- switch gt(bps, 1424)
- case 0 { // 1400-1424
- switch bps
- case 1400 { rate := 1000000004154878953532704765 }
- case 1401 { rate := 1000000004157660392253453003 }
- case 1402 { rate := 1000000004160441587020455146 }
- case 1403 { rate := 1000000004163222537876500710 }
- case 1404 { rate := 1000000004166003244864367958 }
- case 1405 { rate := 1000000004168783708026823899 }
- case 1406 { rate := 1000000004171563927406624291 }
- case 1407 { rate := 1000000004174343903046513649 }
- case 1408 { rate := 1000000004177123634989225246 }
- case 1409 { rate := 1000000004179903123277481120 }
- case 1410 { rate := 1000000004182682367953992073 }
- case 1411 { rate := 1000000004185461369061457677 }
- case 1412 { rate := 1000000004188240126642566281 }
- case 1413 { rate := 1000000004191018640739995012 }
- case 1414 { rate := 1000000004193796911396409779 }
- case 1415 { rate := 1000000004196574938654465277 }
- case 1416 { rate := 1000000004199352722556804991 }
- case 1417 { rate := 1000000004202130263146061203 }
- case 1418 { rate := 1000000004204907560464854990 }
- case 1419 { rate := 1000000004207684614555796231 }
- case 1420 { rate := 1000000004210461425461483615 }
- case 1421 { rate := 1000000004213237993224504637 }
- case 1422 { rate := 1000000004216014317887435608 }
- case 1423 { rate := 1000000004218790399492841653 }
- case 1424 { rate := 1000000004221566238083276725 }
- default { revert(0, 0) }
- }
- case 1 { // 1425-1449
- switch bps
- case 1425 { rate := 1000000004224341833701283597 }
- case 1426 { rate := 1000000004227117186389393875 }
- case 1427 { rate := 1000000004229892296190127996 }
- case 1428 { rate := 1000000004232667163145995236 }
- case 1429 { rate := 1000000004235441787299493712 }
- case 1430 { rate := 1000000004238216168693110386 }
- case 1431 { rate := 1000000004240990307369321069 }
- case 1432 { rate := 1000000004243764203370590423 }
- case 1433 { rate := 1000000004246537856739371971 }
- case 1434 { rate := 1000000004249311267518108094 }
- case 1435 { rate := 1000000004252084435749230038 }
- case 1436 { rate := 1000000004254857361475157917 }
- case 1437 { rate := 1000000004257630044738300719 }
- case 1438 { rate := 1000000004260402485581056307 }
- case 1439 { rate := 1000000004263174684045811425 }
- case 1440 { rate := 1000000004265946640174941701 }
- case 1441 { rate := 1000000004268718354010811651 }
- case 1442 { rate := 1000000004271489825595774681 }
- case 1443 { rate := 1000000004274261054972173095 }
- case 1444 { rate := 1000000004277032042182338097 }
- case 1445 { rate := 1000000004279802787268589794 }
- case 1446 { rate := 1000000004282573290273237200 }
- case 1447 { rate := 1000000004285343551238578238 }
- case 1448 { rate := 1000000004288113570206899751 }
- case 1449 { rate := 1000000004290883347220477497 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 1450-1499
- switch gt(bps, 1474)
- case 0 { // 1450-1474
- switch bps
- case 1450 { rate := 1000000004293652882321576158 }
- case 1451 { rate := 1000000004296422175552449345 }
- case 1452 { rate := 1000000004299191226955339597 }
- case 1453 { rate := 1000000004301960036572478387 }
- case 1454 { rate := 1000000004304728604446086130 }
- case 1455 { rate := 1000000004307496930618372179 }
- case 1456 { rate := 1000000004310265015131534834 }
- case 1457 { rate := 1000000004313032858027761349 }
- case 1458 { rate := 1000000004315800459349227927 }
- case 1459 { rate := 1000000004318567819138099730 }
- case 1460 { rate := 1000000004321334937436530883 }
- case 1461 { rate := 1000000004324101814286664475 }
- case 1462 { rate := 1000000004326868449730632563 }
- case 1463 { rate := 1000000004329634843810556180 }
- case 1464 { rate := 1000000004332400996568545334 }
- case 1465 { rate := 1000000004335166908046699016 }
- case 1466 { rate := 1000000004337932578287105196 }
- case 1467 { rate := 1000000004340698007331840840 }
- case 1468 { rate := 1000000004343463195222971901 }
- case 1469 { rate := 1000000004346228142002553329 }
- case 1470 { rate := 1000000004348992847712629077 }
- case 1471 { rate := 1000000004351757312395232098 }
- case 1472 { rate := 1000000004354521536092384354 }
- case 1473 { rate := 1000000004357285518846096818 }
- case 1474 { rate := 1000000004360049260698369481 }
- default { revert(0, 0) }
- }
- case 1 { // 1475-1499
- switch bps
- case 1475 { rate := 1000000004362812761691191350 }
- case 1476 { rate := 1000000004365576021866540454 }
- case 1477 { rate := 1000000004368339041266383854 }
- case 1478 { rate := 1000000004371101819932677638 }
- case 1479 { rate := 1000000004373864357907366926 }
- case 1480 { rate := 1000000004376626655232385882 }
- case 1481 { rate := 1000000004379388711949657709 }
- case 1482 { rate := 1000000004382150528101094654 }
- case 1483 { rate := 1000000004384912103728598017 }
- case 1484 { rate := 1000000004387673438874058150 }
- case 1485 { rate := 1000000004390434533579354464 }
- case 1486 { rate := 1000000004393195387886355428 }
- case 1487 { rate := 1000000004395956001836918578 }
- case 1488 { rate := 1000000004398716375472890520 }
- case 1489 { rate := 1000000004401476508836106929 }
- case 1490 { rate := 1000000004404236401968392559 }
- case 1491 { rate := 1000000004406996054911561245 }
- case 1492 { rate := 1000000004409755467707415902 }
- case 1493 { rate := 1000000004412514640397748538 }
- case 1494 { rate := 1000000004415273573024340248 }
- case 1495 { rate := 1000000004418032265628961226 }
- case 1496 { rate := 1000000004420790718253370761 }
- case 1497 { rate := 1000000004423548930939317250 }
- case 1498 { rate := 1000000004426306903728538193 }
- case 1499 { rate := 1000000004429064636662760200 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 1500-1599
- switch gt(bps, 1549)
- case 0 { // 1500-1549
- switch gt(bps, 1524)
- case 0 { // 1500-1524
- switch bps
- case 1500 { rate := 1000000004431822129783699001 }
- case 1501 { rate := 1000000004434579383133059436 }
- case 1502 { rate := 1000000004437336396752535473 }
- case 1503 { rate := 1000000004440093170683810203 }
- case 1504 { rate := 1000000004442849704968555849 }
- case 1505 { rate := 1000000004445605999648433763 }
- case 1506 { rate := 1000000004448362054765094438 }
- case 1507 { rate := 1000000004451117870360177505 }
- case 1508 { rate := 1000000004453873446475311742 }
- case 1509 { rate := 1000000004456628783152115072 }
- case 1510 { rate := 1000000004459383880432194574 }
- case 1511 { rate := 1000000004462138738357146482 }
- case 1512 { rate := 1000000004464893356968556186 }
- case 1513 { rate := 1000000004467647736307998245 }
- case 1514 { rate := 1000000004470401876417036380 }
- case 1515 { rate := 1000000004473155777337223487 }
- case 1516 { rate := 1000000004475909439110101633 }
- case 1517 { rate := 1000000004478662861777202067 }
- case 1518 { rate := 1000000004481416045380045219 }
- case 1519 { rate := 1000000004484168989960140704 }
- case 1520 { rate := 1000000004486921695558987326 }
- case 1521 { rate := 1000000004489674162218073087 }
- case 1522 { rate := 1000000004492426389978875180 }
- case 1523 { rate := 1000000004495178378882860004 }
- case 1524 { rate := 1000000004497930128971483160 }
- default { revert(0, 0) }
- }
- case 1 { // 1525-1549
- switch bps
- case 1525 { rate := 1000000004500681640286189459 }
- case 1526 { rate := 1000000004503432912868412922 }
- case 1527 { rate := 1000000004506183946759576791 }
- case 1528 { rate := 1000000004508934742001093521 }
- case 1529 { rate := 1000000004511685298634364794 }
- case 1530 { rate := 1000000004514435616700781520 }
- case 1531 { rate := 1000000004517185696241723838 }
- case 1532 { rate := 1000000004519935537298561123 }
- case 1533 { rate := 1000000004522685139912651989 }
- case 1534 { rate := 1000000004525434504125344289 }
- case 1535 { rate := 1000000004528183629977975125 }
- case 1536 { rate := 1000000004530932517511870847 }
- case 1537 { rate := 1000000004533681166768347059 }
- case 1538 { rate := 1000000004536429577788708623 }
- case 1539 { rate := 1000000004539177750614249659 }
- case 1540 { rate := 1000000004541925685286253554 }
- case 1541 { rate := 1000000004544673381845992962 }
- case 1542 { rate := 1000000004547420840334729810 }
- case 1543 { rate := 1000000004550168060793715299 }
- case 1544 { rate := 1000000004552915043264189911 }
- case 1545 { rate := 1000000004555661787787383409 }
- case 1546 { rate := 1000000004558408294404514847 }
- case 1547 { rate := 1000000004561154563156792564 }
- case 1548 { rate := 1000000004563900594085414197 }
- case 1549 { rate := 1000000004566646387231566680 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 1550-1599
- switch gt(bps, 1574)
- case 0 { // 1550-1574
- switch bps
- case 1550 { rate := 1000000004569391942636426248 }
- case 1551 { rate := 1000000004572137260341158442 }
- case 1552 { rate := 1000000004574882340386918113 }
- case 1553 { rate := 1000000004577627182814849422 }
- case 1554 { rate := 1000000004580371787666085848 }
- case 1555 { rate := 1000000004583116154981750191 }
- case 1556 { rate := 1000000004585860284802954574 }
- case 1557 { rate := 1000000004588604177170800448 }
- case 1558 { rate := 1000000004591347832126378593 }
- case 1559 { rate := 1000000004594091249710769128 }
- case 1560 { rate := 1000000004596834429965041505 }
- case 1561 { rate := 1000000004599577372930254526 }
- case 1562 { rate := 1000000004602320078647456331 }
- case 1563 { rate := 1000000004605062547157684415 }
- case 1564 { rate := 1000000004607804778501965623 }
- case 1565 { rate := 1000000004610546772721316162 }
- case 1566 { rate := 1000000004613288529856741593 }
- case 1567 { rate := 1000000004616030049949236846 }
- case 1568 { rate := 1000000004618771333039786217 }
- case 1569 { rate := 1000000004621512379169363376 }
- case 1570 { rate := 1000000004624253188378931367 }
- case 1571 { rate := 1000000004626993760709442611 }
- case 1572 { rate := 1000000004629734096201838917 }
- case 1573 { rate := 1000000004632474194897051476 }
- case 1574 { rate := 1000000004635214056836000869 }
- default { revert(0, 0) }
- }
- case 1 { // 1575-1599
- switch bps
- case 1575 { rate := 1000000004637953682059597074 }
- case 1576 { rate := 1000000004640693070608739463 }
- case 1577 { rate := 1000000004643432222524316813 }
- case 1578 { rate := 1000000004646171137847207302 }
- case 1579 { rate := 1000000004648909816618278519 }
- case 1580 { rate := 1000000004651648258878387462 }
- case 1581 { rate := 1000000004654386464668380549 }
- case 1582 { rate := 1000000004657124434029093614 }
- case 1583 { rate := 1000000004659862167001351915 }
- case 1584 { rate := 1000000004662599663625970138 }
- case 1585 { rate := 1000000004665336923943752398 }
- case 1586 { rate := 1000000004668073947995492244 }
- case 1587 { rate := 1000000004670810735821972662 }
- case 1588 { rate := 1000000004673547287463966083 }
- case 1589 { rate := 1000000004676283602962234377 }
- case 1590 { rate := 1000000004679019682357528867 }
- case 1591 { rate := 1000000004681755525690590328 }
- case 1592 { rate := 1000000004684491133002148989 }
- case 1593 { rate := 1000000004687226504332924539 }
- case 1594 { rate := 1000000004689961639723626131 }
- case 1595 { rate := 1000000004692696539214952384 }
- case 1596 { rate := 1000000004695431202847591388 }
- case 1597 { rate := 1000000004698165630662220707 }
- case 1598 { rate := 1000000004700899822699507381 }
- case 1599 { rate := 1000000004703633779000107935 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- }
-}
\ No newline at end of file
diff --git a/src/repositories/Rates8800To9599.sol b/src/repositories/Rates8800To9599.sol
deleted file mode 100644
index 87973e3..0000000
--- a/src/repositories/Rates8800To9599.sol
+++ /dev/null
@@ -1,1065 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity 0.8.19;
-
-contract Rates8800To9599 {
- uint256 constant public MIN = 8800;
- uint256 constant public MAX = 9599;
-
- function turn(uint256 bps) external pure returns (uint256 rate) {
- if (bps > MAX) revert();
- if (bps < MIN) revert();
-
- assembly {
- switch gt(bps, 9199)
- case 0 { // 8800-9199
- switch gt(bps, 8999)
- case 0 { // 8800-8999
- switch gt(bps, 8899)
- case 0 { // 8800-8899
- switch gt(bps, 8849)
- case 0 { // 8800-8849
- switch gt(bps, 8824)
- case 0 { // 8800-8824
- switch bps
- case 8800 { rate := 1000000020017496929226859581 }
- case 8801 { rate := 1000000020019183575466375447 }
- case 8802 { rate := 1000000020020870131997826170 }
- case 8803 { rate := 1000000020022556598830753888 }
- case 8804 { rate := 1000000020024242975974699224 }
- case 8805 { rate := 1000000020025929263439201274 }
- case 8806 { rate := 1000000020027615461233797613 }
- case 8807 { rate := 1000000020029301569368024297 }
- case 8808 { rate := 1000000020030987587851415860 }
- case 8809 { rate := 1000000020032673516693505313 }
- case 8810 { rate := 1000000020034359355903824149 }
- case 8811 { rate := 1000000020036045105491902339 }
- case 8812 { rate := 1000000020037730765467268337 }
- case 8813 { rate := 1000000020039416335839449075 }
- case 8814 { rate := 1000000020041101816617969965 }
- case 8815 { rate := 1000000020042787207812354904 }
- case 8816 { rate := 1000000020044472509432126266 }
- case 8817 { rate := 1000000020046157721486804911 }
- case 8818 { rate := 1000000020047842843985910178 }
- case 8819 { rate := 1000000020049527876938959890 }
- case 8820 { rate := 1000000020051212820355470352 }
- case 8821 { rate := 1000000020052897674244956352 }
- case 8822 { rate := 1000000020054582438616931164 }
- case 8823 { rate := 1000000020056267113480906541 }
- case 8824 { rate := 1000000020057951698846392724 }
- default { revert(0, 0) }
- }
- case 1 { // 8825-8849
- switch bps
- case 8825 { rate := 1000000020059636194722898437 }
- case 8826 { rate := 1000000020061320601119930888 }
- case 8827 { rate := 1000000020063004918046995771 }
- case 8828 { rate := 1000000020064689145513597267 }
- case 8829 { rate := 1000000020066373283529238037 }
- case 8830 { rate := 1000000020068057332103419236 }
- case 8831 { rate := 1000000020069741291245640498 }
- case 8832 { rate := 1000000020071425160965399947 }
- case 8833 { rate := 1000000020073108941272194197 }
- case 8834 { rate := 1000000020074792632175518341 }
- case 8835 { rate := 1000000020076476233684865968 }
- case 8836 { rate := 1000000020078159745809729151 }
- case 8837 { rate := 1000000020079843168559598451 }
- case 8838 { rate := 1000000020081526501943962918 }
- case 8839 { rate := 1000000020083209745972310093 }
- case 8840 { rate := 1000000020084892900654126002 }
- case 8841 { rate := 1000000020086575965998895164 }
- case 8842 { rate := 1000000020088258942016100588 }
- case 8843 { rate := 1000000020089941828715223770 }
- case 8844 { rate := 1000000020091624626105744699 }
- case 8845 { rate := 1000000020093307334197141855 }
- case 8846 { rate := 1000000020094989952998892207 }
- case 8847 { rate := 1000000020096672482520471219 }
- case 8848 { rate := 1000000020098354922771352842 }
- case 8849 { rate := 1000000020100037273761009523 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 8850-8899
- switch gt(bps, 8874)
- case 0 { // 8850-8874
- switch bps
- case 8850 { rate := 1000000020101719535498912200 }
- case 8851 { rate := 1000000020103401707994530304 }
- case 8852 { rate := 1000000020105083791257331758 }
- case 8853 { rate := 1000000020106765785296782980 }
- case 8854 { rate := 1000000020108447690122348881 }
- case 8855 { rate := 1000000020110129505743492865 }
- case 8856 { rate := 1000000020111811232169676833 }
- case 8857 { rate := 1000000020113492869410361176 }
- case 8858 { rate := 1000000020115174417475004786 }
- case 8859 { rate := 1000000020116855876373065045 }
- case 8860 { rate := 1000000020118537246113997834 }
- case 8861 { rate := 1000000020120218526707257528 }
- case 8862 { rate := 1000000020121899718162296998 }
- case 8863 { rate := 1000000020123580820488567614 }
- case 8864 { rate := 1000000020125261833695519242 }
- case 8865 { rate := 1000000020126942757792600241 }
- case 8866 { rate := 1000000020128623592789257476 }
- case 8867 { rate := 1000000020130304338694936301 }
- case 8868 { rate := 1000000020131984995519080574 }
- case 8869 { rate := 1000000020133665563271132648 }
- case 8870 { rate := 1000000020135346041960533378 }
- case 8871 { rate := 1000000020137026431596722116 }
- case 8872 { rate := 1000000020138706732189136713 }
- case 8873 { rate := 1000000020140386943747213521 }
- case 8874 { rate := 1000000020142067066280387392 }
- default { revert(0, 0) }
- }
- case 1 { // 8875-8899
- switch bps
- case 8875 { rate := 1000000020143747099798091677 }
- case 8876 { rate := 1000000020145427044309758231 }
- case 8877 { rate := 1000000020147106899824817406 }
- case 8878 { rate := 1000000020148786666352698057 }
- case 8879 { rate := 1000000020150466343902827542 }
- case 8880 { rate := 1000000020152145932484631718 }
- case 8881 { rate := 1000000020153825432107534947 }
- case 8882 { rate := 1000000020155504842780960093 }
- case 8883 { rate := 1000000020157184164514328522 }
- case 8884 { rate := 1000000020158863397317060104 }
- case 8885 { rate := 1000000020160542541198573211 }
- case 8886 { rate := 1000000020162221596168284722 }
- case 8887 { rate := 1000000020163900562235610018 }
- case 8888 { rate := 1000000020165579439409962985 }
- case 8889 { rate := 1000000020167258227700756012 }
- case 8890 { rate := 1000000020168936927117399997 }
- case 8891 { rate := 1000000020170615537669304340 }
- case 8892 { rate := 1000000020172294059365876949 }
- case 8893 { rate := 1000000020173972492216524237 }
- case 8894 { rate := 1000000020175650836230651123 }
- case 8895 { rate := 1000000020177329091417661033 }
- case 8896 { rate := 1000000020179007257786955901 }
- case 8897 { rate := 1000000020180685335347936169 }
- case 8898 { rate := 1000000020182363324110000782 }
- case 8899 { rate := 1000000020184041224082547200 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 8900-8999
- switch gt(bps, 8949)
- case 0 { // 8900-8949
- switch gt(bps, 8924)
- case 0 { // 8900-8924
- switch bps
- case 8900 { rate := 1000000020185719035274971385 }
- case 8901 { rate := 1000000020187396757696667812 }
- case 8902 { rate := 1000000020189074391357029461 }
- case 8903 { rate := 1000000020190751936265447827 }
- case 8904 { rate := 1000000020192429392431312906 }
- case 8905 { rate := 1000000020194106759864013214 }
- case 8906 { rate := 1000000020195784038572935769 }
- case 8907 { rate := 1000000020197461228567466103 }
- case 8908 { rate := 1000000020199138329856988259 }
- case 8909 { rate := 1000000020200815342450884791 }
- case 8910 { rate := 1000000020202492266358536762 }
- case 8911 { rate := 1000000020204169101589323750 }
- case 8912 { rate := 1000000020205845848152623845 }
- case 8913 { rate := 1000000020207522506057813646 }
- case 8914 { rate := 1000000020209199075314268269 }
- case 8915 { rate := 1000000020210875555931361340 }
- case 8916 { rate := 1000000020212551947918465000 }
- case 8917 { rate := 1000000020214228251284949901 }
- case 8918 { rate := 1000000020215904466040185214 }
- case 8919 { rate := 1000000020217580592193538618 }
- case 8920 { rate := 1000000020219256629754376312 }
- case 8921 { rate := 1000000020220932578732063007 }
- case 8922 { rate := 1000000020222608439135961931 }
- case 8923 { rate := 1000000020224284210975434825 }
- case 8924 { rate := 1000000020225959894259841949 }
- default { revert(0, 0) }
- }
- case 1 { // 8925-8949
- switch bps
- case 8925 { rate := 1000000020227635488998542076 }
- case 8926 { rate := 1000000020229310995200892497 }
- case 8927 { rate := 1000000020230986412876249021 }
- case 8928 { rate := 1000000020232661742033965972 }
- case 8929 { rate := 1000000020234336982683396194 }
- case 8930 { rate := 1000000020236012134833891045 }
- case 8931 { rate := 1000000020237687198494800405 }
- case 8932 { rate := 1000000020239362173675472669 }
- case 8933 { rate := 1000000020241037060385254751 }
- case 8934 { rate := 1000000020242711858633492088 }
- case 8935 { rate := 1000000020244386568429528633 }
- case 8936 { rate := 1000000020246061189782706857 }
- case 8937 { rate := 1000000020247735722702367756 }
- case 8938 { rate := 1000000020249410167197850841 }
- case 8939 { rate := 1000000020251084523278494145 }
- case 8940 { rate := 1000000020252758790953634225 }
- case 8941 { rate := 1000000020254432970232606156 }
- case 8942 { rate := 1000000020256107061124743535 }
- case 8943 { rate := 1000000020257781063639378482 }
- case 8944 { rate := 1000000020259454977785841636 }
- case 8945 { rate := 1000000020261128803573462164 }
- case 8946 { rate := 1000000020262802541011567749 }
- case 8947 { rate := 1000000020264476190109484603 }
- case 8948 { rate := 1000000020266149750876537457 }
- case 8949 { rate := 1000000020267823223322049569 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 8950-8999
- switch gt(bps, 8974)
- case 0 { // 8950-8974
- switch bps
- case 8950 { rate := 1000000020269496607455342719 }
- case 8951 { rate := 1000000020271169903285737212 }
- case 8952 { rate := 1000000020272843110822551875 }
- case 8953 { rate := 1000000020274516230075104065 }
- case 8954 { rate := 1000000020276189261052709662 }
- case 8955 { rate := 1000000020277862203764683069 }
- case 8956 { rate := 1000000020279535058220337216 }
- case 8957 { rate := 1000000020281207824428983564 }
- case 8958 { rate := 1000000020282880502399932092 }
- case 8959 { rate := 1000000020284553092142491314 }
- case 8960 { rate := 1000000020286225593665968266 }
- case 8961 { rate := 1000000020287898006979668513 }
- case 8962 { rate := 1000000020289570332092896147 }
- case 8963 { rate := 1000000020291242569014953788 }
- case 8964 { rate := 1000000020292914717755142587 }
- case 8965 { rate := 1000000020294586778322762220 }
- case 8966 { rate := 1000000020296258750727110894 }
- case 8967 { rate := 1000000020297930634977485344 }
- case 8968 { rate := 1000000020299602431083180836 }
- case 8969 { rate := 1000000020301274139053491166 }
- case 8970 { rate := 1000000020302945758897708658 }
- case 8971 { rate := 1000000020304617290625124169 }
- case 8972 { rate := 1000000020306288734245027087 }
- case 8973 { rate := 1000000020307960089766705327 }
- case 8974 { rate := 1000000020309631357199445340 }
- default { revert(0, 0) }
- }
- case 1 { // 8975-8999
- switch bps
- case 8975 { rate := 1000000020311302536552532106 }
- case 8976 { rate := 1000000020312973627835249139 }
- case 8977 { rate := 1000000020314644631056878485 }
- case 8978 { rate := 1000000020316315546226700722 }
- case 8979 { rate := 1000000020317986373353994961 }
- case 8980 { rate := 1000000020319657112448038846 }
- case 8981 { rate := 1000000020321327763518108555 }
- case 8982 { rate := 1000000020322998326573478801 }
- case 8983 { rate := 1000000020324668801623422830 }
- case 8984 { rate := 1000000020326339188677212422 }
- case 8985 { rate := 1000000020328009487744117892 }
- case 8986 { rate := 1000000020329679698833408092 }
- case 8987 { rate := 1000000020331349821954350409 }
- case 8988 { rate := 1000000020333019857116210763 }
- case 8989 { rate := 1000000020334689804328253614 }
- case 8990 { rate := 1000000020336359663599741954 }
- case 8991 { rate := 1000000020338029434939937316 }
- case 8992 { rate := 1000000020339699118358099767 }
- case 8993 { rate := 1000000020341368713863487913 }
- case 8994 { rate := 1000000020343038221465358897 }
- case 8995 { rate := 1000000020344707641172968400 }
- case 8996 { rate := 1000000020346376972995570640 }
- case 8997 { rate := 1000000020348046216942418378 }
- case 8998 { rate := 1000000020349715373022762906 }
- case 8999 { rate := 1000000020351384441245854063 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 9000-9199
- switch gt(bps, 9099)
- case 0 { // 9000-9099
- switch gt(bps, 9049)
- case 0 { // 9000-9049
- switch gt(bps, 9024)
- case 0 { // 9000-9024
- switch bps
- case 9000 { rate := 1000000020353053421620940223 }
- case 9001 { rate := 1000000020354722314157268302 }
- case 9002 { rate := 1000000020356391118864083753 }
- case 9003 { rate := 1000000020358059835750630572 }
- case 9004 { rate := 1000000020359728464826151296 }
- case 9005 { rate := 1000000020361397006099887003 }
- case 9006 { rate := 1000000020363065459581077309 }
- case 9007 { rate := 1000000020364733825278960375 }
- case 9008 { rate := 1000000020366402103202772903 }
- case 9009 { rate := 1000000020368070293361750138 }
- case 9010 { rate := 1000000020369738395765125865 }
- case 9011 { rate := 1000000020371406410422132415 }
- case 9012 { rate := 1000000020373074337342000659 }
- case 9013 { rate := 1000000020374742176533960015 }
- case 9014 { rate := 1000000020376409928007238443 }
- case 9015 { rate := 1000000020378077591771062444 }
- case 9016 { rate := 1000000020379745167834657070 }
- case 9017 { rate := 1000000020381412656207245911 }
- case 9018 { rate := 1000000020383080056898051107 }
- case 9019 { rate := 1000000020384747369916293340 }
- case 9020 { rate := 1000000020386414595271191839 }
- case 9021 { rate := 1000000020388081732971964381 }
- case 9022 { rate := 1000000020389748783027827283 }
- case 9023 { rate := 1000000020391415745447995416 }
- case 9024 { rate := 1000000020393082620241682192 }
- default { revert(0, 0) }
- }
- case 1 { // 9025-9049
- switch bps
- case 9025 { rate := 1000000020394749407418099573 }
- case 9026 { rate := 1000000020396416106986458070 }
- case 9027 { rate := 1000000020398082718955966736 }
- case 9028 { rate := 1000000020399749243335833178 }
- case 9029 { rate := 1000000020401415680135263548 }
- case 9030 { rate := 1000000020403082029363462548 }
- case 9031 { rate := 1000000020404748291029633429 }
- case 9032 { rate := 1000000020406414465142977990 }
- case 9033 { rate := 1000000020408080551712696581 }
- case 9034 { rate := 1000000020409746550747988100 }
- case 9035 { rate := 1000000020411412462258049999 }
- case 9036 { rate := 1000000020413078286252078275 }
- case 9037 { rate := 1000000020414744022739267481 }
- case 9038 { rate := 1000000020416409671728810718 }
- case 9039 { rate := 1000000020418075233229899639 }
- case 9040 { rate := 1000000020419740707251724448 }
- case 9041 { rate := 1000000020421406093803473905 }
- case 9042 { rate := 1000000020423071392894335315 }
- case 9043 { rate := 1000000020424736604533494543 }
- case 9044 { rate := 1000000020426401728730136002 }
- case 9045 { rate := 1000000020428066765493442661 }
- case 9046 { rate := 1000000020429731714832596040 }
- case 9047 { rate := 1000000020431396576756776217 }
- case 9048 { rate := 1000000020433061351275161818 }
- case 9049 { rate := 1000000020434726038396930030 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 9050-9099
- switch gt(bps, 9074)
- case 0 { // 9050-9074
- switch bps
- case 9050 { rate := 1000000020436390638131256590 }
- case 9051 { rate := 1000000020438055150487315791 }
- case 9052 { rate := 1000000020439719575474280483 }
- case 9053 { rate := 1000000020441383913101322070 }
- case 9054 { rate := 1000000020443048163377610514 }
- case 9055 { rate := 1000000020444712326312314329 }
- case 9056 { rate := 1000000020446376401914600591 }
- case 9057 { rate := 1000000020448040390193634929 }
- case 9058 { rate := 1000000020449704291158581532 }
- case 9059 { rate := 1000000020451368104818603142 }
- case 9060 { rate := 1000000020453031831182861063 }
- case 9061 { rate := 1000000020454695470260515157 }
- case 9062 { rate := 1000000020456359022060723842 }
- case 9063 { rate := 1000000020458022486592644094 }
- case 9064 { rate := 1000000020459685863865431454 }
- case 9065 { rate := 1000000020461349153888240014 }
- case 9066 { rate := 1000000020463012356670222430 }
- case 9067 { rate := 1000000020464675472220529919 }
- case 9068 { rate := 1000000020466338500548312257 }
- case 9069 { rate := 1000000020468001441662717778 }
- case 9070 { rate := 1000000020469664295572893381 }
- case 9071 { rate := 1000000020471327062287984523 }
- case 9072 { rate := 1000000020472989741817135223 }
- case 9073 { rate := 1000000020474652334169488064 }
- case 9074 { rate := 1000000020476314839354184187 }
- default { revert(0, 0) }
- }
- case 1 { // 9075-9099
- switch bps
- case 9075 { rate := 1000000020477977257380363298 }
- case 9076 { rate := 1000000020479639588257163666 }
- case 9077 { rate := 1000000020481301831993722120 }
- case 9078 { rate := 1000000020482963988599174056 }
- case 9079 { rate := 1000000020484626058082653431 }
- case 9080 { rate := 1000000020486288040453292766 }
- case 9081 { rate := 1000000020487949935720223147 }
- case 9082 { rate := 1000000020489611743892574223 }
- case 9083 { rate := 1000000020491273464979474210 }
- case 9084 { rate := 1000000020492935098990049887 }
- case 9085 { rate := 1000000020494596645933426599 }
- case 9086 { rate := 1000000020496258105818728257 }
- case 9087 { rate := 1000000020497919478655077336 }
- case 9088 { rate := 1000000020499580764451594880 }
- case 9089 { rate := 1000000020501241963217400498 }
- case 9090 { rate := 1000000020502903074961612367 }
- case 9091 { rate := 1000000020504564099693347229 }
- case 9092 { rate := 1000000020506225037421720394 }
- case 9093 { rate := 1000000020507885888155845741 }
- case 9094 { rate := 1000000020509546651904835716 }
- case 9095 { rate := 1000000020511207328677801335 }
- case 9096 { rate := 1000000020512867918483852179 }
- case 9097 { rate := 1000000020514528421332096402 }
- case 9098 { rate := 1000000020516188837231640723 }
- case 9099 { rate := 1000000020517849166191590436 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 9100-9199
- switch gt(bps, 9149)
- case 0 { // 9100-9149
- switch gt(bps, 9124)
- case 0 { // 9100-9124
- switch bps
- case 9100 { rate := 1000000020519509408221049399 }
- case 9101 { rate := 1000000020521169563329120043 }
- case 9102 { rate := 1000000020522829631524903371 }
- case 9103 { rate := 1000000020524489612817498954 }
- case 9104 { rate := 1000000020526149507216004934 }
- case 9105 { rate := 1000000020527809314729518026 }
- case 9106 { rate := 1000000020529469035367133516 }
- case 9107 { rate := 1000000020531128669137945262 }
- case 9108 { rate := 1000000020532788216051045693 }
- case 9109 { rate := 1000000020534447676115525812 }
- case 9110 { rate := 1000000020536107049340475193 }
- case 9111 { rate := 1000000020537766335734981987 }
- case 9112 { rate := 1000000020539425535308132912 }
- case 9113 { rate := 1000000020541084648069013267 }
- case 9114 { rate := 1000000020542743674026706920 }
- case 9115 { rate := 1000000020544402613190296315 }
- case 9116 { rate := 1000000020546061465568862469 }
- case 9117 { rate := 1000000020547720231171484977 }
- case 9118 { rate := 1000000020549378910007242007 }
- case 9119 { rate := 1000000020551037502085210301 }
- case 9120 { rate := 1000000020552696007414465182 }
- case 9121 { rate := 1000000020554354426004080544 }
- case 9122 { rate := 1000000020556012757863128859 }
- case 9123 { rate := 1000000020557671003000681175 }
- case 9124 { rate := 1000000020559329161425807120 }
- default { revert(0, 0) }
- }
- case 1 { // 9125-9149
- switch bps
- case 9125 { rate := 1000000020560987233147574896 }
- case 9126 { rate := 1000000020562645218175051284 }
- case 9127 { rate := 1000000020564303116517301641 }
- case 9128 { rate := 1000000020565960928183389906 }
- case 9129 { rate := 1000000020567618653182378593 }
- case 9130 { rate := 1000000020569276291523328795 }
- case 9131 { rate := 1000000020570933843215300187 }
- case 9132 { rate := 1000000020572591308267351020 }
- case 9133 { rate := 1000000020574248686688538126 }
- case 9134 { rate := 1000000020575905978487916919 }
- case 9135 { rate := 1000000020577563183674541388 }
- case 9136 { rate := 1000000020579220302257464108 }
- case 9137 { rate := 1000000020580877334245736232 }
- case 9138 { rate := 1000000020582534279648407494 }
- case 9139 { rate := 1000000020584191138474526212 }
- case 9140 { rate := 1000000020585847910733139281 }
- case 9141 { rate := 1000000020587504596433292185 }
- case 9142 { rate := 1000000020589161195584028982 }
- case 9143 { rate := 1000000020590817708194392321 }
- case 9144 { rate := 1000000020592474134273423425 }
- case 9145 { rate := 1000000020594130473830162110 }
- case 9146 { rate := 1000000020595786726873646766 }
- case 9147 { rate := 1000000020597442893412914374 }
- case 9148 { rate := 1000000020599098973457000497 }
- case 9149 { rate := 1000000020600754967014939281 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 9150-9199
- switch gt(bps, 9174)
- case 0 { // 9150-9174
- switch bps
- case 9150 { rate := 1000000020602410874095763456 }
- case 9151 { rate := 1000000020604066694708504340 }
- case 9152 { rate := 1000000020605722428862191834 }
- case 9153 { rate := 1000000020607378076565854427 }
- case 9154 { rate := 1000000020609033637828519190 }
- case 9155 { rate := 1000000020610689112659211784 }
- case 9156 { rate := 1000000020612344501066956455 }
- case 9157 { rate := 1000000020613999803060776034 }
- case 9158 { rate := 1000000020615655018649691942 }
- case 9159 { rate := 1000000020617310147842724185 }
- case 9160 { rate := 1000000020618965190648891360 }
- case 9161 { rate := 1000000020620620147077210647 }
- case 9162 { rate := 1000000020622275017136697818 }
- case 9163 { rate := 1000000020623929800836367232 }
- case 9164 { rate := 1000000020625584498185231838 }
- case 9165 { rate := 1000000020627239109192303172 }
- case 9166 { rate := 1000000020628893633866591362 }
- case 9167 { rate := 1000000020630548072217105124 }
- case 9168 { rate := 1000000020632202424252851765 }
- case 9169 { rate := 1000000020633856689982837180 }
- case 9170 { rate := 1000000020635510869416065857 }
- case 9171 { rate := 1000000020637164962561540876 }
- case 9172 { rate := 1000000020638818969428263904 }
- case 9173 { rate := 1000000020640472890025235203 }
- case 9174 { rate := 1000000020642126724361453626 }
- default { revert(0, 0) }
- }
- case 1 { // 9175-9199
- switch bps
- case 9175 { rate := 1000000020643780472445916617 }
- case 9176 { rate := 1000000020645434134287620214 }
- case 9177 { rate := 1000000020647087709895559046 }
- case 9178 { rate := 1000000020648741199278726334 }
- case 9179 { rate := 1000000020650394602446113896 }
- case 9180 { rate := 1000000020652047919406712141 }
- case 9181 { rate := 1000000020653701150169510072 }
- case 9182 { rate := 1000000020655354294743495287 }
- case 9183 { rate := 1000000020657007353137653976 }
- case 9184 { rate := 1000000020658660325360970928 }
- case 9185 { rate := 1000000020660313211422429521 }
- case 9186 { rate := 1000000020661966011331011735 }
- case 9187 { rate := 1000000020663618725095698141 }
- case 9188 { rate := 1000000020665271352725467906 }
- case 9189 { rate := 1000000020666923894229298796 }
- case 9190 { rate := 1000000020668576349616167171 }
- case 9191 { rate := 1000000020670228718895047988 }
- case 9192 { rate := 1000000020671881002074914804 }
- case 9193 { rate := 1000000020673533199164739768 }
- case 9194 { rate := 1000000020675185310173493631 }
- case 9195 { rate := 1000000020676837335110145740 }
- case 9196 { rate := 1000000020678489273983664040 }
- case 9197 { rate := 1000000020680141126803015078 }
- case 9198 { rate := 1000000020681792893577163993 }
- case 9199 { rate := 1000000020683444574315074529 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 9200-9599
- switch gt(bps, 9399)
- case 0 { // 9200-9399
- switch gt(bps, 9299)
- case 0 { // 9200-9299
- switch gt(bps, 9249)
- case 0 { // 9200-9249
- switch gt(bps, 9224)
- case 0 { // 9200-9224
- switch bps
- case 9200 { rate := 1000000020685096169025709028 }
- case 9201 { rate := 1000000020686747677718028431 }
- case 9202 { rate := 1000000020688399100400992278 }
- case 9203 { rate := 1000000020690050437083558711 }
- case 9204 { rate := 1000000020691701687774684471 }
- case 9205 { rate := 1000000020693352852483324902 }
- case 9206 { rate := 1000000020695003931218433948 }
- case 9207 { rate := 1000000020696654923988964153 }
- case 9208 { rate := 1000000020698305830803866663 }
- case 9209 { rate := 1000000020699956651672091229 }
- case 9210 { rate := 1000000020701607386602586203 }
- case 9211 { rate := 1000000020703258035604298536 }
- case 9212 { rate := 1000000020704908598686173787 }
- case 9213 { rate := 1000000020706559075857156114 }
- case 9214 { rate := 1000000020708209467126188282 }
- case 9215 { rate := 1000000020709859772502211657 }
- case 9216 { rate := 1000000020711509991994166211 }
- case 9217 { rate := 1000000020713160125610990519 }
- case 9218 { rate := 1000000020714810173361621761 }
- case 9219 { rate := 1000000020716460135254995722 }
- case 9220 { rate := 1000000020718110011300046791 }
- case 9221 { rate := 1000000020719759801505707966 }
- case 9222 { rate := 1000000020721409505880910848 }
- case 9223 { rate := 1000000020723059124434585643 }
- case 9224 { rate := 1000000020724708657175661166 }
- default { revert(0, 0) }
- }
- case 1 { // 9225-9249
- switch bps
- case 9225 { rate := 1000000020726358104113064837 }
- case 9226 { rate := 1000000020728007465255722684 }
- case 9227 { rate := 1000000020729656740612559341 }
- case 9228 { rate := 1000000020731305930192498050 }
- case 9229 { rate := 1000000020732955034004460663 }
- case 9230 { rate := 1000000020734604052057367636 }
- case 9231 { rate := 1000000020736252984360138036 }
- case 9232 { rate := 1000000020737901830921689539 }
- case 9233 { rate := 1000000020739550591750938429 }
- case 9234 { rate := 1000000020741199266856799598 }
- case 9235 { rate := 1000000020742847856248186551 }
- case 9236 { rate := 1000000020744496359934011399 }
- case 9237 { rate := 1000000020746144777923184866 }
- case 9238 { rate := 1000000020747793110224616286 }
- case 9239 { rate := 1000000020749441356847213601 }
- case 9240 { rate := 1000000020751089517799883368 }
- case 9241 { rate := 1000000020752737593091530752 }
- case 9242 { rate := 1000000020754385582731059532 }
- case 9243 { rate := 1000000020756033486727372097 }
- case 9244 { rate := 1000000020757681305089369449 }
- case 9245 { rate := 1000000020759329037825951202 }
- case 9246 { rate := 1000000020760976684946015583 }
- case 9247 { rate := 1000000020762624246458459433 }
- case 9248 { rate := 1000000020764271722372178205 }
- case 9249 { rate := 1000000020765919112696065965 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 9250-9299
- switch gt(bps, 9274)
- case 0 { // 9250-9274
- switch bps
- case 9250 { rate := 1000000020767566417439015395 }
- case 9251 { rate := 1000000020769213636609917790 }
- case 9252 { rate := 1000000020770860770217663058 }
- case 9253 { rate := 1000000020772507818271139726 }
- case 9254 { rate := 1000000020774154780779234930 }
- case 9255 { rate := 1000000020775801657750834425 }
- case 9256 { rate := 1000000020777448449194822584 }
- case 9257 { rate := 1000000020779095155120082390 }
- case 9258 { rate := 1000000020780741775535495446 }
- case 9259 { rate := 1000000020782388310449941971 }
- case 9260 { rate := 1000000020784034759872300801 }
- case 9261 { rate := 1000000020785681123811449386 }
- case 9262 { rate := 1000000020787327402276263798 }
- case 9263 { rate := 1000000020788973595275618725 }
- case 9264 { rate := 1000000020790619702818387471 }
- case 9265 { rate := 1000000020792265724913441958 }
- case 9266 { rate := 1000000020793911661569652730 }
- case 9267 { rate := 1000000020795557512795888949 }
- case 9268 { rate := 1000000020797203278601018391 }
- case 9269 { rate := 1000000020798848958993907458 }
- case 9270 { rate := 1000000020800494553983421168 }
- case 9271 { rate := 1000000020802140063578423159 }
- case 9272 { rate := 1000000020803785487787775690 }
- case 9273 { rate := 1000000020805430826620339641 }
- case 9274 { rate := 1000000020807076080084974512 }
- default { revert(0, 0) }
- }
- case 1 { // 9275-9299
- switch bps
- case 9275 { rate := 1000000020808721248190538424 }
- case 9276 { rate := 1000000020810366330945888118 }
- case 9277 { rate := 1000000020812011328359878961 }
- case 9278 { rate := 1000000020813656240441364936 }
- case 9279 { rate := 1000000020815301067199198652 }
- case 9280 { rate := 1000000020816945808642231341 }
- case 9281 { rate := 1000000020818590464779312857 }
- case 9282 { rate := 1000000020820235035619291673 }
- case 9283 { rate := 1000000020821879521171014892 }
- case 9284 { rate := 1000000020823523921443328236 }
- case 9285 { rate := 1000000020825168236445076054 }
- case 9286 { rate := 1000000020826812466185101315 }
- case 9287 { rate := 1000000020828456610672245618 }
- case 9288 { rate := 1000000020830100669915349181 }
- case 9289 { rate := 1000000020831744643923250852 }
- case 9290 { rate := 1000000020833388532704788101 }
- case 9291 { rate := 1000000020835032336268797025 }
- case 9292 { rate := 1000000020836676054624112349 }
- case 9293 { rate := 1000000020838319687779567417 }
- case 9294 { rate := 1000000020839963235743994210 }
- case 9295 { rate := 1000000020841606698526223327 }
- case 9296 { rate := 1000000020843250076135083997 }
- case 9297 { rate := 1000000020844893368579404078 }
- case 9298 { rate := 1000000020846536575868010053 }
- case 9299 { rate := 1000000020848179698009727036 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 9300-9399
- switch gt(bps, 9349)
- case 0 { // 9300-9349
- switch gt(bps, 9324)
- case 0 { // 9300-9324
- switch bps
- case 9300 { rate := 1000000020849822735013378765 }
- case 9301 { rate := 1000000020851465686887787610 }
- case 9302 { rate := 1000000020853108553641774569 }
- case 9303 { rate := 1000000020854751335284159266 }
- case 9304 { rate := 1000000020856394031823759960 }
- case 9305 { rate := 1000000020858036643269393535 }
- case 9306 { rate := 1000000020859679169629875506 }
- case 9307 { rate := 1000000020861321610914020019 }
- case 9308 { rate := 1000000020862963967130639850 }
- case 9309 { rate := 1000000020864606238288546406 }
- case 9310 { rate := 1000000020866248424396549724 }
- case 9311 { rate := 1000000020867890525463458474 }
- case 9312 { rate := 1000000020869532541498079955 }
- case 9313 { rate := 1000000020871174472509220102 }
- case 9314 { rate := 1000000020872816318505683477 }
- case 9315 { rate := 1000000020874458079496273280 }
- case 9316 { rate := 1000000020876099755489791338 }
- case 9317 { rate := 1000000020877741346495038117 }
- case 9318 { rate := 1000000020879382852520812709 }
- case 9319 { rate := 1000000020881024273575912848 }
- case 9320 { rate := 1000000020882665609669134895 }
- case 9321 { rate := 1000000020884306860809273848 }
- case 9322 { rate := 1000000020885948027005123340 }
- case 9323 { rate := 1000000020887589108265475638 }
- case 9324 { rate := 1000000020889230104599121642 }
- default { revert(0, 0) }
- }
- case 1 { // 9325-9349
- switch bps
- case 9325 { rate := 1000000020890871016014850891 }
- case 9326 { rate := 1000000020892511842521451557 }
- case 9327 { rate := 1000000020894152584127710448 }
- case 9328 { rate := 1000000020895793240842413010 }
- case 9329 { rate := 1000000020897433812674343323 }
- case 9330 { rate := 1000000020899074299632284105 }
- case 9331 { rate := 1000000020900714701725016711 }
- case 9332 { rate := 1000000020902355018961321132 }
- case 9333 { rate := 1000000020903995251349975997 }
- case 9334 { rate := 1000000020905635398899758575 }
- case 9335 { rate := 1000000020907275461619444770 }
- case 9336 { rate := 1000000020908915439517809128 }
- case 9337 { rate := 1000000020910555332603624828 }
- case 9338 { rate := 1000000020912195140885663693 }
- case 9339 { rate := 1000000020913834864372696184 }
- case 9340 { rate := 1000000020915474503073491401 }
- case 9341 { rate := 1000000020917114056996817083 }
- case 9342 { rate := 1000000020918753526151439610 }
- case 9343 { rate := 1000000020920392910546124003 }
- case 9344 { rate := 1000000020922032210189633922 }
- case 9345 { rate := 1000000020923671425090731669 }
- case 9346 { rate := 1000000020925310555258178187 }
- case 9347 { rate := 1000000020926949600700733061 }
- case 9348 { rate := 1000000020928588561427154516 }
- case 9349 { rate := 1000000020930227437446199421 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 9350-9399
- switch gt(bps, 9374)
- case 0 { // 9350-9374
- switch bps
- case 9350 { rate := 1000000020931866228766623286 }
- case 9351 { rate := 1000000020933504935397180265 }
- case 9352 { rate := 1000000020935143557346623152 }
- case 9353 { rate := 1000000020936782094623703389 }
- case 9354 { rate := 1000000020938420547237171057 }
- case 9355 { rate := 1000000020940058915195774882 }
- case 9356 { rate := 1000000020941697198508262234 }
- case 9357 { rate := 1000000020943335397183379129 }
- case 9358 { rate := 1000000020944973511229870225 }
- case 9359 { rate := 1000000020946611540656478827 }
- case 9360 { rate := 1000000020948249485471946881 }
- case 9361 { rate := 1000000020949887345685014985 }
- case 9362 { rate := 1000000020951525121304422378 }
- case 9363 { rate := 1000000020953162812338906945 }
- case 9364 { rate := 1000000020954800418797205219 }
- case 9365 { rate := 1000000020956437940688052380 }
- case 9366 { rate := 1000000020958075378020182251 }
- case 9367 { rate := 1000000020959712730802327307 }
- case 9368 { rate := 1000000020961349999043218668 }
- case 9369 { rate := 1000000020962987182751586100 }
- case 9370 { rate := 1000000020964624281936158019 }
- case 9371 { rate := 1000000020966261296605661489 }
- case 9372 { rate := 1000000020967898226768822224 }
- case 9373 { rate := 1000000020969535072434364582 }
- case 9374 { rate := 1000000020971171833611011575 }
- default { revert(0, 0) }
- }
- case 1 { // 9375-9399
- switch bps
- case 9375 { rate := 1000000020972808510307484860 }
- case 9376 { rate := 1000000020974445102532504749 }
- case 9377 { rate := 1000000020976081610294790199 }
- case 9378 { rate := 1000000020977718033603058819 }
- case 9379 { rate := 1000000020979354372466026869 }
- case 9380 { rate := 1000000020980990626892409258 }
- case 9381 { rate := 1000000020982626796890919548 }
- case 9382 { rate := 1000000020984262882470269951 }
- case 9383 { rate := 1000000020985898883639171329 }
- case 9384 { rate := 1000000020987534800406333200 }
- case 9385 { rate := 1000000020989170632780463731 }
- case 9386 { rate := 1000000020990806380770269742 }
- case 9387 { rate := 1000000020992442044384456705 }
- case 9388 { rate := 1000000020994077623631728747 }
- case 9389 { rate := 1000000020995713118520788645 }
- case 9390 { rate := 1000000020997348529060337833 }
- case 9391 { rate := 1000000020998983855259076396 }
- case 9392 { rate := 1000000021000619097125703075 }
- case 9393 { rate := 1000000021002254254668915262 }
- case 9394 { rate := 1000000021003889327897409010 }
- case 9395 { rate := 1000000021005524316819879020 }
- case 9396 { rate := 1000000021007159221445018652 }
- case 9397 { rate := 1000000021008794041781519920 }
- case 9398 { rate := 1000000021010428777838073494 }
- case 9399 { rate := 1000000021012063429623368701 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 9400-9599
- switch gt(bps, 9499)
- case 0 { // 9400-9499
- switch gt(bps, 9449)
- case 0 { // 9400-9449
- switch gt(bps, 9424)
- case 0 { // 9400-9424
- switch bps
- case 9400 { rate := 1000000021013697997146093523 }
- case 9401 { rate := 1000000021015332480414934599 }
- case 9402 { rate := 1000000021016966879438577225 }
- case 9403 { rate := 1000000021018601194225705352 }
- case 9404 { rate := 1000000021020235424785001592 }
- case 9405 { rate := 1000000021021869571125147213 }
- case 9406 { rate := 1000000021023503633254822139 }
- case 9407 { rate := 1000000021025137611182704955 }
- case 9408 { rate := 1000000021026771504917472904 }
- case 9409 { rate := 1000000021028405314467801886 }
- case 9410 { rate := 1000000021030039039842366461 }
- case 9411 { rate := 1000000021031672681049839850 }
- case 9412 { rate := 1000000021033306238098893931 }
- case 9413 { rate := 1000000021034939710998199243 }
- case 9414 { rate := 1000000021036573099756424985 }
- case 9415 { rate := 1000000021038206404382239016 }
- case 9416 { rate := 1000000021039839624884307857 }
- case 9417 { rate := 1000000021041472761271296689 }
- case 9418 { rate := 1000000021043105813551869354 }
- case 9419 { rate := 1000000021044738781734688354 }
- case 9420 { rate := 1000000021046371665828414857 }
- case 9421 { rate := 1000000021048004465841708690 }
- case 9422 { rate := 1000000021049637181783228343 }
- case 9423 { rate := 1000000021051269813661630969 }
- case 9424 { rate := 1000000021052902361485572381 }
- default { revert(0, 0) }
- }
- case 1 { // 9425-9449
- switch bps
- case 9425 { rate := 1000000021054534825263707061 }
- case 9426 { rate := 1000000021056167205004688149 }
- case 9427 { rate := 1000000021057799500717167451 }
- case 9428 { rate := 1000000021059431712409795437 }
- case 9429 { rate := 1000000021061063840091221242 }
- case 9430 { rate := 1000000021062695883770092662 }
- case 9431 { rate := 1000000021064327843455056162 }
- case 9432 { rate := 1000000021065959719154756872 }
- case 9433 { rate := 1000000021067591510877838582 }
- case 9434 { rate := 1000000021069223218632943755 }
- case 9435 { rate := 1000000021070854842428713514 }
- case 9436 { rate := 1000000021072486382273787653 }
- case 9437 { rate := 1000000021074117838176804627 }
- case 9438 { rate := 1000000021075749210146401562 }
- case 9439 { rate := 1000000021077380498191214251 }
- case 9440 { rate := 1000000021079011702319877152 }
- case 9441 { rate := 1000000021080642822541023391 }
- case 9442 { rate := 1000000021082273858863284763 }
- case 9443 { rate := 1000000021083904811295291730 }
- case 9444 { rate := 1000000021085535679845673424 }
- case 9445 { rate := 1000000021087166464523057642 }
- case 9446 { rate := 1000000021088797165336070856 }
- case 9447 { rate := 1000000021090427782293338202 }
- case 9448 { rate := 1000000021092058315403483486 }
- case 9449 { rate := 1000000021093688764675129185 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 9450-9499
- switch gt(bps, 9474)
- case 0 { // 9450-9474
- switch bps
- case 9450 { rate := 1000000021095319130116896449 }
- case 9451 { rate := 1000000021096949411737405092 }
- case 9452 { rate := 1000000021098579609545273603 }
- case 9453 { rate := 1000000021100209723549119140 }
- case 9454 { rate := 1000000021101839753757557533 }
- case 9455 { rate := 1000000021103469700179203284 }
- case 9456 { rate := 1000000021105099562822669564 }
- case 9457 { rate := 1000000021106729341696568219 }
- case 9458 { rate := 1000000021108359036809509766 }
- case 9459 { rate := 1000000021109988648170103394 }
- case 9460 { rate := 1000000021111618175786956964 }
- case 9461 { rate := 1000000021113247619668677013 }
- case 9462 { rate := 1000000021114876979823868748 }
- case 9463 { rate := 1000000021116506256261136053 }
- case 9464 { rate := 1000000021118135448989081482 }
- case 9465 { rate := 1000000021119764558016306265 }
- case 9466 { rate := 1000000021121393583351410308 }
- case 9467 { rate := 1000000021123022525002992189 }
- case 9468 { rate := 1000000021124651382979649161 }
- case 9469 { rate := 1000000021126280157289977155 }
- case 9470 { rate := 1000000021127908847942570774 }
- case 9471 { rate := 1000000021129537454946023301 }
- case 9472 { rate := 1000000021131165978308926689 }
- case 9473 { rate := 1000000021132794418039871573 }
- case 9474 { rate := 1000000021134422774147447262 }
- default { revert(0, 0) }
- }
- case 1 { // 9475-9499
- switch bps
- case 9475 { rate := 1000000021136051046640241741 }
- case 9476 { rate := 1000000021137679235526841675 }
- case 9477 { rate := 1000000021139307340815832403 }
- case 9478 { rate := 1000000021140935362515797945 }
- case 9479 { rate := 1000000021142563300635320996 }
- case 9480 { rate := 1000000021144191155182982930 }
- case 9481 { rate := 1000000021145818926167363800 }
- case 9482 { rate := 1000000021147446613597042338 }
- case 9483 { rate := 1000000021149074217480595956 }
- case 9484 { rate := 1000000021150701737826600742 }
- case 9485 { rate := 1000000021152329174643631465 }
- case 9486 { rate := 1000000021153956527940261575 }
- case 9487 { rate := 1000000021155583797725063203 }
- case 9488 { rate := 1000000021157210984006607157 }
- case 9489 { rate := 1000000021158838086793462926 }
- case 9490 { rate := 1000000021160465106094198684 }
- case 9491 { rate := 1000000021162092041917381283 }
- case 9492 { rate := 1000000021163718894271576256 }
- case 9493 { rate := 1000000021165345663165347819 }
- case 9494 { rate := 1000000021166972348607258868 }
- case 9495 { rate := 1000000021168598950605870985 }
- case 9496 { rate := 1000000021170225469169744432 }
- case 9497 { rate := 1000000021171851904307438154 }
- case 9498 { rate := 1000000021173478256027509779 }
- case 9499 { rate := 1000000021175104524338515618 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 9500-9599
- switch gt(bps, 9549)
- case 0 { // 9500-9549
- switch gt(bps, 9524)
- case 0 { // 9500-9524
- switch bps
- case 9500 { rate := 1000000021176730709249010667 }
- case 9501 { rate := 1000000021178356810767548605 }
- case 9502 { rate := 1000000021179982828902681797 }
- case 9503 { rate := 1000000021181608763662961287 }
- case 9504 { rate := 1000000021183234615056936809 }
- case 9505 { rate := 1000000021184860383093156782 }
- case 9506 { rate := 1000000021186486067780168307 }
- case 9507 { rate := 1000000021188111669126517170 }
- case 9508 { rate := 1000000021189737187140747849 }
- case 9509 { rate := 1000000021191362621831403501 }
- case 9510 { rate := 1000000021192987973207025974 }
- case 9511 { rate := 1000000021194613241276155799 }
- case 9512 { rate := 1000000021196238426047332195 }
- case 9513 { rate := 1000000021197863527529093071 }
- case 9514 { rate := 1000000021199488545729975021 }
- case 9515 { rate := 1000000021201113480658513324 }
- case 9516 { rate := 1000000021202738332323241953 }
- case 9517 { rate := 1000000021204363100732693562 }
- case 9518 { rate := 1000000021205987785895399502 }
- case 9519 { rate := 1000000021207612387819889804 }
- case 9520 { rate := 1000000021209236906514693195 }
- case 9521 { rate := 1000000021210861341988337085 }
- case 9522 { rate := 1000000021212485694249347580 }
- case 9523 { rate := 1000000021214109963306249471 }
- case 9524 { rate := 1000000021215734149167566241 }
- default { revert(0, 0) }
- }
- case 1 { // 9525-9549
- switch bps
- case 9525 { rate := 1000000021217358251841820063 }
- case 9526 { rate := 1000000021218982271337531802 }
- case 9527 { rate := 1000000021220606207663221010 }
- case 9528 { rate := 1000000021222230060827405935 }
- case 9529 { rate := 1000000021223853830838603512 }
- case 9530 { rate := 1000000021225477517705329371 }
- case 9531 { rate := 1000000021227101121436097833 }
- case 9532 { rate := 1000000021228724642039421911 }
- case 9533 { rate := 1000000021230348079523813310 }
- case 9534 { rate := 1000000021231971433897782427 }
- case 9535 { rate := 1000000021233594705169838355 }
- case 9536 { rate := 1000000021235217893348488878 }
- case 9537 { rate := 1000000021236840998442240473 }
- case 9538 { rate := 1000000021238464020459598314 }
- case 9539 { rate := 1000000021240086959409066265 }
- case 9540 { rate := 1000000021241709815299146887 }
- case 9541 { rate := 1000000021243332588138341436 }
- case 9542 { rate := 1000000021244955277935149860 }
- case 9543 { rate := 1000000021246577884698070805 }
- case 9544 { rate := 1000000021248200408435601610 }
- case 9545 { rate := 1000000021249822849156238313 }
- case 9546 { rate := 1000000021251445206868475647 }
- case 9547 { rate := 1000000021253067481580807036 }
- case 9548 { rate := 1000000021254689673301724609 }
- case 9549 { rate := 1000000021256311782039719186 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 9550-9599
- switch gt(bps, 9574)
- case 0 { // 9550-9574
- switch bps
- case 9550 { rate := 1000000021257933807803280285 }
- case 9551 { rate := 1000000021259555750600896123 }
- case 9552 { rate := 1000000021261177610441053612 }
- case 9553 { rate := 1000000021262799387332238365 }
- case 9554 { rate := 1000000021264421081282934690 }
- case 9555 { rate := 1000000021266042692301625596 }
- case 9556 { rate := 1000000021267664220396792789 }
- case 9557 { rate := 1000000021269285665576916672 }
- case 9558 { rate := 1000000021270907027850476352 }
- case 9559 { rate := 1000000021272528307225949633 }
- case 9560 { rate := 1000000021274149503711813016 }
- case 9561 { rate := 1000000021275770617316541707 }
- case 9562 { rate := 1000000021277391648048609609 }
- case 9563 { rate := 1000000021279012595916489324 }
- case 9564 { rate := 1000000021280633460928652160 }
- case 9565 { rate := 1000000021282254243093568122 }
- case 9566 { rate := 1000000021283874942419705916 }
- case 9567 { rate := 1000000021285495558915532952 }
- case 9568 { rate := 1000000021287116092589515341 }
- case 9569 { rate := 1000000021288736543450117894 }
- case 9570 { rate := 1000000021290356911505804127 }
- case 9571 { rate := 1000000021291977196765036258 }
- case 9572 { rate := 1000000021293597399236275207 }
- case 9573 { rate := 1000000021295217518927980598 }
- case 9574 { rate := 1000000021296837555848610757 }
- default { revert(0, 0) }
- }
- case 1 { // 9575-9599
- switch bps
- case 9575 { rate := 1000000021298457510006622716 }
- case 9576 { rate := 1000000021300077381410472209 }
- case 9577 { rate := 1000000021301697170068613676 }
- case 9578 { rate := 1000000021303316875989500258 }
- case 9579 { rate := 1000000021304936499181583805 }
- case 9580 { rate := 1000000021306556039653314870 }
- case 9581 { rate := 1000000021308175497413142711 }
- case 9582 { rate := 1000000021309794872469515290 }
- case 9583 { rate := 1000000021311414164830879280 }
- case 9584 { rate := 1000000021313033374505680055 }
- case 9585 { rate := 1000000021314652501502361696 }
- case 9586 { rate := 1000000021316271545829366993 }
- case 9587 { rate := 1000000021317890507495137440 }
- case 9588 { rate := 1000000021319509386508113242 }
- case 9589 { rate := 1000000021321128182876733306 }
- case 9590 { rate := 1000000021322746896609435252 }
- case 9591 { rate := 1000000021324365527714655404 }
- case 9592 { rate := 1000000021325984076200828797 }
- case 9593 { rate := 1000000021327602542076389171 }
- case 9594 { rate := 1000000021329220925349768978 }
- case 9595 { rate := 1000000021330839226029399378 }
- case 9596 { rate := 1000000021332457444123710238 }
- case 9597 { rate := 1000000021334075579641130140 }
- case 9598 { rate := 1000000021335693632590086368 }
- case 9599 { rate := 1000000021337311602979004923 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- }
-}
\ No newline at end of file
diff --git a/src/repositories/Rates9600To10000.sol b/src/repositories/Rates9600To10000.sol
deleted file mode 100644
index a5e24fd..0000000
--- a/src/repositories/Rates9600To10000.sol
+++ /dev/null
@@ -1,538 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity 0.8.19;
-
-contract Rates9600To10000 {
- uint256 constant public MIN = 9600;
- uint256 constant public MAX = 10000;
-
- function turn(uint256 bps) external pure returns (uint256 rate) {
- if (bps > MAX) revert();
- if (bps < MIN) revert();
-
- assembly {
- switch gt(bps, 9800)
- case 0 { // 9600-9800
- switch gt(bps, 9700)
- case 0 { // 9600-9700
- switch gt(bps, 9650)
- case 0 { // 9600-9650
- switch gt(bps, 9625)
- case 0 { // 9600-9625
- switch bps
- case 9600 { rate := 1000000021338929490816310513 }
- case 9601 { rate := 1000000021340547296110426556 }
- case 9602 { rate := 1000000021342165018869775181 }
- case 9603 { rate := 1000000021343782659102777232 }
- case 9604 { rate := 1000000021345400216817852259 }
- case 9605 { rate := 1000000021347017692023418526 }
- case 9606 { rate := 1000000021348635084727893008 }
- case 9607 { rate := 1000000021350252394939691393 }
- case 9608 { rate := 1000000021351869622667228081 }
- case 9609 { rate := 1000000021353486767918916187 }
- case 9610 { rate := 1000000021355103830703167533 }
- case 9611 { rate := 1000000021356720811028392661 }
- case 9612 { rate := 1000000021358337708903000822 }
- case 9613 { rate := 1000000021359954524335399980 }
- case 9614 { rate := 1000000021361571257333996817 }
- case 9615 { rate := 1000000021363187907907196727 }
- case 9616 { rate := 1000000021364804476063403818 }
- case 9617 { rate := 1000000021366420961811020914 }
- case 9618 { rate := 1000000021368037365158449552 }
- case 9619 { rate := 1000000021369653686114089987 }
- case 9620 { rate := 1000000021371269924686341187 }
- case 9621 { rate := 1000000021372886080883600836 }
- case 9622 { rate := 1000000021374502154714265338 }
- case 9623 { rate := 1000000021376118146186729808 }
- case 9624 { rate := 1000000021377734055309388080 }
- case 9625 { rate := 1000000021379349882090632705 }
- default { revert(0, 0) }
- }
- case 1 { // 9626-9650
- switch bps
- case 9626 { rate := 1000000021380965626538854950 }
- case 9627 { rate := 1000000021382581288662444801 }
- case 9628 { rate := 1000000021384196868469790961 }
- case 9629 { rate := 1000000021385812365969280848 }
- case 9630 { rate := 1000000021387427781169300605 }
- case 9631 { rate := 1000000021389043114078235086 }
- case 9632 { rate := 1000000021390658364704467867 }
- case 9633 { rate := 1000000021392273533056381244 }
- case 9634 { rate := 1000000021393888619142356230 }
- case 9635 { rate := 1000000021395503622970772558 }
- case 9636 { rate := 1000000021397118544550008682 }
- case 9637 { rate := 1000000021398733383888441774 }
- case 9638 { rate := 1000000021400348140994447728 }
- case 9639 { rate := 1000000021401962815876401158 }
- case 9640 { rate := 1000000021403577408542675398 }
- case 9641 { rate := 1000000021405191919001642503 }
- case 9642 { rate := 1000000021406806347261673250 }
- case 9643 { rate := 1000000021408420693331137139 }
- case 9644 { rate := 1000000021410034957218402388 }
- case 9645 { rate := 1000000021411649138931835939 }
- case 9646 { rate := 1000000021413263238479803458 }
- case 9647 { rate := 1000000021414877255870669331 }
- case 9648 { rate := 1000000021416491191112796669 }
- case 9649 { rate := 1000000021418105044214547303 }
- case 9650 { rate := 1000000021419718815184281790 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 9651-9700
- switch gt(bps, 9675)
- case 0 { // 9651-9675
- switch bps
- case 9651 { rate := 1000000021421332504030359411 }
- case 9652 { rate := 1000000021422946110761138169 }
- case 9653 { rate := 1000000021424559635384974793 }
- case 9654 { rate := 1000000021426173077910224732 }
- case 9655 { rate := 1000000021427786438345242167 }
- case 9656 { rate := 1000000021429399716698379997 }
- case 9657 { rate := 1000000021431012912977989851 }
- case 9658 { rate := 1000000021432626027192422079 }
- case 9659 { rate := 1000000021434239059350025762 }
- case 9660 { rate := 1000000021435852009459148702 }
- case 9661 { rate := 1000000021437464877528137431 }
- case 9662 { rate := 1000000021439077663565337204 }
- case 9663 { rate := 1000000021440690367579092006 }
- case 9664 { rate := 1000000021442302989577744547 }
- case 9665 { rate := 1000000021443915529569636263 }
- case 9666 { rate := 1000000021445527987563107323 }
- case 9667 { rate := 1000000021447140363566496615 }
- case 9668 { rate := 1000000021448752657588141766 }
- case 9669 { rate := 1000000021450364869636379120 }
- case 9670 { rate := 1000000021451976999719543756 }
- case 9671 { rate := 1000000021453589047845969483 }
- case 9672 { rate := 1000000021455201014023988834 }
- case 9673 { rate := 1000000021456812898261933077 }
- case 9674 { rate := 1000000021458424700568132203 }
- case 9675 { rate := 1000000021460036420950914938 }
- default { revert(0, 0) }
- }
- case 1 { // 9676-9700
- switch bps
- case 9676 { rate := 1000000021461648059418608738 }
- case 9677 { rate := 1000000021463259615979539784 }
- case 9678 { rate := 1000000021464871090642032996 }
- case 9679 { rate := 1000000021466482483414412017 }
- case 9680 { rate := 1000000021468093794304999225 }
- case 9681 { rate := 1000000021469705023322115729 }
- case 9682 { rate := 1000000021471316170474081370 }
- case 9683 { rate := 1000000021472927235769214720 }
- case 9684 { rate := 1000000021474538219215833083 }
- case 9685 { rate := 1000000021476149120822252496 }
- case 9686 { rate := 1000000021477759940596787728 }
- case 9687 { rate := 1000000021479370678547752283 }
- case 9688 { rate := 1000000021480981334683458396 }
- case 9689 { rate := 1000000021482591909012217035 }
- case 9690 { rate := 1000000021484202401542337904 }
- case 9691 { rate := 1000000021485812812282129439 }
- case 9692 { rate := 1000000021487423141239898812 }
- case 9693 { rate := 1000000021489033388423951926 }
- case 9694 { rate := 1000000021490643553842593424 }
- case 9695 { rate := 1000000021492253637504126680 }
- case 9696 { rate := 1000000021493863639416853802 }
- case 9697 { rate := 1000000021495473559589075640 }
- case 9698 { rate := 1000000021497083398029091773 }
- case 9699 { rate := 1000000021498693154745200519 }
- case 9700 { rate := 1000000021500302829745698932 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 9701-9800
- switch gt(bps, 9750)
- case 0 { // 9701-9750
- switch gt(bps, 9725)
- case 0 { // 9701-9725
- switch bps
- case 9701 { rate := 1000000021501912423038882802 }
- case 9702 { rate := 1000000021503521934633046657 }
- case 9703 { rate := 1000000021505131364536483760 }
- case 9704 { rate := 1000000021506740712757486113 }
- case 9705 { rate := 1000000021508349979304344456 }
- case 9706 { rate := 1000000021509959164185348265 }
- case 9707 { rate := 1000000021511568267408785753 }
- case 9708 { rate := 1000000021513177288982943876 }
- case 9709 { rate := 1000000021514786228916108326 }
- case 9710 { rate := 1000000021516395087216563531 }
- case 9711 { rate := 1000000021518003863892592663 }
- case 9712 { rate := 1000000021519612558952477629 }
- case 9713 { rate := 1000000021521221172404499080 }
- case 9714 { rate := 1000000021522829704256936402 }
- case 9715 { rate := 1000000021524438154518067725 }
- case 9716 { rate := 1000000021526046523196169918 }
- case 9717 { rate := 1000000021527654810299518591 }
- case 9718 { rate := 1000000021529263015836388092 }
- case 9719 { rate := 1000000021530871139815051515 }
- case 9720 { rate := 1000000021532479182243780693 }
- case 9721 { rate := 1000000021534087143130846199 }
- case 9722 { rate := 1000000021535695022484517350 }
- case 9723 { rate := 1000000021537302820313062204 }
- case 9724 { rate := 1000000021538910536624747565 }
- case 9725 { rate := 1000000021540518171427838973 }
- default { revert(0, 0) }
- }
- case 1 { // 9726-9750
- switch bps
- case 9726 { rate := 1000000021542125724730600717 }
- case 9727 { rate := 1000000021543733196541295825 }
- case 9728 { rate := 1000000021545340586868186072 }
- case 9729 { rate := 1000000021546947895719531973 }
- case 9730 { rate := 1000000021548555123103592792 }
- case 9731 { rate := 1000000021550162269028626530 }
- case 9732 { rate := 1000000021551769333502889939 }
- case 9733 { rate := 1000000021553376316534638512 }
- case 9734 { rate := 1000000021554983218132126488 }
- case 9735 { rate := 1000000021556590038303606853 }
- case 9736 { rate := 1000000021558196777057331335 }
- case 9737 { rate := 1000000021559803434401550410 }
- case 9738 { rate := 1000000021561410010344513300 }
- case 9739 { rate := 1000000021563016504894467972 }
- case 9740 { rate := 1000000021564622918059661140 }
- case 9741 { rate := 1000000021566229249848338266 }
- case 9742 { rate := 1000000021567835500268743557 }
- case 9743 { rate := 1000000021569441669329119967 }
- case 9744 { rate := 1000000021571047757037709200 }
- case 9745 { rate := 1000000021572653763402751707 }
- case 9746 { rate := 1000000021574259688432486685 }
- case 9747 { rate := 1000000021575865532135152081 }
- case 9748 { rate := 1000000021577471294518984591 }
- case 9749 { rate := 1000000021579076975592219657 }
- case 9750 { rate := 1000000021580682575363091474 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 9751-9800
- switch gt(bps, 9775)
- case 0 { // 9751-9775
- switch bps
- case 9751 { rate := 1000000021582288093839832982 }
- case 9752 { rate := 1000000021583893531030675874 }
- case 9753 { rate := 1000000021585498886943850592 }
- case 9754 { rate := 1000000021587104161587586327 }
- case 9755 { rate := 1000000021588709354970111019 }
- case 9756 { rate := 1000000021590314467099651363 }
- case 9757 { rate := 1000000021591919497984432801 }
- case 9758 { rate := 1000000021593524447632679526 }
- case 9759 { rate := 1000000021595129316052614485 }
- case 9760 { rate := 1000000021596734103252459374 }
- case 9761 { rate := 1000000021598338809240434642 }
- case 9762 { rate := 1000000021599943434024759490 }
- case 9763 { rate := 1000000021601547977613651871 }
- case 9764 { rate := 1000000021603152440015328491 }
- case 9765 { rate := 1000000021604756821238004808 }
- case 9766 { rate := 1000000021606361121289895034 }
- case 9767 { rate := 1000000021607965340179212134 }
- case 9768 { rate := 1000000021609569477914167825 }
- case 9769 { rate := 1000000021611173534502972580 }
- case 9770 { rate := 1000000021612777509953835627 }
- case 9771 { rate := 1000000021614381404274964943 }
- case 9772 { rate := 1000000021615985217474567267 }
- case 9773 { rate := 1000000021617588949560848087 }
- case 9774 { rate := 1000000021619192600542011648 }
- case 9775 { rate := 1000000021620796170426260951 }
- default { revert(0, 0) }
- }
- case 1 { // 9776-9800
- switch bps
- case 9776 { rate := 1000000021622399659221797752 }
- case 9777 { rate := 1000000021624003066936822564 }
- case 9778 { rate := 1000000021625606393579534651 }
- case 9779 { rate := 1000000021627209639158132043 }
- case 9780 { rate := 1000000021628812803680811515 }
- case 9781 { rate := 1000000021630415887155768610 }
- case 9782 { rate := 1000000021632018889591197618 }
- case 9783 { rate := 1000000021633621810995291595 }
- case 9784 { rate := 1000000021635224651376242349 }
- case 9785 { rate := 1000000021636827410742240447 }
- case 9786 { rate := 1000000021638430089101475216 }
- case 9787 { rate := 1000000021640032686462134738 }
- case 9788 { rate := 1000000021641635202832405858 }
- case 9789 { rate := 1000000021643237638220474177 }
- case 9790 { rate := 1000000021644839992634524055 }
- case 9791 { rate := 1000000021646442266082738611 }
- case 9792 { rate := 1000000021648044458573299725 }
- case 9793 { rate := 1000000021649646570114388037 }
- case 9794 { rate := 1000000021651248600714182947 }
- case 9795 { rate := 1000000021652850550380862614 }
- case 9796 { rate := 1000000021654452419122603958 }
- case 9797 { rate := 1000000021656054206947582660 }
- case 9798 { rate := 1000000021657655913863973164 }
- case 9799 { rate := 1000000021659257539879948673 }
- case 9800 { rate := 1000000021660859085003681151 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 9801-10000
- switch gt(bps, 9900)
- case 0 { // 9801-9900
- switch gt(bps, 9850)
- case 0 { // 9801-9850
- switch gt(bps, 9825)
- case 0 { // 9801-9825
- switch bps
- case 9801 { rate := 1000000021662460549243341328 }
- case 9802 { rate := 1000000021664061932607098690 }
- case 9803 { rate := 1000000021665663235103121490 }
- case 9804 { rate := 1000000021667264456739576744 }
- case 9805 { rate := 1000000021668865597524630226 }
- case 9806 { rate := 1000000021670466657466446478 }
- case 9807 { rate := 1000000021672067636573188805 }
- case 9808 { rate := 1000000021673668534853019271 }
- case 9809 { rate := 1000000021675269352314098709 }
- case 9810 { rate := 1000000021676870088964586713 }
- case 9811 { rate := 1000000021678470744812641643 }
- case 9812 { rate := 1000000021680071319866420625 }
- case 9813 { rate := 1000000021681671814134079545 }
- case 9814 { rate := 1000000021683272227623773058 }
- case 9815 { rate := 1000000021684872560343654583 }
- case 9816 { rate := 1000000021686472812301876306 }
- case 9817 { rate := 1000000021688072983506589178 }
- case 9818 { rate := 1000000021689673073965942915 }
- case 9819 { rate := 1000000021691273083688086000 }
- case 9820 { rate := 1000000021692873012681165684 }
- case 9821 { rate := 1000000021694472860953327982 }
- case 9822 { rate := 1000000021696072628512717681 }
- case 9823 { rate := 1000000021697672315367478329 }
- case 9824 { rate := 1000000021699271921525752246 }
- case 9825 { rate := 1000000021700871446995680519 }
- default { revert(0, 0) }
- }
- case 1 { // 9826-9850
- switch bps
- case 9826 { rate := 1000000021702470891785403001 }
- case 9827 { rate := 1000000021704070255903058316 }
- case 9828 { rate := 1000000021705669539356783857 }
- case 9829 { rate := 1000000021707268742154715782 }
- case 9830 { rate := 1000000021708867864304989022 }
- case 9831 { rate := 1000000021710466905815737276 }
- case 9832 { rate := 1000000021712065866695093012 }
- case 9833 { rate := 1000000021713664746951187467 }
- case 9834 { rate := 1000000021715263546592150652 }
- case 9835 { rate := 1000000021716862265626111344 }
- case 9836 { rate := 1000000021718460904061197091 }
- case 9837 { rate := 1000000021720059461905534215 }
- case 9838 { rate := 1000000021721657939167247807 }
- case 9839 { rate := 1000000021723256335854461729 }
- case 9840 { rate := 1000000021724854651975298614 }
- case 9841 { rate := 1000000021726452887537879870 }
- case 9842 { rate := 1000000021728051042550325673 }
- case 9843 { rate := 1000000021729649117020754974 }
- case 9844 { rate := 1000000021731247110957285495 }
- case 9845 { rate := 1000000021732845024368033733 }
- case 9846 { rate := 1000000021734442857261114954 }
- case 9847 { rate := 1000000021736040609644643201 }
- case 9848 { rate := 1000000021737638281526731291 }
- case 9849 { rate := 1000000021739235872915490812 }
- case 9850 { rate := 1000000021740833383819032127 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 9851-9900
- switch gt(bps, 9875)
- case 0 { // 9851-9875
- switch bps
- case 9851 { rate := 1000000021742430814245464373 }
- case 9852 { rate := 1000000021744028164202895462 }
- case 9853 { rate := 1000000021745625433699432083 }
- case 9854 { rate := 1000000021747222622743179696 }
- case 9855 { rate := 1000000021748819731342242539 }
- case 9856 { rate := 1000000021750416759504723623 }
- case 9857 { rate := 1000000021752013707238724737 }
- case 9858 { rate := 1000000021753610574552346447 }
- case 9859 { rate := 1000000021755207361453688091 }
- case 9860 { rate := 1000000021756804067950847789 }
- case 9861 { rate := 1000000021758400694051922433 }
- case 9862 { rate := 1000000021759997239765007694 }
- case 9863 { rate := 1000000021761593705098198022 }
- case 9864 { rate := 1000000021763190090059586640 }
- case 9865 { rate := 1000000021764786394657265553 }
- case 9866 { rate := 1000000021766382618899325542 }
- case 9867 { rate := 1000000021767978762793856166 }
- case 9868 { rate := 1000000021769574826348945765 }
- case 9869 { rate := 1000000021771170809572681453 }
- case 9870 { rate := 1000000021772766712473149127 }
- case 9871 { rate := 1000000021774362535058433462 }
- case 9872 { rate := 1000000021775958277336617913 }
- case 9873 { rate := 1000000021777553939315784714 }
- case 9874 { rate := 1000000021779149521004014877 }
- case 9875 { rate := 1000000021780745022409388199 }
- default { revert(0, 0) }
- }
- case 1 { // 9876-9900
- switch bps
- case 9876 { rate := 1000000021782340443539983254 }
- case 9877 { rate := 1000000021783935784403877396 }
- case 9878 { rate := 1000000021785531045009146762 }
- case 9879 { rate := 1000000021787126225363866271 }
- case 9880 { rate := 1000000021788721325476109620 }
- case 9881 { rate := 1000000021790316345353949290 }
- case 9882 { rate := 1000000021791911285005456544 }
- case 9883 { rate := 1000000021793506144438701426 }
- case 9884 { rate := 1000000021795100923661752763 }
- case 9885 { rate := 1000000021796695622682678165 }
- case 9886 { rate := 1000000021798290241509544024 }
- case 9887 { rate := 1000000021799884780150415518 }
- case 9888 { rate := 1000000021801479238613356603 }
- case 9889 { rate := 1000000021803073616906430024 }
- case 9890 { rate := 1000000021804667915037697306 }
- case 9891 { rate := 1000000021806262133015218760 }
- case 9892 { rate := 1000000021807856270847053482 }
- case 9893 { rate := 1000000021809450328541259351 }
- case 9894 { rate := 1000000021811044306105893031 }
- case 9895 { rate := 1000000021812638203549009974 }
- case 9896 { rate := 1000000021814232020878664411 }
- case 9897 { rate := 1000000021815825758102909365 }
- case 9898 { rate := 1000000021817419415229796642 }
- case 9899 { rate := 1000000021819012992267376834 }
- case 9900 { rate := 1000000021820606489223699321 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 9901-10000
- switch gt(bps, 9950)
- case 0 { // 9901-9950
- switch gt(bps, 9925)
- case 0 { // 9901-9925
- switch bps
- case 9901 { rate := 1000000021822199906106812267 }
- case 9902 { rate := 1000000021823793242924762624 }
- case 9903 { rate := 1000000021825386499685596130 }
- case 9904 { rate := 1000000021826979676397357315 }
- case 9905 { rate := 1000000021828572773068089490 }
- case 9906 { rate := 1000000021830165789705834758 }
- case 9907 { rate := 1000000021831758726318634008 }
- case 9908 { rate := 1000000021833351582914526918 }
- case 9909 { rate := 1000000021834944359501551955 }
- case 9910 { rate := 1000000021836537056087746374 }
- case 9911 { rate := 1000000021838129672681146219 }
- case 9912 { rate := 1000000021839722209289786324 }
- case 9913 { rate := 1000000021841314665921700311 }
- case 9914 { rate := 1000000021842907042584920594 }
- case 9915 { rate := 1000000021844499339287478375 }
- case 9916 { rate := 1000000021846091556037403647 }
- case 9917 { rate := 1000000021847683692842725193 }
- case 9918 { rate := 1000000021849275749711470586 }
- case 9919 { rate := 1000000021850867726651666193 }
- case 9920 { rate := 1000000021852459623671337169 }
- case 9921 { rate := 1000000021854051440778507461 }
- case 9922 { rate := 1000000021855643177981199810 }
- case 9923 { rate := 1000000021857234835287435745 }
- case 9924 { rate := 1000000021858826412705235591 }
- case 9925 { rate := 1000000021860417910242618463 }
- default { revert(0, 0) }
- }
- case 1 { // 9926-9950
- switch bps
- case 9926 { rate := 1000000021862009327907602268 }
- case 9927 { rate := 1000000021863600665708203710 }
- case 9928 { rate := 1000000021865191923652438280 }
- case 9929 { rate := 1000000021866783101748320269 }
- case 9930 { rate := 1000000021868374200003862755 }
- case 9931 { rate := 1000000021869965218427077615 }
- case 9932 { rate := 1000000021871556157025975518 }
- case 9933 { rate := 1000000021873147015808565927 }
- case 9934 { rate := 1000000021874737794782857101 }
- case 9935 { rate := 1000000021876328493956856091 }
- case 9936 { rate := 1000000021877919113338568748 }
- case 9937 { rate := 1000000021879509652935999713 }
- case 9938 { rate := 1000000021881100112757152424 }
- case 9939 { rate := 1000000021882690492810029118 }
- case 9940 { rate := 1000000021884280793102630824 }
- case 9941 { rate := 1000000021885871013642957370 }
- case 9942 { rate := 1000000021887461154439007378 }
- case 9943 { rate := 1000000021889051215498778269 }
- case 9944 { rate := 1000000021890641196830266260 }
- case 9945 { rate := 1000000021892231098441466365 }
- case 9946 { rate := 1000000021893820920340372396 }
- case 9947 { rate := 1000000021895410662534976963 }
- case 9948 { rate := 1000000021897000325033271473 }
- case 9949 { rate := 1000000021898589907843246131 }
- case 9950 { rate := 1000000021900179410972889943 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- case 1 { // 9951-10000
- switch gt(bps, 9975)
- case 0 { // 9951-9975
- switch bps
- case 9951 { rate := 1000000021901768834430190709 }
- case 9952 { rate := 1000000021903358178223135034 }
- case 9953 { rate := 1000000021904947442359708315 }
- case 9954 { rate := 1000000021906536626847894756 }
- case 9955 { rate := 1000000021908125731695677355 }
- case 9956 { rate := 1000000021909714756911037912 }
- case 9957 { rate := 1000000021911303702501957027 }
- case 9958 { rate := 1000000021912892568476414100 }
- case 9959 { rate := 1000000021914481354842387331 }
- case 9960 { rate := 1000000021916070061607853724 }
- case 9961 { rate := 1000000021917658688780789081 }
- case 9962 { rate := 1000000021919247236369168005 }
- case 9963 { rate := 1000000021920835704380963901 }
- case 9964 { rate := 1000000021922424092824148978 }
- case 9965 { rate := 1000000021924012401706694246 }
- case 9966 { rate := 1000000021925600631036569516 }
- case 9967 { rate := 1000000021927188780821743402 }
- case 9968 { rate := 1000000021928776851070183322 }
- case 9969 { rate := 1000000021930364841789855494 }
- case 9970 { rate := 1000000021931952752988724944 }
- case 9971 { rate := 1000000021933540584674755497 }
- case 9972 { rate := 1000000021935128336855909784 }
- case 9973 { rate := 1000000021936716009540149239 }
- case 9974 { rate := 1000000021938303602735434102 }
- case 9975 { rate := 1000000021939891116449723415 }
- default { revert(0, 0) }
- }
- case 1 { // 9976-10000
- switch bps
- case 9976 { rate := 1000000021941478550690975027 }
- case 9977 { rate := 1000000021943065905467145588 }
- case 9978 { rate := 1000000021944653180786190559 }
- case 9979 { rate := 1000000021946240376656064202 }
- case 9980 { rate := 1000000021947827493084719585 }
- case 9981 { rate := 1000000021949414530080108585 }
- case 9982 { rate := 1000000021951001487650181881 }
- case 9983 { rate := 1000000021952588365802888961 }
- case 9984 { rate := 1000000021954175164546178118 }
- case 9985 { rate := 1000000021955761883887996454 }
- case 9986 { rate := 1000000021957348523836289875 }
- case 9987 { rate := 1000000021958935084399003098 }
- case 9988 { rate := 1000000021960521565584079645 }
- case 9989 { rate := 1000000021962107967399461846 }
- case 9990 { rate := 1000000021963694289853090839 }
- case 9991 { rate := 1000000021965280532952906572 }
- case 9992 { rate := 1000000021966866696706847799 }
- case 9993 { rate := 1000000021968452781122852084 }
- case 9994 { rate := 1000000021970038786208855800 }
- case 9995 { rate := 1000000021971624711972794130 }
- case 9996 { rate := 1000000021973210558422601065 }
- case 9997 { rate := 1000000021974796325566209405 }
- case 9998 { rate := 1000000021976382013411550763 }
- case 9999 { rate := 1000000021977967621966555560 }
- case 10000 { rate := 1000000021979553151239153027 }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- default { revert(0, 0) }
- }
- }
-}
\ No newline at end of file
diff --git a/test/Rates.t.sol b/test/Rates.t.sol
deleted file mode 100644
index d082110..0000000
--- a/test/Rates.t.sol
+++ /dev/null
@@ -1,64 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity 0.8.19;
-
-import "forge-std/Test.sol";
-import "../src/Rates.sol";
-import "./RatesMapping.sol";
-import "../src/repositories/Rates0To799.sol";
-import "../src/repositories/Rates800To1599.sol";
-import "../src/repositories/Rates1600To2399.sol";
-import "../src/repositories/Rates2400To3199.sol";
-import "../src/repositories/Rates3200To3999.sol";
-import "../src/repositories/Rates4000To4799.sol";
-import "../src/repositories/Rates4800To5599.sol";
-import "../src/repositories/Rates5600To6399.sol";
-import "../src/repositories/Rates6400To7199.sol";
-import "../src/repositories/Rates7200To7999.sol";
-import "../src/repositories/Rates8000To8799.sol";
-import "../src/repositories/Rates8800To9599.sol";
-import "../src/repositories/Rates9600To10000.sol";
-
-contract RatesTest is Test {
- Rates rates;
- RatesMapping referenceRates;
- address[] rateAddresses;
-
- function setUp() public {
- referenceRates = new RatesMapping();
-
- rateAddresses = new address[](13);
- rateAddresses[0] = address(new Rates0To799());
- rateAddresses[1] = address(new Rates800To1599());
- rateAddresses[2] = address(new Rates1600To2399());
- rateAddresses[3] = address(new Rates2400To3199());
- rateAddresses[4] = address(new Rates3200To3999());
- rateAddresses[5] = address(new Rates4000To4799());
- rateAddresses[6] = address(new Rates4800To5599());
- rateAddresses[7] = address(new Rates5600To6399());
- rateAddresses[8] = address(new Rates6400To7199());
- rateAddresses[9] = address(new Rates7200To7999());
- rateAddresses[10] = address(new Rates8000To8799());
- rateAddresses[11] = address(new Rates8800To9599());
- rateAddresses[12] = address(new Rates9600To10000());
-
- rates = new Rates(rateAddresses);
- }
-
- function testAllRates() public view {
- for (uint256 bps = 0; bps <= 10000; bps++) {
- uint256 rate = rates.turn(bps);
- uint256 expectedRate = referenceRates.rates(bps);
-
- assertEq(
- rate,
- expectedRate,
- string(abi.encodePacked("Rate mismatch for bps: ", vm.toString(bps)))
- );
- }
- }
-
- function testRevertOnTooHighBps() public {
- vm.expectRevert();
- rates.turn(10001);
- }
-}
diff --git a/test/RatesBase.t.sol b/test/RatesBase.t.sol
deleted file mode 100644
index 90921be..0000000
--- a/test/RatesBase.t.sol
+++ /dev/null
@@ -1,87 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity 0.8.19;
-
-import "forge-std/Test.sol";
-import "./RatesMapping.sol";
-
-interface RatesLike {
- function MIN() external view returns (uint256);
- function MAX() external view returns (uint256);
- function turn(uint256 bps) external view returns (uint256);
-}
-
-abstract contract RatesBase is Test {
- RatesLike public calculator;
- RatesMapping public ratesMapping;
-
- uint256 constant RAY = 1e27;
- uint256 public immutable MIN;
- uint256 public immutable MAX;
-
- constructor() {
- calculator = createCalculator();
- ratesMapping = new RatesMapping();
- MIN = calculator.MIN();
- MAX = calculator.MAX();
- }
-
- function testAllValues() public view {
- for (uint256 bps = MIN; bps <= MAX; bps += 1) {
- uint256 mappingRate = ratesMapping.rates(bps);
- uint256 calculatedRate = calculator.turn(bps);
- assertEq(
- calculatedRate,
- mappingRate,
- string.concat("Rate mismatch for ", vm.toString(bps), " basis points")
- );
- }
- }
-
- function testInvalidInputs() public {
- if (MIN > 0) {
- vm.expectRevert();
- calculator.turn(MIN - 1);
- }
-
- if (MIN > 10) {
- vm.expectRevert();
- calculator.turn(MIN - 10);
- }
-
- vm.expectRevert();
- calculator.turn(MAX + 1);
-
- vm.expectRevert();
- calculator.turn(MAX + 1000);
- }
-
- function testGasCosts() public {
- // Measure deployment cost
- uint256 gasBefore = gasleft();
- calculator = createCalculator();
- uint256 gasAfter = gasleft();
- uint256 deploymentGas = gasBefore - gasAfter;
- console.log("Deployment gas cost:", deploymentGas);
-
- uint256 max;
- uint256 min;
- uint256 total;
-
- for (uint256 i = MIN; i <= MAX; i++) {
- gasBefore = gasleft();
- calculator.turn(i);
- gasAfter = gasleft();
-
- uint256 gasSpent = gasBefore - gasAfter;
- total += gasSpent;
- if (gasSpent > max) max = gasSpent;
- if (gasSpent < min || min == 0) min = gasSpent;
- }
-
- console.log("Max gas spent:", max);
- console.log("Min gas spent:", min);
- console.log("Average gas spent:", total / (MAX - MIN + 1));
- }
-
- function createCalculator() internal virtual returns (RatesLike);
-}
diff --git a/test/repositories/Rates0To799.t.sol b/test/repositories/Rates0To799.t.sol
deleted file mode 100644
index 2c59b1b..0000000
--- a/test/repositories/Rates0To799.t.sol
+++ /dev/null
@@ -1,11 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity 0.8.19;
-
-import "../RatesBase.t.sol";
-import "../../src/repositories/Rates0To799.sol";
-
-contract Rates0To799Test is RatesBase {
- function createCalculator() internal override returns (RatesLike) {
- return RatesLike(address(new Rates0To799()));
- }
-}
\ No newline at end of file
diff --git a/test/repositories/Rates1600To2399.t.sol b/test/repositories/Rates1600To2399.t.sol
deleted file mode 100644
index e4760f6..0000000
--- a/test/repositories/Rates1600To2399.t.sol
+++ /dev/null
@@ -1,11 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity 0.8.19;
-
-import "../RatesBase.t.sol";
-import "../../src/repositories/Rates1600To2399.sol";
-
-contract Rates1600To2399Test is RatesBase {
- function createCalculator() internal override returns (RatesLike) {
- return RatesLike(address(new Rates1600To2399()));
- }
-}
\ No newline at end of file
diff --git a/test/repositories/Rates2400To3199.t.sol b/test/repositories/Rates2400To3199.t.sol
deleted file mode 100644
index de46100..0000000
--- a/test/repositories/Rates2400To3199.t.sol
+++ /dev/null
@@ -1,11 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity 0.8.19;
-
-import "../RatesBase.t.sol";
-import "../../src/repositories/Rates2400To3199.sol";
-
-contract Rates2400To3199Test is RatesBase {
- function createCalculator() internal override returns (RatesLike) {
- return RatesLike(address(new Rates2400To3199()));
- }
-}
\ No newline at end of file
diff --git a/test/repositories/Rates3200To3999.t.sol b/test/repositories/Rates3200To3999.t.sol
deleted file mode 100644
index 401fbb0..0000000
--- a/test/repositories/Rates3200To3999.t.sol
+++ /dev/null
@@ -1,11 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity 0.8.19;
-
-import "../RatesBase.t.sol";
-import "../../src/repositories/Rates3200To3999.sol";
-
-contract Rates3200To3999Test is RatesBase {
- function createCalculator() internal override returns (RatesLike) {
- return RatesLike(address(new Rates3200To3999()));
- }
-}
\ No newline at end of file
diff --git a/test/repositories/Rates4000To4799.t.sol b/test/repositories/Rates4000To4799.t.sol
deleted file mode 100644
index 01d1c4a..0000000
--- a/test/repositories/Rates4000To4799.t.sol
+++ /dev/null
@@ -1,11 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity 0.8.19;
-
-import "../RatesBase.t.sol";
-import "../../src/repositories/Rates4000To4799.sol";
-
-contract Rates4000To4799Test is RatesBase {
- function createCalculator() internal override returns (RatesLike) {
- return RatesLike(address(new Rates4000To4799()));
- }
-}
\ No newline at end of file
diff --git a/test/repositories/Rates4800To5599.t.sol b/test/repositories/Rates4800To5599.t.sol
deleted file mode 100644
index 231c7ce..0000000
--- a/test/repositories/Rates4800To5599.t.sol
+++ /dev/null
@@ -1,11 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity 0.8.19;
-
-import "../RatesBase.t.sol";
-import "../../src/repositories/Rates4800To5599.sol";
-
-contract Rates4800To5599Test is RatesBase {
- function createCalculator() internal override returns (RatesLike) {
- return RatesLike(address(new Rates4800To5599()));
- }
-}
\ No newline at end of file
diff --git a/test/repositories/Rates5600To6399.t.sol b/test/repositories/Rates5600To6399.t.sol
deleted file mode 100644
index f3fb2be..0000000
--- a/test/repositories/Rates5600To6399.t.sol
+++ /dev/null
@@ -1,11 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity 0.8.19;
-
-import "../RatesBase.t.sol";
-import "../../src/repositories/Rates5600To6399.sol";
-
-contract Rates5600To6399Test is RatesBase {
- function createCalculator() internal override returns (RatesLike) {
- return RatesLike(address(new Rates5600To6399()));
- }
-}
\ No newline at end of file
diff --git a/test/repositories/Rates6400To7199.t.sol b/test/repositories/Rates6400To7199.t.sol
deleted file mode 100644
index 51772d0..0000000
--- a/test/repositories/Rates6400To7199.t.sol
+++ /dev/null
@@ -1,11 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity 0.8.19;
-
-import "../RatesBase.t.sol";
-import "../../src/repositories/Rates6400To7199.sol";
-
-contract Rates6400To7199Test is RatesBase {
- function createCalculator() internal override returns (RatesLike) {
- return RatesLike(address(new Rates6400To7199()));
- }
-}
\ No newline at end of file
diff --git a/test/repositories/Rates7200To7999.t.sol b/test/repositories/Rates7200To7999.t.sol
deleted file mode 100644
index 7a40272..0000000
--- a/test/repositories/Rates7200To7999.t.sol
+++ /dev/null
@@ -1,11 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity 0.8.19;
-
-import "../RatesBase.t.sol";
-import "../../src/repositories/Rates7200To7999.sol";
-
-contract Rates7200To7999Test is RatesBase {
- function createCalculator() internal override returns (RatesLike) {
- return RatesLike(address(new Rates7200To7999()));
- }
-}
\ No newline at end of file
diff --git a/test/repositories/Rates8000To8799.t.sol b/test/repositories/Rates8000To8799.t.sol
deleted file mode 100644
index c007e73..0000000
--- a/test/repositories/Rates8000To8799.t.sol
+++ /dev/null
@@ -1,11 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity 0.8.19;
-
-import "../RatesBase.t.sol";
-import "../../src/repositories/Rates8000To8799.sol";
-
-contract Rates8000To8799Test is RatesBase {
- function createCalculator() internal override returns (RatesLike) {
- return RatesLike(address(new Rates8000To8799()));
- }
-}
\ No newline at end of file
diff --git a/test/repositories/Rates800To1599.t.sol b/test/repositories/Rates800To1599.t.sol
deleted file mode 100644
index 5c0607f..0000000
--- a/test/repositories/Rates800To1599.t.sol
+++ /dev/null
@@ -1,11 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity 0.8.19;
-
-import "../RatesBase.t.sol";
-import "../../src/repositories/Rates800To1599.sol";
-
-contract Rates800To1599Test is RatesBase {
- function createCalculator() internal override returns (RatesLike) {
- return RatesLike(address(new Rates800To1599()));
- }
-}
\ No newline at end of file
diff --git a/test/repositories/Rates8800To9599.t.sol b/test/repositories/Rates8800To9599.t.sol
deleted file mode 100644
index 5c9296f..0000000
--- a/test/repositories/Rates8800To9599.t.sol
+++ /dev/null
@@ -1,11 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity 0.8.19;
-
-import "../RatesBase.t.sol";
-import "../../src/repositories/Rates8800To9599.sol";
-
-contract Rates8800To9599Test is RatesBase {
- function createCalculator() internal override returns (RatesLike) {
- return RatesLike(address(new Rates8800To9599()));
- }
-}
\ No newline at end of file
diff --git a/test/repositories/Rates9600To10000.t.sol b/test/repositories/Rates9600To10000.t.sol
deleted file mode 100644
index 078850e..0000000
--- a/test/repositories/Rates9600To10000.t.sol
+++ /dev/null
@@ -1,11 +0,0 @@
-// SPDX-License-Identifier: MIT
-pragma solidity 0.8.19;
-
-import "../RatesBase.t.sol";
-import "../../src/repositories/Rates9600To10000.sol";
-
-contract Rates9600To10000Test is RatesBase {
- function createCalculator() internal override returns (RatesLike) {
- return RatesLike(address(new Rates9600To10000()));
- }
-}
\ No newline at end of file